[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAESPC6924RECE6KPPHDRR":3,"skill-same:01M6DAESPC6924RECE6KPPHDRR":56},{"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":23,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6DAESPC6924RECE6KPPHDRR","research",null,"Domain research — find standards, prior art, and competing approaches","dayvidpham\u002Fpasture","dayvidpham","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22456875?v=4","01M6CHR0F6J2M4QEHFR85XRNSR","David Huu Pham","01M6DA7X1WB0MK7TTV46SRZK75",1,"MIT","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Finternal\u002Ftarget\u002Fclaudecode\u002Fassets\u002Fpasture-skills\u002Fskills\u002Fresearch\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[5,24,25,26,27,28],"standards","domain","find","Art","prior art","2026-11-10 10:12:30",false,"---\nname: research\ndescription: Domain research — find standards, prior art, and competing approaches\n---\n\n# Research\n\n\u003C!-- BEGIN GENERATED FROM pasture schema -->\n\u003C!-- GENERATED FROM pasture v0.0.33 artifact v1 -->\n**Command:** `pasture:research` — Domain research — find standards, prior art, and competing approaches\n\nGeneral-purpose domain research skill. Finds standards, prior art, existing solutions, and established patterns for a given topic. Writes structured findings to `llm\u002Fresearch\u002F\u003Ctopic>.md`.\n\n**[research-topic-deliverable]**\n- Given: a research topic\n- When: investigating\n- Then: follow the depth-scoped checklist and write findings to `llm\u002Fresearch\u002F\u003Ctopic>.md`\n- Should not: skip writing the deliverable file\n\n**[research-depth-quick-scan]**\n- Given: depth is quick-scan\n- When: researching\n- Then: search local project only (Grep, Glob, Read)\n- Should not: make web requests\n\n**[research-depth-standard]**\n- Given: depth is standard-research\n- When: researching\n- Then: search local project AND web for domain standards and established patterns\n- Should not: skip local analysis\n\n**[research-depth-deep-dive]**\n- Given: depth is deep-dive\n- When: researching\n- Then: perform full local analysis, web search for competing solutions, RFCs, academic papers, and well-regarded projects\n- Should not: produce an unstructured dump\n\n**[research-findings-format]**\n- Given: findings exist\n- When: writing deliverable\n- Then: use the structured report format with per-topic sections, code citations (file:line), assessment tables, and adoption recommendations\n- Should not: write a flat bullet list for standard-research or deep-dive depths\n\n**[research-phase1-recording]**\n- Given: Phase 1 context\n- When: recording findings\n- Then: ALSO add a summary comment on the REQUEST task via `\"${EPOCH_REC}\" note`\n- Should not: only write the file without updating the REQUEST task\n\n## Task Recovery\n\nThe tracker backend is recorded once in .agents.local\u002Fpasture\u002FEPOCH.md; read that file instead of re-probing. If EPOCH.md is absent, stop and ask the orchestrator to run detection.\n\nRecover from live tracker state at session start and after compaction; never trust cached task rows. Read the `rec:` path from the header and use it as the one entry point: `\"${EPOCH_REC}\" \u003Cop>`. The operation set is closed: create, label, block, note, show, query, ready, status, close, whoami, signal.\n\nStore selection: the adapter reads PASTURE_DB_PATH when set, otherwise the header's `db:`; the probe wrote that value from the same precedence (XDG_DATA_HOME\u002Fpasture\u002Fpasture.db, HOME\u002F.local\u002Fshare\u002Fpasture\u002Fpasture.db, then .pasture\u002Fpasture.db). Use the same selected store for every command. If a recovery query fails, report its actual store path, failed operation, impact, and permission\u002Fschema\u002Fconfiguration repair; failure is not an empty work queue.\n\nThe adapter passes `--namespace` only when EPOCH.md records `namespace:`. That pin wins on both backends. Otherwise it omits the flag. Pasture then derives the namespace itself: PASTURE_NAMESPACE, else the git remote, then file:\u002F\u002F of the working directory. The ledger calls derive_namespace for the header and for every write that has no pin. That function is the one list of remote forms; do not restate it. With no origin, both backends use file:\u002F\u002F of the working directory, so invocations from different subdirectories use different namespaces. Queries without a pin follow that backend's derivation; pass `--all-namespaces` to opt out. When neither a pin nor PASTURE_NAMESPACE is set, pasture reads are unscoped and creation falls back to the git remote, then file:\u002F\u002F of the working directory. Inspect the returned full URI before choosing repository work. Separate reads are not an atomic snapshot.\n\nRun `\"${EPOCH_REC}\" ready`, `\"${EPOCH_REC}\" query --blocked`, and `\"${EPOCH_REC}\" query --status in_progress`. For each referenced active task, run `\"${EPOCH_REC}\" show \"$TASK_URI\"`, `\"${EPOCH_REC}\" show \"$TASK_URI\" --notes`, and `\"${EPOCH_REC}\" show \"$TASK_URI\" --history`. All *_URI variables in examples are inputs bound to full task URIs from an assignment, a verified tracker read, or the URI create printed; never use legacy short IDs. Resolve each variable before execution and quote it as one operand.\n\nCreate prints the new task URI directly. Persist it before any label or note: create-plus-label is non-atomic, so on failure retain the URI and retry only the failed label\u002Fnote operation, never create again. Only open, in_progress, and closed are statuses; blockage is represented by live dependencies and notes, not a blocked status.\n\nAn owner is recorded with `\"${EPOCH_REC}\" label \"$TASK_URI\" owner:\u003Crole>`. That is a claim, not an allocation: an unassigned task stays unassigned until the supervisor allocates it, and repeating an identical claim is not allocation. Never invent an owner.\n\nParent stays open and is blocked by child: `\"${EPOCH_REC}\" block \"$PARENT_URI\" --by \"$CHILD_URI\"`. Reference documents belong in description frontmatter under references:, never fabricated blockers. Workers report evidence and handoffs without closing their slices or leaves; the supervisor closes only after independent review and satisfied gates. Use git agent-commit for local commits. Never install, enable, or modify Git hooks, Git hook path configuration, or pre-commit integration without explicit user approval. Tracker writes are durable; Git history lands separately.\n\nIf the header records `backend: error`, stop before the first mutation: the store exists but cannot be used, and falling back could lose earlier epochs. A mid-epoch write failure retries 3 times. After the third failure, write the attempted record to .agents.local\u002Fpasture\u002Fpending\u002F\u003Ctimestamp>-\u003Cop>.md, keep the recorded backend, and surface the pending record to the user at the next gate. Never switch backends and never drop the record.\n\n## Task Attribution\n\nSelect the current registered author with \"${EPOCH_REC}\" whoami. It prints the author recorded in the header or PASTURE_AUTHOR, and on the pasture backend it confirms that actor with agents show. It does not list agents and it does not invent one. If neither source names an author, it stops: set author: in EPOCH.md or export PASTURE_AUTHOR. Never auto-register or guess an identity during recovery. Every note supplies --author explicitly; machine examples use the pre-registered pasture-system\u002F00000000-0000-0000-0000-000000000000 actor. If it is absent, stop and request registration from the operator rather than claiming registration is fixed. Preserve human intent verbatim and quote historical attribution as evidence, not as a forged new author.\n\n## When to Use\n\n- **Phase 1 (s1_2-research):** Spawned by `\u002Fpasture:user-request` after user confirms research depth. Findings recorded as REQUEST task comment AND written to `llm\u002Fresearch\u002F`.\n- **Standalone:** Any agent needing domain research outside the 12-phase workflow. Invoke directly with a topic and depth.\n\n## Inputs\n\n| Parameter | Required | Description |\n|-----------|----------|--------------|\n| `topic` | Yes | The research subject (e.g., \"CEL policy engines\", \"HTTP proxy patterns\") |\n| `depth` | Yes | One of: `quick-scan`, `standard-research`, `deep-dive` |\n| `request-task-id` | Phase 1 only | Pasture task ID to record findings as comment |\n\n## Research Checklist\n\nApply all items appropriate to the depth level:\n\n### 1. Domain Standards\n\n- What RFCs, specs, or community conventions exist?\n- Are there formal standards bodies or working groups?\n\n### 2. Prior Art\n\n- What well-regarded projects solve similar problems?\n- What is the maturity, adoption, and maintenance status of each?\n- Which approaches have been tried and abandoned (and why)?\n\n### 3. Established Patterns\n\n- What idioms and best practices are established in this domain?\n- Are there canonical implementations or reference architectures?\n- What do experienced practitioners recommend?\n\n### 4. Reusable Solutions\n\n- Are there existing libraries, frameworks, or tools that could be reused or adapted?\n- What are the tradeoffs of build-vs-buy for this domain?\n\n## Depth Scoping\n\n| Depth | Local | Web | Deliverable |\n|-------|-------|-----|-------------|\n| **quick-scan** | Grep project for related patterns, check README\u002Fdocs, scan dependency manifests | None | 1-paragraph summary per checklist item (4 paragraphs total) |\n| **standard-research** | Local scan + check project dependencies, related repos, read key source files | Search for domain standards, established patterns, well-regarded projects | Per-topic sections with relevance notes and brief assessment |\n| **deep-dive** | Full local analysis + dependency tree, architectural trace | Search for competing solutions, RFCs, academic papers, canonical implementations | Full structured report (see format below) |\n\n## Output Format\n\nWrite findings to `llm\u002Fresearch\u002F\u003Ctopic>.md` using the structured report format.\n\n### File Structure\n\n```markdown\n---\ntitle: \"\u003CTopic> — Domain Research\"\ndate: \"\u003CYYYY-MM-DD>\"\ndepth: \"\u003Cquick-scan|standard-research|deep-dive>\"\nrequest: \"\u003Crequest-task-id or 'standalone'>\"\n---\n\n## Executive Summary\n\n\u003C1-3 paragraphs: key finding, scope of research, recommended direction>\n\n---\n\n## \u003CTopic Area 1>\n\n### \u003CSubject A>: \u003CApproach\u002FPattern Name>\n\n\u003CDescription of how this subject implements\u002Faddresses the topic area.\nInclude code snippets with file:line citations where applicable.>\n\n```\u003Clanguage>\n\u002F\u002F source-file.go:150-152\ncode snippet here\n```\n\n### \u003CSubject B>: \u003CAlternative Approach>\n\n\u003CDescription of alternative.>\n\n### Assessment\n\n| Aspect | Subject A | Subject B |\n|--------|-----------|-----------|\n| \u003Cdimension 1> | ... | ... |\n| \u003Cdimension 2> | ... | ... |\n\n**Adoption recommendation:** \u003Cadopt\u002Fadapt\u002Fdefer\u002Fskip with rationale>\n\n---\n\n## \u003CTopic Area 2>\n\n\u003CSame structure: subjects → code citations → assessment table → recommendation>\n\n---\n\n## Summary\n\n| Topic Area | Recommendation | Rationale |\n|------------|---------------|-----------|\n| Area 1 | Adopt\u002FAdapt\u002FDefer\u002FSkip | Brief reason |\n| Area 2 | ... | ... |\n\n## Key Takeaways\n\n### Adopt\n- \u003CPattern or solution to adopt immediately>\n\n### Adapt\n- \u003CPattern to adapt with modifications>\n\n### Defer\n- \u003CInteresting but not needed for MVP>\n\n### Skip\n- \u003CEvaluated and rejected, with reason>\n```\n\n### Adoption Categories\n\n| Category | Meaning |\n|----------|---------|\n| **Adopt** | Use directly or with minimal modification |\n| **Adapt** | Useful pattern but needs significant modification for our context |\n| **Defer** | Valuable but not needed for current scope; track for later |\n| **Skip** | Evaluated and rejected; document why to prevent re-evaluation |\n\n## Phase 1 Integration\n\nWhen invoked as part of Phase 1 (s1_2-research), record a summary on the REQUEST task in addition to writing the full report:\n\n```bash\n\"${EPOCH_REC}\" note \"${REQUEST_ID_URI}\" --author pasture-system\u002F00000000-0000-0000-0000-000000000000 --body \\\n  \"Research findings ({{depth}}):\n  - Standards: {{list or 'none found'}}\n  - Prior art: {{list of projects\u002Fsolutions}}\n  - Patterns: {{established approaches}}\n  - Recommendation: {{brief direction}}\n  - Full report: llm\u002Fresearch\u002F{{topic}}.md\"\n```\n\u003C!-- END GENERATED FROM pasture schema -->\n","# Research\n\n\u003C!-- BEGIN GENERATED FROM pasture schema -->\n\u003C!-- GENERATED FROM pasture v0.0.33 artifact v1 -->\n**Command:** `pasture:research` — Domain research — find standards, prior art, and competing approaches\n\nGeneral-purpose domain research skill. Finds standards, prior art, existing solutions, and established patterns for a given topic. Writes structured findings to `llm\u002Fresearch\u002F\u003Ctopic>.md`.\n\n**[research-topic-deliverable]**\n- Given: a research topic\n- When: investigating\n- Then: follow the depth-scoped checklist and write findings to `llm\u002Fresearch\u002F\u003Ctopic>.md`\n- Should not: skip writing the deliverable file\n\n**[research-depth-quick-scan]**\n- Given: depth is quick-scan\n- When: researching\n- Then: search local project only (Grep, Glob, Read)\n- Should not: make web requests\n\n**[research-depth-standard]**\n- Given: depth is standard-research\n- When: researching\n- Then: search local project AND web for domain standards and established patterns\n- Should not: skip local analysis\n\n**[research-depth-deep-dive]**\n- Given: depth is deep-dive\n- When: researching\n- Then: perform full local analysis, web search for competing solutions, RFCs, academic papers, and well-regarded projects\n- Should not: produce an unstructured dump\n\n**[research-findings-format]**\n- Given: findings exist\n- When: writing deliverable\n- Then: use the structured report format with per-topic sections, code citations (file:line), assessment tables, and adoption recommendations\n- Should not: write a flat bullet list for standard-research or deep-dive depths\n\n**[research-phase1-recording]**\n- Given: Phase 1 context\n- When: recording findings\n- Then: ALSO add a summary comment on the REQUEST task via `\"${EPOCH_REC}\" note`\n- Should not: only write the file without updating the REQUEST task\n\n## Task Recovery\n\nThe tracker backend is recorded once in .agents.local\u002Fpasture\u002FEPOCH.md; read that file instead of re-probing. If EPOCH.md is absent, stop and ask the orchestrator to run detection.\n\nRecover from live tracker state at session start and after compaction; never trust cached task rows. Read the `rec:` path from the header and use it as the one entry point: `\"${EPOCH_REC}\" \u003Cop>`. The operation set is closed: create, label, block, note, show, query, ready, status, close, whoami, signal.\n\nStore selection: the adapter reads PASTURE_DB_PATH when set, otherwise the header's `db:`; the probe wrote that value from the same precedence (XDG_DATA_HOME\u002Fpasture\u002Fpasture.db, HOME\u002F.local\u002Fshare\u002Fpasture\u002Fpasture.db, then .pasture\u002Fpasture.db). Use the same selected store for every command. If a recovery query fails, report its actual store path, failed operation, impact, and permission\u002Fschema\u002Fconfiguration repair; failure is not an empty work queue.\n\nThe adapter passes `--namespace` only when EPOCH.md records `namespace:`. That pin wins on both backends. Otherwise it omits the flag. Pasture then derives the namespace itself: PASTURE_NAMESPACE, else the git remote, then file:\u002F\u002F of the working directory. The ledger calls derive_namespace for the header and for every write that has no pin. That function is the one list of remote forms; do not restate it. With no origin, both backends use file:\u002F\u002F of the working directory, so invocations from different subdirectories use different namespaces. Queries without a pin follow that backend's derivation; pass `--all-namespaces` to opt out. When neither a pin nor PASTURE_NAMESPACE is set, pasture reads are unscoped and creation falls back to the git remote, then file:\u002F\u002F of the working directory. Inspect the returned full URI before choosing repository work. Separate reads are not an atomic snapshot.\n\nRun `\"${EPOCH_REC}\" ready`, `\"${EPOCH_REC}\" query --blocked`, and `\"${EPOCH_REC}\" query --status in_progress`. For each referenced active task, run `\"${EPOCH_REC}\" show \"$TASK_URI\"`, `\"${EPOCH_REC}\" show \"$TASK_URI\" --notes`, and `\"${EPOCH_REC}\" show \"$TASK_URI\" --history`. All *_URI variables in examples are inputs bound to full task URIs from an assignment, a verified tracker read, or the URI create printed; never use legacy short IDs. Resolve each variable before execution and quote it as one operand.\n\nCreate prints the new task URI directly. Persist it before any label or note: create-plus-label is non-atomic, so on failure retain the URI and retry only the failed label\u002Fnote operation, never create again. Only open, in_progress, and closed are statuses; blockage is represented by live dependencies and notes, not a blocked status.\n\nAn owner is recorded with `\"${EPOCH_REC}\" label \"$TASK_URI\" owner:\u003Crole>`. That is a claim, not an allocation: an unassigned task stays unassigned until the supervisor allocates it, and repeating an identical claim is not allocation. Never invent an owner.\n\nParent stays open and is blocked by child: `\"${EPOCH_REC}\" block \"$PARENT_URI\" --by \"$CHILD_URI\"`. Reference documents belong in description frontmatter under references:, never fabricated blockers. Workers report evidence and handoffs without closing their slices or leaves; the supervisor closes only after independent review and satisfied gates. Use git agent-commit for local commits. Never install, enable, or modify Git hooks, Git hook path configuration, or pre-commit integration without explicit user approval. Tracker writes are durable; Git history lands separately.\n\nIf the header records `backend: error`, stop before the first mutation: the store exists but cannot be used, and falling back could lose earlier epochs. A mid-epoch write failure retries 3 times. After the third failure, write the attempted record to .agents.local\u002Fpasture\u002Fpending\u002F\u003Ctimestamp>-\u003Cop>.md, keep the recorded backend, and surface the pending record to the user at the next gate. Never switch backends and never drop the record.\n\n## Task Attribution\n\nSelect the current registered author with \"${EPOCH_REC}\" whoami. It prints the author recorded in the header or PASTURE_AUTHOR, and on the pasture backend it confirms that actor with agents show. It does not list agents and it does not invent one. If neither source names an author, it stops: set author: in EPOCH.md or export PASTURE_AUTHOR. Never auto-register or guess an identity during recovery. Every note supplies --author explicitly; machine examples use the pre-registered pasture-system\u002F00000000-0000-0000-0000-000000000000 actor. If it is absent, stop and request registration from the operator rather than claiming registration is fixed. Preserve human intent verbatim and quote historical attribution as evidence, not as a forged new author.\n\n## When to Use\n\n- **Phase 1 (s1_2-research):** Spawned by `\u002Fpasture:user-request` after user confirms research depth. Findings recorded as REQUEST task comment AND written to `llm\u002Fresearch\u002F`.\n- **Standalone:** Any agent needing domain research outside the 12-phase workflow. Invoke directly with a topic and depth.\n\n## Inputs\n\n| Parameter | Required | Description |\n|-----------|----------|--------------|\n| `topic` | Yes | The research subject (e.g., \"CEL policy engines\", \"HTTP proxy patterns\") |\n| `depth` | Yes | One of: `quick-scan`, `standard-research`, `deep-dive` |\n| `request-task-id` | Phase 1 only | Pasture task ID to record findings as comment |\n\n## Research Checklist\n\nApply all items appropriate to the depth level:\n\n### 1. Domain Standards\n\n- What RFCs, specs, or community conventions exist?\n- Are there formal standards bodies or working groups?\n\n### 2. Prior Art\n\n- What well-regarded projects solve similar problems?\n- What is the maturity, adoption, and maintenance status of each?\n- Which approaches have been tried and abandoned (and why)?\n\n### 3. Established Patterns\n\n- What idioms and best practices are established in this domain?\n- Are there canonical implementations or reference architectures?\n- What do experienced practitioners recommend?\n\n### 4. Reusable Solutions\n\n- Are there existing libraries, frameworks, or tools that could be reused or adapted?\n- What are the tradeoffs of build-vs-buy for this domain?\n\n## Depth Scoping\n\n| Depth | Local | Web | Deliverable |\n|-------|-------|-----|-------------|\n| **quick-scan** | Grep project for related patterns, check README\u002Fdocs, scan dependency manifests | None | 1-paragraph summary per checklist item (4 paragraphs total) |\n| **standard-research** | Local scan + check project dependencies, related repos, read key source files | Search for domain standards, established patterns, well-regarded projects | Per-topic sections with relevance notes and brief assessment |\n| **deep-dive** | Full local analysis + dependency tree, architectural trace | Search for competing solutions, RFCs, academic papers, canonical implementations | Full structured report (see format below) |\n\n## Output Format\n\nWrite findings to `llm\u002Fresearch\u002F\u003Ctopic>.md` using the structured report format.\n\n### File Structure\n\n```markdown\n---\ntitle: \"\u003CTopic> — Domain Research\"\ndate: \"\u003CYYYY-MM-DD>\"\ndepth: \"\u003Cquick-scan|standard-research|deep-dive>\"\nrequest: \"\u003Crequest-task-id or 'standalone'>\"\n---\n\n## Executive Summary\n\n\u003C1-3 paragraphs: key finding, scope of research, recommended direction>\n\n---\n\n## \u003CTopic Area 1>\n\n### \u003CSubject A>: \u003CApproach\u002FPattern Name>\n\n\u003CDescription of how this subject implements\u002Faddresses the topic area.\nInclude code snippets with file:line citations where applicable.>\n\n```\u003Clanguage>\n\u002F\u002F source-file.go:150-152\ncode snippet here\n```\n\n### \u003CSubject B>: \u003CAlternative Approach>\n\n\u003CDescription of alternative.>\n\n### Assessment\n\n| Aspect | Subject A | Subject B |\n|--------|-----------|-----------|\n| \u003Cdimension 1> | ... | ... |\n| \u003Cdimension 2> | ... | ... |\n\n**Adoption recommendation:** \u003Cadopt\u002Fadapt\u002Fdefer\u002Fskip with rationale>\n\n---\n\n## \u003CTopic Area 2>\n\n\u003CSame structure: subjects → code citations → assessment table → recommendation>\n\n---\n\n## Summary\n\n| Topic Area | Recommendation | Rationale |\n|------------|---------------|-----------|\n| Area 1 | Adopt\u002FAdapt\u002FDefer\u002FSkip | Brief reason |\n| Area 2 | ... | ... |\n\n## Key Takeaways\n\n### Adopt\n- \u003CPattern or solution to adopt immediately>\n\n### Adapt\n- \u003CPattern to adapt with modifications>\n\n### Defer\n- \u003CInteresting but not needed for MVP>\n\n### Skip\n- \u003CEvaluated and rejected, with reason>\n```\n\n### Adoption Categories\n\n| Category | Meaning |\n|----------|---------|\n| **Adopt** | Use directly or with minimal modification |\n| **Adapt** | Useful pattern but needs significant modification for our context |\n| **Defer** | Valuable but not needed for current scope; track for later |\n| **Skip** | Evaluated and rejected; document why to prevent re-evaluation |\n\n## Phase 1 Integration\n\nWhen invoked as part of Phase 1 (s1_2-research), record a summary on the REQUEST task in addition to writing the full report:\n\n```bash\n\"${EPOCH_REC}\" note \"${REQUEST_ID_URI}\" --author pasture-system\u002F00000000-0000-0000-0000-000000000000 --body \\\n  \"Research findings ({{depth}}):\n  - Standards: {{list or 'none found'}}\n  - Prior art: {{list of projects\u002Fsolutions}}\n  - Patterns: {{established approaches}}\n  - Recommendation: {{brief direction}}\n  - Full report: llm\u002Fresearch\u002F{{topic}}.md\"\n```\n\u003C!-- END GENERATED FROM pasture schema -->\n",{"name":5,"description":7},"main","5813de22110ddc609b465a982b4811646ff72d18","internal\u002Ftarget\u002Fclaudecode\u002Fassets\u002Fpasture-skills\u002Fskills\u002Fresearch",0,"https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture","https:\u002F\u002Fgithub.com\u002Fdayvidpham","dhpham.com","2026-11-11 16:48:48",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add dayvidpham\u002Fpasture --skill research",{"tool":48,"command":49},"bunx","bunx skills add dayvidpham\u002Fpasture --skill research",{"tool":51,"command":52},"pnpm","pnpm dlx skills add dayvidpham\u002Fpasture --skill research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Finternal\u002Ftarget\u002Fclaudecode\u002Fassets\u002Fpasture-skills\u002Fskills\u002Fresearch\u002FSKILL.md",true,[],[57,65,81,91,103,114],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":29},"01M6DAP7307B3JVZX5DSNAE08Y","fixture","Isolated fixture skill","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Ftestdata\u002Finstall\u002Fglobal\u002Fclaude-code\u002Fnative-marketplace\u002Ffixture-plugin\u002Fskills\u002Ffixture\u002FSKILL.md",[],[59,64],"fixture skill",{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":29},"01M6DAP48A4K365N83NBG0GFVC","worker","Vertical slice implementer (full production code path)","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Fskills\u002Fworker\u002FSKILL.md",[],[67,72,73,74,75,76,77,78,79,80],"implementer","code","implement","Production","full","complete","vertical slice","slice","path",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":29},"01M6DAP18QJM7P7N31TYGNJBCP","worker-implement","Implement assigned vertical slice following TDD layers","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Fskills\u002Fworker-implement\u002FSKILL.md",[],[88,67,74,78,89,79,90],"worker implement","layers","tdd",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":29},"01M6DANYHC7P63RFEN26F70MC2","worker-complete","Signal slice completion after quality gates pass","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Fskills\u002Fworker-complete\u002FSKILL.md",[],[67,98,77,99,79,100,101,102],"worker complete","signal","gates","quality","quality gates",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":29},"01M6DANWZ31TRP4NN4T1BFYKSR","worker-blocked","Report a blocker to supervisor via Pasture","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Fskills\u002Fworker-blocked\u002FSKILL.md",[],[110,67,111,112,113],"worker blocked","via","report","supervisor",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":123,"publishedAt":29},"01M6DANSVDBXBFH93B6EX3H2QK","user-uat","User Acceptance Testing with demonstrative examples","https:\u002F\u002Fgithub.com\u002Fdayvidpham\u002Fpasture\u002Fblob\u002Fmain\u002Fskills\u002Fuser-uat\u002FSKILL.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[124,125,126,127,128,129,130,131,132],"uat","user uat","user","acceptance testing","with","user acceptance testing","examples","acceptance","testing"]