ワンクリックで
teach
สอน skill หรือ concept ใหม่ให้ผู้ใช้ ภายใน workspace นี้
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
สอน skill หรือ concept ใหม่ให้ผู้ใช้ ภายใน workspace นี้
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"
ถามว่า skill หรือ flow ไหนเหมาะกับสถานการณ์ของคุณ เป็น router ที่ครอบ skill ทั้งหมดใน repo นี้
| name | teach |
| description | สอน skill หรือ concept ใหม่ให้ผู้ใช้ ภายใน workspace นี้ |
| disable-model-invocation | true |
| argument-hint | อยากเรียนรู้เรื่องอะไร? |
ผู้ใช้ขอให้คุณสอนอะไรบางอย่าง นี่เป็น request แบบ stateful — เขาตั้งใจจะเรียนหัวข้อนี้ต่อเนื่องหลาย session
ให้ถือว่า directory ปัจจุบันคือ workspace สำหรับการสอน สถานะการเรียนรู้ของผู้ใช้ถูกเก็บไว้ใน directory นี้ในไฟล์หลายตัว:
MISSION.md: เอกสารที่บันทึก_เหตุผล_ว่าทำไมผู้ใช้ถึงสนใจหัวข้อนี้ ใช้มันเป็นหลักยึดของการสอนทั้งหมด ใช้ format ตาม MISSION-FORMAT.md./reference/*.html: directory ของเอกสารอ้างอิง นี่คือสิ่งที่เรียนรู้มาแล้วถูกบีบอัดจากบทเรียนต่าง ๆ — cheat sheet, algorithm อ้างอิง, syntax, ท่าโยคะ, glossary พวกมันคือหน่วยดิบของการเรียนรู้ ควรเป็นเอกสารที่สวยงาม พิมพ์ออกมาได้ดี และออกแบบมาเพื่อเปิดดูอ้างอิงได้เร็วRESOURCES.md: รายการ resource ที่สำรวจได้ เพื่อยึดการสอนของคุณกับความรู้ที่มีบริบท หรือเพื่อไปหาความรู้และ wisdom เพิ่ม ใช้ format ตาม RESOURCES-FORMAT.md./learning-records/*.md: directory ของ learning record ที่บันทึกว่าผู้ใช้เรียนรู้อะไรไปแล้ว พวกมันเทียบได้คร่าว ๆ กับ architectural decision record ในการพัฒนา software — บันทึกบทเรียนที่ไม่ชัดเจนในตัวเองและ insight สำคัญที่อาจต้องแก้ทีหลัง หรือใช้ขับเคลื่อน session ต่อ ๆ ไป ใช้พวกมันคำนวณ zone of proximal development ตั้งชื่อไฟล์เป็น 0001-<dash-case-name>.md โดยตัวเลขเพิ่มขึ้นทีละหนึ่ง ใช้ format ตาม LEARNING-RECORD-FORMAT.md./lessons/*.html: directory ของบทเรียน บทเรียน (lesson) คือ output HTML ชิ้นเดียวจบในตัว ที่สอนเรื่องเดียวแบบ scope แคบ ๆ และผูกกับ mission นี่คือหน่วยหลักของการสอนใน workspace นี้./assets/*: component ที่ใช้ซ้ำได้ระหว่างบทเรียน ดู AssetsNOTES.md: กระดาษทดสำหรับคุณไว้จด preference ของผู้ใช้ หรือ working note ต่าง ๆการจะเรียนรู้ได้ลึก ผู้ใช้ต้องการสามอย่าง:
ก่อนที่ RESOURCES.md จะมีข้อมูลครบพอ โฟกัสของคุณควรอยู่ที่การหา resource คุณภาพสูงที่จะช่วยให้ผู้ใช้ได้ความรู้ อย่าเชื่อ parametric knowledge ของตัวเองเด็ดขาด
บางหัวข้ออาจต้องการ skill มากกว่า knowledge การเรียน theoretical physics อาจเน้น knowledge มากกว่า ส่วนโยคะเน้น skill มากกว่า
คุณควรระวังให้ดี แยกการเรียนรู้ออกเป็นสองแบบ:
Fluency อาจทำให้ผู้ใช้รู้สึกว่าตัวเองเก่งแล้วทั้งที่เป็นภาพลวง แต่ storage strength ต่างหากคือเป้าหมายจริง พยายามออกแบบบทเรียนที่สร้างการจดจำระยะยาวผ่าน desirable difficulty:
บทเรียนคือของหลักที่คุณผลิต — หน่วยที่ knowledge และ skill ถูกส่งถึงผู้ใช้ แต่ละบทเรียนคือไฟล์ HTML จบในตัวหนึ่งไฟล์ บันทึกไว้ที่ ./lessons/ และตั้งชื่อเป็น 0001-<dash-case-name>.html โดยตัวเลขเพิ่มขึ้นทีละหนึ่ง
บทเรียนควรสวยงาม — typography และ layout สะอาด อ่านง่าย — เพราะผู้ใช้จะกลับมาเปิดทบทวนทีหลัง คิดถึงงานสไตล์ Tufte
บทเรียนควรสั้น และทำจบได้เร็วมาก working memory ของผู้เรียนเล็กมาก เราต้องอยู่ในขอบเขตนั้น แต่แต่ละบทเรียนควรให้ชัยชนะที่จับต้องได้หนึ่งอย่างที่ผู้ใช้ต่อยอดได้ มันควรผูกกับ mission โดยตรง และควรอยู่ใน zone of proximal development ของผู้ใช้
ถ้าเป็นไปได้ เปิดไฟล์บทเรียนให้ผู้ใช้เลยด้วยการรันคำสั่ง CLI
แต่ละบทเรียนควรลิงก์ผ่าน HTML anchor ไปยังบทเรียนอื่นและเอกสารอ้างอิง
แต่ละบทเรียนควรแนะนำ primary source หนึ่งชิ้นให้ผู้ใช้ไปอ่านหรือดู ควรเป็น resource ที่คุณภาพสูงและน่าเชื่อถือที่สุดที่คุณหาเจอในหัวข้อนั้น
แต่ละบทเรียนควรมีข้อความเตือนให้ถามคำถามต่อกับ agent agent คือครูของเขา และช่วยได้กับทุกอย่างที่ยังไม่ชัดเจน
บทเรียนถูกประกอบขึ้นจาก component ที่ใช้ซ้ำได้ เก็บไว้ใน ./assets/: stylesheet, quiz widget, simulator, ตัวช่วยวาด diagram — อะไรก็ตามที่บทเรียนถัดไปเอาไปใช้ซ้ำได้
การ reuse คือค่า default ไม่ใช่ข้อยกเว้น ก่อนเขียนบทเรียน ให้อ่าน ./assets/ แล้วประกอบจาก component ที่มีอยู่แล้ว เมื่อบทเรียนต้องการของใหม่ที่ใช้ซ้ำได้ ให้เขียนมันเป็น component ใน ./assets/ แล้วลิงก์เข้ามา — อย่า inline โค้ดที่บทเรียนในอนาคตจะต้องเขียนซ้ำ
Stylesheet ที่ใช้ร่วมกันคือ component ตัวแรกที่ทุก workspace ควรมี: ทุกบทเรียนลิงก์มันไว้ บทเรียนทั้งหมดจึงดูเป็นคอร์สเดียวกันที่สม่ำเสมอ ไม่ใช่กองงานทำทีละชิ้น เมื่อ workspace โต component library ก็ควรโตตาม
ทุกบทเรียนควรผูกเข้ากับ mission — เหตุผลที่ผู้ใช้สนใจจะเรียนหัวข้อนี้
ถ้าผู้ใช้ยังไม่ชัดเจนเรื่อง mission หรือ MISSION.md ยังว่าง งานแรกของคุณคือซักถามผู้ใช้ว่าทำไมถึงอยากเรียนเรื่องนี้
ถ้าไม่เข้าใจ mission การหาความรู้จะไม่ยึดกับเป้าหมายในโลกจริง บทเรียนจะรู้สึกลอย ๆ เกินไป และคุณจะไม่มีทางตัดสินได้เลยว่าผู้ใช้ควรทำอะไรต่อ
Mission อาจเปลี่ยนไปเมื่อผู้ใช้พัฒนา skill และ knowledge มากขึ้น นี่เป็นเรื่องปกติ — อย่าลืม update MISSION.md และเพิ่ม learning record เพื่อบันทึกการเปลี่ยนแปลง ยืนยันกับผู้ใช้ก่อนเปลี่ยน mission
ในแต่ละบทเรียน ผู้ใช้ควรรู้สึกเสมอว่ากำลังถูกท้าทาย "พอดี ๆ"
ผู้ใช้อาจระบุสิ่งที่อยากเรียนมาแบบเจาะจง ถ้าไม่ ให้หา zone of proximal development ของเขาโดย:
learning-records ของเขาบทเรียนควรออกแบบรอบ skill หนึ่งอย่างที่ผู้ใช้กำลังจะเรียน ความรู้ในบทเรียนควรมีแค่เท่าที่จำเป็นต่อการได้ skill นั้นมา สอนความรู้ก่อน แล้วให้ผู้ใช้ฝึก skill ผ่าน feedback loop แบบ interactive
ความรู้ควรถูกรวบรวมจาก resource ที่เชื่อถือได้ก่อน ใช้ RESOURCES.md เก็บรายการไว้ บทเรียนควรเต็มไปด้วย citation — ลิงก์ไปยัง resource ภายนอกเพื่อรองรับทุก claim ที่พูดออกไป ซึ่งช่วยเพิ่มความน่าเชื่อถือของบทเรียน
สำหรับการรับความรู้ ความยากคือศัตรู มันกิน working memory ที่คุณต้องใช้ในการทำความเข้าใจ
ถ้า knowledge ว่าด้วยการรับเข้ามา skill ก็ว่าด้วยความทนทานและความยืดหยุ่น ทำให้ความรู้ติดตัว
สำหรับการฝึก skill ความยากคือเครื่องมือ การพยายามดึงความรู้ออกมาอย่างออกแรงคือสิ่งที่สร้าง storage strength skill ควรถูกสอนผ่านบทเรียน interactive ซึ่งคุณมีเครื่องมือหลายอย่าง:
ทั้งหมดนี้ควรตั้งอยู่บน feedback loop ที่ผู้ใช้ได้รับ feedback ต่อผลงานของตัวเอง feedback loop นี้ควรแน่นที่สุดเท่าที่จะทำได้ ให้ feedback ทันที — และถ้าเป็นไปได้ ให้อัตโนมัติ
สำหรับ quiz แต่ละตัวเลือกคำตอบควรมีจำนวนคำเท่ากันเป๊ะ (และจำนวนตัวอักษรด้วย ถ้าทำได้) อย่าให้ผู้ใช้เดาคำตอบได้จาก format
Wisdom มาจากการปฏิสัมพันธ์จริงในโลกจริง — การทดสอบ skill ของตัวเองนอกสภาพแวดล้อมการเรียน
เมื่อผู้ใช้ถามคำถามที่ดูเหมือนต้องใช้ wisdom ท่าที default ของคุณควรเป็นการพยายามตอบ — แต่สุดท้ายให้ส่งต่อไปยัง community
Community คือที่ (online หรือ offline) ที่ผู้ใช้ทดสอบ skill ของตัวเองในโลกจริงได้ อาจเป็น forum, subreddit, คลาสเรียนจริง (ถ้างบถึง) หรือกลุ่มความสนใจในพื้นที่
คุณควรพยายามหา community ที่มีชื่อเสียงดีให้ผู้ใช้เข้าร่วม ถ้าผู้ใช้บอกว่าไม่อยากเข้า community ให้เคารพการตัดสินใจนั้น
ระหว่างสร้างบทเรียน คุณควรสร้างเอกสารอ้างอิงไปด้วย บทเรียนอ้างถึงเอกสารเหล่านี้ได้ — มันมีประโยชน์สำหรับเก็บหน่วยความรู้ดิบที่ใช้ได้ข้ามหลายบทเรียน
บทเรียนแทบไม่ถูกเปิดกลับมาดูทีหลัง — แต่เอกสารอ้างอิงจะถูกเปิด มันควรเป็นแก่นของบทเรียนที่ถูกบีบอัดแล้ว ใน format ที่ออกแบบมาเพื่อเปิดดูอ้างอิงได้เร็ว
หัวข้อการเรียนบางแบบเหมาะกับการทำเอกสารอ้างอิงเป็นพิเศษ:
โดยเฉพาะ glossary เป็นเอกสารอ้างอิงที่ขาดไม่ได้ เมื่อสร้างขึ้นแล้ว ทุกบทเรียนต้องยึดตามมัน
NOTES.mdบางครั้งผู้ใช้จะบอก preference ว่าอยากถูกสอนแบบไหน หรือสิ่งที่คุณควรจำไว้ นี่คือที่สำหรับบันทึก preference เหล่านั้น เพื่อให้คุณกลับมาดูได้ตอนออกแบบบทเรียนหรือทำงานกับผู้ใช้