sdd-capability

Classifies cycle size and resolves engineering constraints into capability.md before planning.

1|Updated Jul 26, 2026
One-click install
npx skills add https://github.com/AngeloResplandes/harness-sdd --skill sdd-capability-angeloresplandes
Or copy as Structured Prompt for Agentβ–Ό
Please help me install this Agent Skill.
Skill: sdd-capability
Source: https://github.com/AngeloResplandes/harness-sdd/tree/main/sdd-capability
Command: npx skills add https://github.com/AngeloResplandes/harness-sdd --skill sdd-capability-angeloresplandes

SYSTEM DOCUMENTATION & REQUIREMENTS

πŸ’‘ This Skill includes references (resource) and assets (resource) components.

What problem does it solve? Large features often get planned on implicit assumptions that only surface mid-implementation or in review. This Skill sits between a captured request and the implementation plan, classifying the cycle's size and, for Large cycles, making constraints explicit β€” invariants, trust boundaries, data ownership, lifecycle transitions, and cross-service interfaces β€” before any code is planned. ## Core Features & Use Cases - Size classification: Reads request.md, the canonical spec, and affected code to classify a cycle as Small, Medium, or Large, recording the result so downstream phases do not re-derive it. Small and Medium cycles exit immediately with a four-line capability.md. - Constraint resolution for Large cycles: Produces capability.md covering invariants, trust boundaries, data ownership, state transitions, interfaces, policy, rollout, and failure handling, with each statement marked as fixed policy, architecture preference, or open question. - Explicit handoff decision: Ends with exactly one of three handoffs β€” ready to refine, needs architecture review, or needs product decision β€” and never reports ready while a blocking question is open. - Use Case: A request to build a patient episode timeline spans three modules and publishes a new endpoint consumed by a mobile app. The Skill classifies it Large, records the invariant that episodes never leak across clinics (enforced server-side), flags a conflict with the existing immutability spec as blocking, and hands off for a product decision. ## Quick Start Ask the assistant to map the capability for the current cycle, for example by saying "mapeia a capacidade" after a request.md exists but before any plan.md is written.

Frequently Asked Questions about sdd-capability

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I map capability constraints before planning a feature?β–Ό

Run this phase after request.md exists and before plan.md is written. It reads the request, the canonical spec, and the affected code, then writes capability.md with invariants, trust boundaries, data ownership, and open questions for Large cycles.

When does the capability phase apply to a development cycle?β–Ό

It runs in full only for Large cycles: work spanning multiple modules, publishing a new contract, requiring a migration, or too big for one pull request. Small and Medium cycles get only a size classification recorded and the phase exits.

What is the difference between fixed policy, preference, and open questions?β–Ό

Fixed policy is non-negotiable and cites its source, such as legal or shipped contracts. Architecture preference is a reversible default that names its alternative. Open questions are genuinely undecided and must state whether they block and the assumption to proceed on.

Can this phase write the implementation plan or tasks?β–Ό

No. It is explicitly forbidden from writing plan.md, tasks.md, or scenarios.feature, which belong to the refine phase and pass through a human approval gate. It produces constraints only, never a proposed solution or ordered list of changes.

What happens if the request conflicts with an existing spec constraint?β–Ό

The conflict is shown with both sides β€” what the request asks and what the repo currently guarantees β€” and recorded as a blocking open question. It is never smoothed over, because surfacing it here costs a conversation while finding it during implementation costs the implementation.

When should I skip the capability mapping entirely?β–Ό

Skip it for typo fixes, dependency bumps, questions about existing code, or exploratory spikes. The Skill itself says to just do the work in those cases, since ceremony applied to trivia is how good processes get abandoned.