SKILL_TEMPLATE
[1-2 sentence description of what this skill does]. Triggers on [specific phrases/contexts that should activate this skill]. Outputs [what the skill produces].
Define test cases BEFORE implementation, ensuring every API, business rule, and user journey has verifiable acceptance criteria during PRD v0.7 Build Execution. Triggers on requests to define tests, plan test coverage, create test cases, or when user asks "define tests", "test
$ npx -y skills add mattgierhart/PRD-driven-context-engineering --skill prd-v07-test-planning --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/prd-v07-test-planningContext preview
The summary Claude sees to decide when to auto-load this skill.
Define test cases BEFORE implementation, ensuring every API, business rule, and user journey has verifiable acceptance criteria during PRD v0.7 Build Execution. Triggers on requests to define tests, plan test coverage, create test cases, or when user asks "define tests", "test
name: prd-v07-test-planning description: Define test cases BEFORE implementation, ensuring every API, business rule, and user journey has verifiable acceptance criteria during PRD v0.7 Build Execution. Triggers on requests to define tests, plan test coverage, create test cases, or when user asks "define tests", "test planning", "what to test?", "test cases", "test coverage", "TEST-", "test-first". Consumes EPIC- (scope), API-, DBT-, BR-, UJ-. Outputs TEST- entries with Given-When-Then format. Feeds v0.7 Implementation Loop. context: fork allowed-tools: - Read - Write - Edit - Glob - Grep - Bash
Position in workflow: v0.7 Epic Scoping → **v0.7 Test Planning** → v0.7 Implementation Loop
This skill requires prior work from v0.7 Epic Scoping and v0.6 specifications:
This skill assumes EPIC- entries are complete with full API-/DBT-/BR-/UJ- references in Context & IDs section.
This skill creates/updates:
All TEST- entries are **acceptance criteria specifications**, not confidence-based. They are:
Example TEST- entry (API endpoint test):
TEST-001: User creation succeeds with valid data
Type: Integration
Tests: API-001 (POST /users), BR-001 (email uniqueness), DBT-010 (users table)
EPIC: EPIC-01
Given: No user with email "test@example.com" exists, database ready
When: POST /api/users with { email: "test@example.com", password: "Valid123!" }
Then:
- Response status: 201 Created
- Response body contains user id and email
- User record exists in DBT-010 (users table)
- Password is hashed, not plaintext
- Email verification email queued
Validation Method: Automated
Automation: tests/api/users.test.ts (Integration test)
Priority: CriticalExample TEST- entry (Business rule test):
TEST-005: Password validation enforces minimum length Type: Unit Tests: BR-002 (password requirements) EPIC: EPIC-01 Given: Password validation function configured per BR-002 When: Validate password "weak" (length 4) Then: - Returns validation failure - Error message: "Password must be at least 8 characters" - No user record created Validation Method: Automated Automation: tests/unit/validation.test.ts Priority: High
Example TEST- entry (User journey E2E test):
TEST-010: Onboarding journey completes successfully Type: E2E Tests: UJ-000 (onboarding), API-001 (signup), API-002 (login), SCR-001 (dashboard) EPIC: EPIC-01 Given: New user on signup page, all services ready When: User enters email/password → submits → verifies email → enters profile info → confirms Then: - User redirected to dashboard (SCR-001) - Welcome message displayed with user name - User session is active and persisted - KPI-001 (activation) event tracked with timestamp - UJ-000 completion confirmed Validation Method: Both (Automated + manual verification of final state) Automation: tests/e2e/onboarding.spec.ts Priority: Critical
> Tests are not an afterthought. They are the **contract** that defines what "done" means. > If you can't write the test, you don't understand the requirement.
Write TEST- entries **before** writing code. This forces clarity about what you're building.
If you cannot write a concrete Given-When-Then for a specification, the requirement is ambiguous. Do not write a vague test and move on. Instead, identify the specific ID (API-XXX, BR-XXX) that is unclear, note the competing interpretations, and log an AMBIGUITY in the EPIC's Assumptions & Ambiguities table. A test you cannot write precisely is more valuable as a flagged gap than a test you write by guessing.
| Type | What It Tests | When to Use | Scope | |------|---------------|-------------|-------| | **Unit** | Single function/method | Business logic, calculations | Smallest unit | | **Integration** | Component boundaries | API ↔ Database | Module level | | **E2E** | Full user flow | Critical journeys | System level | | **Contract** | API shape/types | External integrations | Interface level | | **Performance** | Speed/load | Critical paths | Benchmark |
| ID Type | Minimum Coverage | Rationale | |---------|------------------|-----------| | **API-** | 1 happy path + 1 error case per endpoint | Endpoints are integration points | | **BR-** | 1 test per rule, including boundary cases | Rules are product logic | |
PRD-Led Context Engineering — Memory as Infrastructure. An ontology layer for product teams building products that solve real problems — with AI agents that remember. Gated PRD, typed IDs, markdown knowledge graph, Claude Code skills & hooks.
Repo: mattgierhart/PRD-driven-context-engineering
[1-2 sentence description of what this skill does]. Triggers on [specific phrases/contexts that should activate this skill]. Outputs [what the skill produces].
Validates gate criteria before PRD lifecycle advancement by delegating to the readiness scoring pipeline (scripts/readiness.py). Returns a graduated PASS /…
Extracts durable insights from temp/ files to SoT during EPIC Phase E. Triggers at EPIC completion or explicit `/ghm-harvest` invocation. Outputs new SoT…
Validates and registers new SoT IDs with cross-reference integrity. Triggers when creating BR-XXX, UJ-XXX, API-XXX, or CFD-XXX entries. Outputs formatted SoT…
Install the PRD-Driven Context Engineering methodology into a fresh OR existing repository — the subscription-native alternative to forking the whole repo.…
Creates new Source of Truth (SoT) files when existing templates don't fit your needs. Triggers on requests to create a new SoT file, add a new artifact type,…