spec について
stardust:specは、Webサイト移行を計画するチームや実行するエージェント向けのスキルです。現行サイトを段階的に分析し、コンポーネントのマッピング、実装判断、移行用の構造化ナレッジを作成します。
主な機能
- 01段階的なサイトの棚卸し、取得、解析
- 02レイアウトバリエーションごとの計画と確認
- 03マッピングと実装判断の根拠を記録
- 04未解決の質問に既定値を設定
- 05調査結果と影響データを算出
活用シーン
- 01移行用のページとリンク一覧を作成
- 02コンポーネントの再利用、対応付け、バックログを計画
- 03実装判断と未解決事項を記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adobe/ skills --skill specインストール後、Claude Code で/specを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/config.mdevaluation.mdimplementation.mdjudgement.mdknowledge.mdscripts/lib.mjsrules.mjsspec-capture.mjsspec-fetch.mjsspec-inventory.mjsspec-knowledge.mjsspec-links.mjsspec-map.mjsspec-martech.mjsspec-parse.mjsspec-pick.mjsspec-profile.mjsspec-rum.mjsspec-sheet.mjsspec-variants.mjsscripts/test/rules.test.mjsspec-capture.test.mjsspec-fetch.test.mjsspec-inventory.test.mjsspec-knowledge.test.mjsspec-links.test.mjsspec-map.test.mjsspec-martech.test.mjsspec-parse.test.mjsspec-pick.test.mjs詳細
stardust:spec — 移行前の移行仕様
この仕様は、移行を計画する人(何を構築、再利用、修正、または決定するか)と、移行を実行するエージェント(類型、ブロックのバックログ、契約、リダイレクト、あらゆる判断に対する既定値)に答えるものです。エージェントは段階ごとに構築します。
原則
- 判断より先に、証拠を集めます。 ステージ S1~S6 と S8 では稼働中のサイトを測定します。S7 と S9 は判断(マッピング、再利用、機能、質問)を行い、判断ごとの根拠とともに
judgement/に記録します。 - 先入観のない判断を行います。 ソースサイトのみを基準に判断し(reference/judgement.md)、出典を
implementation.json#provenanceに記載します。 - テンプレートではなく、バリアントを使います。 CMS のテンプレートには柔軟性があるため、レイアウトバリアントごとに計画、取得、QA を行います(S8)。
- 未解決の質問にはすべて既定値を設定します。 人手を介さない移行では既定値を適用し、記録済みの回答がある場合はそれに置き換えます。
- 数値を手入力せず、計算します。 調査結果、機能の到達範囲、質問の影響に含まれる数値はすべてルール(reference/knowledge.md § Rules)として定義し、ナレッジステージで評価します。
セットアップ
stardust/spec/spec.config.json(reference/config.md)には、origin、scopePath、template ルール、parser プロファイル(aem-classic、aem-core、またはそれ以外のサイト向けの generic)とメインセレクター、任意の maxPages、rum、referenceBlocks を指定します。spec、diff、dynamics、deploy の各スクリプトを stardust/scripts/<skill>/ にコピーします(各ステージでインポートされます)。
ステージ
| # | ステージ | コマンド(プロジェクトルートから実行) | 出力 |
|---|---|---|---|
| S1 | インベントリー | spec-inventory.mjs | <work>/inventory/ |
| S2 | 取得 | spec-fetch.mjs | <work>/fetch/ |
| S3 | 解析 | spec-parse.mjs | <work>/parse/ |
| S4 | リンク | spec-links.mjs、続けて spec-fetch.mjs --urls <work>/links/pages.txt --out <work>/links/pages.jsonl と spec-parse.mjs --fetch <work>/links/pages.jsonl --out <work>/links | <work>/links/ |
| S5 | 実ユーザーデータ(任意) | spec-rum.mjs($RUM_DOMAIN_KEY のキー) | <work>/rum/rum.json |
| S6 | 初回キャプチャ | spec-pick.mjs --components-only、spec-capture.mjs | <work>/media/ |
| S7 | 判断:マッピング | spec-profile.mjs、spec-sheet.mjs <component>、judgement/mapping.json を作成、spec-map.mjs | <work>/map/page-blocks.jsonl |
| S8 | バリアントとビジュアル | spec-variants.mjs、spec-pick.mjs、spec-capture.mjs | <work>/map/variants.json、<work>/media/ |
| S9 | 実装 | dynamics-detect.mjs --urls <reps> --out <work>/dynamics、spec-martech.mjs、chrome-explore.mjs <home> <work>/chrome/header.json、judgement/catalog.json、implementation.json、findings.json、search-probes.json を作成 | <work>/、judgement/ |
| S10 | ナレッジ | spec-knowledge.mjs | knowledge/ |
各ステージの開始と終了は、stardust/status.jsonl(ledger.mjs spec s1-inventory start)に記録されます。<work> は stardust/.work/spec/ で、コミット対象外です。大規模なサイトでは、S2 は4件のリクエストを並列実行し、中断後に再開できます。S2 を開始し、実行中に設定と判断用のひな形を作成します。ブラウザのジョブは一度に1つ(S6/S8/S9)、タブは2つまでです。
判断(S7、S9)
templates/ から始めます。mapping.json と catalog.json については reference/judgement.md を参照してください。implementation.json については reference/implementation.md を参照してください。findings.json には、プレーンテキストの見出しを6~10件 { title, text, chapter, rank } の形式で記載します。記録した回答は judgement/answers.json に保存します。
出力
stardust/spec/ 内の judgement/ と knowledge/ はコミット対象です。reference/knowledge.md が契約となります。未加工の素材、キャプチャ、切り抜きは <work> に保存します。
ゲート
spec-map.mjsがマッピングされていないコンポーネントを報告せず、ページブロック内のすべてのブロックがcatalog.jsonに含まれていれば、S7 は合格です (そうでない場合はspec-knowledge.mjsが警告します)。spec-knowledge.mjsが 0 で終了し(すべてのルールが計算され)、未解決の質問すべてにデフォルト値があれば、S10 は合格です。- オリジンがブロックされた場合(S1 または S2 が終了コード 3:ボットによるチャレンジや拒否が 10% 以上)、ビルドを停止します。クローラーの許可リストへの追加をユーザーに依頼するか、
--headed(プラグインのステルス型実 Chrome ティア。diff スキルのlive-session.mjsにあり、replica が使用)または--archive <date>(Internet Archive のキャプチャ。出典情報と調査結果でその使用を開示する必要があります)のどちらかを選んでもらいます。ユーザーに代わって選択してはならず、別の方法でブロックを回避してはなりません。 - 共有する前に、プロジェクトや出力に顧客の秘密情報、内部評価、または別の移行案件の名前が含まれていないことを確認します。
参考資料
- reference/config.md —
spec.config.json、テンプレートルール、パーサープロファイル。 - reference/judgement.md — ブラインドルール、マッピングルール、コンタクトシート、ブロックファミリー、再利用の判定。
- reference/implementation.md — 機能、マーテック、データレイヤー、メタデータ、インデックス、ロケール、未解決の質問。
- reference/knowledge.md — 出力仕様:ファイル、フィールド、ルール形式。
- reference/evaluation.md — 提供された移行に対する仕様の採点、ブラインド再判定。