ln-010-dev-environment-setup について
Claude と Codex の開発環境を設定・確認するコーディネータースキルです。設定の差異を評価し、必要な修正を選択的に委任して、最終状態を記録します。
主な機能
- 01環境と設定の評価
- 02必要なワーカーの選択的な実行
- 03変更後の検証
- 04環境状態の永続化
- 05ドライラン対応
活用シーン
- 01Claude と Codex の初期設定
- 02インストールや更新後の差異確認
- 03指示ファイルと MCP 設定の監査
MCP 対応
MCP サーバーはワークフローの確認対象であり、開始条件ではありません。登録・接続状態を確認し、利用できない場合もファイルとコマンドラインの調査を続けます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-010-dev-environment-setupインストール後、Claude Code で/ln-010-dev-environment-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/agent_skill_roots_contract.mdcoordinator_runtime_contract.mdcoordinator_summary_contract.mdenvironment_setup_runtime_contract.mdenvironment_state_contract.mdenvironment_state_schema.jsonenvironment_worker_runtime_contract.mdmeta_analysis_protocol.mdstorage_mode_detection.mdtracker_provider_contract.mdreferences/scripts/coordinator-runtime/lib/artifacts.mjscli-helpers.mjscore.mjsloop-health.mjsruntime-constants.mjsschemas.mjsvalidate.mjsworker-guards.mjsworker-runtime.mjsreferences/scripts/environment-setup-runtime/cli.mjsreferences/scripts/environment-setup-runtime/lib/guards.mjsphases.mjsstore.mjsreferences/scripts/environment-worker-runtime/cli.mjsreferences/scripts/environment-worker-runtime/lib/guards.mjsphases.mjsstore.mjs詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
開発環境のセットアップ
タイプ: L2 ドメインコーディネーター カテゴリ: 0XX 共通
環境セットアップを実行時に管理するコーディネーターです。実行時環境を実行の SSOT とします。ワーカーの出力は独立した要約であり、チャット形式の文章ではありません。
必読
実行前に、以下を読み込んでください。
references/coordinator_runtime_contract.mdreferences/environment_setup_runtime_contract.mdreferences/environment_worker_runtime_contract.mdreferences/coordinator_summary_contract.mdreferences/agent_skill_roots_contract.mdreferences/environment_state_contract.mdreferences/environment_state_schema.json
MCP サーバーはこのワークフローの対象であり、開始の前提条件ではありません。サーバーが切断されている、または利用できない場合は、ファイルと CLI の調査を続け、コーディネーターを失敗させる代わりに、その項目を disconnected または skipped として報告してください。
使用する場面
- 初回の環境セットアップ
- インストールまたは更新後のエージェント/MCP の不整合
- Claude と Codex 間のマーケットプレイス、プラグイン、MCP、または Codex の実行デフォルトの不整合
- 指示ファイルの監査または修復
入力
| パラメーター | 必須 | デフォルト | 説明 |
|---|---|---|---|
targets | いいえ | both | claude、codex、または both |
dry_run | いいえ | false | 変更を加えずに計画します |
plugins | いいえ | agile-workflow | ln-013 への受け渡し値です。明示的なプラグインリスト、またはすべてのマーケットプレイスプラグインを要求する all を指定します。オプションのプラグインが明示的な確認なしにインストールされることはありません。 |
auto_install_providers | いいえ | false | ln-013 の MCP プロバイダーチェックへの受け渡し値です。false の場合、プロバイダーチェックは検出のみを行います。 |
apply_ide_override | いいえ | false | ln-012 のフェーズ 6b への受け渡し値です。true の場合、ユーザーの明示的な同意を得た後、ln-012 は Cursor/VSCode のユーザー設定に claudeCode.initialPermissionMode と claudeCode.allowDangerouslySkipPermissions を書き込むことがあります。false(デフォルト)の場合、フェーズ 6b は検出のみを行い、IDE 設定を変更せずに不整合を報告します。 |
実行時環境
実行時ファミリー:environment-setup-runtime
識別子:
targets-{normalizedTargets}
フェーズ:
PHASE_0_CONFIGPHASE_1_ASSESSPHASE_1B_PROVIDER_SELECTIONPHASE_2_DISPATCH_PLANPHASE_3_WORKER_EXECUTIONPHASE_4_VERIFYPHASE_5_WRITE_ENV_STATEPHASE_6_SELF_CHECK
終端フェーズ:
DONEPAUSED
フェーズマップ
フェーズ 1:評価
環境のスナップショットを 1 つ収集します。
- エージェントの利用可否とバージョン
- MCP の登録/接続状態
- フックの状態
- マーケットプレイス/プラグインの整合状態
- Codex スキルルートの検出状態:有効なルート、キャッシュルート、重複するスキル名、
known_marketplaces.jsonのインストール場所のずれ、キャッシュが~/.codex/skillsから見えるかどうか、~/.codex/skillsが~/.claude/plugins全体へのジャンクションかどうか、approval_policy=neverとsandbox_mode=danger-full-accessがすでに整合しているかどうか - グラフプロバイダーの依存関係の状態:検出されたプロジェクト言語ごとに、対応するグラフプロバイダーのバイナリがインストールされているか確認します(例:Python の
basedpyright、C# のcsharp-ls)。hex-graph MCP が接続されている場合は、mode: "check"を指定してmcp__hex-graph__install_graph_providersを使用します - グラフインデックスの最新性:hex-graph が接続されているか、またプロジェクトがこのセッションでインデックス化されているかどうか(検出のみ。ここではインデックス化しません)
- 指示ファイルの状態
.hex-skills/environment_state.jsonがある場合は、そこにある無効化フラグ- タスク管理プロバイダーの利用可否の検出(Linear MCP、gh CLI/Projects v2 の準備状況、常に利用可能なファイル)。選択はフェーズ 1b で行います
- 調査ツールの検出(Ref → Context7 → websearch)
- git worktree の利用可否
- Claude Code IDE 拡張機能の状態:
~/.cursor/extensions/anthropic.claude-code-*と~/.vscode/extensions/anthropic.claude-code-*を glob で検索します。見つかったものごとに、対応する IDE のユーザー設定settings.jsonからclaudeCode.initialPermissionModeとclaudeCode.allowDangerouslySkipPermissionsを読み取ります。検出のみ。ここでは書き込みません。
チェックポイントのペイロード:
assess_summary
フェーズ 1b:トラッカープロバイダーの選択
ユーザーがタスクトラッカープロバイダー(linear、github、file)を選択します。選択内容は .hex-skills/environment_state.json の task_management.provider に保存され、すべてのタスク関連スキル(ln-200、ln-220、ln-300、ln-401、ln-130 など)で再利用されます。
必須の読み込み: このフェーズの前に references/tracker_provider_contract.md を読み込みます。
Codex exec --full-auto では、実行中にユーザーへプロンプトを表示できません。選択は必ずランタイムの pause + pending_decision + record-decision を通じて行う必要があります(AskUserQuestion は使用しません)。
決定ツリー:
- フェーズ 1 の利用可否データと、環境状態にある既存の
task_managementを読み込みます。 available = filter([linear, github, file], byAvailability)を計算します:- Linear MCP サーバーが接続されている場合に限り、
linearを利用できます。 gh auth statusが正常で、リポジトリが検出され、かつ(project_numberがまだない、または既存のプロジェクトに 7 つの標準オプション(Backlog、Todo、In Progress、To Review、To Rework、Done、Canceled)をすべて備えた Status フィールドがある)場合に限り、githubを利用できます。fileは常に利用できます。
- Linear MCP サーバーが接続されている場合に限り、
task_management.providerがすでに設定されており、かつtask_management.status == "active"の場合:
node references/scripts/environment-setup-runtime/cli.mjs pause \
--identifier {identifier} \
--reason "Confirm tracker provider" \
--payload '{"kind":"tracker_provider_confirmation","question":"Keep current tracker {provider}?","choices":["keep","switch"],"resume_to_phase":"PHASE_1B_PROVIDER_SELECTION"}'
set-decision で再開します。keep の場合は既存のプロバイダーを再利用します。switch の場合は手順 4 に進みます。
- 現在のプロバイダーがない場合、またはユーザーが
switchを選び、かつavailable.length > 1の場合:
node references/scripts/environment-setup-runtime/cli.mjs pause \
--identifier {identifier} \
--reason "Select tracker provider" \
--payload '{"kind":"tracker_provider_selection","choices":<available>,"resume_to_phase":"PHASE_1B_PROVIDER_SELECTION"}'
available.length == 1の場合、pauseは行いません。selected_by: "single_option"で自動選択し、理由(例:"Only file mode available because: Linear MCP disconnected, gh CLI not authenticated")を記録します。- フェーズ 1b のチェックポイント:
node references/scripts/environment-setup-runtime/cli.mjs checkpoint \
--identifier {identifier} \
--phase PHASE_1B_PROVIDER_SELECTION \
--payload '{"provider_selection":{"chosen":"<provider>","available":<available>,"reason":"<text>","selected_by":"user|single_option"}}'
チェックポイントのペイロード:
provider_selection.chosenprovider_selection.availableprovider_selection.reasonprovider_selection.selected_by
Phase 2: ディスパッチ計画
選択的なディスパッチ計画を作成します。作業があるワーカーのみを呼び出します。
ディスパッチの優先順位:
- マーケットプレイス/プラグインの不整合、Codex の検出違反(ルート全体を対象とするジャンクションを含む)、または Codex の実行デフォルトの不整合がある場合、Codex を正常と報告する前に
ln-013-config-syncerの実行が必須です。 - hex-graph MCP が登録済みで、(a)検出されたプロジェクト言語に必要なグラフプロバイダーの依存関係が不足している、または(b)プロジェクトがインデックス化されていない場合、MCP の登録がすでに完了していても
ln-012-mcp-configuratorの実行が必須です。グラフプロバイダーの依存関係のインストール(PHASE_3)とグラフのインデックス化(PHASE_5)は、どちらも ln-012 が担当します。
ワーカー:
ln-011-agent-installerln-012-mcp-configuratorln-013-config-syncerln-014-agent-instructions-manager
setup-environment にパッケージ化されているものの、ln-010 からディスパッチされないスタンドアロンのスキル:
ln-015-hex-line-uninstallerは、Claude 側の既存の統合機能を削除するため、直接呼び出す場合にのみ使用します。
チェックポイントのペイロード:
dispatch_plan
Phase 3: ワーカーの実行
選択されたワーカーのみを呼び出します。ワーカーの呼び出し間で環境全体を再調査してはいけません。
Phase 1 の評価は、共有される検出スナップショットです。このスナップショットから子マニフェストを作成し、管理対象のワーカー実行に渡します。
選択されたワーカーごとに:
- 決定論的な
child_run_idを計算します - 正確な
child_summary_artifact_pathを計算します - 委譲の前に
child_runメタデータをチェックポイントに記録します - 管理対象の
environment-worker-runtime子実行を開始します runIdとsummaryArtifactPathの両方を指定してワーカーを呼び出します- ワーカーが書き込んだアーティファクトを読み取ります
environment-setup-runtimeを通じて、構造化されたワーカーのサマリーを記録します
各ワーカーは引き続きスタンドアロンで実行できますが、Phase 3 では常に管理対象のトランスポートを使用します。
想定されるサマリー種別:
env-agent-installenv-mcp-configenv-marketplace-alignenv-instructions
サマリーはランタイムの record-worker で記録します。
Phase 4: 検証
ワーカー実行後の状態を対象に、以下を検証します:
- ヘルスチェック
- フックの状態
- マーケットプレイス/プラグインおよび設定の整合性の状態
- Codex のスキル検出と実行デフォルトの状態(ルート全体を対象とするジャンクションの検出を含む)
- 指示ファイルの品質
- ランタイムの依存関係の状態(ripgrep、任意の言語サーバー)
- グラフプロバイダーの依存関係の健全性(プロジェクトの言語に応じた basedpyright、scip-python など)
- グラフインデックスの状態(インデックス化済み、スキップ、または古い状態)
チェックポイントのペイロード:
verification_summary
Phase 5: 環境状態の書き込み
最終的な永続状態を以下に書き込みます:
.hex-skills/environment_state.json
検出されたすべてのセクションが含まれます:agents(整合性の状態、マーケットプレイスのプラグイン、Codex のスキルルートの健全性、Codex の実行デフォルトの状態を含む)、task_management、research、claude_md、assessment、hooks、ide_extension(Phase 1 で検出した Cursor/VSCode Claude Code 拡張機能の状態と、ln-012 による Phase 6b の変更を含む)。
ルール:
- ランタイムの状態は環境状態ではありません
- ワーカーは
.hex-skills/environment_state.jsonに書き込みません - 永続化する前に、共有スキーマに照らして出力を検証します
チェックポイントのペイロード:
env_state_writtenfinal_result
Phase 6: セルフチェック
以下を確認します:
- 必須のフェーズチェックポイントがすべて存在する
- ディスパッチされたワーカーのサマリーが記録されている
dry_runでない限り、最終状態ファイルが書き込まれている
チェックポイントのペイロード:
passfinal_result
出力ポリシー
ランタイムアーティファクト:
.hex-skills/runtime-artifacts/runs/{run_id}/{summary_kind}/{identifier}.json
永続的な環境出力:
.hex-skills/environment_state.json
これらのレイヤーを混同してはいけません。
ワーカーの起動 (必須)
ホストスキルの起動: Skill(skill: "...", args: "...") は必須の委任です。
- Claude: 示されているとおりに Skill ツールを正確に呼び出します。
- Codex: Skill ツールが存在しない場合は、利用可能なスキルの中から指定されたスキルを特定し、その
SKILL.mdを読み、argsを$ARGUMENTSとして扱い、そのスキルのワークフローを実行してから、その結果/成果物を持ってここに戻ります。 - ワーカーのロジックをインライン展開したり、対象のスキルを実行せずにワーカーを完了扱いにしたりしないでください。
| フェーズ | ワーカー | コンテキスト |
|---|---|---|
| 3 | ln-011-agent-installer | CLI エージェントをインストールまたは更新する |
| 3 | ln-012-mcp-configurator | MCP サーバー、フック、権限、および IDE 拡張機能の権限モードを構成する (フェーズ 6b) |
| 3 | ln-013-config-syncer | Claude および Codex マーケットプレイスプラグインをインストール/検証し、MCP 状態を整合させ、Codex のデフォルトを整合させる |
| 3 | ln-014-agent-instructions-manager | 命令ファイルを作成および監査する |
node references/scripts/environment-worker-runtime/cli.mjs start --skill {worker} --identifier {childIdentifier} --manifest-file {childManifestPath} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}
node references/scripts/environment-setup-runtime/cli.mjs checkpoint --identifier {identifier} --phase PHASE_3_WORKER_EXECUTION --payload '{"child_run":{"worker":"{worker}","run_id":"{childRunId}","summary_artifact_path":"{childSummaryArtifactPath}"}}'
Skill(skill: "{worker}", args: "{workerArgs} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}")
Read {childSummaryArtifactPath}
node references/scripts/environment-setup-runtime/cli.mjs record-worker --identifier {identifier} --payload '{...environment worker summary...}'
apply_ide_override は ln-010 の入力から ln-012 にのみ伝播します。デフォルトの false はフェーズ 6b を検出モードに保ち、評価サマリーで IDE のドリフトを WARN として報告します。true を渡すと、ln-012 がユーザーに確認を求め、Cursor / VSCode の設定を書き込むことができます。
plugins と auto_install_providers は ln-010 の入力から ln-013 にのみ伝播します。デフォルトのプラグイン選択は agile-workflow です。オプションのプラグインには明示的なリストまたは all が必要です。auto_install_providers=false は MCP プロバイダーの処理を検出のみに保ちます。
TodoWrite 形式 (必須)
- Phase 1: Assess (pending)
- Phase 1b: Tracker provider selection (pending)
- Phase 2: Build dispatch plan (pending)
- Phase 3: Start child runtime, checkpoint child metadata, and run selected workers (pending)
- Phase 4: Verify final state (pending)
- Phase 5: Write environment_state.json (pending)
- Phase 6: Self-check (pending)
重要なルール
- 実行時の状態が実行の SSOT です。
- 再開や復元のためにチャットの記憶に依存しないでください。
- 選択されていないワーカーを実行しないでください。
- 通常のセットアップから
ln-015-hex-line-uninstallerをディスパッチしないでください。これは単独のクリーンアップです。 - 各ワーカーの後に完全な環境検出を繰り返さないでください。
.hex-skills/environment_state.jsonはフェーズ 5 でのみ書き込まれます。dry_runはfinal_result=DRY_RUN_PLANで終了し、最終状態の書き込みをスキップする場合があります。
完了の定義
- 識別子スコープのマニフェストと状態でランタイムが開始された
- 評価スナップショットが記録された
- トラッカープロバイダーがユーザーによって明示的に選択された、または単一オプションで確定された
- ディスパッチ計画がチェックポイント化された
- 各委任の前に子ワーカーの実行メタデータがチェックポイント化された
- ワーカーのサマリーが機械可読なコントラクトを通じて記録された
- 検証サマリーがチェックポイント化された
-
.hex-skills/environment_state.jsonが検証されて書き込まれた、または明示的なDRY_RUN_PLAN - セルフチェックに合格した
メタ分析
任意の参照: ユーザーが実行後のメタ分析またはプロトコル形式の実行リフレクションを求めた場合にのみ、references/meta_analysis_protocol.md を読み込みます。
スキルタイプ: domain-coordinator。要求された場合は、すべてのフェーズが完了した後に実行します。プロトコル形式を使用してチャットに出力します。
バージョン: 6.1.0 最終更新: 2026-04-07