writing-plans について
エンジニア向けに、実行可能な実装計画を作成するスキルです。テスト優先のタスク、正確なファイルやコマンド、検証結果を明記します。
主な機能
- 01背景と制約の収集
- 02テスト優先のタスク分解
- 03ファイル、コード、コマンドの指定
- 04検証基準と期待結果の記載
- 05計画の保存と実行引き継ぎ
活用シーン
- 01複数段階の機能を着手前に計画
- 02別のエンジニアへの実装作業の引き継ぎ
- 03複数ファイルやテストに及ぶ変更の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ericgandrade/ claude-superskills --skill writing-plansインストール後、Claude Code で/writing-plansを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdevals/evals.jsontrigger-eval.json詳細
計画の作成
目的
別のエンジニアがタスクごとに実行でき、予測可能な結果が得られる、実行可能で曖昧さの少ない実装計画を作成します。
使用するタイミング
以下の場合にこのスキルを使用します:
- 要件や仕様はあるものの、実装に着手していない
- 作業が複数のステップに分かれ、複数のファイルやテスト間の調整が必要
- 別のセッションやエンジニアに引き継げる計画が必要
進捗の追跡
計画の各フェーズで進捗を表示します:
[████░░░░░░░░░░░░░░░░] 25% — Phase 1/4: Gathering Context & Constraints
[████████░░░░░░░░░░░░] 50% — Phase 2/4: Decomposing Into Tasks
[████████████░░░░░░░░] 75% — Phase 3/4: Specifying Files & Commands
[████████████████████] 100% — Phase 4/4: Writing & Saving Plan
ワークフロー
- 背景と制約を把握する
- 作業を、テストを先に行う小さなタスクに分割する
- 正確なファイル、コードスニペット、コマンドを指定する
- 検証基準と期待される出力を追加する
- 計画を保存し、
executing-plansに引き継ぐ
概要
コードベースの知識がまったくなく、判断力にも疑問のあるエンジニアを想定して、包括的な実装計画を作成します。各タスクで変更するファイル、コード、テスト、確認が必要なドキュメント、テスト方法など、必要な情報をすべて記載します。計画全体を小さなタスクに分けて提示します。DRY。YAGNI。TDD。頻繁にコミットします。
熟練した開発者ではあるものの、こちらのツールセットや問題領域についてはほとんど知らず、適切なテスト設計にもあまり詳しくないと想定します。
開始時に宣言:「実装計画を作成するために、writing-plans スキルを使用します。」
コンテキスト: brainstorming スキルで作成した専用の worktree で実行します。
計画の保存先: docs/plans/YYYY-MM-DD-<feature-name>.md
タスクの粒度
各ステップは1つのアクション(2~5分)です:
- 「失敗するテストを書く」- ステップ
- 「失敗することを確認するために実行する」- ステップ
- 「テストを通すための最小限のコードを実装する」- ステップ
- 「テストを実行し、成功することを確認する」- ステップ
- 「コミットする」- ステップ
計画ドキュメントのヘッダー
すべての計画は必ずこのヘッダーから始めてください:
# [Feature Name] Implementation Plan
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers: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]
---
タスクの構成
### 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"
```
注意事項
- ファイルパスは常に正確に記載する
- 計画にはコードを完全に記載する(「検証を追加する」だけでは不十分)
- 期待される出力を添えて、正確なコマンドを記載する
@構文で関連するスキルを参照する- DRY、YAGNI、TDD、頻繁なコミットを徹底する
実行の引き継ぎ
計画を保存した後、実行方法を選べるようにします:
「計画が完了し、docs/plans/<filename>.md に保存されました。実行方法は2つあります:
1. サブエージェント主導(このセッション) - タスクごとに新しいサブエージェントを割り当て、タスク間でレビューしながら、素早く反復します
2. 並行セッション(別セッション) - executing-plans を使って新しいセッションを開き、チェックポイントを設けてまとめて実行します
どちらの方法にしますか?」
サブエージェント主導が選ばれた場合:
- 必須サブスキル: superpowers:subagent-driven-development を使用する
- このセッションにとどまる
- タスクごとに新しいサブエージェントを起動し、コードレビューを行う
並行セッションが選ばれた場合:
- worktree で新しいセッションを開くよう案内する
- 必須サブスキル: 新しいセッションでは superpowers:executing-plans を使用する
重要なルール
- 常に正確なパスと正確なコマンドを含める
- テストや検証のステップには、期待される結果を必ず定義する
- ステップを抽象的なままにしない(具体的なコードの意図を示さずに「検証を実装する」としない)
使用例
- 「writing-plans を使って、REST から GraphQL への移行を計画してください。」
- 「writing-plans を使って、認証機能のリファクタリングを TDD タスクに分割してください。」
- 「writing-plans を使って、新しいキャッシュレイヤーの引き継ぎ計画を準備してください。」