- Add /dev-server skill with preflight checks for environment, deps, ports, and services before starting frontend/backend - Add /frontend-phase skill for tracking implementation phases - Register skills in .claude/settings.json - Update .env.development ports (8001 for API, 3001 for frontend) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.3 KiB
6.3 KiB
Frontend Phase Workflow Skill
Manage the phased frontend development workflow for Mantimon TCG.
Usage
/frontend-phase # Show current phase status and next task
/frontend-phase status # Same as above
/frontend-phase next # Show detailed info about next incomplete task
/frontend-phase start <id> # Mark task as in-progress
/frontend-phase done <id> # Mark task as complete (with tests)
/frontend-phase plan # Create detailed plan for next NOT_STARTED phase
Files
- Master Plan:
frontend/PROJECT_PLAN_FRONTEND.json - Phase Plans:
frontend/project_plans/PHASE_FN_*.json
Workflow
Starting a New Phase
- Run
/frontend-phase planto create the detailed plan for the next NOT_STARTED phase - Review and adjust the generated plan
- Run
/frontend-phase nextto see the first task
Working on Tasks
- Run
/frontend-phase nextto see task details - Run
/frontend-phase start <task-id>to mark it in-progress - Implement the task following the details in the plan
- Write tests with docstrings explaining "what" and "why"
- Run
/frontend-phase done <task-id>when complete with passing tests
Completing a Phase
When all tasks are complete:
- Update master plan status to "COMPLETE"
- Add completedDate
- Increment completedPhases count
Instructions
When /frontend-phase or /frontend-phase status is invoked:
-
Read Master Plan
frontend/PROJECT_PLAN_FRONTEND.json -
Find Current Phase
- Look for first phase with
status: "in_progress"orstatus: "IN_PROGRESS" - If none, look for first phase with
status: "NOT_STARTED"
- Look for first phase with
-
Read Phase Plan (if exists)
frontend/project_plans/PHASE_FN_*.json -
Display Status
## Phase FN: [Phase Name] Status: IN_PROGRESS Progress: X/Y tasks complete ### Completed Tasks - [x] F0-001: Task name - [x] F0-002: Task name ### Next Task **F0-003: Task name** Category: components | Priority: 3 Dependencies: [F0-001, F0-002] [Brief description from plan] Run `/frontend-phase next` for full details.
When /frontend-phase next is invoked:
- Find the first task where
completed: falseand all dependencies are met - Display full task details:
## F0-003: Task Name **Category:** components **Priority:** 3 **Dependencies:** F0-001, F0-002 (all complete) ### Description [Full description from plan] ### Implementation Details - Detail 1 - Detail 2 - Detail 3 ### Files to Create/Modify - `src/components/Foo.vue` (create) - `src/App.vue` (modify) ### Notes [Any notes from the plan] --- Run `/frontend-phase start F0-003` to begin work.
When /frontend-phase start <task-id> is invoked:
- Verify task exists and dependencies are met
- Log that work is starting (no file modification needed)
- Display the task details for reference
- Create Claude Code tasks using TaskCreate if task has multiple sub-items
When /frontend-phase done <task-id> is invoked:
- Verify tests exist and pass for the task (run
npm run test) - Update the phase plan JSON:
- Set
completed: true - Set
tested: true
- Set
- Update
completedTaskscount in meta - Check if phase is complete (all tasks done)
- If phase complete, prompt to update master plan
When /frontend-phase plan is invoked:
- Find next NOT_STARTED phase in master plan
- Read existing phase plans for format reference (check
frontend/project_plans/) - Generate detailed plan based on:
- Phase description and deliverables from master plan
- Architecture patterns from
frontend/CLAUDE.md - Existing code patterns in the codebase
- Site plan and design system from master plan
- Create
frontend/project_plans/directory if it doesn't exist - Write to
frontend/project_plans/PHASE_FN_[name].json - Update master plan phase status to "in_progress"
Task Schema
{
"id": "F0-001",
"name": "Short task name",
"description": "What this task accomplishes",
"category": "setup|components|composables|stores|pages|game|tests|styling",
"priority": 1,
"completed": false,
"tested": false,
"dependencies": ["F0-000"],
"files": [
{"path": "src/components/Foo.vue", "status": "create|modify"}
],
"details": [
"Specific implementation step 1",
"Specific implementation step 2"
],
"estimatedHours": 2,
"notes": "Optional implementation notes"
}
Phase Plan Schema
{
"meta": {
"phaseId": "PHASE_F0",
"name": "Project Foundation",
"version": "1.0.0",
"created": "2026-01-30",
"lastUpdated": "2026-01-30",
"totalTasks": 8,
"completedTasks": 0,
"status": "in_progress"
},
"tasks": [
// Array of task objects
]
}
Categories
Frontend-specific task categories:
| Category | Description |
|---|---|
setup |
Project scaffolding, config, tooling |
components |
Vue components (UI, cards, game) |
composables |
Vue composables (useAuth, useDeck, etc.) |
stores |
Pinia stores |
pages |
Route page components |
game |
Phaser scenes, game objects, animations |
tests |
Test files and testing infrastructure |
styling |
Tailwind config, CSS, design system |
api |
API client, Socket.IO client |
Rules
- Dependencies First - Never start a task with incomplete dependencies
- Tests Required - Every task must have tests before marking complete
- Docstrings Required - Test docstrings explain "what" and "why"
- Commit Approval - Never commit without user approval
- One Task at a Time - Focus on completing current task before starting next
- Update Plans - Keep plan files in sync with actual progress
- Mobile-First - All UI work follows mobile-first responsive design
- TypeScript Strict - No
anytypes, explicit typing required
Test Command
Before marking a task complete:
cd frontend && npm run test
cd frontend && npm run lint
cd frontend && npm run typecheck
Memory Integration
After completing a task or phase, consider storing learnings:
python ~/.claude/skills/memorygraph/client.py store \
--type solution \
--title "Completed PHASE_F0 F0-003" \
--content "Implemented Vue Router with auth guards..." \
--tags "mantimon,frontend,vue-router" \
--importance 0.6