[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HZ3C8H6TEAVAXS2XW0643R":3,"skill-same:01M6HZ3C8H6TEAVAXS2XW0643R":70},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6HZ3C8H6TEAVAXS2XW0643R","double-diamond-feature",null,"Use for meaningful feature development before coding. Guides the agent through Discover, Define, Develop, and Deliver with evidence, options, validation, and rollback notes. Do not use for bugs, regressions, outages, or flaky tests; use bug-investigation instead.","ldilov\u002Fharness-forge","ldilov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F25016670?v=4","01M6HYXAEJP0KYT2DF86WYN8QK","Lazar Dilov","01M6HYXAJETHAW5DD5TAAFEQ7D",6,"GPL-3.0","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Fdouble-diamond-feature\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"double diamond feature","feature","discover","bugs","for","with","guides","feature development","tests","define","notes","options","do","bug","evidence","use","rollback","develop","coding","development","2026-11-10 10:12:30",false,"---\nname: double-diamond-feature\ndescription: Use for meaningful feature development before coding. Guides the agent through Discover, Define, Develop, and Deliver with evidence, options, validation, and rollback notes. Do not use for bugs, regressions, outages, or flaky tests; use bug-investigation instead.\n---\n\n# Double Diamond Feature Development\n\n## Trigger Signals\n\nUse this skill when the user asks for:\n\n- a new feature\n- a user-facing behavior change\n- an API or workflow change\n- an ambiguous product request\n- architecture-significant implementation work\n- a feature that may affect security, performance, data, accessibility, or cross-system behavior\n\nDo not use as the primary workflow for bugs, regressions, outages, or flaky tests. Use `bug-investigation` instead.\n\n## Mode Selection\n\n- **Lite**: small, low-risk, clear change. Keep output short. Maps to the `brief` output profile.\n- **Standard**: default for meaningful feature work. Maps to the `standard` output profile.\n- **Deep**: high-risk, ambiguous, cross-boundary, or architecture-significant work. Maps to the `deep` output profile.\n\nState the selected mode and why. Prefer the lightest mode that still makes the work safe and reviewable.\n\n## Workflow\n\n### 1. Discover\n\nGather evidence before editing files. Reuse Harness Forge runtime surfaces instead of rediscovering the repo: `.hforge\u002Fruntime\u002Frepo\u002Frepo-map.json`, `.hforge\u002Fruntime\u002Frepo\u002Frecommendations.json`, `.hforge\u002Fgenerated\u002Fagent-command-catalog.json`.\n\nClassify every fact as:\n\n- user-provided\n- repository-derived\n- runtime\u002Ftool-derived\n- external research\n- assumption\n\n### 2. Define\n\nCreate the smallest correct problem frame:\n\n- problem statement\n- users\u002Fstakeholders\n- non-goals\n- constraints\n- acceptance criteria\n- risk level\n- human checkpoint needed or not\n\n### 3. Develop\n\nFor non-trivial work, compare at least two solution options:\n\n| Option | Summary | Pros | Cons | Risk | Validation |\n|---|---|---|---|---|---|\n\nSelect an option with rationale and trade-offs. For one viable option, justify why explicitly.\n\n### 4. Deliver\n\nImplement the selected option. Keep scope aligned with the defined problem.\n\nAfter implementation, report:\n\n- selected option\n- files changed\n- validation commands\u002Fresults\n- acceptance criteria mapping\n- remaining risks\n- rollback\u002Fmitigation\n- follow-up work\n\n## Reframe Triggers\n\nStop and update the frame if:\n\n- new evidence changes the problem\n- the task is actually a bug (switch to `bug-investigation`)\n- the selected option requires a larger blast radius than expected\n- high-risk security\u002Fdata\u002Finfrastructure behavior appears\n- no credible validation path exists\n\n## Output Before Implementation\n\n```markdown\n## Double Diamond Frame\nMode: Lite | Standard | Deep\n\n### Discover\n- User outcome:\n- Evidence:\n- Existing behavior:\n- Constraints:\n- Unknowns\u002Fassumptions:\n\n### Define\n- Problem:\n- Non-goals:\n- Acceptance criteria:\n- Risk:\n\n### Develop\n| Option | Summary | Pros | Cons | Risk | Validation |\n|---|---|---|---|---|---|\n\n### Decision\n- Selected option:\n- Why:\n- Trade-offs:\n\n### Delivery plan\n- Files likely to change:\n- Validation:\n- Rollback\u002Fmitigation:\n```\n\n## Output After Implementation\n\n```markdown\n## Delivery Report\n- Selected option:\n- Files changed:\n- Validation:\n- Acceptance mapping:\n- Remaining risks:\n- Rollback\u002Fmitigation:\n- Follow-up:\n```\n\n## High-Risk Pause\n\nPause for human confirmation before changes involving auth, secrets, payments, data deletion\u002Fmigration, production infrastructure, or compliance-sensitive behavior.\n\n## Target Compatibility\n\nThis skill is plain-markdown and host-agnostic. Claude Code invokes it as `\u002Fdouble-diamond-feature`; Codex selects it via `\u002Fskills` or `$double-diamond-feature`. Do not rely on host-native hooks or interactive prompts — degrade to stating assumptions in non-interactive hosts.\n","# Double Diamond Feature Development\n\n## Trigger Signals\n\nUse this skill when the user asks for:\n\n- a new feature\n- a user-facing behavior change\n- an API or workflow change\n- an ambiguous product request\n- architecture-significant implementation work\n- a feature that may affect security, performance, data, accessibility, or cross-system behavior\n\nDo not use as the primary workflow for bugs, regressions, outages, or flaky tests. Use `bug-investigation` instead.\n\n## Mode Selection\n\n- **Lite**: small, low-risk, clear change. Keep output short. Maps to the `brief` output profile.\n- **Standard**: default for meaningful feature work. Maps to the `standard` output profile.\n- **Deep**: high-risk, ambiguous, cross-boundary, or architecture-significant work. Maps to the `deep` output profile.\n\nState the selected mode and why. Prefer the lightest mode that still makes the work safe and reviewable.\n\n## Workflow\n\n### 1. Discover\n\nGather evidence before editing files. Reuse Harness Forge runtime surfaces instead of rediscovering the repo: `.hforge\u002Fruntime\u002Frepo\u002Frepo-map.json`, `.hforge\u002Fruntime\u002Frepo\u002Frecommendations.json`, `.hforge\u002Fgenerated\u002Fagent-command-catalog.json`.\n\nClassify every fact as:\n\n- user-provided\n- repository-derived\n- runtime\u002Ftool-derived\n- external research\n- assumption\n\n### 2. Define\n\nCreate the smallest correct problem frame:\n\n- problem statement\n- users\u002Fstakeholders\n- non-goals\n- constraints\n- acceptance criteria\n- risk level\n- human checkpoint needed or not\n\n### 3. Develop\n\nFor non-trivial work, compare at least two solution options:\n\n| Option | Summary | Pros | Cons | Risk | Validation |\n|---|---|---|---|---|---|\n\nSelect an option with rationale and trade-offs. For one viable option, justify why explicitly.\n\n### 4. Deliver\n\nImplement the selected option. Keep scope aligned with the defined problem.\n\nAfter implementation, report:\n\n- selected option\n- files changed\n- validation commands\u002Fresults\n- acceptance criteria mapping\n- remaining risks\n- rollback\u002Fmitigation\n- follow-up work\n\n## Reframe Triggers\n\nStop and update the frame if:\n\n- new evidence changes the problem\n- the task is actually a bug (switch to `bug-investigation`)\n- the selected option requires a larger blast radius than expected\n- high-risk security\u002Fdata\u002Finfrastructure behavior appears\n- no credible validation path exists\n\n## Output Before Implementation\n\n```markdown\n## Double Diamond Frame\nMode: Lite | Standard | Deep\n\n### Discover\n- User outcome:\n- Evidence:\n- Existing behavior:\n- Constraints:\n- Unknowns\u002Fassumptions:\n\n### Define\n- Problem:\n- Non-goals:\n- Acceptance criteria:\n- Risk:\n\n### Develop\n| Option | Summary | Pros | Cons | Risk | Validation |\n|---|---|---|---|---|---|\n\n### Decision\n- Selected option:\n- Why:\n- Trade-offs:\n\n### Delivery plan\n- Files likely to change:\n- Validation:\n- Rollback\u002Fmitigation:\n```\n\n## Output After Implementation\n\n```markdown\n## Delivery Report\n- Selected option:\n- Files changed:\n- Validation:\n- Acceptance mapping:\n- Remaining risks:\n- Rollback\u002Fmitigation:\n- Follow-up:\n```\n\n## High-Risk Pause\n\nPause for human confirmation before changes involving auth, secrets, payments, data deletion\u002Fmigration, production infrastructure, or compliance-sensitive behavior.\n\n## Target Compatibility\n\nThis skill is plain-markdown and host-agnostic. Claude Code invokes it as `\u002Fdouble-diamond-feature`; Codex selects it via `\u002Fskills` or `$double-diamond-feature`. Do not rely on host-native hooks or interactive prompts — degrade to stating assumptions in non-interactive hosts.\n",{"name":5,"description":7},"main","27337828f396bcf279d7c4353a4a4f0cdc97659f","skills\u002Fdouble-diamond-feature",1,"https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge","https:\u002F\u002Fgithub.com\u002Fldilov","2026-05-19 21:48:38",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add ldilov\u002Fharness-forge --skill double-diamond-feature",{"tool":62,"command":63},"bunx","bunx skills add ldilov\u002Fharness-forge --skill double-diamond-feature",{"tool":65,"command":66},"pnpm","pnpm dlx skills add ldilov\u002Fharness-forge --skill double-diamond-feature","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Fdouble-diamond-feature\u002FSKILL.md",true,[],[71,100,129,147,170,181],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":80,"publishedAt":44},"01M6HZ7WE4DSYWPX0W2JX9BD8K","typescript-engineering","typescript and javascript engineering guidance seeded from the harness forge knowledge base. use when the repo or task is dominated by .ts, .tsx, package.json, tsconfig, node.js services, react, next.js, frontend tooling, or multi-package workspaces where type boundaries matter.","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Ftypescript-engineering\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[81,82,83,84,85,86,87,88,89,90,91,92,93,39,94,95,96,97,98,99],"typescript","engineering","typescript engineering","frontend","javascript","react","harness","package","forge","Next.js","knowledge","node","repo","workspaces","tsx","task","next","knowledge base","type",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":112,"publishedAt":44},"01M6HZ7QRWHQP72E7DPB6W5S6C","token-budget-optimizer","compact context, reuse existing runtime artifacts, and choose the smallest authoritative surface before expanding prompt history. use when the task is growing large, when earlier repo intelligence already exists, or when repeated rescans would waste tokens without adding new evidence.","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Ftoken-budget-optimizer\u002FSKILL.md",[106,107],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":108,"categoryName":109,"taxonomyType":110,"taxonomyTypeDesc":111},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[113,114,115,116,117,118,119,120,93,121,122,39,38,96,123,124,125,126,127,128],"Budget","optimizer","token","token budget","token budget optimizer","artifacts","choose","history","prompt","context","intelligence","compact","tokens","runtime","reuse","Existing",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":138,"publishedAt":44},"01M6HZ7MMX3ZZP4KF2FVC2EHP0","test-strategy-and-coverage","Define right-sized test layers and coverage priorities for a change.","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Ftest-strategy-and-coverage\u002FSKILL.md",[135],{"categoryNo":136,"categoryName":137,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[139,140,141,142,143,144,145,33,146,28],"test","strategy","coverage","test strategy","test strategy and coverage","change","priorities","layers",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":44},"01M6HZ7HE9C6MGWT9JG17Z3Y3M","speckit-taskstoissues","Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Fspeckit-taskstoissues\u002FSKILL.md",[],[154,155,156,157,158,159,160,118,161,162,163,164,165,166,167,25,168,169,28,128],"speckit taskstoissues","speckit","design","directory","project structure","tasks","github issues","issues","specify","convert","dependency","structure","project","commands","actionable","kit",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":44},"01M6HZ7E2NMYB9N2GKYVRF09AK","speckit-tasks","Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Fspeckit-tasks\u002FSKILL.md",[],[159,177,155,156,157,178,158,179,118,162,164,165,166,167,25,168,180,29,169,28],"speckit tasks","github","generate","spec-kit",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":44},"01M6HZ7AS0E880YSZN4FEFF6QF","speckit-specify","Create or update the feature specification from a natural language feature description.","https:\u002F\u002Fgithub.com\u002Fldilov\u002Fharness-forge\u002Fblob\u002Fmain\u002Fskills\u002Fspeckit-specify\u002FSKILL.md",[],[162,188,155,157,189,178,158,190,191,192,193,194,165,166,167,25,180,29,195,169],"speckit specify","spec","create","update","templates","specification","natural language","feature specification"]