← ClaudeAtlas

web-frontend-speclisted

Augment a sprint's SPEC.md with a Frontend section (component tree, state, a11y, routing, performance budget, Playwright e2e plan) tailored to the project's stack (React/Vue/Svelte/Solid/Astro/RN). Coordinator-only — does not write production code. Pauses for user confirmation. Read before /magi:tasks so the test plan is captured in TASKS.md.
bozkurtonur3-lgtm/magi-workflow · ★ 1 · Web & Frontend · score 77
Install: claude install-skill bozkurtonur3-lgtm/magi-workflow
# /magi:web-frontend-spec — frontend elaboration You are the coordinator. Add a frontend-specific section to a sprint's SPEC.md. **You do not write production code.** Read `references/domain/web/frontend.md` before starting. ## 0. Preflight ```bash PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-}" [[ -z "$PLUGIN_ROOT" ]] && PLUGIN_ROOT="$(cd "$(dirname "$BASH_SOURCE[0]")/../.." 2>/dev/null && pwd)" USER_CONFIG="$HOME/.config/magi-workflow/config.json" ``` If config missing → tell user to run `/magi:setup`. ## 0.5. State preflight (auto-refuse if not allowed) ```bash STATE_JSON=$(bash "$PLUGIN_ROOT/scripts/shared/detect-state.sh") blocked=$(jq -r '.disallowed_skills["web-frontend-spec"] // empty' <<<"$STATE_JSON") if [[ -n "$blocked" ]]; then reason=$(jq -r '.disallowed_skills["web-frontend-spec"].reason' <<<"$STATE_JSON") suggest=$(jq -r '.disallowed_skills["web-frontend-spec"].suggest' <<<"$STATE_JSON") echo "Cannot run /magi:web-frontend-spec: $reason" echo "Suggested: $suggest" exit 1 fi ``` `--force` skips preflight (advanced/recovery only). ## 1. Locate sprint + spec Find the sprint folder (default: most recent; or `--sprint <num>-<slug>`). The folder must contain a plan-equivalent file. Identify which exists (priority order): - If SPEC.md exists → use SPEC.md as the target. - If only PLAN.md exists → use PLAN.md as the target. Do NOT rename or "upgrade" PLAN.md to SPEC.md — that is a separate decision the user makes via `/magi:plan`, not forced by web-* ski