double-diamond-feature
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.
- License 许可
- GPL-3.0
- 最近更新
- 2026-05-19
- Stars
- ★ 6
- Forks
- 1
01 前言 Front Matter
- name
- double-diamond-feature
- description
- 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.
03 SKILL.md 正文
Double Diamond Feature Development
Trigger Signals
Use this skill when the user asks for:
- a new feature
- a user-facing behavior change
- an API or workflow change
- an ambiguous product request
- architecture-significant implementation work
- a feature that may affect security, performance, data, accessibility, or cross-system behavior
Do not use as the primary workflow for bugs, regressions, outages, or flaky tests. Use bug-investigation instead.
Mode Selection
- Lite: small, low-risk, clear change. Keep output short. Maps to the
briefoutput profile. - Standard: default for meaningful feature work. Maps to the
standardoutput profile. - Deep: high-risk, ambiguous, cross-boundary, or architecture-significant work. Maps to the
deepoutput profile.
State the selected mode and why. Prefer the lightest mode that still makes the work safe and reviewable.
Workflow
1. Discover
Gather evidence before editing files. Reuse Harness Forge runtime surfaces instead of rediscovering the repo: .hforge/runtime/repo/repo-map.json, .hforge/runtime/repo/recommendations.json, .hforge/generated/agent-command-catalog.json.
Classify every fact as:
- user-provided
- repository-derived
- runtime/tool-derived
- external research
- assumption
2. Define
Create the smallest correct problem frame:
- problem statement
- users/stakeholders
- non-goals
- constraints
- acceptance criteria
- risk level
- human checkpoint needed or not
3. Develop
For non-trivial work, compare at least two solution options:
| Option | Summary | Pros | Cons | Risk | Validation |
|---|
Select an option with rationale and trade-offs. For one viable option, justify why explicitly.
4. Deliver
Implement the selected option. Keep scope aligned with the defined problem.
After implementation, report:
- selected option
- files changed
- validation commands/results
- acceptance criteria mapping
- remaining risks
- rollback/mitigation
- follow-up work
Reframe Triggers
Stop and update the frame if:
- new evidence changes the problem
- the task is actually a bug (switch to
bug-investigation) - the selected option requires a larger blast radius than expected
- high-risk security/data/infrastructure behavior appears
- no credible validation path exists
Output Before Implementation
## Double Diamond Frame
Mode: Lite | Standard | Deep
### Discover
- User outcome:
- Evidence:
- Existing behavior:
- Constraints:
- Unknowns/assumptions:
### Define
- Problem:
- Non-goals:
- Acceptance criteria:
- Risk:
### Develop
| Option | Summary | Pros | Cons | Risk | Validation |
|---|---|---|---|---|---|
### Decision
- Selected option:
- Why:
- Trade-offs:
### Delivery plan
- Files likely to change:
- Validation:
- Rollback/mitigation:
Output After Implementation
## Delivery Report
- Selected option:
- Files changed:
- Validation:
- Acceptance mapping:
- Remaining risks:
- Rollback/mitigation:
- Follow-up:
High-Risk Pause
Pause for human confirmation before changes involving auth, secrets, payments, data deletion/migration, production infrastructure, or compliance-sensitive behavior.
Target Compatibility
This skill is plain-markdown and host-agnostic. Claude Code invokes it as /double-diamond-feature; Codex selects it via /skills or $double-diamond-feature. Do not rely on host-native hooks or interactive prompts — degrade to stating assumptions in non-interactive hosts.
04 同仓库更多 Skills
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.
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.
test-strategy-and-coverage
Define right-sized test layers and coverage priorities for a change.
speckit-taskstoissues
Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.
speckit-tasks
Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.
speckit-specify
Create or update the feature specification from a natural language feature description.