agentleFS
Boom-VittBoom-Vitt/skills-thai/skills/productivity/teach/SKILL.md

teach

Skill5 starsChanged 4 months agoMITView on GitHub

สอน skill หรือ concept ใหม่ให้ผู้ใช้ ภายใน workspace นี้

193 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use setup-pstack, principle-explain-the-number and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • bnemaSkill

    setup-pstack

    Configure which Pi models pstack uses per role. Detects available provider/model specs and writes pstack's user configuration. Use for /setup-pstack, "configure pstack models", or changing pstack model choices.

    Also in 22 projects that use this

  • ianclearySkill

    principle-explain-the-number

    Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.

    Also in 25 projects that use this

  • jaydubya818Skill

    poteto-mode

    Use when non-trivial work should follow the smallest rigorous Jstack workflow.

    Also in 27 projects that use this

  • eryzerzSkill

    make-bot-ui

    Use when building a custom UI (page, dashboard, buttons) that should wake a Grok Bot over a webhook, when the user must provide a webhook sender key, or when exposing that UI on Tailscale.

    Also in 17 projects that use this

  • jaydubya818Skill

    principle-never-block-on-the-human

    Apply when safe reversible implementation details can proceed inside scope.

    Also in 36 projects that use this

  • ianclearySkill

    poteto-help

    Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.

    Also in 12 projects that use this

  • +6 more from jaydubya818

The file

Files
SKILL.md

ผู้ใช้ขอให้คุณสอนอะไรบางอย่าง นี่เป็น request แบบ stateful — เขาตั้งใจจะเรียนหัวข้อนี้ต่อเนื่องหลาย session

Workspace สำหรับการสอน

ให้ถือว่า 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 ที่ใช้ซ้ำได้ระหว่างบทเรียน ดู Assets
  • NOTES.md: กระดาษทดสำหรับคุณไว้จด preference ของผู้ใช้ หรือ working note ต่าง ๆ

ปรัชญา

การจะเรียนรู้ได้ลึก ผู้ใช้ต้องการสามอย่าง:

  • Knowledge (ความรู้) เก็บเกี่ยวมาจาก resource คุณภาพสูงที่เชื่อถือได้
  • Skills (ทักษะ) ได้มาจากบทเรียน interactive ที่ตรงประเด็นมาก ๆ ซึ่งคุณออกแบบขึ้นจากความรู้นั้น
  • Wisdom (ปัญญา) ซึ่งมาจากการมีปฏิสัมพันธ์กับผู้เรียนและผู้ปฏิบัติคนอื่น

ก่อนที่ RESOURCES.md จะมีข้อมูลครบพอ โฟกัสของคุณควรอยู่ที่การหา resource คุณภาพสูงที่จะช่วยให้ผู้ใช้ได้ความรู้ อย่าเชื่อ parametric knowledge ของตัวเองเด็ดขาด

บางหัวข้ออาจต้องการ skill มากกว่า knowledge การเรียน theoretical physics อาจเน้น knowledge มากกว่า ส่วนโยคะเน้น skill มากกว่า

Fluency กับ Storage Strength

คุณควรระวังให้ดี แยกการเรียนรู้ออกเป็นสองแบบ:

  • Fluency strength: การดึงความรู้มาใช้ได้ทันทีในขณะนั้น
  • Storage strength: การเก็บความรู้ไว้ได้ระยะยาว

Fluency อาจทำให้ผู้ใช้รู้สึกว่าตัวเองเก่งแล้วทั้งที่เป็นภาพลวง แต่ storage strength ต่างหากคือเป้าหมายจริง พยายามออกแบบบทเรียนที่สร้างการจดจำระยะยาวผ่าน desirable difficulty:

  • ใช้ retrieval practice (ให้นึกออกมาจากความจำ)
  • Spacing (กระจายการฝึกออกไปตามเวลา)
  • Interleaving (สลับหัวข้อที่ต่างกันแต่เกี่ยวข้องกันในการฝึก — ใช้กับการฝึก skill เท่านั้น)

บทเรียน

บทเรียนคือของหลักที่คุณผลิต — หน่วยที่ 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 คือครูของเขา และช่วยได้กับทุกอย่างที่ยังไม่ชัดเจน

Assets

บทเรียนถูกประกอบขึ้นจาก component ที่ใช้ซ้ำได้ เก็บไว้ใน ./assets/: stylesheet, quiz widget, simulator, ตัวช่วยวาด diagram — อะไรก็ตามที่บทเรียนถัดไปเอาไปใช้ซ้ำได้

การ reuse คือค่า default ไม่ใช่ข้อยกเว้น ก่อนเขียนบทเรียน ให้อ่าน ./assets/ แล้วประกอบจาก component ที่มีอยู่แล้ว เมื่อบทเรียนต้องการของใหม่ที่ใช้ซ้ำได้ ให้เขียนมันเป็น component ใน ./assets/ แล้วลิงก์เข้ามา — อย่า inline โค้ดที่บทเรียนในอนาคตจะต้องเขียนซ้ำ

Stylesheet ที่ใช้ร่วมกันคือ component ตัวแรกที่ทุก workspace ควรมี: ทุกบทเรียนลิงก์มันไว้ บทเรียนทั้งหมดจึงดูเป็นคอร์สเดียวกันที่สม่ำเสมอ ไม่ใช่กองงานทำทีละชิ้น เมื่อ workspace โต component library ก็ควรโตตาม

Mission

ทุกบทเรียนควรผูกเข้ากับ mission — เหตุผลที่ผู้ใช้สนใจจะเรียนหัวข้อนี้

ถ้าผู้ใช้ยังไม่ชัดเจนเรื่อง mission หรือ MISSION.md ยังว่าง งานแรกของคุณคือซักถามผู้ใช้ว่าทำไมถึงอยากเรียนเรื่องนี้

ถ้าไม่เข้าใจ mission การหาความรู้จะไม่ยึดกับเป้าหมายในโลกจริง บทเรียนจะรู้สึกลอย ๆ เกินไป และคุณจะไม่มีทางตัดสินได้เลยว่าผู้ใช้ควรทำอะไรต่อ

Mission อาจเปลี่ยนไปเมื่อผู้ใช้พัฒนา skill และ knowledge มากขึ้น นี่เป็นเรื่องปกติ — อย่าลืม update MISSION.md และเพิ่ม learning record เพื่อบันทึกการเปลี่ยนแปลง ยืนยันกับผู้ใช้ก่อนเปลี่ยน mission

Zone Of Proximal Development

ในแต่ละบทเรียน ผู้ใช้ควรรู้สึกเสมอว่ากำลังถูกท้าทาย "พอดี ๆ"

ผู้ใช้อาจระบุสิ่งที่อยากเรียนมาแบบเจาะจง ถ้าไม่ ให้หา zone of proximal development ของเขาโดย:

  • อ่าน learning-records ของเขา
  • คิดว่าอะไรคือสิ่งที่เหมาะจะสอนเขาที่สุดตาม mission
  • สอนสิ่งที่ตรงประเด็นที่สุดที่พอดีกับ zone of proximal development ของเขา

Knowledge

บทเรียนควรออกแบบรอบ skill หนึ่งอย่างที่ผู้ใช้กำลังจะเรียน ความรู้ในบทเรียนควรมีแค่เท่าที่จำเป็นต่อการได้ skill นั้นมา สอนความรู้ก่อน แล้วให้ผู้ใช้ฝึก skill ผ่าน feedback loop แบบ interactive

ความรู้ควรถูกรวบรวมจาก resource ที่เชื่อถือได้ก่อน ใช้ RESOURCES.md เก็บรายการไว้ บทเรียนควรเต็มไปด้วย citation — ลิงก์ไปยัง resource ภายนอกเพื่อรองรับทุก claim ที่พูดออกไป ซึ่งช่วยเพิ่มความน่าเชื่อถือของบทเรียน

สำหรับการรับความรู้ ความยากคือศัตรู มันกิน working memory ที่คุณต้องใช้ในการทำความเข้าใจ

Skills

ถ้า knowledge ว่าด้วยการรับเข้ามา skill ก็ว่าด้วยความทนทานและความยืดหยุ่น ทำให้ความรู้ติดตัว

สำหรับการฝึก skill ความยากคือเครื่องมือ การพยายามดึงความรู้ออกมาอย่างออกแรงคือสิ่งที่สร้าง storage strength skill ควรถูกสอนผ่านบทเรียน interactive ซึ่งคุณมีเครื่องมือหลายอย่าง:

  • บทเรียน interactive ที่ใช้ quiz และ task เบา ๆ ใน browser
  • บทเรียนที่พาผู้ใช้ทำตามขั้นตอนในโลกจริงทีละข้อ (เช่น ท่าโยคะ)

ทั้งหมดนี้ควรตั้งอยู่บน feedback loop ที่ผู้ใช้ได้รับ feedback ต่อผลงานของตัวเอง feedback loop นี้ควรแน่นที่สุดเท่าที่จะทำได้ ให้ feedback ทันที — และถ้าเป็นไปได้ ให้อัตโนมัติ

สำหรับ quiz แต่ละตัวเลือกคำตอบควรมีจำนวนคำเท่ากันเป๊ะ (และจำนวนตัวอักษรด้วย ถ้าทำได้) อย่าให้ผู้ใช้เดาคำตอบได้จาก format

การหา Wisdom

Wisdom มาจากการปฏิสัมพันธ์จริงในโลกจริง — การทดสอบ skill ของตัวเองนอกสภาพแวดล้อมการเรียน

เมื่อผู้ใช้ถามคำถามที่ดูเหมือนต้องใช้ wisdom ท่าที default ของคุณควรเป็นการพยายามตอบ — แต่สุดท้ายให้ส่งต่อไปยัง community

Community คือที่ (online หรือ offline) ที่ผู้ใช้ทดสอบ skill ของตัวเองในโลกจริงได้ อาจเป็น forum, subreddit, คลาสเรียนจริง (ถ้างบถึง) หรือกลุ่มความสนใจในพื้นที่

คุณควรพยายามหา community ที่มีชื่อเสียงดีให้ผู้ใช้เข้าร่วม ถ้าผู้ใช้บอกว่าไม่อยากเข้า community ให้เคารพการตัดสินใจนั้น

เอกสารอ้างอิง

ระหว่างสร้างบทเรียน คุณควรสร้างเอกสารอ้างอิงไปด้วย บทเรียนอ้างถึงเอกสารเหล่านี้ได้ — มันมีประโยชน์สำหรับเก็บหน่วยความรู้ดิบที่ใช้ได้ข้ามหลายบทเรียน

บทเรียนแทบไม่ถูกเปิดกลับมาดูทีหลัง — แต่เอกสารอ้างอิงจะถูกเปิด มันควรเป็นแก่นของบทเรียนที่ถูกบีบอัดแล้ว ใน format ที่ออกแบบมาเพื่อเปิดดูอ้างอิงได้เร็ว

หัวข้อการเรียนบางแบบเหมาะกับการทำเอกสารอ้างอิงเป็นพิเศษ:

  • Syntax และ code snippet สำหรับการเขียนโปรแกรม
  • Algorithm และ flowchart สำหรับกระบวนการต่าง ๆ
  • ท่าและลำดับท่าสำหรับโยคะ
  • ท่าออกกำลังกายและ routine สำหรับฟิตเนส
  • Glossary สำหรับทุกหัวข้อที่มีศัพท์เฉพาะของตัวเอง

โดยเฉพาะ glossary เป็นเอกสารอ้างอิงที่ขาดไม่ได้ เมื่อสร้างขึ้นแล้ว ทุกบทเรียนต้องยึดตามมัน

NOTES.md

บางครั้งผู้ใช้จะบอก preference ว่าอยากถูกสอนแบบไหน หรือสิ่งที่คุณควรจำไว้ นี่คือที่สำหรับบันทึก preference เหล่านั้น เพื่อให้คุณกลับมาดูได้ตอนออกแบบบทเรียนหรือทำงานกับผู้ใช้

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.