CtrlK
BlogDocsLog inGet started
Tessl Logo

writing-plans

Use when you have a spec or requirements for a multi-step task, before touching code

Install with Tessl CLI

npx tessl i github:shousper/claude-kit --skill writing-plans
What are skills?

73

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

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.

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."

Context: This should be run in a dedicated worktree (created by brainstorming skill).

Save plans to: docs/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

No commit steps. The user controls when commits happen.

Plan Document Header

Every plan MUST start with this header:

# [Feature Name] Implementation Plan

> **For Claude:** REQUIRED SUB-SKILL: Use kit:team-dev 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]

---

Task Structure

### 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

Remember

  • Exact file paths always
  • Complete code in plan (not "add validation")
  • Exact commands with expected output
  • Reference relevant skills with kit:<skill-name> syntax
  • DRY, YAGNI, TDD
  • No commit steps — commits are your human partner's decision

Common Mistakes

  • Vague steps. "Add validation" is not a step. Show the exact code and the exact test.
  • Giant tasks. If a task has more than 8 steps, split it into multiple tasks.
  • Missing test commands. Every test step needs the exact run command and expected outcome.
  • Forgetting file paths. Every file reference must be an exact path from the repo root. No "the config file" or "the test file."
  • Skipping the header. The plan header with Goal/Architecture/Tech Stack is required — it orients the implementer before they read task details.

Execution Handoff

After saving the plan, offer a context compact before proceeding:

"Plan complete and saved to docs/plans/<filename>.md.

Before starting implementation, you may want to clear conversation context: /compact Focus on the implementation plan and design decisions for <feature>

Ready to proceed with implementation?"

Then proceed directly to kit:team-dev. No execution choice — always same-session.

Repository
shousper/claude-kit
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.