ns-harness-prepare について
harness init後のブラウンフィールド導入を調整するエージェントスキルです。4つのワーカースキルを定められた順序で実行し、ファイルで状態を引き継ぎ、各成果物を検証して失敗時は停止します。
主な機能
- 014つのワーカースキルを順番に実行
- 02スキルの導入状況とアプリコードを確認
- 03アーキテクチャルールとマップを作成
- 04業務リバース仕様と索引を生成
- 05AGENTS.mdとCLAUDE.mdを更新
- 06成果物を検証し失敗時に停止
活用シーン
- 01harness init後に既存コードベースを準備
- 02大規模リファクタリング後にプロジェクト文書を更新
- 03後続のSDD計画に必要な成果物を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nextstage-brasil/ skills --skill ns-harness-prepareインストール後、Claude Code で/ns-harness-prepareを入力して読み込まれたか確認します。
同梱ファイルevals/evals.json
詳細
Harness Prepare
harness init の後に、既存コードベースのオンボーディングチェーン全体を実行します。ワーカースキルを置き換えるのではなく、順番に、一度に1つずつ処理を完了させて実行します。ブートチェックに合格した場合、事前確認は不要です。
状態はチャット履歴ではなく、ディスク上のファイルに保存されます。各ステップの前に出力を読み直してください。
Harness の検出
../ns-harness/references/harness-discovery.md と ../ns-harness/references/rules-sync.md を参照してください。
| 出力 | パス |
|---|---|
| 技術的な憲章 | {harness_root}/rules/architecture-rules.md |
| スタック/モジュールマップ(エージェント向けの詳細版) | {product_root}/docs/context/brownfield-map.md |
| ビジネスのリバース仕様(人間向け) | {product_root}/docs/context/system-reverse-spec.md |
| ビジネスのリバースインデックス(エージェント向け) | {product_root}/docs/context/system-reverse-spec.agent.md |
| プロジェクトのエージェント用エントリ | {product_root}/AGENTS.md |
| Claude のポインター | {product_root}/CLAUDE.md |
使用するタイミング
| トリガー | アクション |
|---|---|
harness init の直後(brownfield プリセット) | prepare 全体を実行 |
ユーザーが「プロジェクトを準備して」//ns-harness-prepare と指定した場合 | prepare 全体を実行 |
| 大規模なリファクタリング、新しいモジュール/スタックの追加、またはコンテキストドキュメントの古さが問題になった場合 | prepare 全体を再実行 |
| ユーザーがワーカーを1つだけ実行したい場合 | このスキルは使用しないでください。ワーカーを直接呼び出してください |
| greenfield で、アプリケーションコードがない場合 | 停止し、スキャンするコードベースが必要であることを説明してください |
前提条件
harness initが完了していること(または同等の状態として、.agents/skills/と.nextstage-harness/が存在すること)。- ワーカースキルがインストールされていること:
ns-harness-architecture-rules、ns-harness-bootstrap-brownfield、ns-harness-codebase-reverse-spec、ns-harness-agents-md。 {product_root}配下のアプリケーションソースに読み取り専用でアクセスできること。
ワーカースキルが不足している場合は停止し、次のようにユーザーに伝えてください。
npx @nextstage-brasil/harness --preset spec-driven --yes
ブート(必須、セッションごとに1回)
- Harness の検出ルールに従って
{product_root}と{harness_root}を解決します。 - デフォルトを適用します(チェックに合格した場合は質問しないでください)。
- Markdown 成果物の出力言語 = ユーザーとの会話で使用する言語
- リバース仕様(
system-reverse-spec.md+.agent.md)= 英語のみ(会話で使用する言語より優先) - リバース仕様の対象範囲 = 製品全体、深さ = エグゼクティブ
- モード = ディスク上の既存成果物に基づいて作成または更新
- ブートチェックを実行します。
- ワーカースキルが存在すること(
ns-harness-architecture-rules、ns-harness-bootstrap-brownfield、ns-harness-codebase-reverse-spec、ns-harness-agents-md) {product_root}配下にアプリケーションコードがあること(マニフェスト、src/、app/など)
- ワーカースキルが存在すること(
- いずれかのチェックに失敗した場合: 失敗内容と修正方法をまとめた短い表を表示し、停止します。不正なスコープの確認を求めないでください。
- すべてのチェックに合格した場合: スコープの概要(
{product_root}、{harness_root}、言語、リバース仕様のデフォルト、作成/更新)を1行または簡潔に表示し、ただちにステップ1に進みます。「確認しますか?」やユーザーの承認を待たないでください。
オーケストレーションの必須事項
- ブート概要の表示後、同じターン内にステップ1を開始します(確認を待たない)。
- 以下の固定順で、4つすべてのワーカーステップを実行します。
- ステップ間で「次のステップに進みますか?」と尋ねないでください。
- ブートチェックに合格した場合、「確認しますか?」やスコープの承認を求めないでください。
- 親セッションでワークフローを自ら実行しないでください。同じセッション内で、各ワーカースキルのワークフローに従ってください(各ステップの開始時に、ワーカーの
SKILL.mdを読みます)。 ns-harness-codebase-reverse-specを省略しないでください。prepare 全体に含まれています。- ステップ1の後、ステップ2の前に
npx @nextstage-brasil/harness syncを実行します(シェル)。
保存前の圧縮(必須)
エージェント向けの出力は人間向けではありません。エージェント用成果物を Write する前に、必ず以下を読み、適用してください。
../ns-harness/references/agent-artifact-compress.md
| Write | 圧縮 |
|---|---|
architecture-rules.md | はい |
brownfield-map.md | はい |
system-reverse-spec.agent.md | はい |
AGENTS.md | はい |
system-reverse-spec.md | いいえ(人間向け本文) |
CLAUDE.md | いいえ(Rules ブート+AGENTS.md+.claude/agents) |
作業者が圧縮を担当します。対象ファイルが「はい」の行にあるのに、参照先の目安を超えて冗長なエッセイのように見える場合、prepare は次のステップへの進行を拒否します。
ステップの順序
ステップ 1 — アーキテクチャルール
スキル: ns-harness-architecture-rules
目標: {harness_root}/rules/architecture-rules.md を作成または更新します。
プロンプトの起点:
Scan {product_root} and generate or refresh architecture-rules.md.
Evidence-based only; mark inferred items. Target 80–200 lines.
Telegraphic tables/bullets — agent hot memory, not prose.
Before Write: apply ../ns-harness/references/agent-artifact-compress.md (caveman ultra).
作業者スキルのワークフローに従って、すべての作業を実施してください。アプリケーションコードは読み取り専用です。
ステップ 1b — ルールアダプターの同期(シェル)
プロジェクトのルートで実行します。
npx @nextstage-brasil/harness sync
同期が成功するまで、ステップ 2 に進まないでください。
ステップ 2 — ブラウンフィールドマップ
スキル: ns-harness-bootstrap-brownfield
目標: {product_root}/docs/context/brownfield-map.md を作成または更新します。
プロンプトの起点:
Bootstrap brownfield analysis for {product_root}.
Agent-dense brownfield-map.md (tables only). Link architecture-rules.md for stack — do not duplicate.
Before Write: apply ../ns-harness/references/agent-artifact-compress.md (caveman ultra).
作業者スキルのワークフローに従ってください。アプリケーションコードは読み取り専用です。
ステップ 3 — ビジネスのリバーススペック
スキル: ns-harness-codebase-reverse-spec
目標: {product_root}/docs/context/system-reverse-spec.md および system-reverse-spec.agent.md を作成または更新します。
プロンプトの起点:
Reverse-engineer {product_root} into a technology-agnostic system description.
Executive depth (default). Save human body to docs/context/system-reverse-spec.md
and agent-dense index to docs/context/system-reverse-spec.agent.md.
Both files MUST be English only (titles, labels, prose, rules) — never mix with conversation language.
Compress only the agent index before Write (agent-artifact-compress.md). Leave human body readable.
Autonomous run: use boot defaults for scope; English for reverse-spec; skip recon checkpoint unless a blocker.
作業者スキルのワークフローに従ってください。技術に依存しない出力のみとします。
ステップ 4 — AGENTS.md(最後)
スキル: ns-harness-agents-md
目標: {product_root}/AGENTS.md を更新し、最小限の {product_root}/CLAUDE.md を作成します。
プロンプトの起点:
Refresh AGENTS.md for {product_root} from installed skills and artifacts produced in this session.
Link to architecture-rules.md, brownfield-map.md, system-reverse-spec.md, and system-reverse-spec.agent.md — do not duplicate their bodies.
Preserve hand-edited sections unless recon proves them wrong.
Before Write: apply ../ns-harness/references/agent-artifact-compress.md — target ~95–110 lines.
リンク先がステップ 1〜3 の成果物を指すように、最後に実行してください。
各ステップの検証
次に進む前に、そのステップの出力ファイルが存在し、スタブではないことを確認します。
| ステップ | ファイル | 最低限必要な内容 |
|---|---|---|
| 1 | architecture-rules.md | 実際のパスを含むスタック、レイアウト、または制約 |
| 2 | brownfield-map.md | モジュールテーブルが記入済み。スタックはポインターとして示されている(説明文の羅列ではない) |
| 3 | system-reverse-spec.md + .agent.md | 人間向け本文にエンティティ/ユースケースがあり、エージェント用インデックスにエンティティ/ルールのテーブルがある |
| 4 | AGENTS.md | ハーネスのルールと docs/context/ へのリンク |
ステップの出力がスタブのみの場合、またはエラーになった場合は、停止してください。失敗したステップと不足しているものを報告します。上流の成果物が空のまま続行しないでください。
停止条件
| 条件 | 対応 |
|---|---|
{product_root} にアプリケーションコードがない | 停止 — 失敗を示す。スキャン対象がない新規プロジェクトです |
| 作業者スキルがインストールされていない | 停止 — 失敗を示し、harness --preset spec-driven --yes または harness init を提案する |
| ステップの出力がない、またはハーネスのスタブのまま | 停止 — 続行前にステップを修正する |
harness sync が失敗する | 停止 — エラーを報告する |
| ユーザーが実行を途中で停止する | 停止 — 現在のステップ境界で止める |
完了サマリー
すべてのステップが成功したら、次を報告します。
- 書き込みまたは更新したパス(4 つの出力+同期)。
- 推奨する git コミットメッセージ:
chore: harness prepare — rules, brownfield map, reverse spec (+ agent index), AGENTS.md - 次の SDD ステップ:バージョン 1.0 の計画準備ができたら
ns-sdd-clarify-requirements。
禁止事項
- ブートチェックに合格した場合、スコープの確認を求めないでください。サマリーを示して続行してください。
- ステップの順序を変更しないでください(特に、constitution とコンテキストの成果物より前に
ns-harness-agents-mdを実行しないでください)。 - アーキテクチャルールの後に
harness syncを省略しないでください。 - 完全な prepare で
ns-harness-codebase-reverse-specを省略しないでください。 - エージェント向けファイルの保存前圧縮を省略しないでください(
agent-artifact-compress.md)。 - 人間向けのリバーススペック本文や
CLAUDE.mdを極端に簡略化して書き直さないでください。 .cursor/や.claude/を直接編集しないでください — 正規のソースのみを編集してください。- prepare 中にアプリケーションのソースコードを変更しないでください。
呼び出し例
/ns-harness-prepare
I just ran harness init on this brownfield repo. Run full prepare for {product_root}.
Prepare the project — architecture rules, brownfield map, reverse spec, and AGENTS.md in one go.
統合
| 段階 | スキル |
|---|---|
| CLI のインストール+スキャフォールド | npx @nextstage-brasil/harness init |
| 前提条件の確認 | npx @nextstage-brasil/harness prepare |
| prepare 後の SDD 計画 | ns-sdd-clarify-requirements → ns-sdd-requirements-generator |