File contents impl
前提条件
Claude Code 環境
git, gh CLI
引数
Issue 番号 (例: /impl #123): GitHub Issue から要件を取得
Issue URL (例: /impl https://github.com/owner/repo/issues/123): 同上
テキスト (例: /impl ユーザー認証機能を追加): テキストを要件として扱う
引数なし : ユーザーに要件をヒアリング
禁止行動(最重要)
以下に該当した場合はそのフェーズをやり直す。コンテキスト節約や軽微変更を理由にした省略は認めない。
「あとで実装」「TODO で残す」「別 PR で対応」を理由にサブステップ(2-1〜2-6)を省く
ユーザーへの宣言なしにフェーズ・サブステップを飛ばす(サイレントスキップ)
テストを未実装・ダミー(expect(true).toBe(true) 等)のままコミットする
review エージェントを呼ばずに自己レビューで済ませる
lint/format を試行せずスキップする(実行 → 該当設定なしを確認した場合のみスキップ可)
スコープを縮小したい場合は、フェーズの省略ではなくフェーズ1のスコープ分割からやり直し、ユーザーに確認する。
フェーズ1: 要件分析とスコープ分割
引数から要件を取得する
Issue: gh issue view で本文・コメントを読み取る
テキスト: そのまま要件として扱う
引数なし: ユーザーにヒアリング
仕様書を確認する
CLAUDE.md に仕様書の格納場所が記載されていればそれに従う
記載がなければ Glob で探す(**/SPEC.md, **/spec/**, docs/** 等を幅広く検索)
Issue 本文にリンクされたドキュメントがあれば読む
見つかった仕様書の内容を要件と照合し、実装の入力とする
仕様書が見つからない場合はそのまま進める
現在のブランチをベースブランチとして記録する(PR のマージ先)
git branch --show-current を実行し、結果をユーザーに「ベースブランチ: <ブランチ名>」と明示的に表示する
このブランチ名をフェーズ3のPR作成時まで保持する
作業ブランチを決定する(命名規則は references/branch-naming.md を参照)
要件を「独立して実装・テストできる単位」に分割
依存関係を整理し実装順を決定
TaskCreate でタスクを作成
コードベースの探索・理解を行い要件を正確に把握する
不確定な仕様はユーザーに確認する
破壊的変更がある場合は下位互換性についてユーザーに確認する
フェーズ2: 実装サイクル(各スコープで繰り返し)
各スコープ開始時に TaskUpdate で該当タスクを in_progress にする。
2-1: Plan
Plan エージェントで実装計画を立てる
変更箇所、影響範囲、テスト要件を明確にする
2-2: Develop
develop エージェントで実装(テスト含む)
最小限の変更で要件を満たす
本番動作するコードを書くこと。以下は実装完了とみなさない:
モック・スタブ・ダミーだけのテスト(実コードなし)
TODO, NotImplementedError, pass, throw new Error("not implemented") で埋めた関数
インターフェース・型定義だけで中身がない実装
2-3: Review
review エージェントでコードレビュー
要件適合、コード品質、テスト十分性を評価
未実装チェック : モック/スタブのみ、TODO/NotImplementedError、空の関数本体がないか確認
2-4: 改善サイクル
レビュー指摘あり → develop で修正 → review で再レビュー → 指摘なしまで繰り返す
2-5: Format & Lint
プロジェクト設定に従い変更ファイルに format/lint を実行
設定が見つからない場合はスキップ
2-6: Commit(必須)
各スコープ完了時に必ずコミットする。スキップ不可。
コミットメッセージは CLAUDE.md の規約に従う
コミット後に TaskUpdate で該当タスクを completed にする
フェーズ3: 完了確認とPR作成
全スコープの実装完了を確認
全体テストを実行
gh pr create --base <ベースブランチ> でPRを作成
ベースブランチはフェーズ1で記録した開始時のブランチを指定する。main や master にフォールバックしないこと。
不明な場合は git log --oneline --graph HEAD...main 等で分岐元を確認する
Issue 指定時: タイトルに Issue 番号を含め、PR作成後に gh pr edit <PR番号> --add-issue <Issue URL> でリンクする(Closes は使わない)
PR本文: 変更サマリー + 手動チェックリスト(templates/pr-checklist.md を参照)
実装サマリーをユーザーに報告
ルール
各スコープは独立して実装・テスト可能な単位にする
各スコープ完了時に必ずコミットする。 コミットせずに次へ進まない
レビュー指摘はすべての重大度(🔴🟠🟡🟢)で修正する
TaskCreate/TaskUpdate で進捗を管理する
フェーズ宣言 : 各サブステップ(2-1〜2-6)の開始時に ▶ 2-X 開始: <名称>、完了時に ✓ 2-X 完了 を1行表示する。これによりサイレントスキップを防ぐ
セルフチェック : 各フェーズ完了前に本 SKILL.md の該当セクションを再読し、未実施手順がないか確認してから次フェーズへ進む
コンパクト(コンテキスト圧縮)発生時は TaskList で現在の進捗を確認してから作業を再開する
1 --- 2 name: impl 3 description: impl 4 --- 5 6 # impl 7 8 ## 前提条件 9 10 - Claude Code 環境 11 - `git`, `gh` CLI 12 13 ## 引数 14 15 - **Issue 番号** (例: `/impl #123`): GitHub Issue から要件を取得 16 - **Issue URL** (例: `/impl https://github.com/owner/repo/issues/123`): 同上 17 - **テキスト** (例: `/impl ユーザー認証機能を追加`): テキストを要件として扱う 18 - **引数なし**: ユーザーに要件をヒアリング 19 20 ## 禁止行動(最重要) 21 22 以下に該当した場合はそのフェーズをやり直す。コンテキスト節約や軽微変更を理由にした省略は認めない。 23 24 - 「あとで実装」「TODO で残す」「別 PR で対応」を理由にサブステップ(2-1〜2-6)を省く 25 - ユーザーへの宣言なしにフェーズ・サブステップを飛ばす(サイレントスキップ) 26 - テストを未実装・ダミー(`expect(true).toBe(true)` 等)のままコミットする 27 - `review` エージェントを呼ばずに自己レビューで済ませる 28 - lint/format を試行せずスキップする(実行 → 該当設定なしを確認した場合のみスキップ可) 29 30 スコープを縮小したい場合は、フェーズの省略ではなくフェーズ1のスコープ分割からやり直し、ユーザーに確認する。 31 32 ## フェーズ1: 要件分析とスコープ分割 33 34 1. 引数から要件を取得する 35 - Issue: `gh issue view` で本文・コメントを読み取る 36 - テキスト: そのまま要件として扱う 37 - 引数なし: ユーザーにヒアリング 38 2. 仕様書を確認する 39 - CLAUDE.md に仕様書の格納場所が記載されていればそれに従う 40 - 記載がなければ Glob で探す(`**/SPEC.md`, `**/spec/**`, `docs/**` 等を幅広く検索) 41 - Issue 本文にリンクされたドキュメントがあれば読む 42 - 見つかった仕様書の内容を要件と照合し、実装の入力とする 43 - 仕様書が見つからない場合はそのまま進める 44 3. 現在のブランチをベースブランチとして記録する(PR のマージ先) 45 - `git branch --show-current` を実行し、結果をユーザーに「ベースブランチ: <ブランチ名>」と明示的に表示する 46 - このブランチ名をフェーズ3のPR作成時まで保持する 47 4. 作業ブランチを決定する(命名規則は `references/branch-naming.md` を参照) 48 5. 要件を「独立して実装・テストできる単位」に分割 49 6. 依存関係を整理し実装順を決定 50 7. TaskCreate でタスクを作成 51 52 - コードベースの探索・理解を行い要件を正確に把握する 53 - 不確定な仕様はユーザーに確認する 54 - 破壊的変更がある場合は下位互換性についてユーザーに確認する 55 56 ## フェーズ2: 実装サイクル(各スコープで繰り返し) 57 58 **各スコープ開始時に `TaskUpdate` で該当タスクを `in_progress` にする。** 59 60 #### 2-1: Plan 61 - `Plan` エージェントで実装計画を立てる 62 - 変更箇所、影響範囲、テスト要件を明確にする 63 64 #### 2-2: Develop 65 - `develop` エージェントで実装(テスト含む) 66 - 最小限の変更で要件を満たす 67 - **本番動作するコードを書くこと。以下は実装完了とみなさない:** 68 - モック・スタブ・ダミーだけのテスト(実コードなし) 69 - `TODO`, `NotImplementedError`, `pass`, `throw new Error("not implemented")` で埋めた関数 70 - インターフェース・型定義だけで中身がない実装 71 72 #### 2-3: Review 73 - `review` エージェントでコードレビュー 74 - 要件適合、コード品質、テスト十分性を評価 75 - **未実装チェック**: モック/スタブのみ、TODO/NotImplementedError、空の関数本体がないか確認 76 77 #### 2-4: 改善サイクル 78 - レビュー指摘あり → `develop` で修正 → `review` で再レビュー → 指摘なしまで繰り返す 79 80 #### 2-5: Format & Lint 81 - プロジェクト設定に従い変更ファイルに format/lint を実行 82 - 設定が見つからない場合はスキップ 83 84 #### 2-6: Commit(必須) 85 - **各スコープ完了時に必ずコミットする。スキップ不可。** 86 - コミットメッセージは CLAUDE.md の規約に従う 87 - **コミット後に `TaskUpdate` で該当タスクを `completed` にする** 88 89 ## フェーズ3: 完了確認とPR作成 90 91 1. 全スコープの実装完了を確認 92 2. 全体テストを実行 93 3. `gh pr create --base <ベースブランチ>` でPRを作成 94 - **ベースブランチはフェーズ1で記録した開始時のブランチを指定する。`main` や `master` にフォールバックしないこと。** 95 - 不明な場合は `git log --oneline --graph HEAD...main` 等で分岐元を確認する 96 - Issue 指定時: タイトルに Issue 番号を含め、PR作成後に `gh pr edit <PR番号> --add-issue <Issue URL>` でリンクする(Closes は使わない) 97 - PR本文: 変更サマリー + 手動チェックリスト(`templates/pr-checklist.md` を参照) 98 4. 実装サマリーをユーザーに報告 99 100 ## ルール 101 102 - 各スコープは独立して実装・テスト可能な単位にする 103 - **各スコープ完了時に必ずコミットする。** コミットせずに次へ進まない 104 - レビュー指摘はすべての重大度(🔴🟠🟡🟢)で修正する 105 - TaskCreate/TaskUpdate で進捗を管理する 106 - **フェーズ宣言**: 各サブステップ(2-1〜2-6)の開始時に `▶ 2-X 開始: <名称>`、完了時に `✓ 2-X 完了` を1行表示する。これによりサイレントスキップを防ぐ 107 - **セルフチェック**: 各フェーズ完了前に本 SKILL.md の該当セクションを再読し、未実施手順がないか確認してから次フェーズへ進む 108 - コンパクト(コンテキスト圧縮)発生時は `TaskList` で現在の進捗を確認してから作業を再開する
ousiass/claude-config/tree/main/skills/impl commit 183937bf45
Frequently asked questions How do I install the Impl skill? Run npx skillmds@latest add ousiass/impl in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Impl skill do? impl It is listed under Coding & Dev Tools on SkillMD.
Is Impl safe to use? This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Impl? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Impl free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Impl? ousiass (@ousiass) published this skill. Their other Agent Skills are listed on their SkillMD profile.