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 調査", "コヌド調査", "コヌド探玢"

Jump to install

Source facts

Repository
sizukutamago/claude-sfcc-plugin
Last source activity
February 9, 2026 at 10:15
Detected SKILL.md language
Japanese
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
15 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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 から共有参照読み取りのみ | ファむル | 甹途 | |---------|------|
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub