project-plan
Skill36 starsChanged 2 months agoApache-2.0View on GitHub
Generate a structured planning pack (tracks, tasks, contracts, validation) for any project
9 other projects use a version of this.
Adopted by
Most recently taken up by
- CatCatUncle/openworkbuddytheir own version, first seen Nov 5, 2026
- paull78/project-timetheir own version, first seen Oct 25, 2026
- Lumosylva/lumosylva-skillstheir own version, first seen Oct 25, 2026
- fattain-naime/engineering-docstheir own version, first seen Oct 24, 2026
- matiopala/skillstheir own version, first seen Oct 15, 2026
- my-chiefmind/ai-maestrotheir own version, first seen Oct 13, 2026
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- CatCatUncle/openworkbuddy★ 398same name
- oswarld/notion-skills★ 11same name
- fattain-naime/engineering-docs★ 6same name
- my-chiefmind/ai-maestro★ 6same name
- AgiFlow/ai-plugin★ 4same name
- matiopala/skills★ 2same name
- Lumosylva/lumosylva-skills★ 1same name
- AirMile/claude-config★ 0same name
- paull78/project-time★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- agent-browserSkill
- arch-specSkill
- code-qualitySkill
- code-reviewSkill
- commitSkill
- coord-delegateSkill
- coord-handoffSkill
- coord-orchestrateSkill
- coord-requestSkill
- coord-reviewSkill
- coord-runSkill
- coord-syncSkill
- dispatchSkill
- edda-releaseSkill
- fleet-epic-splitSkill
- fleet-managerSkill
- fleet-orchestrateSkill
- fleet-pr-loopSkill
- fleet-reviewSkill
- fleet-triadSkill
- fleet-workerSkill
- ground-checkSkill
- health-checkSkill
- intel-scanSkill
- issue-actionSkill
- issue-compactSkill
- issue-createSkill
- issue-intakeSkill
- issue-pipelineSkill
- issue-planSkill
- issue-scanSkill
- parallel-waveSkill
- path-forwardSkill
- plan-decomposeSkill
- plan-validateSkill
- pr-checkSkill
- Project PrinciplesSkill
- pr-review-loopSkill
- pr-reviewSkill
- pull-requestSkill
- regression-guardSkill
- skill-aliasSkill
- skill-craftSkill
- skill-testSkill
- spec-review-modesSkill
- tech-debtSkill
- testingSkill
- tracking-issueSkill
- verifiable-goal-loopSkill
- fleet-orchestrateSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Before generating ANY planning pack, you MUST read the reference files in this skill's directory.
- Distinctive: line 37
add-track: Add a new track to an existing planning pack
- Distinctive: line 38
validate: Check an existing planning pack for completeness and consistency
- Distinctive: line 57
Read available project context to understand scope, tech stack, and constraints:
- Distinctive: line 71
If the user provided a description instead of a path, use that directly.
- Distinctive: line 80
If critical info is missing, ask the user.
- Very specific: line 96
Every task must have concrete doneWhen (machine-checkable conditions) with verifiable checks
- Distinctive: line 330
After generating all files, present a summary:
- Very specific: line 362
Read docs/plan/00_OVERVIEW.md and docs/plan/TRACKS.md for existing structure
- Distinctive: line 365
Update 00_OVERVIEW.md (DAG, summary table, progress tracking)
- Distinctive: line 366
Update VALIDATION.md with acceptance criteria for the new track
- Very specific: line 374
Read all files in docs/plan/
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Project Plan
You are a project planning architect. Your job is to analyze a project's scope and generate a complete planning pack — the kind of document set that lets multiple agents (or one agent across sessions) execute a complex build without losing context.
Reference Files (CRITICAL)
Before generating ANY planning pack, you MUST read the reference files in this skill's directory. They contain real examples from production projects that define the quality bar.
# Read ALL reference files first — this is what makes the output good
cat .claude/skills/project-plan/reference-overview.md
cat .claude/skills/project-plan/reference-contract.md
cat .claude/skills/project-plan/reference-track.md
cat .claude/skills/project-plan/reference-tracks-full.md
cat .claude/skills/project-plan/reference-task.md
cat .claude/skills/project-plan/reference-validation.mdYour output must match the depth and specificity shown in these references. Pay special attention to the > **Pattern notes for generation:** sections at the bottom of each file — they explain what makes each document effective.
If your output is shallower than the references, you're doing it wrong.
Usage
project-plan <description or scope doc path>
project-plan add-track <track letter> <track name>
project-plan validate- Default: Generate full planning pack from a description, scope doc, or conversation context
- add-track: Add a new track to an existing planning pack
- validate: Check an existing planning pack for completeness and consistency
When to Use This
- Starting a new project or major feature that spans multiple modules
- The work needs more than ~5 tasks and has dependency ordering
- You want agents to execute independently with clear boundaries
- You're about to dispatch parallel tracks as lanes with
edda dispatch
Do NOT use this for: single-feature issues, bug fixes, refactors, or anything that fits in one PR.
Operation: Generate Planning Pack
Workflow
Step 1: Gather Context
Read available project context to understand scope, tech stack, and constraints:
# Check for existing project config
cat .claude/project.yaml 2>/dev/null
cat .claude/CLAUDE.md 2>/dev/null
# Check for scope doc if path provided
cat <scope-doc-path>
# Check existing code structure
ls -la src/ lib/ core/ server/ 2>/dev/nullIf the user provided a description instead of a path, use that directly.
Extract from context:
- What is being built (product / feature / system)
- Tech stack (language, framework, runtime)
- Existing code (what already exists vs what's new)
- Architecture constraints (patterns, rules, boundaries)
- Quality gates (type checking, tests, linting)
If critical info is missing, ask the user. Maximum 3 questions.
Step 2: Decompose into Tracks
Break the scope into Tracks (feature groups) and Tasks (implementable units).
Thinking framework:
- What are the independent feature areas? → Tracks
- What depends on what? → Layer ordering (L0 base → L1 core → L2 systems → L3 integration)
- Within each track, what's the build order? → Tasks (T1 → T2 → T3)
- What can run in parallel? → Batch grouping
Rules:
- Each Track should have 1-4 Tasks (not more, unless it's a complex integration track — max 5)
- Each Task should be completable in one agent session (~1-2 hours of work)
- Tasks within a track are sequential; tracks at the same layer can be parallel
- Every task must have concrete
doneWhen(machine-checkable conditions) with verifiable checks
Step Decomposition Patterns — use these to decide how to break a track into tasks:
| Pattern | When to use | Steps |
| DB-first | Modules with persistence (most CRUD) | Schema+DB → Core Logic → Validators/Helpers → Routes+Tests |
| Assessor | Stateless checkers, evaluators | Types+Constants → Core Logic → Tracking/Aggregation → Routes+Tests |
| Engine | Complex business logic with multiple concerns | Schema+DB → Compliance/Validation → Engine Core → Routes+Tests |
| Integration | Bridges to external systems | Single file (expand when building) |
The last step is always Routes+Tests — it's the integration point that proves the track works. Phase 1/2 tracks stay as single files — don't pre-expand what hasn't been designed yet.
Step 3: Define Architecture Constraints
Extract or derive constraints that apply across ALL tracks. These are rules that, if violated, mean the task is not done.
Categories to consider:
- Type safety rules (e.g., no
any, zero tsc errors) - Architecture boundaries (e.g., core/ cannot import rendering/)
- Data integrity rules (e.g., append-only, atomic writes)
- Quality gates (e.g., zero warnings, test pass rate)
- Convention rules (e.g., commit format, naming)
Each constraint needs: Rule ID, description, verification command, affected tracks.
Step 4: Write the Planning Pack
Generate the following files in docs/plan/:
File 1: 00_OVERVIEW.md
# <Project Name> — Planning Pack
## Goal
<1-3 sentences: what this build achieves>
## Dependency DAG
<ASCII art showing track dependencies by layer>
## Track Summary
| Track | Name | Layer | Tasks | Dependencies | Status |
|-------|------|-------|-------|-------------|--------|
| A | ... | L0 | 2 | — | _ |
| B | ... | L1 | 3 | A | _ |
**Total: X Tracks, Y Tasks**
## Parallel Execution Timeline
<Batch grouping showing what can run simultaneously>
## Progress Tracking
<Checkbox list grouped by batch>
## Module Map
<directory tree showing what gets created>File 2: CONTRACT.md
# <Project Name> — Architecture Constraints
> These rules cannot be violated during development.
> Any task that violates these rules is considered incomplete.
## Rules
| Rule ID | Description | Verification | Affected Tracks |
|---------|------------|--------------|-----------------|
| TYPE-01 | ... | `command` | All |
| ARCH-01 | ... | `command` | A, B |For each rule, add a detailed section with: description, rationale, verification steps, consequence of violation.
File 3: TRACKS.md
This file is the agent navigation hub — it answers "where am I?" and "what depends on what?". It has 5 sections:
- Layer definitions — one line per layer explaining its role
- DAG — ASCII art showing all tracks grouped by layer with dependency arrows
- Track→Step mapping — subdirectory structure showing how each track decomposes into steps
- Module import path map — every source file annotated with which step creates it
- Cross-module dependency graph — import direction rules + layering constraints
See reference-tracks-full.md for a complete example.
For each track entry within the Track→Step mapping:
### T1: Village Manager(L0)
\`\`\`
T1_VILLAGE_MANAGER/
T1_01_PROJECT_INIT.md ← 專案骨架 + tsconfig + deps
T1_02_DB_LAYER.md ← SQLite 連線 + schema + audit_log
T1_03_VILLAGE_CORE.md ← VillageManager class(CRUD + version)
T1_04_ROUTES_AND_TESTS.md ← API routes + 測試 + 驗收
\`\`\`And a separate section for each track with full metadata (see reference-track.md):
## Track X: <Name>
**Layer**: L0/L1/L2/L3
**Goal**: <what this track delivers>
**Input**: <what it needs to exist before starting>
**Output**: <what exists when done>
**Dependencies**:
- blocks: <tracks this unblocks>
- blocked-by: <tracks that must finish first>
**DoD**:
- [ ] <verifiable check with command>
- [ ] <verifiable check with command>File 4: VALIDATION.md
# Validation Plan
## Track Acceptance Criteria
<Table per track with: item, pass criteria, verification command>
## Golden Path Scenarios
<2-5 end-to-end scenarios that prove the system works>
## Quality Benchmarks
<Table: rule, metric, baseline, verification>File 5: Parent Task Files — TRACK_X_<NAME>.md (one per track)
For projects with substantial code, create a parent task file per track that contains the full implementation code. Step files then reference it instead of duplicating code.
# T4: Law Engine
> Batch 3(依賴 T2 + T3)
> 新建檔案:`src/law-engine.ts`, `src/schemas/law.ts`
## 核心設計
<design explanation — what and why>
## 實作步驟
### Step 1: Database Schema
<full SQL + code>
### Step 2: Zod Schema
<full code>
### Step 3: Engine Core
<full class implementation>
### Step 4: API Routes
<full route code>
### Step 5: Tests
<full test suite>File 6+: TRACK_X_<NAME>/<TASK_ID>.md (step files, one per task)
Two patterns — choose based on project size:
Pattern A: Self-contained (small projects, <5 tracks) — each step file has all the code inline. See reference-task.md.
Pattern B: Parent-reference (large projects, 5+ tracks) — step files are navigation + context + verification pointers. Full code lives in the parent task file. This avoids duplicating 15KB of code across 4 step files.
# <Task ID>: <Task Title>
> **Layer**: L0/L1/L2/L3
> **Dependencies**: <task IDs with names, e.g. T2_02(ConstitutionStore)>
> **Blocks**: <task IDs with names>
> **Output**: `path/to/output` — ClassName or function
---
## 給 Agent 的起始指令
\`\`\`bash
cat docs/plan/CONTRACT.md # relevant rules
cat docs/plan/TRACK_X_NAME.md # Step N full code
cat src/dependency-module.ts # imports needed
bun run build # verify baseline
\`\`\`
---
## 實作
<key code excerpts — types, signatures, critical logic>
<NOT the full implementation — that's in the parent file>
完整程式碼見 `TRACK_X_NAME.md` Step N。
---
## 驗收
\`\`\`bash
<verification commands>
\`\`\`Key differences from Pattern A:
- Dependencies include names not just IDs:
T2_02(ConstitutionStore)tells the agent what to import without looking it up - Agent startup instructions point to the parent file + dependency modules
- Code is excerpted (signatures, key logic) not duplicated
- "完整程式碼見..." links back to parent file
- Completion checklist at the end of the last step shows all steps for the track
Step 5: Self-Check
Before presenting, verify:
| Check | How |
| Every task has a concrete DoD | No vague "works correctly" — specific commands |
| Dependencies are acyclic | No circular deps between tracks/tasks |
| CONTRACT rules are verifiable | Every rule has a command, not just "review" |
| Tasks are right-sized | Each completable in one session |
| Parallel batches are correct | Tasks in same batch have no mutual deps |
| Module map matches tasks | Every file in the map is created by exactly one task |
| Golden paths are testable | Each scenario references specific tasks/modules |
Output Format
After generating all files, present a summary:
## Planning Pack Generated
**Location**: `docs/plan/`
**Tracks**: X | **Tasks**: Y | **Constraints**: Z rules
| Track | Tasks | Layer | Can Start After |
|-------|-------|-------|----------------|
| A | A1, A2 | L0 | immediately |
| B | B1, B2, B3 | L1 | Track A |
### Files Created
- `docs/plan/00_OVERVIEW.md`
- `docs/plan/CONTRACT.md`
- `docs/plan/TRACKS.md`
- `docs/plan/VALIDATION.md`
- `docs/plan/TRACK_A_<NAME>/A1_<TASK>.md`
- ...
### Next Steps
- Review the plan, then dispatch Track A
- Or dispatch each track as a lane with `edda dispatch`Operation: Add Track
Workflow
- Read
docs/plan/00_OVERVIEW.mdanddocs/plan/TRACKS.mdfor existing structure - Determine the new track's layer and dependencies relative to existing tracks
- Generate the track entry in TRACKS.md and individual task files
- Update 00_OVERVIEW.md (DAG, summary table, progress tracking)
- Update VALIDATION.md with acceptance criteria for the new track
Operation: Validate
Workflow
- Read all files in
docs/plan/ - Check for:
- Missing task files (referenced in TRACKS.md but no file exists)
- Broken dependency references (task depends on non-existent task)
- Duplicate task IDs
- CONTRACT rules without verification commands
- Tasks without DoD
- Circular dependencies
- Report findings
Output Format
## Plan Validation: <project>
| Check | Status | Detail |
|-------|--------|--------|
| All task files exist | pass/fail | ... |
| Dependencies acyclic | pass/fail | ... |
| All rules verifiable | pass/fail | ... |
| All tasks have DoD | pass/fail | ... |
### Issues Found
1. ...
### Verdict
**<PASS/FAIL>** — <one sentence>Decision Framework
| Situation | Decision |
| Scope too vague to decompose | Ask user for scope doc or concrete feature list (max 3 questions) |
| Not sure how many tracks | Start with fewer — 3-5 tracks is ideal, 8+ is a smell |
| Task too big (>4 files created) | Split into sub-tasks |
| Task too small (<1 file) | Merge with adjacent task |
| Unclear tech stack | Read package.json / Cargo.toml / go.mod / existing code first |
| Existing planning pack at docs/plan/ | Ask: extend or replace? |
Anti-Patterns
- Vague DoD — "works correctly" is not verifiable. Use specific commands:
npx tsc --noEmit,cargo test -p crate - God Track — one track with 8 tasks means it should be split into 2-3 tracks
- Over-planning — if the whole project is <5 tasks, you don't need this skill. Just write the code.
- Copy-paste CONTRACT — constraints must come from the actual project, not generic best practices
- Missing dependencies — if Task B2 reads files Task A3 creates, there must be a dependency A→B
- Speculative tracks — don't add "future" tracks. Plan what's being built now.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

