Harness prd
Skill ClydeShen/harness-skill/skills/engineering/harness-prd
10 Claude Code skills for compound engineering workflows — session discipline, harness auditing, phase governance, and issue pipeline
npx -y skills add ClydeShen/harness-skill --skill harness-prdAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Turn the current conversation context into a GSD-compatible PRD with WHAT/HOW constraints, optionally writing to .harness/phases/01-discuss/CONTEXT.md. Use when user wants to create a PRD from the current context.
SKILL.md
4.7 KB, as published. Nobody here has run it
This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user — just synthesize what you already know.
The issue tracker and triage label vocabulary should have been provided to you — run /setup-harness-skills if not.
Process
-
Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the PRD, and respect any ADRs in the area you're touching.
-
Sketch out the major modules you will need to build or modify to complete the implementation. Actively look for opportunities to extract deep modules that can be tested in isolation.
A deep module (as opposed to a shallow module) is one which encapsulates a lot of functionality in a simple, testable interface which rarely changes.
Check with the user that these modules match their expectations. Check with the user which modules they want tests written for.
- Write the PRD using the template below, then publish it to the project issue tracker. Apply the
ready-for-agenttriage label - no need for additional triage. For discuss-phase output, use the GSD CONTEXT.md format in the section below instead of the prd-template.
GSD-compatible output
Write the PRD to .harness/phases/01-discuss/01-CONTEXT.md using GSD's 6-section CONTEXT.md format:
| GSD section | Content |
|---|---|
<domain> | Phase boundary — what the discuss phase delivers (from user's stated scope) |
<decisions> | Implementation decisions — WHAT the system must respect (maps to Technical Constraints) |
<canonical_refs> | ADRs, spec sections, external docs cited during discussion |
<code_context> | Brownfield: existing patterns, reusable assets, integration points |
<specifics> | Specific user requirements ("I want it like X") |
<deferred> | Ideas that came up but belong in other phases |
After writing: "CONTEXT.md written to .harness/phases/01-discuss/01-CONTEXT.md. Run /harness-issues to plan this phase."
WHAT/HOW invariant: <decisions> contains only system-level constraints — external integrations, compliance, performance SLAs, system boundaries. No file paths, class names, schemas, or user requirements. User requirements ("I want X") belong in <specifics>, not <decisions>.
Problem Statement
The problem that the user is facing, from the user's perspective.
Solution
The solution to the problem, from the user's perspective.
User Stories
A LONG, numbered list of user stories. Each user story should be in the format of:
- As an <actor>, I want a <feature>, so that <benefit>
This list of user stories should be extremely extensive and cover all aspects of the feature.
Technical Constraints
<!-- WHAT the system must respect — NOT how to build it. The Execution agent reads these as non-negotiables and makes its own implementation decisions. -->- [External integration constraints: e.g. "Must integrate with OAuth provider at /auth/callback"]
- [Compliance/regulatory constraints: e.g. "Session data must not be persisted to disk (GDPR)"]
- [Performance SLAs: e.g. "API response must be <200ms at p99"]
- [Existing system boundaries: e.g. "Must use the existing PostgreSQL instance — no new datastores"]
NOT allowed here: module names, class names, file paths, schema decisions, technology choices, or architectural patterns. Those belong to the Execution agent's own technical plan.
Testing Decisions
A list of testing decisions that were made. Include:
- A description of what makes a good test (only test external behavior, not implementation details)
- Which modules will be tested
- Prior art for the tests (i.e. similar types of tests in the codebase)
Out of Scope
A description of the things that are out of scope for this PRD.
Further Notes
Any further notes about the feature.
</prd-template>Spike recommendation: If the solution approach is uncertain — whether the output is a PRD or a GSD CONTEXT.md — append after writing:
Solution uncertainty detected — recommend creating a
type:spikeissue (1–2 context windows / ~150K–400K tokens, AFK, throwaway) to validate the approach before breaking down into implementation stories. Spike output is a decision (proceed / pivot / split), not shippable code.