一键导入
ask-matt
ถามว่า skill หรือ flow ไหนเหมาะกับสถานการณ์ของคุณ เป็น router ที่ครอบ skill ทั้งหมดใน repo นี้
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
ถามว่า skill หรือ flow ไหนเหมาะกับสถานการณ์ของคุณ เป็น router ที่ครอบ skill ทั้งหมดใน repo นี้
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
วางแผนงานก้อนใหญ่ — ใหญ่เกินกว่าหนึ่ง agent session จะรับไหว — เป็นแผนที่ร่วมของ ticket สำหรับการ investigate บน issue tracker ของคุณ แล้วไล่ resolve ทีละใบจนกว่าเส้นทางไปยังจุดหมายจะชัด
สร้าง interface design หลายแบบที่ต่างกันสุดขั้วสำหรับ module หนึ่ง โดยใช้ sub-agent แบบ parallel ใช้เมื่อ user อยากออกแบบ API, สำรวจตัวเลือกของ interface, เปรียบเทียบรูปทรงของ module หรือพูดถึง "design it twice"
QA session แบบ interactive ที่ผู้ใช้เล่าบั๊กหรือปัญหาแบบคุยกันธรรมดา แล้ว agent เปิด GitHub issue ให้ พร้อมสำรวจ codebase เบื้องหลังเพื่อเก็บ context และภาษา domain ใช้เมื่อผู้ใช้อยากรายงานบั๊ก ทำ QA เปิด issue แบบคุยกัน หรือพูดถึง "QA session"
สร้างแผน refactor แบบละเอียดที่ซอยเป็น commit เล็ก ๆ ผ่านการสัมภาษณ์ user แล้วเปิดเป็น GitHub issue ใช้เมื่อ user อยากวางแผน refactor สร้าง refactoring RFC หรือแตก refactor ออกเป็นขั้นเล็ก ๆ ที่ปลอดภัย
สกัด glossary ภาษากลางสไตล์ DDD จากบทสนทนาปัจจุบัน พร้อมชี้จุดกำกวมและเสนอ term มาตรฐาน เซฟลง UBIQUITOUS_LANGUAGE.md ใช้เมื่อผู้ใช้อยากนิยามศัพท์ domain สร้าง glossary ทำ terminology ให้แน่น สร้าง ubiquitous language หรือพูดถึง "domain model" หรือ "DDD"
รีวิวการเปลี่ยนแปลงตั้งแต่จุดอ้างอิงคงที่ (commit, branch, tag หรือ merge-base) ตามสองแกน — Standards (code ทำตาม coding standards ที่ repo นี้บันทึกไว้ไหม?) และ Spec (code ตรงกับสิ่งที่ issue/PRD ต้นทางขอไหม?) รันรีวิวทั้งสองแกนใน sub-agent ที่ทำงานขนานกันแล้วรายงานเทียบเคียงกัน ใช้เมื่อ user อยากรีวิว branch, PR, งานที่ยังทำค้างอยู่ หรือพูดว่า "review since X"
| name | ask-matt |
| description | ถามว่า skill หรือ flow ไหนเหมาะกับสถานการณ์ของคุณ เป็น router ที่ครอบ skill ทั้งหมดใน repo นี้ |
| disable-model-invocation | true |
คุณไม่จำเป็นต้องจำ skill ทุกตัว — ถามเอา
flow คือเส้นทางที่เดินผ่าน skill ต่าง ๆ งานส่วนใหญ่วิ่งอยู่บน main flow เส้นเดียว และมี on-ramp (ทางเชื่อมเข้า) สองทางที่มาบรรจบกับมัน ที่เหลือเป็นของ standalone หรือเป็นชั้น vocabulary ที่รองรับอยู่ข้างใต้
เส้นทางที่งานส่วนใหญ่ใช้เดิน คุณมีไอเดียและอยากให้มันถูกสร้างขึ้นมา
/grill-with-docs — ลับไอเดียให้คมด้วยการสัมภาษณ์ เริ่มที่นี่เมื่อคุณมี codebase อยู่แล้ว: มันเป็นแบบ stateful เก็บสิ่งที่เรียนรู้ไว้ใน CONTEXT.md และ ADR (ไม่มี codebase? ใช้ /grill-me — ดูหัวข้อ Standalone ทั้งคู่รันบน primitive ตัวเดียวกันคือ /grilling แต่ grill-with-docs คือตัวที่ทิ้งหลักฐานเป็นเอกสารไว้)
ทางแยก — ทุกคำถามตอบได้ในบทสนทนาไหม? ถ้าคำถามไหนต้องการคำตอบที่รันได้จริง (state, business logic, หรือ UI ที่ต้องเห็นกับตา) ให้แวะไปทาง prototype โดยมี /handoff เป็นสะพานทั้งขาไปและขากลับ (ดูหัวข้อ "ข้าม session"):
/handoff ออกไปก่อน แล้วเปิด session ใหม่โดยอ้างอิงไฟล์นั้น/prototype เพื่อตอบคำถามด้วย code แบบใช้แล้วทิ้ง/handoff สิ่งที่เรียนรู้กลับมา แล้วอ้างอิงมันจาก thread ไอเดียเดิมทางแยก — งานนี้ต้องสร้างข้ามหลาย session ไหม?
/to-spec (เปลี่ยน thread ให้เป็น spec) แล้วต่อด้วย /to-tickets เพื่อแตกเป็น ticket แบบ tracer bullet (ticket ที่เจาะทะลุทุกชั้นของระบบแบบบาง ๆ) โดยแต่ละใบประกาศ blocking edges ของตัวเอง ถ้าใช้ tracker แบบ local ก็คือหนึ่งไฟล์ต่อหนึ่ง ticket ใต้ .scratch/<feature>/issues/ แล้วไล่ทำตัวที่เป็น blocker ก่อนด้วยมือ ส่วนบน tracker จริง edge เหล่านั้นจะกลายเป็น blocking link แบบ native ดังนั้น ticket ไหนที่ blocker เสร็จหมดแล้วก็หยิบได้เลย — สั่ง /implement ทีละ ticket โดยเคลียร์ context ระหว่างแต่ละใบ/implement ตรงนี้เลย ใน context window เดิมไม่ว่าทางไหน /implement จะสร้างแต่ละ issue โดยขับ /tdd อยู่ภายใน — ทีละ slice แบบ red-green — แล้วปิดงานด้วยการรัน /code-review ซึ่งเป็นการ review สองแกน (Standards + Spec) ของ diff ก่อน commit หยิบ /tdd มาใช้เดี่ยว ๆ เมื่ออยากสร้างพฤติกรรมที่จับต้องได้แบบ test-first โดยไม่ต้องมี spec เต็มรูปแบบ และหยิบ /code-review เดี่ยว ๆ เมื่อไหร่ก็ตามที่อยาก review branch หรือ PR เทียบกับจุดอ้างอิงที่ตายตัว
คุมขั้น 1–3 ให้อยู่ใน context window เดียวต่อเนื่องไม่ขาดตอน — อย่า compact หรือ clear จนกว่าจะผ่าน /to-tickets — เพื่อให้การ grill, spec และ ticket ทั้งหมดต่อยอดจากความคิดชุดเดียวกัน จากนั้นแต่ละ /implement ค่อยเริ่มสดใหม่ โดยทำงานจาก ticket
ขีดจำกัดของเรื่องนี้คือ smart zone: ช่วงหน้าต่าง (~120k token บนโมเดลระดับ state-of-the-art) ที่โมเดลยังคิดได้คมอยู่ ถ้า session เข้าใกล้ขีดนี้ก่อนถึง /to-tickets อย่าฝืนลุยต่อทั้งที่คุณภาพตกแล้ว — /handoff แล้วไปต่อใน thread ใหม่
สถานการณ์ตั้งต้นที่ก่อให้เกิดงาน แล้วไหลมารวมกับ main flow
บั๊กกับ request กองพะเนิน → /triage มันพา issue ผ่านบทบาทต่าง ๆ ของการ triage แล้วผลิต issue ที่พร้อมให้ agent ทำงาน ซึ่ง /implement จะหยิบไปทำทีหลัง
triage มีไว้สำหรับ issue ที่คุณไม่ได้สร้างเองเท่านั้น — bug report, feature request ที่เข้ามา, อะไรก็ตามที่มาถึงแบบดิบ ๆ ส่วน ticket ที่ /to-tickets ผลิตออกมานั้นพร้อมให้ agent ทำอยู่แล้ว ดังนั้นอย่าเอาไป triage ซ้ำ
มีอะไรบางอย่างพัง → /diagnosing-bugs สำหรับเคสยาก ๆ: บั๊กที่มองแวบแรกแล้วไม่เจอ, flake ที่เป็น ๆ หาย ๆ, regression ที่แอบเล็ดลอดเข้ามาระหว่างสอง state ที่รู้ว่าดี มันจะปฏิเสธการตั้งทฤษฎีจนกว่าจะมี feedback loop ที่แน่น — คำสั่งเดียวที่แดงอยู่แล้วบนบั๊กตัวนี้ — แล้วค่อยแก้พร้อม regression test ส่วน post-mortem ของมันจะส่งไม้ต่อให้ /improve-codebase-architecture เมื่อสิ่งที่ค้นพบจริง ๆ คือไม่มี seam (จุดต่อสาธารณะที่ใช้ test พฤติกรรมได้) ดี ๆ ให้ล็อกบั๊กนั้นไว้
งานก้อนมหึมาที่ยังมองไม่เห็นทาง — โปรเจกต์ greenfield หรือ feature ใหญ่เกินกว่าจะจบใน session เดียว → /wayfinder เมื่อเส้นทางจากตรงนี้ไปถึงปลายทางยังมองไม่เห็น มันจะร่าง แผนที่ที่ใช้ร่วมกัน เป็น ticket สำหรับการสืบสวนบน issue tracker แล้วไล่แก้ทีละใบ — ผลลัพธ์คือ การตัดสินใจ ไม่ใช่ deliverable — จนหมอกถูกผลักออกไปและเส้นทางชัดเจน จากนั้นมันจะมารวมกับ main flow ที่ /to-spec (หรือถ้างานกลายเป็นเล็กพอ ก็ตรงไป /implement เลย) ขณะที่ /grill-with-docs ลับไอเดียที่ถือไว้ได้ใน session เดียว wayfinder มีไว้สำหรับไอเดียที่ถือไม่ไหว
ไม่ใช่งาน feature — เป็นงานบำรุงรักษา
/improve-codebase-architecture — รันเมื่อไหร่ก็ได้ที่มีเวลาว่าง เพื่อรักษา codebase ให้เป็นที่ที่ agent ทำงานได้ดี มันจะขุด โอกาสทำให้ module ลึกขึ้น ออกมา การเลือกสักอัน ก่อให้เกิดไอเดีย ที่พาเข้า main flow ที่ /grill-with-docs ได้ มันคือการสำรวจที่หาตัวเลือกมาให้ ส่วน /codebase-design (ด้านล่าง) คือโต๊ะทำงานที่ใช้ออกแบบตัวที่เลือกแล้วreference แบบ model-invoked สองตัวที่ทำงานอยู่ ใต้ skill ตัวอื่น — แต่ละตัวเป็น single source of truth ของ vocabulary ของตัวเอง หยิบมาใช้ตรง ๆ เมื่อปัญหาอยู่ที่ คำศัพท์ ไม่ใช่กระบวนการ หรือจะปล่อยให้ skill ข้างบนดึงมันเข้ามาเองก็ได้
/domain-modeling — ลับภาษา domain ของโปรเจกต์ให้คม: ท้าทายคำที่คลุมเครือ, คลี่คำที่แบกหลายความหมาย ("account" ที่ทำสามหน้าที่พร้อมกัน), บันทึกการตัดสินใจที่ย้อนกลับยากเป็น ADR มันคือวินัยเชิงรุกที่ /grill-with-docs ใช้ขับเคลื่อนเพื่อรักษา CONTEXT.md ให้เป็น glossary ที่สะอาด/codebase-design — vocabulary ของ deep module (module, interface, depth, seam, adapter, leverage, locality) สำหรับออกแบบ รูปทรง ของ module: พฤติกรรมเยอะ ๆ อยู่หลัง interface เล็ก ๆ ที่ seam สะอาด ๆ ทั้ง /tdd และ /improve-codebase-architecture พูดภาษานี้/handoff — เมื่อ thread เต็มหรือคุณต้องแตกสาขาออกไป (เช่น ไปเปิด session /prototype) ตัวนี้จะบีบอัดบทสนทนาเป็นไฟล์ markdown คุณไม่ได้ทำงานต่อที่เดิม — คุณเปิด session ใหม่แล้วอ้างอิงไฟล์นั้นเพื่อพา context ข้ามไป มันคือสะพานระหว่าง context window ใช้ได้ทั้งสองทิศทาง ใช้เมื่ออยากได้ session ใหม่สด ๆ แต่ต้องเก็บบทสนทนาปัจจุบันเอาไว้/compact (built-in) — อยู่ในบทสนทนาเดิม โดยยอมให้ turn ก่อนหน้าถูกสรุปย่อ ใช้ตอนหยุดพักอย่างตั้งใจระหว่างเฟส เมื่อไม่ซีเรียสว่าประวัติแบบคำต่อคำจะหายไป อย่า compact กลางเฟส — agent อาจหลงทางได้ /handoff คือแยกสาย ส่วน /compact คือไปต่ออยู่นอก main flow โดยสิ้นเชิง
/grill-me — การสัมภาษณ์แบบไม่ปรานีเหมือน /grill-with-docs แต่สำหรับตอนที่ไม่มี codebase เป็นแบบ stateless: ไม่บันทึกอะไรลง local ไม่สร้าง CONTEXT.md หยิบมาใช้ลับแผนหรือ design อะไรก็ได้ที่ไม่ได้อยู่ใน repo/prototype — โปรแกรมเล็ก ๆ แบบใช้แล้วทิ้งที่ตอบคำถาม design หนึ่งข้อ: state model แบบนี้รู้สึกใช่ไหม หรือ UI นี้ควรหน้าตาเป็นยังไง ทิ้งตั้งแต่วันแรก — เก็บคำตอบไว้ ลบ code ทิ้ง มันคือทางแวะในขั้น 2 ของ main flow แต่หยิบมาใช้ได้ทุกครั้งที่คำถาม design ตัดสินบนกระดาษได้ยาก/research — มอบงานอ่านให้ background agent: มันจะสืบคำถามกับ primary sources แล้วทิ้งไฟล์ Markdown พร้อม citation ไว้ใน repo คุณทำงานต่อได้ระหว่างที่มันอ่าน ไฟล์ที่ได้คือของที่เอาเข้า main flow ที่ /grill-with-docs — research ป้อนความคิด ไม่ได้มาแทนความคิด/teach — เรียนรู้ concept ข้ามหลาย session โดยใช้ directory ปัจจุบันเป็น workspace แบบ stateful/writing-great-skills — reference สำหรับเขียนและแก้ skill ให้ดี/setup-matt-pocock-skills — รันก่อนเริ่ม engineering flow ครั้งแรก เพื่อตั้งค่า issue tracker, label สำหรับ triage และ layout ของเอกสารที่ skill ตัวอื่นคาดหวังไว้ ใช้ issue tracker แบบ custom ก็ได้เช่นกัน