| name | sfra-review |
| description | SFRA (Storefront Reference Architecture) code review skill using Swarm pattern. Analyzes controllers, models, ISML, services, jobs for best practices, security, and performance. Triggers on "SFRA review", "SFCC code review", "cartridge review" |
| version | 1.1.0 |
| triggers | ["SFRA review","SFCC code review","cartridge review","SFRA ใฌใใฅใผ","ใณใผใใฌใใฅใผ"] |
SFRA Best Practices Review ในใญใซ
SFCC/SFRA ใณใผใใใผในใฎใในใใใฉใฏใใฃในใฌใใฅใผใๅฎ่กใใใSwarm ใใฟใผใณ๏ผไธฆๅใจใผใธใงใณใๅฎ่ก๏ผใง็ถฒ็พ
็ใชๅๆใ่กใใP0/P1/P2 ใฎ้ๅคงๅบฆไปใใฌใใฅใผใฌใใผใใ็ๆใ
ๆฆ่ฆ
| ้
็ฎ | ๅ
ๅฎน |
|---|
| ๅฏพ่ฑก | SFRA Storefront + Jobs๏ผapp_storefront_base + overlay cartridges๏ผ |
| ้คๅค | Headless/SCAPI/PWA Kit ใฎๅฎ่ฃ
ใฌใใฅใผ๏ผๅฅในใญใซใงๅฏพๅฟ๏ผใSCAPI ็งป่กๆบๅๅบฆใใงใใฏใฏๅซใ |
| ๅบๅๅฝขๅผ | Markdown ใฌใใฅใผใฌใใผใ๏ผP0/P1/P2 ้ๅคงๅบฆไปใ๏ผ |
| ไธญ้ๆๆ็ฉ | docs/review/.work/ ใซไฟๅญ |
| ๆ็ตๆๆ็ฉ | docs/review/sfra-review.md |
ใขใผใญใใฏใใฃ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Orchestrator (SKILL.md) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Phase 0: Scope Detection โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ - Cartridge ๆงๆๆคๅบ๏ผapp_storefront_base, plugin_, int_๏ผ โโ
โ โ - Sites/Locales ๆคๅบ โโ
โ โ - ๅฏพ่ฑกใใกใคใซๆฐ/LOC ็ฎๅบ โโ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ Phase 1: Indexer (sequential) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Controllers/Routes ใใใใISML ไธ่ฆงใServices ๅฎ็พฉใ โโ
โ โ Hooks/Jobs ไธ่ฆงใModel ไธ่ฆงใ "ๅฐๅณ" ใจใใฆ็ๆ โโ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ Phase 2: Explorer Swarm (ไธฆๅ - 7 agents) โ
โ โโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโ
โ โcontrollerโ model โ isml โ client โ service โcartridgeโ jobs โ
โ โ (sonnet) โ (opus) โ(sonnet) โ(sonnet) โ (opus) โ(sonnet) โ(sonnet) โ
โ โโโโโโฌโโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโ
โ โโโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโ
โ โผ โ
โ Aggregator (opus) โ
โ Two-step Reduce โ
โ โ โ
โ Phase 3: Reviewer Swarm (ไธฆๅ - 4 agents) โ
โ โโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโ โ
โ โperform. โsecurity โ best- โ anti- โ โ
โ โ (haiku) โ (opus) โpractice โ pattern โ โ
โ โ โ โ (haiku) โ (haiku) โ โ
โ โโโโโโฌโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโดโโโโโฌโโโโโ โ
โ โโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโ โ
โ โผ โ
โ Aggregator (opus) โ
โ ็ตฑๅใฌใใฅใผ + Gate ๅคๅฎ โ
โ โ โ
โ Phase 4: Reporter (sonnet) โ
โ โผ โ
โ sfra-review.md โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ใฏใผใฏใใญใผ
Phase 0: ในใณใผใๆคๅบ
็ฎ็: ใฌใใฅใผๅฏพ่ฑกใฎ Cartridge ๆงๆใจ่ฆๆจกใๆๆก
ๆ้ :
- ใใญใธใงใฏใใซใผใใง cartridge ๆงๆใๆคๅบ
cartridge ใใฃใฌใฏใใช้
ไธใฎๆง้ ใๅๆ
- ๅฏพ่ฑกใใกใคใซๆฐใจ LOC ใ็ฎๅบ
ๆคๅบ้
็ฎ:
scope:
cartridges:
- name: "app_storefront_base"
type: "base"
path: "cartridges/app_storefront_base"
- name: "app_custom_mystore"
type: "overlay"
path: "cartridges/app_custom_mystore"
- name: "int_payment"
type: "integration"
path: "cartridges/int_payment"
stats:
total_files: 450
total_loc: 25000
controllers: 35
models: 28
templates: 120
jobs: 8
ๅบๅ: docs/review/.work/00_scope.json
Done ๆกไปถ: cartridge ๆงๆใๆคๅบใใใstats ใ็ฎๅบใใใฆใใ
Phase 1: Indexer๏ผใณใผใใใผในๅฐๅณไฝๆ๏ผ
็ฎ็: ใฌใใฅใผๅฏพ่ฑกใฎใณใผใใใผในๅ
จไฝๅใ "ๅฐๅณ" ใจใใฆๅฏ่ฆๅ
ๅ
ฅๅ: Phase 0 ใฎ scope ๆ
ๅ ฑ
ๆ้ :
- Task ใใผใซใง
sfra-indexer ใจใผใธใงใณใใ่ตทๅ๏ผmodel: sonnet๏ผ
- Controllers/Routes ใฎใใใใณใฐ
- Models/Decorators ใฎไธ่ฆงๅ
- ISML ใใณใใฌใผใใฎไพๅญ้ขไฟ
- Services/Hooks ใฎๅฎ็พฉๅ้
- Jobs ใฎไธ่ฆงๅ
ๅบๅ: docs/review/.work/01_index.md
ๅบๅๅฝขๅผ:
# SFRA Codebase Index
## Controllers (35 files)
| Controller | Routes | Middleware | Cartridge |
|------------|--------|------------|-----------|
| Account.js | Login, Register, ... | auth, csrf | app_custom |
## Models (28 files)
| Model | Decorators | Used By |
|-------|------------|---------|
| ProductModel.js | base, full | PDP, PLP |
## ISML Templates (120 files)
| Template | Includes | Remote Includes |
|----------|----------|-----------------|
| pdpMain.isml | productCard, reviews | recommendations |
## Services (12 definitions)
| Service ID | Type | Timeout | Retry |
|------------|------|---------|-------|
| payment.authorize | HTTP | 30s | 3 |
## Jobs (8 definitions)
| Job ID | Steps | Schedule |
|--------|-------|----------|
| ProductSync | 3 | Daily 2AM |
Done ๆกไปถ: ๅ
จใซใใดใชใฎ index ใ็ๆใใใฆใใ
Phase 2: Explorer Swarm๏ผใณใผใๅๆ๏ผ
็ฎ็: ๅใฌใคใคใผใๅฐ้ใจใผใธใงใณใใไธฆๅใงๅๆ
ๅ
ฅๅ: Phase 1 ใฎ index ๆ
ๅ ฑ
ๆ้ :
- ไธฆๅๅฎ่ก: 7 ใคใฎ Explorer ใจใผใธใงใณใใ Task ใใผใซใงๅๆ่ตทๅ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ไธฆๅๅฎ่ก๏ผๅไธใกใใปใผใธใง่คๆฐ Task tool ๅผใณๅบใ๏ผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Task(sfra-explorer-controller, model: sonnet) โโโ โ
โ Task(sfra-explorer-model, model: opus) โโโผโโ ไธฆๅ โ
โ Task(sfra-explorer-isml, model: sonnet) โโโค โ
โ Task(sfra-explorer-client, model: sonnet) โโโค โ
โ Task(sfra-explorer-service, model: opus) โโโค โ
โ Task(sfra-explorer-cartridge, model: sonnet) โโโค โ
โ Task(sfra-explorer-jobs, model: sonnet) โโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- ๅใจใผใธใงใณใใฏๆ
ๅฝ็ฏๅฒใฎใฟใๅๆใใใใณใใชใๅฐ็ญๅฝขๅผใงๅบๅ
- Aggregator ๅผใณๅบใ: Two-step Reduce ใง็ตฑๅ
- Step 1: JSON ๆญฃ่ฆๅ๏ผๅใจใผใธใงใณใใฎ findings ใใใผใธ๏ผ
- Step 2: Adjudication Pass๏ผ็็พ่งฃๆถใ้่คๆ้ค๏ผ
Explorer ใจใผใธใงใณใไธ่ฆง:
| Agent | Model | ๆ
ๅฝ็ฏๅฒ |
|---|
| explorer-controller | sonnet | Controllers, Routes, Middleware |
| explorer-model | opus | Models, Decorators, Transactions |
| explorer-isml | sonnet | Templates, Resource Bundles |
| explorer-client | sonnet | Client-side JS, CSS |
| explorer-service | opus | Services, External Integrations |
| explorer-cartridge | sonnet | Architecture, Layering |
| explorer-jobs | sonnet | Jobs, Batch Processing |
ๅบๅ:
docs/review/.work/02_explorer/*.md๏ผๅใจใผใธใงใณใใฎ็ๅบๅ๏ผ
docs/review/.work/03_explorer_unified.md๏ผ็ตฑๅๆธใฟๅๆ๏ผ
Done ๆกไปถ:
- 7 ใจใผใธใงใณใใในใฆใ status: ok ใงๅฎไบ
- explorer_unified.md ใ็ๆใใใฆใใ
Phase 3: Reviewer Swarm๏ผๅ่ณชใฌใใฅใผ๏ผ
็ฎ็: Cross-cutting concerns ใๅฐ้ใจใผใธใงใณใใไธฆๅใงใฌใใฅใผ
ๅ
ฅๅ: Phase 2 ใฎ็ตฑๅๅๆ็ตๆ
ๆ้ :
- ไธฆๅๅฎ่ก: 4 ใคใฎ Reviewer ใจใผใธใงใณใใ Task ใใผใซใงๅๆ่ตทๅ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ไธฆๅๅฎ่ก๏ผๅไธใกใใปใผใธใง่คๆฐ Task tool ๅผใณๅบใ๏ผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Task(sfra-reviewer-performance, model: haiku) โโโ โ
โ Task(sfra-reviewer-security, model: opus) โโโผโโ ไธฆๅ โ
โ Task(sfra-reviewer-bestpractice, model: haiku) โโโค โ
โ Task(sfra-reviewer-antipattern, model: haiku) โโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- ๅ Reviewer ใฏ P0/P1/P2 ใฎ้ๅคงๅบฆไปใใงๆๆไบ้
ใๅบๅ
- Aggregator ๅผใณๅบใ: ๆๆใฎ็ตฑๅใจ Gate ๅคๅฎ
Reviewer ใจใผใธใงใณใไธ่ฆง:
| Agent | Model | ๆ
ๅฝ็ฏๅฒ |
|---|
| reviewer-performance | haiku | Caching, require scope, API calls |
| reviewer-security | opus | XSS, CSRF, Input validation, PII |
| reviewer-bestpractice | haiku | SFRA guidelines, patterns |
| reviewer-antipattern | haiku | Known anti-patterns detection |
ๅบๅ:
docs/review/.work/04_reviewer/*.md๏ผๅใจใผใธใงใณใใฎ็ๅบๅ๏ผ
docs/review/.work/05_review_unified.md๏ผ็ตฑๅๆธใฟใฌใใฅใผ๏ผ
Done ๆกไปถ:
- 4 ใจใผใธใงใณใใในใฆใ status: ok ใงๅฎไบ
- Gate ๅคๅฎใๅฎ่กใใใฆใใ
Phase 4: Reporter๏ผใฌใใผใ็ๆ๏ผ
็ฎ็: ๆ็ตใฌใใฅใผใฌใใผใใ็ๆ
ๅ
ฅๅ: Phase 3 ใฎ็ตฑๅใฌใใฅใผ็ตๆ
ๆ้ :
- Task ใใผใซใง
sfra-reporter ใจใผใธใงใณใใ่ตทๅ๏ผmodel: sonnet๏ผ
- ใใณใใฌใผใใซๅบใฅใใฆใฌใใผใ็ๆ
- Executive Summary ไฝๆ
- ใซใใดใชๅฅ Findings ๆด็
- Recommendations ไฝๆ
ๅบๅ: docs/review/sfra-review.md
Done ๆกไปถ: ใฌใใผใใ็ๆใใใP0/P1/P2 ใฎใตใใชใผใๅซใพใใฆใใ
Gate ๅคๅฎใญใธใใฏ
P0 (Blocker) - 1 ใคใง FAIL
| Category | Trigger |
|---|
| Security | XSS ่ๅผฑๆงใPII ใญใฐๅบๅใCSRF ๆชๅฏพ็ญ |
| Transaction | Transaction ๅข็ๅคใฎๆธใ่พผใฟ |
| Architecture | app_storefront_base ็ดๆฅ็ทจ้ |
| Performance | ใฐใญใผใใซ require ใ 10 ็ฎๆไปฅไธ |
P1 (Major) - 2 ใคไปฅไธใง FAIL
| Category | Trigger |
|---|
| Controller | server.append() ใงใฎ ViewData ๅคๆด |
| ISML | isscript ๅ
business logic 5 ็ฎๆไปฅไธ |
| Service | ใฟใคใ ใขใฆใ/ใชใใฉใคๆช่จญๅฎ |
| Cartridge | Naming collision ๆคๅบ |
| Jobs | ๅช็ญๆงๆชไฟ่จผใTransaction ๅข็้ๅ |
P2 (Minor) - ่ฆๅฏพๅฟใชในใ
| Category | Trigger |
|---|
| Performance | ใญใฃใใทใฅๆชๆดป็จ |
| Code Quality | Magic numbers |
| Best Practice | ่ปฝๅพฎใชใฌใคใใฉใคใณ้ๅ |
Gate ๅคๅฎ็ตๆ
gate_decision:
p0_count: 0
p1_count: 3
p2_count: 12
result: "PASS"
overall_status: "REVIEW_NEEDED"
ใจใผใธใงใณใๅผใณๅบใใใฟใผใณ
Phase 2 Explorer Swarm ๅผใณๅบใไพ
7 ใคใฎ Explorer ใจใผใธใงใณใใไธฆๅใง่ตทๅใใใ
ๅไธใฎใกใใปใผใธๅ
ใง่คๆฐใฎ Task tool ใๅผใณๅบใใ
Task(
description: "Analyze SFRA controllers",
prompt: "Index ใใกใคใซ (.work/01_index.md) ใ่ชญใฟใ
Controllers/Routes/Middleware ใๅๆใใฆ
ใในใใใฉใฏใใฃใน้ๅใๆคๅบใใใ
ๅบๅ: .work/02_explorer/controller.md",
subagent_type: "sfra-explorer-controller",
model: "sonnet"
)
Task(
description: "Analyze SFRA models",
prompt: "Index ใใกใคใซ (.work/01_index.md) ใ่ชญใฟใ
Models/Decorators/Transactions ใๅๆใใฆ
ใในใใใฉใฏใใฃใน้ๅใๆคๅบใใใ
ๅบๅ: .work/02_explorer/model.md",
subagent_type: "sfra-explorer-model",
model: "opus"
)
// ... ๆฎใ 5 ใจใผใธใงใณใๅๆง
Aggregator ๅผใณๅบใไพ
ๅ
จ Explorer ใฎๅบๅใๆใฃใใ Aggregator ใๅผใณๅบใใ
Task(
description: "Aggregate explorer findings",
prompt: ".work/02_explorer/ ้
ไธใฎๅ
จใใกใคใซใ่ชญใฟใ
Two-step Reduce ใง็ตฑๅใใใ
Step 1: findings ใฎใใผใธ
Step 2: ็็พ่งฃๆถใป้่คๆ้ค
ๅบๅ: .work/03_explorer_unified.md",
subagent_type: "sfra-aggregator",
model: "opus"
)
ใใผใซไฝฟ็จใซใผใซ
ๅ Phase ใงไฝฟ็จๅฏ่ฝใชใใผใซ
| Phase | ่จฑๅฏใใผใซ | ๅ่ |
|---|
| Phase 0 | Glob, Bash (read-only) | ใใกใคใซๆคๅบใฎใฟ |
| Phase 1 | Read, Glob, Grep | Index ไฝๆ |
| Phase 2 | Read, Glob, Grep | ๅๆใฎใฟ |
| Phase 3 | Read | ใฌใใฅใผใฎใฟ |
| Phase 4 | Read, Write | ใฌใใผใ็ๆ |
ๆธใ่พผใฟๅถ้
- ๆธใ่พผใฟๅฏ่ฝ:
docs/review/ ใใใณ docs/review/.work/ ใฎใฟ
- ่ชญใฟๅใๅฐ็จ: ใใฎไปใในใฆใฎใใฃใฌใฏใใช
Orchestrate ใณใใณใ
่ชๅๅฎ่กใขใผใใงใฏใไปฅไธใฎใใญใผใงๅ
จ Phase ใ้ ๆฌกๅฎ่กใใ:
่ชๅๅฎ่กใใญใผ
/sfra-review โ Phase 0 โ Phase 1 โ Phase 2 (7 agents) โ Aggregator
โ Phase 3 (4 agents) โ Aggregator + Gate โ Phase 4 โ Report
Done ๅคๅฎ
ๅ Phase ใฎๅฎไบๆกไปถใใใงใใฏใใๆฌกใฎ Phase ใซ่ชๅ้ท็งป:
| Phase | Done ๆกไปถ |
|---|
| 0 | 00_scope.json ใ็ๆๆธใฟ |
| 1 | 01_index.md ใ็ๆๆธใฟ |
| 2 | 7 Explorer ใ status: okใ03_explorer_unified.md ็ๆๆธใฟ |
| 3 | 4 Reviewer ใ status: okใGate ๅคๅฎๅฎไบ |
| 4 | sfra-review.md ใ็ๆๆธใฟ |
ใจใฉใผใชใซใใชใผ
- Explorer ไธ้จๅคฑๆ: ๆๅๅใฎใฟใง Aggregator ๅฎ่ก๏ผ่ญฆๅไปใ๏ผ
- Reviewer ๅคฑๆ: Phase 3 ใใใชใใฉใค
- Aggregator ๅคฑๆ: ๅฏพๅฟใใ Phase ใใใชใใฉใค
ใจใฉใผใใณใใชใณใฐ
| ็ถๆณ | ๅฏพๅฟ |
|---|
| Cartridge ๆชๆคๅบ | status: blockedใใฆใผใถใผใซใใน็ขบ่ชใๆฑใใ |
| Explorer ไธ้จๅคฑๆ | ่ญฆๅใๅบๅใใๆๅใใใใฎใ ใใง็ถ่ก |
| ๅ
จ Explorer ๅคฑๆ | status: blockedใๅๅ ใๅ ฑๅ |
| Aggregator ๅคฑๆ | Phase 2 ใใใชใใฉใค |
| Reporter ๅคฑๆ | Phase 4 ใใใชใใฉใค |
ๅบๅใใฃใฌใฏใใชๆง้
docs/review/
โโโ .work/ # ไธญ้ๆๆ็ฉ๏ผ.gitignore ๆจๅฅจ๏ผ
โ โโโ 00_scope.json # Phase 0: ในใณใผใ
โ โโโ 01_index.md # Phase 1: Index
โ โโโ 02_explorer/ # Phase 2: Explorer ็ๅบๅ
โ โ โโโ controller.md
โ โ โโโ model.md
โ โ โโโ isml.md
โ โ โโโ client.md
โ โ โโโ service.md
โ โ โโโ cartridge.md
โ โ โโโ jobs.md
โ โโโ 03_explorer_unified.md # Phase 2: ็ตฑๅๅๆ
โ โโโ 04_reviewer/ # Phase 3: Reviewer ็ๅบๅ
โ โ โโโ performance.md
โ โ โโโ security.md
โ โ โโโ bestpractice.md
โ โ โโโ antipattern.md
โ โโโ 05_review_unified.md # Phase 3: ็ตฑๅใฌใใฅใผ
โโโ sfra-review.md # ๆ็ตใฌใใผใ