writing-plans について
コードベースの事前知識がないエンジニア向けに、実行可能な実装計画を作るスキルです。正確なファイルパス、完全なコード、テスト先行の小さな作業手順を重視します。
主な機能
- 01要件とコードベース構成の確認
- 02操作ごとの正確なパス指定
- 03完全なコードと検証コマンドの記載
- 04短くテスト先行の手順への分割
- 05計画の完全性確認と実行への引き継ぎ
活用シーン
- 01新機能の実装手順を計画
- 02要件を検証可能なテストタスクに変換
- 03コードベースに不慣れなエンジニア向けの計画作成
- 04サブエージェントや別セッションで実行する計画の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ izyanrajwani/ agent-skills-library --skill writing-plansインストール後、Claude Code で/writing-plansを入力して読み込まれたか確認します。
詳細
計画の作成
概要
コードベースの知識がまったくないエンジニア向けに、実装計画を作成します。
各計画には、以下を含めます。
- 各操作の正確なファイルパス
- 完全なコード(「ここにバリデーションを追加」などではなく)
- 検証コマンドを含むテストファーストのアプローチ
- すぐに実行できる小さな手順(各2〜5分)
原則:DRY、YAGNI、TDD、こまめなコミット。
開始時に宣言:「writing-plans スキルを使って実装計画を作成します。」
コンテキスト: 専用のワークツリーで実行します。ワークツリーがない場合は、まず using-git-worktrees スキルを使います。
計画の保存先: docs/plans/YYYY-MM-DD-<feature-name>.md
作成前
- 仕様/要件をすべて読む
- プロジェクト構成を確認する(
view .) - 技術スタックを特定する(package.json、pyproject.toml など)
- 類似ファイルにある既存のパターンを確認する
- docs/ に既存の規約があるか確認する
手順を小さく分割する
各手順は、個別に検証できる1つのアクション(2〜5分)にします。
- 「失敗するテストを書く」— 手順
- 「実行して失敗を確認する」— 手順
- 「合格するための最小限のコードを実装する」— 手順
- 「テストを実行して合格を確認する」— 手順
- 「コミットする」— 手順
計画ドキュメントのヘッダー
すべての計画は、必ず次のヘッダーから始めます。
# [Feature Name] Implementation Plan
**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"
```
引き継ぎ前
計画に不備がないか確認します。
- すべてのファイルパスが存在するか、新規作成されること
- すべてのコマンドを記載どおりに実行できること
- TODO/プレースホルダーテキストが残っていないこと
- 仕様のすべての受け入れ基準をテストで網羅していること
- 説明だけでなく、正確なテストコードを含めること
実行の引き継ぎ
計画を保存した後、次のように提示します。
「計画を docs/plans/<filename>.md に保存しました。実行モードを選択してください。
- サブエージェント主導 — 同じセッションで、タスクごとに新しいサブエージェントを使って高速に反復します
- 並列セッション — 新しいセッションで、チェックポイントを設けながらまとめて実行します
どちらの方法にしますか?」
サブエージェント主導を選択した場合
- このセッションにとどまる
- 必須サブスキル:
subagent-driven-development - タスクごとに新しいサブエージェントを使い、2段階のレビューを行う
並列セッションを選択した場合
- ワークツリーで新しいセッションを開くようユーザーに案内する
- 必須サブスキル: 新しいセッションでは
executing-plansを使う
コメント
Markdown 対応