Skip to main content

sfra-explorer

Interactive SFRA codebase investigation and exploration skill. Supports direct code investigation (route tracing, override analysis, business logic, data flow, hook investigation) with or without a pre-generated Resolution Map. Triggers on "SFRA explore", "SFRA investigate", "SFRA 探玢", "SFRA 調査", "コヌド調査", "コヌド探玢"

Zur Installation springen

Quellinformationen

Repository
sizukutamago/claude-sfcc-plugin
Letzte QuellaktivitÀt
9. Februar 2026 um 10:15
Erkannte Sprache von SKILL.md
Japanisch
Sterne
0
Forks
0

Installationsoptionen

StandardmÀßig ist der Prompt ausgewÀhlt, der zuerst die Quelle prÃŒft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prÃŒfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich fÃŒr eine Installation entscheiden.

Datei-Explorer
15 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · SchreibgeschÌtzte Vorschau
name
sfra-explorer
description
Interactive SFRA codebase investigation and exploration skill. Supports direct code investigation (route tracing, override analysis, business logic, data flow, hook investigation) with or without a pre-generated Resolution Map. Triggers on "SFRA explore", "SFRA investigate", "SFRA 探玢", "SFRA 調査", "コヌド調査", "コヌド探玢"
version
2.0.0
triggers
["SFRA explore","SFRA explorer","SFRA investigate","SFRA 探玢","SFRA 調査","コヌド調査","コヌド探玢"]
# SFRA Explorer スキル SFRA コヌドベヌスのむンタラクティブ調査・探玢を支揎するスキル。コヌドフロヌ远跡、モゞュヌル関係分析、ビゞネスロゞック調査に察応する。 ## 抂芁 | 項目 | 内容 | |------|------| | **察象** | SFRA Storefrontapp_storefront_base + overlay / plugin / integration cartridges | | **目的** | SFRA コヌドベヌスを調査・探玢し、ルヌト実行フロヌ、モゞュヌル解決、ビゞネスロゞック、デヌタフロヌ等をトレヌスしお回答する | | **2モヌド** | Mode A: 盎接調査即座に探玢/ Mode B: Knowledge Base 生成 + 調査 | ## アヌキテクチャ ``` ┌─────────────────────────────────────────────────────────────────┐ │ Orchestrator (SKILL.md) │ ├────────────────────────────────────────────────────────────────── │ │ │ Phase 0: Scope Detection (inline) │ │ ┌─────────────────────────────────────────────────────────────┐│ │ │ - Cartridge ディレクトリ怜出 ││ │ │ - Cartridge path 順序決定 ││ │ │ - Confidence レベル付䞎 (high/medium/low) ││ │ └─────────────────────────────────────────────────────────────┘│ │ │ │ │ Mode A: Direct InvestigationResolution Map 䞍芁 │ │ ┌─────────────────────────────────────────────────────────────┐│ │ │ investigator (sonnet) ← Glob/Grep/Read で盎接探玢 ││ │ │ Resolution Map があれば参照しお高速化 ││ │ └─────────────────────────────────────────────────────────────┘│ │ │ │ Mode B: Knowledge Base 生成 + 調査倧芏暡・反埩調査向け │ │ ┌─────────────────────────────────────────────────────────────┐│ │ │ Step 1: scanner (sonnet) ← ファむルむンベントリ + 正芏化JSON ││ │ │ │ ││ │ │ â–Œ ││ │ │ Step 2: ┌──────────┬──────────┐ ← 䞊列実行 ││ │ │ │ resolver │ mapper │ ││ │ │ │ (opus) │ (sonnet) │ ││ │ │ └────┬─────┎────┬─────┘ ││ │ │ └──────────┘ ││ │ │ │ ││ │ │ â–Œ ││ │ │ Step 3: assembler (opus) → sfra-resolution-map.md ││ │ │ │ ││ │ │ â–Œ ││ │ │ investigator (sonnet) ← Map 参照 + 実コヌド確認 ││ │ └─────────────────────────────────────────────────────────────┘│ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ## 実行フロヌ刀定 ナヌザヌの入力に基づき、以䞋のロゞックでモヌドを決定する: | 優先床 | 条件 | 実行モヌド | |--------|------|-----------| | 1 | ナヌザヌが「マップ生成」「党䜓分析」「Knowledge Base」を明瀺的に芁求 | Mode B | | 2 | 質問・調査系の入力 + Resolution Map 存圚 | Mode AMap 参照付き | | 3 | 質問・調査系の入力 + Resolution Map なし | Mode A盎接探玢 | | 4 | 初回実行で質問なし | Phase 0 でスコヌプ怜出 → ナヌザヌに質問を求める | | 5 | 曖昧な入力「調査しお、あずマップも」等 | たず Mode A で即答、その埌「Map も生成したすか」ず確認しお Mode B を提案 | **刀定キヌワヌド**: - Mode B トリガヌ: 「マップ生成」「党䜓分析」「党䜓をスキャン」「Knowledge Base」「generate map」「full analysis」 - Mode A トリガヌ: 質問文「〜は」「〜を教えお」「〜のフロヌは」等、調査系キヌワヌド --- ## 察応カテゎリ | カテゎリ | 説明 | Resolution Map 䟝存 | |---------|------|-------------------| | Route Tracing | ルヌト実行フロヌ + ミドルりェアチェヌン远跡 | 䞍芁あれば高速化 | | Override Analysis | ファむル䞊曞き関係 | 䞍芁あれば高速化 | | Chain Tracing | superModule 継承チェヌン远跡 | 䞍芁あれば高速化 | | Impact Analysis | 倉曎圱響範囲 | あれば粟床向䞊 | | Hook Investigation | Hook 調査党カヌトリッゞ実行の泚意含む | 䞍芁あれば高速化 | | Template Tracing | テンプレヌト远跡 | 䞍芁あれば高速化 | | Dependency Mapping | 䟝存関係可芖化 | あれば粟床向䞊 | | Business Logic | ビゞネスロゞック調査䟡栌蚈算、圚庫等 | 䞍芁 | | Data Flow | pdict ラむフサむクル、Model→Controller→ISML のデヌタ远跡 | 䞍芁 | | Code Pattern | パタヌン暪断怜玢Transaction.wrap、Service 呌出し等 | 䞍芁 | --- ## ワヌクフロヌ ### Phase 0: スコヌプ怜出Orchestrator 内で実行 **目的**: 調査察象のカヌトリッゞ構成ず順序を特定 **手順**: 1. プロゞェクトルヌトでカヌトリッゞディレクトリを怜出 ```bash # Glob パタヌン cartridges/*/cartridge/ ``` 2. カヌトリッゞパスを優先順䜍に埓っお決定 | 優先床 | ゜ヌス | Confidence | |--------|--------|------------| | 1 | ナヌザヌ入力スキル呌び出し時に指定 | high | | 2 | `dw.json` の cartridge path 蚭定 | high | | 3 | `.project` Eclipse プロゞェクト蚭定 | medium | | 4 | `package.json` の dependencies から掚枬 | medium | | 5 | ディレクトリ構造のみアルファベット順 | low | 3. 怜出結果をログ出力 ```yaml scope: cartridge_path: "app_custom:plugin_wishlists:app_storefront_base" cartridge_path_source: "dw.json" cartridge_path_confidence: "high" cartridges: - name: "app_custom" type: "overlay" path: "cartridges/app_custom" - name: "plugin_wishlists" type: "plugin" path: "cartridges/plugin_wishlists" - name: "app_storefront_base" type: "base" path: "cartridges/app_storefront_base" stats: total_files: 245 controllers: 35 models: 28 templates: 120 ``` **Done 条件**: カヌトリッゞパスが決定し、少なくずも 1 ぀のカヌトリッゞが怜出されおいる **Confidence が low の堎合**: ナヌザヌにカヌトリッゞパスの確認を求める。ナヌザヌが指定すれば confidence を high に栌䞊げ。 --- ### Mode A: Direct Investigationinvestigator による盎接調査 **目的**: Resolution Map の有無を問わず、ナヌザヌの質問に即座に回答 ``` Task( description: "Investigate SFRA codebase", prompt: "ナヌザヌの質問に回答しおください。 質問: {user_question} カヌトリッゞパス: {cartridge_path} カヌトリッゞディレクトリ: {cartridge_directories} Resolution Map: {map_status} 存圚する堎合: docs/explore/sfra-resolution-map.md を参照可胜 investigator.md の手順に埓い、以䞋の流れで回答: 1. Resolution Map の存圚確認なくおも続行 2. Map があれば読み蟌み + 鮮床チェック 3. 質問をカテゎリに分類 4. Map デヌタ or 盎接探玢で情報収集 5. 構造化回答を生成 回答には必ずファむルパス:行番号を含めおください。", subagent_type: "sfra-explorer-investigator", model: "sonnet" ) ``` **察応カテゎリ**: 䞊蚘 10 カテゎリ党お --- ### Mode B: Knowledge Base 生成 + 調査 **目的**: 倧芏暡プロゞェクトの反埩調査向けに、事前分析した Resolution Map を生成 #### Step 1: Scannerファむルむンベントリ **入力**: Phase 0 のスコヌプ情報カヌトリッゞパス、ディレクトリ䞀芧 ``` Task( description: "Scan SFRA codebase", prompt: "以䞋のカヌトリッゞパスに埓い、コヌドベヌスをスキャンしおください。 カヌトリッゞパス: {cartridge_path} カヌトリッゞディレクトリ: {cartridge_directories} Phase 0 で怜出された情報: - cartridge_path_source: {source} - cartridge_path_confidence: {confidence} - git_commit: {git_commit} 出力先: docs/explore/.work/01_scan.md スキャン察象: 1. 党カヌトリッゞのファむルむンベントリ 2. require() パタヌン分類wildcard/tilde/relative/dw_api/explicit 3. module.superModule 䜿甚箇所 4. server メ゜ッドget/post/use/append/prepend/replace/extend 5. むベントリスナヌthis.on('route:*') 6. むベント発火this.emit 7. Hook 登録package.json hooks → hooks.json 8. 各ファむルの行数 scanner.md の手順に埓っお実行しおください。", subagent_type: "sfra-explorer-scanner", model: "sonnet" ) ``` **出力**: `docs/explore/.work/01_scan.md` **Done 条件**: scanner がハンドオフ封筒 `status: ok` を返华 --- #### Step 2: Resolver + Mapper䞊列実行 scanner の出力が完了したら、resolver ず mapper を**単䞀メッセヌゞ内で䞊列起動**する。 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 䞊列実行単䞀メッセヌゞで耇数 Task tool 呌び出し │ ├────────────────────────────────────────────────────────────────── │ │ │ Task(sfra-explorer-resolver, model: opus) ──┐ │ │ Task(sfra-explorer-mapper, model: sonnet) ──┘─→ 䞊列 │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ##### Resolver ``` Task( description: "Resolve SFRA require/superModule", prompt: "scanner の出力docs/explore/.work/01_scan.mdを読み蟌み、 以䞋を蚈算しおください: 1. require('*/...') の解決先カヌトリッゞパス順で最初のマッチ 2. module.superModule チェヌンの完党トレヌス再垰的 3. ファむル衝突怜出同䞀盞察パスが耇数カヌトリッゞに存圚 4. 逆匕き䟝存むンデックス 5. 未解決パタヌン動的 require 等 出力先: docs/explore/.work/02_resolution.md resolver.md の手順に埓っお実行しおください。", subagent_type: "sfra-explorer-resolver", model: "opus" ) ``` **出力**: `docs/explore/.work/02_resolution.md` ##### Mapper ``` Task( description: "Map SFRA routes/templates/hooks", prompt: "scanner の出力docs/explore/.work/01_scan.mdを読み蟌み、 以䞋をマッピングしおください: 1. Controller Route Mapprepend→base→append 実行順序 2. Template Override MapISML テンプレヌトの解決先 3. Hook Registration Map党カヌトリッゞの Hook 登録 重芁: Hook は党カヌトリッゞの登録分が党お実行されたす。 出力先: docs/explore/.work/03_map.md mapper.md の手順に埓っお実行しおください。", subagent_type: "sfra-explorer-mapper", model: "sonnet" ) ``` **出力**: `docs/explore/.work/03_map.md` **Done 条件**: resolver ず mapper の䞡方が `status: ok` を返华 --- #### Step 3: Assembler統合 + 怜蚌 resolver ず mapper の出力が揃ったら、assembler を起動する。 ``` Task( description: "Assemble SFRA resolution map", prompt: "以䞋の 3 ファむルを読み蟌み、最終解決マップを生成しおください: 1. docs/explore/.work/01_scan.mdscanner 出力 2. docs/explore/.work/02_resolution.mdresolver 出力、欠損の堎合あり 3. docs/explore/.work/03_map.mdmapper 出力、欠損の堎合あり テンプレヌト: templates/resolution-map-template.md 手順: 1. 存圚するファむルのみ読み蟌むresolver or mapper が倱敗した堎合、欠損ファむルはスキップ 2. テンプレヌトのプレヌスホルダヌを実デヌタで眮換欠損セクションは空欄 + 譊告付き 3. クロスバリデヌションファむル数、チェヌン数、ルヌト数、Hook数 4. 統蚈蚈算Section 9 5. 最終 Markdown 生成 出力先: - docs/explore/sfra-resolution-map.md最終成果物 - docs/explore/.work/04_assembly.mdアセンブリレポヌト assembler.md の手順に埓っお実行しおください。", subagent_type: "sfra-explorer-assembler", model: "opus" ) ``` **出力**: - `docs/explore/sfra-resolution-map.md`最終成果物 - `docs/explore/.work/04_assembly.md`アセンブリレポヌト **Done 条件**: assembler が `status: ok` を返华し、`sfra-resolution-map.md` が生成されおいる #### Mode B 完了埌 Resolution Map 生成が完了したら、ナヌザヌの質問があれば Mode A の investigator を起動しお回答する。investigator は生成された Map を参照しお高速に回答する。 --- ## ゚ヌゞェント䞀芧 | Agent | Model | 担圓範囲 | 入力 | 出力 | |-------|-------|---------|------|------| | investigator | sonnet | むンタラクティブ調査党 10 カテゎリ | 質問 + 実コヌド+ Map | 構造化回答 | | scanner | sonnet | ファむルむンベントリ、正芏化 JSON | カヌトリッゞパス | `.work/01_scan.md` | | resolver | opus | require 解決、superModule チェヌン | scanner 出力 | `.work/02_resolution.md` | | mapper | sonnet | Route / Template / Hook マッピング | scanner 出力 | `.work/03_map.md` | | assembler | opus | 統合、クロスバリデヌション | scanner + resolver + mapper | `sfra-resolution-map.md` | ## ツヌル䜿甚ルヌル ### 各モヌド / Phase で䜿甚可胜なツヌル | Phase / Mode | 蚱可ツヌル | 備考 | |-------------|-----------|------| | Phase 0 | Glob, Bash (read-only), Read | スコヌプ怜出のみ | | Mode A (investigator) | Read, Glob, Grep | 調査のみ読み取り専甚 | | Mode B Step 1 (scanner) | Read, Glob, Grep, Write | スキャン + `.work/` 出力 | | Mode B Step 2 (resolver) | Read, Glob, Grep, Write | 解決蚈算 + `.work/` 出力 | | Mode B Step 2 (mapper) | Read, Glob, Grep, Write | マッピング + `.work/` 出力 | | Mode B Step 3 (assembler) | Read, Glob, Write | 統合 + 最終マップ曞き蟌み | ### 曞き蟌み制限 - **曞き蟌み可胜**: `docs/explore/` および `docs/explore/.work/` のみ - **読み取り専甚**: その他すべおのディレクトリ --- ## 実行フロヌ ### Mode A: 盎接調査デフォルト ``` /sfra-explore {質問} → Phase 0 → investigator → 構造化回答 ``` ### Mode B: Knowledge Base 生成 ``` /sfra-exploreマップ生成指瀺 → Phase 0 → scanner → [resolver + mapper 䞊列] → assembler → 完了 ``` ### Mode A with Map: Map 参照付き調査 ``` /sfra-explore {質問}Map 存圚時 → investigatorMap 参照 + 実コヌド確認 → 構造化回答 ``` ### 初回実行刀定 1. ナヌザヌが質問を含めおいる → Mode AMap 有無に関わらず即座に調査開始 2. ナヌザヌが「マップ生成」を指瀺 → Mode B 3. 質問なし・指瀺なし → Phase 0 でスコヌプ怜出 → ナヌザヌに質問を求める ### 鮮床チェック Resolution Map が存圚する堎合、`git_commit` ず珟圚の HEAD を比范: - **䞀臎**: マップは最新、investigator が Map を参照 - **䞍䞀臎**: investigator が鮮床譊告を衚瀺しお続行Map のデヌタは参考ずしお䜿甚 --- ## Done 刀定 | Phase / Mode | Done 条件 | |-------------|----------| | Phase 0 | カヌトリッゞパスが決定し、1 ぀以䞊のカヌトリッゞが怜出 | | Mode A | ナヌザヌの質問に構造化回答が完了 | | Mode B Step 1 | `01_scan.md` が生成枈み、scanner が `status: ok` | | Mode B Step 2 | `02_resolution.md` + `03_map.md` が生成枈み、䞡方 `status: ok` | | Mode B Step 3 | `sfra-resolution-map.md` が生成枈み、assembler が `status: ok` | --- ## ゚ラヌハンドリング | 状況 | 察応 | |------|------| | カヌトリッゞ未怜出 | `status: blocked`、ナヌザヌにパス確認を求める | | カヌトリッゞパス confidence: low | ナヌザヌに確認を求める指定があれば high に栌䞊げ | | scanner 倱敗 | 原因を報告、Mode B からリトラむ | | resolver 倱敗 / mapper 成功 | mapper 出力のみで assembler 実行resolver セクション空欄 + 譊告 | | mapper 倱敗 / resolver 成功 | resolver 出力のみで assembler 実行mapper セクション空欄 + 譊告 | | assembler 倱敗 | Step 3 からリトラむ | | Resolution Map なしで質問 | **Mode A で盎接探玢**blocked にしない | | Resolution Map が叀い | 鮮床譊告を衚瀺しお続行、再生成は提案のみ | --- ## 出力ディレクトリ構造 ``` docs/explore/ ├── .work/ # 䞭間成果物.gitignore 掚奚 │ ├── 01_scan.md # scanner: ファむルむンベントリ + 正芏化 JSON │ ├── 02_resolution.md # resolver: 解決先、チェヌン、逆匕き │ ├── 03_map.md # mapper: ルヌト、テンプレヌト、Hook │ └── 04_assembly.md # assembler: クロスバリデヌションレポヌト └── sfra-resolution-map.md # Resolution MapMode B で生成 ``` --- ## 共有リファレンス ### sfra-explorer 固有 | ファむル | 甹途 | |---------|------| | `references/sfra_resolution_guide.md` | SFRA 解決メカニズム党解説 + AI 誀解集 | | `references/resolution_map_schema.md` | Resolution Map のスキヌマ定矩 | | `references/exploration_prompts.md` | AI 探玢プロンプトカタログ | | `templates/resolution-map-template.md` | 出力テンプレヌトMode B 甚 | ### sfra-review から共有参照読み取りのみ | ファむル | 甹途 | |---------|------|
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen