[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSX71Z7SH9C98PPV5AJ3WC":3,"skill-same:01M6CSX71Z7SH9C98PPV5AJ3WC":51},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":14,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":6,"updatedAt":37,"install":38,"resources":50},"01M6CSX71Z7SH9C98PPV5AJ3WC","distill",null,"Synthesizes related learnings into reusable knowledge base patterns.","goffity\u002Fdev-km","goffity","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F778547?v=4","01M6CSW9QQ32YQYTRKQWVKYCAY","Goffity","01M6CSW9VQFVZ3QS6RB4VYJGE6",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fdistill\u002FSKILL.md",[],[5,19,20,21,22,23],"knowledge","reusable","patterns","learnings","base","2026-11-10 10:12:30",false,"---\nname: distill\ndescription: Synthesizes related learnings into reusable knowledge base patterns.\nargument-hint: \"[topic-name]\"\nuser-invocable: true\n---\n\n# Distill - Extract Patterns & Lessons\n\nสังเคราะห์ความรู้จาก \u002Fmem learnings เป็น patterns (Layer 2)\n\n## Usage\n\n```\n\u002Fdistill [topic-name]\n```\n\n**Input:** `kb\u002F05-ai-reviewed\u002Flearnings\u002F` (vault via symlink)\n**Output:** `kb\u002F02-patterns\u002F\u003Cdomain>\u002F\u003CName>.md`\n\n> Note: `kb\u002F` is a symlink to the Obsidian second-brain vault.\n> Legacy path `docs\u002Flearnings\u002F` + `docs\u002Fknowledge-base\u002F` is deprecated — scan `kb\u002F` only.\n\n## Instructions\n\n### Language Setting\n\n> Check `LANGUAGE` in `docs\u002Fcurrent.md`. If `th`, translate output per `references\u002Flanguage-guide.md`. See `references\u002Fbash-helpers.md` for detection snippet.\n\n1. **Scan learnings** for related content (3+ files on same topic)\n   ```bash\n   find $PROJECT_ROOT\u002Fkb\u002F05-ai-reviewed\u002Flearnings -name \"*.md\" -type f\n   ```\n2. **Analyze** for patterns, anti-patterns, insights\n3. **Pick domain folder** under `kb\u002F02-patterns\u002F` (grpc, observability, database, k8s, websocket, workflow, auth, architecture, testing). Create new domain folder if needed.\n4. **Create** knowledge entry with template below — use Title Case filename (e.g. `Consumer Retry Pattern.md`)\n5. **Add frontmatter** per vault convention:\n   ```yaml\n   ---\n   tags: [pattern, \u003Cdomain>]\n   type: pattern\n   domain: \u003Cdomain>\n   services: [\u003Cservices-using-this>]\n   date: YYYY-MM-DD\n   status: stable\n   ---\n   ```\n6. **Mark sources** as \"Distilled\" (append `> **Distilled:** → [[\u003CPattern Name>]]`)\n7. **Commit**: `git commit -m \"knowledge: [topic] - [summary]\"`\n\n## Template\n\n```markdown\n# [Topic Name]\n\n| Field | Value |\n|-------|-------|\n| **Created** | YYYY-MM-DD |\n| **Sources** | learnings ที่ใช้ |\n| **Tags** | `tag1` `tag2` |\n\n---\n\n## Key Insight\n\n> One-sentence summary\n\n---\n\n## The Problem\n\n| Attempt | Result |\n|---------|--------|\n| ทำแบบ X | เกิดปัญหา Y |\n\n---\n\n## The Solution\n\n### Pattern: [Name]\n\n```go\n\u002F\u002F Code example\n```\n\n**Why this works:**\n- Reason 1\n\n---\n\n## Anti-Patterns\n\n| Don't Do This | Do This Instead |\n|---------------|-----------------|\n| Bad | Good |\n\n---\n\n## When to Apply\n\n- ใช้เมื่อ...\n- ไม่ใช้เมื่อ...\n\n---\n\n## Decision Rationale (Optional)\n\n> ใช้เมื่อ knowledge นี้เกี่ยวข้องกับการตัดสินใจสำคัญ\n\n### Decision\n\n[สรุปการตัดสินใจ]\n\n### Alternatives Considered\n\n| Option | Pros | Cons |\n|--------|------|------|\n| Option A | ... | ... |\n| **Chosen** | ... | ... |\n\n### Why This Choice?\n\n- เหตุผล 1\n- เหตุผล 2\n\n### Trade-offs Accepted\n\n- ยอมรับ X เพื่อได้ Y\n\n---\n\n## Related\n\n- Learnings: source files\n- Code: relevant code paths\n```\n\n## After Distilling\n\nMark source learnings (use wiki-link for Obsidian graph):\n```markdown\n> **Distilled:** → [[\u003CPattern Name>]]\n```\n\n## When to Distill\n\n| Trigger | Action |\n|---------|--------|\n| 3+ learnings เรื่องเดียวกัน | รวมเป็น knowledge |\n| พบ pattern ใช้ซ้ำได้ | สร้าง knowledge |\n| Weekly review | Scan pending learnings |\n","# Distill - Extract Patterns & Lessons\n\nสังเคราะห์ความรู้จาก \u002Fmem learnings เป็น patterns (Layer 2)\n\n## Usage\n\n```\n\u002Fdistill [topic-name]\n```\n\n**Input:** `kb\u002F05-ai-reviewed\u002Flearnings\u002F` (vault via symlink)\n**Output:** `kb\u002F02-patterns\u002F\u003Cdomain>\u002F\u003CName>.md`\n\n> Note: `kb\u002F` is a symlink to the Obsidian second-brain vault.\n> Legacy path `docs\u002Flearnings\u002F` + `docs\u002Fknowledge-base\u002F` is deprecated — scan `kb\u002F` only.\n\n## Instructions\n\n### Language Setting\n\n> Check `LANGUAGE` in `docs\u002Fcurrent.md`. If `th`, translate output per `references\u002Flanguage-guide.md`. See `references\u002Fbash-helpers.md` for detection snippet.\n\n1. **Scan learnings** for related content (3+ files on same topic)\n   ```bash\n   find $PROJECT_ROOT\u002Fkb\u002F05-ai-reviewed\u002Flearnings -name \"*.md\" -type f\n   ```\n2. **Analyze** for patterns, anti-patterns, insights\n3. **Pick domain folder** under `kb\u002F02-patterns\u002F` (grpc, observability, database, k8s, websocket, workflow, auth, architecture, testing). Create new domain folder if needed.\n4. **Create** knowledge entry with template below — use Title Case filename (e.g. `Consumer Retry Pattern.md`)\n5. **Add frontmatter** per vault convention:\n   ```yaml\n   ---\n   tags: [pattern, \u003Cdomain>]\n   type: pattern\n   domain: \u003Cdomain>\n   services: [\u003Cservices-using-this>]\n   date: YYYY-MM-DD\n   status: stable\n   ---\n   ```\n6. **Mark sources** as \"Distilled\" (append `> **Distilled:** → [[\u003CPattern Name>]]`)\n7. **Commit**: `git commit -m \"knowledge: [topic] - [summary]\"`\n\n## Template\n\n```markdown\n# [Topic Name]\n\n| Field | Value |\n|-------|-------|\n| **Created** | YYYY-MM-DD |\n| **Sources** | learnings ที่ใช้ |\n| **Tags** | `tag1` `tag2` |\n\n---\n\n## Key Insight\n\n> One-sentence summary\n\n---\n\n## The Problem\n\n| Attempt | Result |\n|---------|--------|\n| ทำแบบ X | เกิดปัญหา Y |\n\n---\n\n## The Solution\n\n### Pattern: [Name]\n\n```go\n\u002F\u002F Code example\n```\n\n**Why this works:**\n- Reason 1\n\n---\n\n## Anti-Patterns\n\n| Don't Do This | Do This Instead |\n|---------------|-----------------|\n| Bad | Good |\n\n---\n\n## When to Apply\n\n- ใช้เมื่อ...\n- ไม่ใช้เมื่อ...\n\n---\n\n## Decision Rationale (Optional)\n\n> ใช้เมื่อ knowledge นี้เกี่ยวข้องกับการตัดสินใจสำคัญ\n\n### Decision\n\n[สรุปการตัดสินใจ]\n\n### Alternatives Considered\n\n| Option | Pros | Cons |\n|--------|------|------|\n| Option A | ... | ... |\n| **Chosen** | ... | ... |\n\n### Why This Choice?\n\n- เหตุผล 1\n- เหตุผล 2\n\n### Trade-offs Accepted\n\n- ยอมรับ X เพื่อได้ Y\n\n---\n\n## Related\n\n- Learnings: source files\n- Code: relevant code paths\n```\n\n## After Distilling\n\nMark source learnings (use wiki-link for Obsidian graph):\n```markdown\n> **Distilled:** → [[\u003CPattern Name>]]\n```\n\n## When to Distill\n\n| Trigger | Action |\n|---------|--------|\n| 3+ learnings เรื่องเดียวกัน | รวมเป็น knowledge |\n| พบ pattern ใช้ซ้ำได้ | สร้าง knowledge |\n| Weekly review | Scan pending learnings |\n",{"name":5,"description":7,"argument-hint":29,"user-invocable":30},"[topic-name]",true,"main","835c1f754a3eab31c2e7eb408d21431a98c633ee","skills\u002Fdistill","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km","https:\u002F\u002Fgithub.com\u002Fgoffity","www.narongwate.com","2026-11-10 01:34:18",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":30},[40,43,46],{"tool":41,"command":42},"npx","npx skills add goffity\u002Fdev-km --skill distill",{"tool":44,"command":45},"bunx","bunx skills add goffity\u002Fdev-km --skill distill",{"tool":47,"command":48},"pnpm","pnpm dlx skills add goffity\u002Fdev-km --skill distill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fdistill\u002FSKILL.md",[],[52,63,97,109,117,131],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":24},"01M6CSZ9DKT0CG5Y2HE8F5D9KX","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[59,60,61,62],"wait what","land","stop","message",{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":77,"publishedAt":24},"01M6CSZ6B0GH2N75WNPPESCDHX","tdd","Test-driven development loop (red-green-refactor) with commit-based phase state and Jira traceability. Use when the user wants to build a feature or fix a bug test-first, mentions \"tdd\", \"red-green-refactor\", or \"test-first\". Replaces the tdg plugin — combines its commit\u002Fphase discipline with seam-based test quality rules from kb Testing Standards.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Ftdd\u002FSKILL.md",[69,74],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000008","测试与质量",[65,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],"discipline","development","state","first","loop","quality","Rules","fix","kb","use","test","standards","red-green-refactor","build","green","jira","testing","commit","plugin",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":24},"01M6CSZ3PNYFR2K5GB197TA7GP","td","Creates post-task retrospectives with Before\u002FAfter context and session documentation.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Ftd\u002FSKILL.md",[],[99,104,105,106,107,108],"documentation","context","session","task","done",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":24},"01M6CSZ1TZKVNHS07B4EBQEKFQ","summary","Generates weekly or monthly session summaries from retrospectives and activity logs.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fsummary\u002FSKILL.md",[],[111,116,106],"logs",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":126,"publishedAt":24},"01M6CSYZQHMHJT9ZV8FYY06XZN","share","Shares knowledge across projects by copying to shared-knowledge directory with cross-project metadata.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fshare\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000021","资料检索与研究",[119,127,128,129,19,130],"directory","metadata","file","projects",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":24},"01M6CSYXFZ7D7EKEFXCQE8QW7S","session-analyzer","Analyzes git changes and creates retrospective drafts with Before\u002FAfter context.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fsession-analyzer\u002FSKILL.md",[],[106,138,139,105,140],"session analyzer","git","retrospective"]