mcpField
S
spec

spec

github.com/adobe開発31645 回インストール1 日前に更新
リポジトリ

spec について

stardust:specは、Webサイト移行を計画するチームや実行するエージェント向けのスキルです。現行サイトを段階的に分析し、コンポーネントのマッピング、実装判断、移行用の構造化ナレッジを作成します。

主な機能

  1. 01段階的なサイトの棚卸し、取得、解析
  2. 02レイアウトバリエーションごとの計画と確認
  3. 03マッピングと実装判断の根拠を記録
  4. 04未解決の質問に既定値を設定
  5. 05調査結果と影響データを算出

活用シーン

  1. 01移行用のページとリンク一覧を作成
  2. 02コンポーネントの再利用、対応付け、バックログを計画
  3. 03実装判断と未解決事項を記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/adobe/skills --skill spec

インストール後、Claude Code で/specを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference/
config.md
evaluation.md
implementation.md
judgement.md
knowledge.md
scripts/
lib.mjs
rules.mjs
spec-capture.mjs
spec-fetch.mjs
spec-inventory.mjs
spec-knowledge.mjs
spec-links.mjs
spec-map.mjs
spec-martech.mjs
spec-parse.mjs
spec-pick.mjs
spec-profile.mjs
spec-rum.mjs
spec-sheet.mjs
spec-variants.mjs
scripts/test/
rules.test.mjs
spec-capture.test.mjs
spec-fetch.test.mjs
spec-inventory.test.mjs
spec-knowledge.test.mjs
spec-links.test.mjs
spec-map.test.mjs
spec-martech.test.mjs
spec-parse.test.mjs
spec-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.mjsknowledge/

各ステージの開始と終了は、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 — 提供された移行に対する仕様の採点、ブラインド再判定。

コメント