Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Writing Plans

ASecurity

Use when requirements for a multi-step task are known and before touching code. Documents everything as bite-sized tasks for an engineer with zero codebase context. Use for implementation plans, task decomposition, and planning before TDD.

15 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentspythongobashgit

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add AidALL/ghost-alice --skill writing-plans --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Writing Plans?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Writing Plans
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aidall-writing-plans/badge)](https://www.skillsdirectory.com/skills/aidall-writing-plans)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: writing-plans
description: Use when requirements for a multi-step task are known and before touching code. Documents everything as bite-sized tasks for an engineer with zero codebase context. Use for implementation plans, task decomposition, and planning before TDD.
calls:
  - "union:subagent-driven-development:plan-execution"
  - "union:executing-plans:plan-execution"
compatibility:
  - "Python 3.11+ standard library"
---

# Writing Plans
## Contents

- [Overview](#overview)
- [Scope Check](#scope-check)
- [File Structure](#file-structure)
- [Bite-Sized Task Units](#bite-sized-task-units)
- [Plan Document Header](#plan-document-header)
- [Task Structure](#task-structure)
- [No Placeholders](#no-placeholders)
- [Things to Remember](#things-to-remember)
- [Self-Review](#self-review)
- [Execution Handoff](#execution-handoff)


## Overview

Write a comprehensive implementation plan assuming the engineer has no context on the codebase. Document everything they need to know. For each task: the files to touch, the code, the tests, the docs worth checking, and how to test. Give the whole plan as bite-sized tasks. DRY, YAGNI, TDD, and frequent commits.

Assume the engineer is a capable developer but knows almost nothing about our toolset or problem domain. Assume they do not know good test design well.

○ Declare at the start: "I will write the implementation plan with the writing-plans skill."

○ Context: this skill must run in the dedicated worktree created by the brainstorming skill.

○ Plan storage location: `.tmp/implementation-plans/YYYY-MM-DD-<feature-name>.md`

- If the user specifies a different location, that specification overrides the default.
- The plan document is not canonical docs. It is a scratch/handoff artifact produced before execution. Move only the content you intend to promote into policy or contract into a separate `docs/policies/` document.

## Scope Check

If the spec covers several independent subsystems, it should have been split into sub-project specs during the brainstorming stage. If it was not split, propose breaking it into separate plans, one per subsystem. Each plan must produce software that works and can be tested on its own.

## File Structure

Before defining tasks, map which files will be created or modified and write down the responsibility of each. The decomposition decision is locked here.

- Design units with clear boundaries and well-defined interfaces. Each file holds one clear responsibility.
- Code that fits in context at once is reasoned about best. Edits are more stable when files are small and focused. Prefer small, focused files over large files that do too much.
- Keep files that change together in the same place. Separate by responsibility, not by technical layer.
- In an existing codebase, follow the established patterns. If the codebase uses large files, do not restructure unilaterally. That said, if a file you are modifying has grown unwieldy, including a split in the plan is reasonable.

This structure informs the task decomposition. Each task must produce a self-contained change that is meaningful on its own.

## Bite-Sized Task Units

Each step is a single action (2-5 minutes).

- "Write a failing test" is A step.
- "Run to confirm the failure" is A step.
- "Implement the minimal code to make it pass" is A step.
- "Run the test and confirm it passes" is A step.
- "Commit" is A step.

## Plan Document Header

Every plan starts with this header.

```markdown
# [feature name] Implementation Plan

> For the agent worker: required sub skill. Implement task by task with `subagent-driven-development` (recommended) or `executing-plans`. Track steps with checkbox (`- [ ]`) syntax.

Goal: [one sentence on what this builds]

Architecture: [the approach in 2-3 sentences]

Tech stack: [core technologies and libraries]

---
```

## Task Structure

````markdown
### 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 a failing test

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

- [ ] Step 2: confirm the test fails

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

- [ ] Step 3: minimal implementation

```python
def function(input):
    return expected
```

- [ ] Step 4: confirm the test 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"
```
````

## No Placeholders

Each step must carry the real content the engineer needs. The following are plan failures. Never write them.

- "TBD", "TODO", "implement later", "fill in the details"
- "add appropriate error handling" / "add validation" / "handle edge cases"
- "write tests for the above" (without actual test code)
- "similar to Task N" (repeat the code. The engineer may not read tasks in order.)
- a step that explains only what to do without showing how to do it (a code step requires a code block)
- a reference to a type, function, or method that is not defined in any task

## Things to Remember

- always exact file paths
- complete code in every step. If a step changes code, show the code.
- exact commands and expected output
- DRY, YAGNI, TDD, and frequent commits

## Self-Review

After writing the complete plan, look at the spec with fresh eyes and check it against the plan. This is a checklist you run yourself, not a subagent dispatch.

□ 1. Spec coverage

Scan each section and requirement of the spec. Can you point to the task that implements it? List any omissions.

□ 2. Placeholder scan

Search the plan for the patterns in the "No Placeholders" section above. Red flag. Fix them.

□ 3. Type consistency

Do the types, method signatures, and attribute names used in later tasks match those defined in earlier tasks? If a function called `clearLayers()` in Task 3 shows up as `clearFullLayers()` in Task 7, that is a bug.

When you find an issue, fix it inline. No re-review needed. Just fix it and proceed. If a spec requirement has no task, add a task.

If the self-review alone leaves you uneasy, dispatch a subagent to run one more review of the plan document. The dispatch prompt template is defined in references/plan-document-reviewer-prompt.md.

## Execution Handoff

After saving the plan, present the execution options.

```
Plan complete and saved to .tmp/implementation-plans/<filename>.md.
Two execution options:

1. Subagent-Driven (recommended): dispatch a new subagent per task, review between tasks, fast iteration.

2. Inline execution: run in this session with executing-plans, executing checkpoint batches.

Which one?
```

□ When Subagent-Driven is chosen

- required sub skill: `subagent-driven-development`
- a new subagent per task plus a two-stage review

□ When Inline execution is chosen

- required sub skill: `executing-plans`
- batch execution with review checkpoints

Attribution

AidALLAidALL
View sourceMore from AidALL →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →