init-claude

任意の対象リポジトリに Claude Code の .claude/ 体系(CLAUDE.md・Agents・Rules・Skills・hooks)を 初期セットアップする。「claude セットアップして」「.claude 作って」「CLAUDE.md 初期化」「Agent 整備して」 「claude-code セットアップ」などで使用。既存 .claude/ の差分充実は update-claude を使用。 implement-issue-tree が動く前提(gh auth / sub_issues / workflow js)の整備まで含む。

By fandhe-ai · 565 installs

npx skills add fandhe-ai/agent-cli-skills --skill init-claude

Source repository · Upstream listing

init claude 任意のリポジトリに Claude Code の .claude/ 体系を初期セットアップする。 日本語運用・目的別 Agent(カテゴリ分割)・Rules 整備・スキル導入・委譲による main 消費抑制・ model 配分・SessionStart hooks・implement issue tree の動作前提まで一括構成する。 既存の .claude/ が存在するリポジトリには update claude を使用する。 使い方 パスを省略した場合はカレントディレクトリを対象とする。 前提条件 gh CLI がインストールされ、認証済みであること( gh auth status で確認) 対象リポジトリで git が初期化済みであること npx が使用できること( npx skills add によるスキル導入に使用)。 skills CLI は固定版( SKILLS CLI VERSION )で実行する。値と更新手順は「skills CLI のバージョン固定と更新手順」節を参照 readlink コマンドが使用できること(workflow js symlink の stale/dangling 判定に使用。 command v readlink で事前確認し、利用できない環境では該当処理を中断する) フロー Step 1: 対象リポジトリを調査する 対象ディレクトリのルートを特定し、以下を把握する。 調査で把握する情報: 主要言語・フレームワーク(Rust / TypeScript / Python など) ディレクトリ構成(crates/ / src/ / packages/ など) ビルドコマンド( cargo build / npm run build / make など) テストコマンド( cargo test / npm test / pytest など) 既存の .claude/ ディレクトリの有無 既存の .claude/ がある場合は update claude スキルへ誘導して処理を中断する。 Step 2: 構成案を設計してユーザーに提示・承認を得る 調査結果をもとに以下の構成案を設計する。 Agents 設計方針 技術レイヤ別の builder Agent と横断サポート Agent を組み合わせる。 カテゴリ Agent 例 model research explorer(コードベース横断調査), reference researcher(外部仕様調査) sonnet implement 技術レイヤ別 builder(例: api builder, web builder, core builder) sonnet testing test runner, e2e runner sonnet quality reviewer, security auditor, linter haiku / sonnet docs docs writer haiku 実装系 Agent はリポの技術レイヤに合わせてカスタマイズする (例: Rust workspace → クレート別 builder / TypeScript monorepo → パッケージ別 builder) 複雑な横断判断・アーキテクチャ設計は opus または fable(fable は Opus 上位の最上位 tier。特に大規模設計や複雑な横断判断が必要な場面に限定する) 調査・生成・レビューは sonnet 機械的集計・frontmatter lint・ドキュメント更新は haiku Rules 設計方針 以下を標準として生成し、リポ特性に応じて追加する。 ファイル 内容 delegation.md 調査・設計フェーズの委譲原則・パスベース切り替え delegation impl.md 作成・編集フェーズの委譲マッピング coding <lang .md 言語別コーディング規約(Rust / TypeScript / Python 等) security.md OWASP Top 10・秘密情報混入防止 japanese style.md 日本語出力スタイル conventional commits.md Conventional Commits 詳細規約 code comment style.md コメント規約(役割・責務・呼び出し文脈を埋め込む)。規約(rule)は init claude が生成し、規約に従ってコメントを追加・補強する comment code (skill)は npx skills add で導入される out of scope tracking.md 実装対象外の追跡規約(スコープ外事項を放置しない) Skills 設計方針 npx skills add Fandhe AI/agent cli skills で以下を導入する。 create commit — Conventional Commits コミット作成 create pr — PR 作成 create issue — Issue 作成 implement issue — Issue 単体実装 implement issue tree — Issue ツリー並列実装 implement review — レビュー対応 implement review pr — PR レビュー対応 update docs — CLAUDE.md 更新 comment code — code comment style.md 規約に従ったコメント・ドキュメンテーションコメントの追加・補強 hooks 設計方針 SessionStart : 日本語・委譲・Conventional Commits・ no verify 禁止のリマインダー PostToolUse : 言語に応じた自動整形(Rust: rustfmt / TypeScript: biome または prettier / Python: ruff など) model 配分表(CLAUDE.md に記載) 用途 model 複雑な横断判断・アーキテクチャ設計 opus または fable(fable は特に大規模設計・横断判断の最上位 tier) 調査・生成・実装・レビュー sonnet 機械的集計・lint・ドキュメント更新 haiku 上記の構成案(Agent 一覧・Rules 一覧・model 配分・hooks・Skills)を ユーザーに提示し承認を得てから 次の Step に進む。 Step 3: .claude/ 一式を生成する 承認後、以下の順で生成する。対象リポに dotclaude via temp ルール( /dotclaude/ 経由)がない場合は 対象リポの .claude/ へ直接書き込んで良い。 サブステップの実行順は 3 1(CLAUDE.md 骨子)→ 3 2(agents/)→ 3 3(rules/)→ 3 4(settings.json)→ 3 5(スキル導入)→ 3 6(CLAUDE.md 確定) の順とする。CLAUDE.md は Agent・Rules・Skills の一覧を参照するため、3 1 では確定済みの項目(Overview / Repository Structure 等)のみ記載し、 Sub agents / Rules / Current Skills の各表は 3 2〜3 5 完了後に 3 6 で実体に合わせて確定する。 3 1. CLAUDE.md の骨子を生成する 対象リポのルートに CLAUDE.md の骨子を作成する。以下のセクションを含めるが、 Sub agents / Rules / Current Skills は 3 2〜3 5 で実体を生成するまで見出しのみ(プレースホルダ)とし、内容は 3 6 で確定する。 3 2. agents/ を生成する Step 2 で設計した Agent を .claude/agents/<category /<name .md に作成する。 各 Agent は以下の frontmatter を持つ。 frontmatter のキーは Claude Code の subagent 定義仕様に従い name を使う ( subagent type は Agent ツール呼び出し時のパラメータ名であり、定義キーではない)。 3 3. rules/ を生成する Step 2 で設計したルールを .claude/rules/ に作成する。 delegation.md ・ delegation impl.md は本リポの実例(Fandhe AI/agent cli skills)を参考に 対象リポのパス構成に合わせてカスタマイズする。 code comment style.md と out of scope tracking.md は以下の雛形骨子をベースに、 対象リポの言語・構成に合わせて調整して生成する。 code comment style.md の雛形骨子 out of scope tracking.md の雛形骨子 bash gh issue list search "${KEYWORD}" state open bash gh issue comment "${ISSUE NUMBER}" body "$(cat <<'EOF' (本文をここに記述) EOF )" 3 4. settings.json を生成する 言語に応じた PostToolUse 自動整形フックを提案し、ユーザーが希望する場合は追加する。 セキュリティ注意事項: command の値に API キー・トークン・パスワードを埋め込まない ユーザー入力をそのまま command に展開しない 3 5. スキルを導入する skills lock.json が生成されることを確認する。 3 6. CLAUDE.md を確定する 3 2〜3 5 で生成した Agent・Rules・導入スキルの実体をもとに、3 1 で見出しのみとした Sub agents / Rules / Current Skills の各表を実際の一覧(subagent type / model / ファイル名 / 導入スキル名)で埋めて確定する。未存在の項目を列挙したまま残さない。 Step 4: implement issue tree の動作前提を確認する 不足・stale・dangling のいずれかがある場合は以下の対処方法をユーザーに案内する。 workflow js の配置・張り替え方法: named workflow( {name: "implement issue tree"} )として呼ばない場合は .claude/workflows/ への配置自体が不要で、Workflow ツールの scriptPath に .claude/skills/implement issue tree/scripts/implement issue tree.js を直接指定すればよい。 named workflow として配置する場合は cp ではなく 相対 symlink を使用する。 cp で配置すると npx skills add による更新が named workflow に届かなくなる。 symlink 配置は readlink で現在のターゲットを検証し、期待ターゲットと異なる場合(stale)・参照先が消失している場合(dangling)は張り替える。実体ファイル(非 symlink)は上書きしない。 readlink が利用できない環境では stale 判定が正しく行えず(空の CURRENT TARGET により正常な symlink を stale と誤判定しうる)、そのまま張り替え処理へ進むと意図せず既存 symlink を書き換える危険があるため、 command v readlink で事前確認し、利用できない場合は自動張り替えを中断してユーザーに手動対応を案内する。 Step 5: 生成結果を報告する 報告項目: 生成したファイル一覧(CLAUDE.md・Agents・Rules・settings.json) 導入したスキル一覧( npx skills add の結果) implement issue tree の動作前提の充足状況 ユーザーへの次のアクション案内(PostToolUse hooks の追加・Agent のカスタマイズなど) skills CLI のバージョン固定と更新手順 Why : npx skills add をバージョン未固定で実行すると、npx はローカルキャッシュに無い場合レジストリのその時点の最新版を確認なしで即時取得・実行する。 skills (vercel labs/skills)パッケージが乗っ取られた場合、これは任意コード実行の経路になる。exact 版( X.Y.Z 。dist tag・ ^ / ~ レンジは禁止)への固定が信頼アンカーになる。 固定版の決め方 : 1. npm view skills version で現在の latest を確認する 2. npm view skills repository.url が vercel labs/skills であることを確認する 3. npm view skills time json 等で公開日時が不自然でないことを確認する 更新手順 : 1. Step 3 5 フェンス内の SKILLS CLI VERSION を更新する(このスキル内での正の定義箇所はここ 1 箇所のみ) 2. node test skills/init claude/tests/ .mjs で exact semver・実行行の固定を検証する 3. 1 リポジトリで実際に実行し、差分が正常であることを確認する 4. chore(init claude): skills CLI を X.Y.Z へ更新 でコミットする 5. 同じ skills CLI を固定する update claude / sync skills lock の同名節も同時更新することを推奨する(値の同期は必須ではないが、乖離した場合はどちらかの節にその旨を記録する) 既知の乖離(記録) : 本節の SKILLS CLI VERSION の値( 1.5.23 )は、 sync skills lock/SKILL.md ・ sync skills lock/scripts/skills lock update.sh が固定する SKILLS CLI VERSION の値( 1.5.22 )と異なる( update claude は本節と同一の値で同期済み)。各スキルは独立した固定版として運用しており同期は必須ではないため、意図的な乖離として記録する。次回いずれかを更新する際は、この乖離が解消したか維持されたかを本行で更新する。 fail closed : 固定版が解決できない場合(該当版の不存在・レジストリ障害等どの原因でも)は npx が非ゼロ終了し停止する。未固定 npx skills add へのフォールバック再試行は行わない。 検証 注意事項 既存の .claude/ がある場合は処理を中断して update claude を案内する ユーザーの構成案承認なしに .claude/ の生成を開始しない settings.json の command にトークン・シークレットをハードコードしない no verify を含むコマンドを hooks に仕込まない npx skills add が失敗した場合はエラーメッセージを表示してユーザーに手動手順を案内する skills CLI は固定版で実行する。固定版の決め方・更新手順は「skills CLI のバージョン固定と更新手順」節を参照 言語別 PostToolUse 整形フック(rustfmt / biome / prettier / ruff)は対象リポのツール存在確認後に提案する Agent の tools リストは最小権限原則に従い必要なもののみ列挙する