claude-coach · plugin marketplace for Claude Code COACHED 042
📣 subject–verb agreement — "every prompt" is singular 📣 subject–verb agreement — "every prompt" เป็นเอกพจน์ กริยาต้องเติม s
Two coaches on the sideline of every session. prompting-coach stops the play when a prompt is too vague to run on, and hands you a rewritten one to accept. english-coach turns the prompt you just wrote into a one-glance English drill — built for Thai-speaking developers. Same coaches, two grounds: your terminal and your Discord server. โค้ชสองคนยืนข้างสนามทุก session — prompting-coach หยุดเกมเมื่อ prompt คลุมเครือเกินจะลงมือ แล้วยื่น prompt ฉบับเขียนใหม่ให้กดรับ english-coach เปลี่ยน prompt ที่คุณเพิ่งพิมพ์เป็นบทเรียนภาษาอังกฤษ อ่านจบในแวบเดียว — สร้างมาเพื่อนักพัฒนาไทย โค้ชชุดเดียวกัน ลงสองสนาม: terminal ของคุณ และ Discord server ของคุณ
❯ ช่วยแก้ bug ตรงหน้า login ให้หน่อย
# prompting-coach — the gate opens before any tool runs
Prompt gate
อาการ bug และไฟล์ที่จะแก้ยังไม่ระบุ — ใช้ prompt ที่เจาะจงกว่าไหม?
❯ 1. ใช้ prompt ที่แนะนำ (Recommended)
2. ใช้ prompt เดิม
3. Other
แก้ bug redirect หลัง login ใน src/auth/login.ts — reproduce ก่อนแล้วค่อยแก้
Found it — the redirect check in src/auth/login.ts:42 ran before the session
cookie was set. Fixed and verified. ⋯
# english-coach — closes it
Stop says:
✻ English
EN · Please fix the bug on the login page.
กระชับ · Fix the login page bug.
ยกระดับ · The login page is broken — track it down and fix it.
→ native พูดถึงอาการก่อน แล้วค่อยสั่งงาน
❯
One full turn: the gate opens a real chooser, you pick with one keypress,
Claude does the actual work, the English lesson closes it. Both plugins hook
UserPromptSubmit — no model discipline required.
ครบหนึ่ง turn: gate เปิด chooser จริง กดเลือกปุ่มเดียว
Claude ทำงานจริงตรงกลาง แล้ว บทเรียนอังกฤษปิดท้าย — สอง plugin เกาะ hook
UserPromptSubmit ไม่ต้องพึ่งความจำของ model
home ground · claude cli DRILLS 04
Install the plugins and each prompt runs the drill automatically — prompting-coach gates only the prompts that need it, english-coach closes every turn. Four real turns: ติดตั้ง plugin แล้วทุก prompt รันการซ้อมอัตโนมัติ — prompting-coach กันเฉพาะ prompt ที่จำเป็น english-coach ปิดท้ายทุก turn สี่ turn จริง:
❯ แก้ operator ผิดใน calc.py:2 เป็น + ให้เลย
# no gate — file named, action explicit, nothing to ask
Edited calc.py:2 — `-` → `+`. Verified with a quick run. ⋯
Most prompts see nothing at all. The gate fires only when a wrong guess would waste real work — no verdict, no commentary, no extra turn. prompt ส่วนใหญ่ไม่เจออะไรเลย gate ทำงานเฉพาะตอนเดาผิดแล้วงานเสียจริง — ไม่มี verdict ไม่มีคำวิจารณ์ ไม่กิน turn เพิ่ม
❯ ช่วยเขียน test ให้ function นี้หน่อย
Added 6 cases covering the empty-input and overflow paths. ⋯
Stop says:
✻ English
EN · Please write tests for this function.
กระชับ · Write tests for this function.
ยกระดับ · Cover this function with tests — edge cases included.
→ native ใช้ "cover with tests" บ่อยกว่า "write tests"
Type in Thai, get the answer — and the English you could have written, in three registers, at the end of the reply. พิมพ์ไทย ได้คำตอบ — พร้อมภาษาอังกฤษที่คุณควรเขียน สามระดับ อยู่ท้ายคำตอบ
❯ รื้อระบบ auth ใหม่ให้หน่อย
Prompt gate
rewrite ทั้งระบบ auth แต่ยังไม่บอกว่าจะไปจบที่ session แบบไหน
❯ 1. ใช้ prompt ที่แนะนำ (Recommended)
2. ใช้ prompt เดิม
3. Other
ย้าย auth จาก cookie session ไป JWT ใน src/auth/ — เขียน migration plan ก่อน แล้วรอ approve
# nothing runs until you pick
A load-bearing gap opens a real AskUserQuestion chooser —
option 1's preview holds the rewritten prompt, "Other" is the edit path.
One keypress beats twenty minutes on a guess.
gap ที่ชี้ขาดจะเปิด AskUserQuestion chooser จริง —
preview ของตัวเลือกแรกคือ prompt ที่เขียนใหม่ให้แล้ว ส่วน "Other" คือช่องแก้เอง
กดปุ่มเดียวจบ ดีกว่าเดาผิดยี่สิบนาที
❯ please fix bug in login page, it not redirect correctly
Fixed — the guard ran before the cookie was set. ⋯
Stop says:
✻ English
คุณเขียน · please fix bug in login page, it not redirect correctly
แก้ไข · Please fix the bug on the login page — it doesn't redirect correctly.
💡 "it not redirect" ขาดกริยาช่วย — ปฏิเสธใน present simple ต้องใช้ "doesn't"
English with slips comes back marked up, with the why in Thai — grammar you absorb turn by turn. ภาษาอังกฤษที่มีพลาดถูกส่งกลับพร้อมรอยแก้ และ เหตุผลเป็นภาษาไทย — แกรมมาซึมเข้าไปทีละ turn
away game · discord DRILLS 03
The repo ships an OpenClaw workspace — a Discord bot that answers like Claude and coaches every message the same way. Lessons arrive folded in spoiler tags, so they never get between you and the answer. repo นี้แถม OpenClaw workspace — Discord bot ที่ตอบเหมือน Claude และโค้ชทุกข้อความแบบเดียวกัน บทเรียนมาแบบพับใน spoiler tags ไม่มีวันเกะกะระหว่างคุณกับคำตอบ
nhui Today at 14:02
how i can deploy this app?
OpenClaw Coach APP Today at 14:02
Push to main — the GitHub Action builds and deploys it. ⋯
Task messages end with two tap-to-reveal spoilers — the prompt verdict and the English lesson. Nothing is coached out loud unless you open it. ข้อความสั่งงานปิดท้ายด้วย spoiler แตะเปิดสองอัน — prompt verdict กับบทเรียนอังกฤษ ไม่มีอะไรโผล่จนกว่าคุณจะเปิดเอง
nhui Today at 21:40
today i very tired lol
OpenClaw Coach APP Today at 21:40
Long day? Ship nothing tonight — rest is part of the sprint. 😄
Plain chat skips the prompt verdict — you just get the English drill, one spoiler, every message a small rep. แชทเล่นข้าม prompt verdict — ได้แค่ english drill หนึ่ง spoiler ทุกข้อความคือการซ้อมเล็ก ๆ
nhui Today at 14:05
/coach level light
OpenClaw Coach APP Today at 14:05
✅ Coaching level → light. Only load-bearing feedback from here on.
One slash command tunes the whole bench — per-user, persisted. Full options in the playbook below. คำสั่ง slash เดียวจูนได้ทั้งม้านั่ง — รายคน จำข้าม session ตัวเลือกเต็มอยู่ใน playbook ข้างล่าง
The Discord coach runs on OpenClaw — a self-hosted gateway that puts Claude in your server. The workspace in this repo adds: Discord coach รันบน OpenClaw — gateway แบบ self-host ที่พา Claude เข้า server ของคุณ workspace ใน repo นี้เพิ่ม:
/coach settings per user, persisted across sessionsตั้งค่า /coach รายคน จำข้าม sessionkick-off
/plugin marketplace add nuipawarit/claude-coach
/plugin install prompting-coach@claude-coach
/plugin install english-coach@claude-coach
Step 1 registers the marketplace; steps 2–3 are independent — install
only the coach you want. The plugins are POSIX sh hooks plus skills, fetched straight from GitHub.
Discord setup is its own play — see PLAY 03 below.
คำสั่งแรกลงทะเบียน marketplace; ข้อ 2–3 อิสระต่อกัน — ลงเฉพาะโค้ชที่อยากได้
ตัว plugin เป็น POSIX sh hooks + skills ดึงตรงจาก GitHub
ส่วน Discord มี play ของตัวเอง — ดู PLAY 03 ข้างล่าง
Each plugin ships a UserPromptSubmit hook that runs the moment you hit
enter — before Claude reads your request. That's why coaching can't be forgotten
mid-session: the harness enforces it, not the model's memory.
plugin แต่ละตัวมาพร้อม hook UserPromptSubmit ที่ทำงานทันทีที่กด enter
ก่อนที่ Claude จะอ่านคำขอของคุณ
นี่คือเหตุผลที่การโค้ชไม่มีวันถูกลืมกลางคัน: harness เป็นคนบังคับ ไม่ใช่ความจำของ model
AskUserQuestion chooser.gap ที่ชี้ขาดเรื่อง deliverable, ทำหรือแค่วิเคราะห์, หรือ เป้าหมาย จะเปิด AskUserQuestion chooser จริงenglish-coach evaluates in a background sidecar started the moment you submit, and delivers at the end of the same turn — because it overlaps the main task, it usually adds no waiting at all. Both plugins are fail-open: if a hook ever breaks, your prompt passes through untouched. They never touch your files — only the conversation. english-coach ประเมินใน sidecar เบื้องหลัง ที่เริ่มทันทีตอนคุณกดส่ง แล้วส่งผลตอนจบ turn เดียวกัน — เพราะทำงานทับกับงานหลัก ปกติจึงไม่ต้องรอเพิ่มเลย ทั้งสอง plugin เป็น fail-open: ถ้า hook พังเมื่อไหร่ prompt ของคุณผ่านไปตามปกติ ไม่แตะไฟล์ของคุณ — อยู่แค่ในบทสนทนาเท่านั้น
Both hooks read their config file on every prompt, so a change takes effect on your next prompt — no session restart. hook ทั้งสองอ่านไฟล์ config ทุก prompt เปลี่ยนค่าแล้วมีผลที่ prompt ถัดไปทันที ไม่ต้องเปิด session ใหม่
on · off | enable / disable the gateเปิด / ปิด gate |
status | show current settingsดูค่าปัจจุบัน |
No levels: the gate already fires only on gaps where guessing wrong wastes real work. ไม่มี level เพราะ gate ทำงานเฉพาะ gap ที่เดาผิดแล้วงานเสียอยู่แล้ว
on · off | enable / disable coachingเปิด / ปิดการโค้ช |
level full|light | light = corrections only, no praiselight = แก้อย่างเดียว ไม่มีคำชม |
status | show current settingsดูค่าปัจจุบัน |
Self-host the OpenClaw workspace from this repo, point it at your Discord bot token, and every channel it can read gets the same two coaches. Delivery defaults to spoiler tags — the Discord demos above are exactly what lands in the channel. Discord has no chooser widget, so there the prompt coach stays a spoiler-wrapped verdict rather than the CLI's gate. Self-host OpenClaw workspace จาก repo นี้ ชี้ไปที่ Discord bot token ของคุณ แล้วทุก channel ที่บอทอ่านได้ จะได้โค้ชชุดเดียวกัน ค่าเริ่มต้นส่งแบบ spoiler tags — ตัวอย่าง Discord ข้างบนคือสิ่งที่ลงใน channel จริง ๆ Discord ไม่มี widget แบบ chooser ฝั่งนั้น prompt coach จึงยังเป็น verdict ห่อ spoiler ไม่ใช่ gate แบบ CLI
/coach/coach prompt off | silence the prompt verdictปิด prompt verdict |
/coach english off | silence the English lessonปิดบทเรียนอังกฤษ |
/coach level light | load-bearing feedback onlyเฉพาะ feedback ที่ชี้ขาด |
/coach delivery spoiler|plain|dm | how lessons arriveรูปแบบการส่งบทเรียน |
claude -p kills those children on exit.english-coach ต้องใช้ session แบบ interactive — การประเมินเบื้องหลังเป็น async hook ที่ claude -p ฆ่าทิ้งตอนจบ