AgentSkillsCN

writing-plans

在接触代码之前,若您已掌握多步骤任务的规格说明或需求文档,即可使用此工具。

SKILL.md
--- frontmatter
name: writing-plans
description: Use when you have a spec or requirements for a multi-step task, before touching code

Writing Plans

Overview

Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.

Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.

Announce at start: "I'm using the writing-plans skill to create the implementation plan."

REQUIRED SUB-SKILL: Use Skill(asking-questions) for all user questions.

Save plans to: .plans/YYYY-MM-DD-<feature-name>.md

Bite-Sized Task Granularity

Each step is one action (2-5 minutes):

  • "Write the failing test" - step
  • "Run it to make sure it fails" - step
  • "Implement the minimal code to make the test pass" - step
  • "Run the tests and make sure they pass" - step
  • "Commit" - step

Plan Document Header

Every plan MUST start with this header:

<header> # [Feature Name] Implementation Plan

For Claude: REQUIRED SUB-SKILL: Use Skill(executing-plans) to implement this plan task-by-task.

Goal: [One sentence describing what this builds]

Architecture: [2-3 sentences about approach]

Tech Stack: [Key technologies/libraries]


</header>

Task Structure

Each task must following this structure:

<task> ### Task N: [Component Name]

Files:

  • Create: exact/path/to/file.py
  • Modify: exact/path/to/existing.py:123-145
  • Test: tests/exact/path/to/test.py

Step 1: Write the failing test

python
def test_specific_behavior():
    result = function(input)
    assert result == expected

Step 2: Run test to verify it fails

Run: pytest tests/path/test.py::test_name -v Expected: FAIL with "function not defined"

Step 3: Write minimal implementation

python
def function(input):
    return expected

Step 4: Run test to verify it passes

Run: pytest tests/path/test.py::test_name -v Expected: PASS

Step 5: Commit

bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
</task>

Remember

  • Exact file paths always
  • Complete code in plan (not "add validation")
  • Exact commands with expected output
  • Reference relevant skills with @ syntax
  • DRY, YAGNI, TDD, frequent commits

Execution Handoff

After saving the plan:

  • Commit the plan document to git

Then ask the user if they want to execute using AskUserQuestion:

javascript
AskUserQuestion(
  questions: [{
    question: "Plan complete. Ready to execute?",
    header: "Execute",
    multiSelect: false,
    options: [
      { label: "Yes, execute now", description: "Start implementing with review gates" },
      { label: "No, save for later", description: "Plan saved, execute anytime with /execute-plan" }
    ]
  }]
)

If yes:

  • REQUIRED SUB-SKILL: Use Skill(executing-plans)
  • Implements tasks inline with subagent review gates
  • Spec compliance review after each task
  • Code quality review after each task

If no:

  • Plan is saved for later execution
  • User can run Skill(executing-plans) in any session