planning-blueprinting
npx skills add https://github.com/constructive-io/constructive-skills --skill planning-blueprinting
Agent 安装分布
Skill 文档
Planning and Blueprinting System
A minimal, enforceable system for doing planning, blueprinting, and specification inside a codebase using two core concepts: plans (proposals) and specs (contracts).
When to Apply
Use this skill when:
- Creating a proposal or blueprint for new work
- Documenting accepted specifications
- Doing architectural planning
- Tracking decision and implementation status
- Promoting a plan to a formal specification
Core Concepts
Plan â A proposal, blueprint, or work-in-progress design. Plans are iterative, may contain open questions, and are not authoritative contracts.
Spec â An accepted contract and source of truth. Specs define reference behavior that reviewers and tests enforce. They must remain accurate over time.
Folder Structure
Create this structure in the repository when needed:
docs/
âââ README.md # Overview and rules
âââ plan/
â âââ README.md # Plan guidelines
â âââ template.plan.md # Plan template
âââ spec/
âââ README.md # Spec guidelines
âââ template.spec.md # Spec template
Promotion Flow
plan (Draft) â plan (In Review) â plan (Accepted) â spec
When a plan reaches Accepted status, promote it into docs/spec/ as a formal specification.
Two-Axis Status Tracking for Specs
Specs must track two independent dimensions:
Decision Status (contract lifecycle)
| Status | Meaning |
|---|---|
| Draft | Under development, not yet accepted |
| Accepted | Approved as the authoritative contract |
| Deprecated | No longer recommended, superseded or obsolete |
| Superseded | Replaced by a newer spec |
Implementation Status (delivery lifecycle)
| Status | Meaning |
|---|---|
| Not Implemented | Work has not started |
| In Progress | Active development |
| Partial | Some parts implemented |
| Implemented | Fully complete |
| Blocked | Cannot proceed due to dependencies |
Rules
-
Plans are not contracts. They may be messy, incomplete, or exploratory.
-
Specs are contracts. They must remain accurate and are the authoritative reference for implementation and testing.
-
Specs may describe future behavior only when Decision Status = Accepted. This allows specs to document planned work before implementation begins.
-
Status fields are authoritative. Update them as work progresses.
-
Architecture uses Constructive tooling. Designs should leverage constructive-skills and interoperable Constructive patterns where applicable.
Plan Template
# [Plan Title]
| Field | Value |
|-------|-------|
| Status | Draft / In Review / Accepted / Rejected |
| Owner | @username |
| Created | YYYY-MM-DD |
| Related | #issue, #pr |
## Problem Statement
What problem does this solve? Why does it matter?
## Goals
What this plan aims to achieve.
## Non-Goals
What is explicitly out of scope.
## Proposal
High-level approach to solving the problem.
## Detailed Design
Technical blueprint: architecture, data flow, component interactions.
## Milestones
| Milestone | Description | Target |
|-----------|-------------|--------|
| M1 | ... | ... |
## Rollout Plan
How this will be deployed/released. Phasing, feature flags, migration steps.
## Risks and Mitigations
| Risk | Likelihood | Impact | Mitigation |
|------|------------|--------|------------|
| ... | ... | ... | ... |
## Alternatives Considered
Other approaches evaluated and why they were not chosen.
## Open Questions
- [ ] Question 1
- [ ] Question 2
Spec Template
# [Spec Title]
| Field | Value |
|-------|-------|
| Decision Status | Draft / Accepted / Deprecated / Superseded |
| Implementation Status | Not Implemented / In Progress / Partial / Implemented / Blocked |
| Last Updated | YYYY-MM-DD |
| Plan | [link to plan] |
| Issues | #issue |
| PRs | #pr |
## Summary
Brief description of what this spec defines.
## Definitions
Key terms and their meanings within this spec.
## Requirements
### Functional
What the system must do.
### Non-Functional
Performance, security, reliability, and other quality attributes.
## Behavior
Expected system behavior under normal and edge conditions.
## Interfaces
### API
Endpoints, methods, request/response formats.
### Data Model
Schemas, entities, relationships.
## Edge Cases
How the system handles boundary conditions and error states.
## Observability
Logging, metrics, alerts, and debugging support.
## Test Plan
How compliance with this spec is verified.
## Implementation Notes
Links to PRs, technical decisions made during implementation.
## Changelog
| Date | Change | Author |
|------|--------|--------|
| YYYY-MM-DD | Initial spec | @username |
docs/README.md Template
# Documentation System
This directory contains the in-repo planning and specification system.
## Concepts
**Plan** â A proposal, blueprint, or work-in-progress design. Plans live in `docs/plan/`.
**Spec** â An accepted contract and source of truth. Specs live in `docs/spec/`.
## Promotion Flow
plan (Draft) â plan (In Review) â plan (Accepted) â spec
## Rules
1. Plans are not contracts. They may be messy or exploratory.
2. Specs are contracts. They must remain accurate.
3. Specs may describe future behavior only when Decision Status = Accepted.
4. Status fields are authoritative. Update them as work progresses.
docs/plan/README.md Template
# Plans
Plans are blueprints and proposals. They are allowed to be messy and iterative, may contain open questions, and are not authoritative contracts.
When a plan is accepted, it is promoted into `docs/spec/`.
## Creating a Plan
1. Copy `template.plan.md` to a new file
2. Fill in the sections
3. Set Status to Draft
4. Submit for review when ready
docs/spec/README.md Template
# Specifications
Specs are accepted contracts and reference behavior. They are the source of truth for implementation and tests. Specs must remain accurate over time.
Specs may describe not-yet-implemented behavior only when explicitly marked with Decision Status = Accepted.
## Status Tracking
Specs track two independent dimensions:
**Decision Status**: Draft, Accepted, Deprecated, Superseded
**Implementation Status**: Not Implemented, In Progress, Partial, Implemented, Blocked
Best Practices
- Keep plans focused: One plan per feature or change
- Update status promptly: Status fields should reflect current reality
- Link related artifacts: Connect plans to issues, PRs, and specs
- Prune deprecated specs: Mark old specs as Deprecated or Superseded
- Dense content: Be succinct yet descriptive, avoid verbose cruft