Spec First Development
Overview
Use this skill when the user wants real frontend implementation work, not just placeholder prototype coverage.
The core rule is:
기획 -> 디자인 -> 개발 -> 검증
Do not jump straight to code when the change affects frontend requirements, screen behavior, information structure, interaction flow, or UI rules.
Required Order
Always apply changes in this order when relevant:
- planning
- design
- frontend development
- verification
- optional README refresh
- optional git actions under
ask-before-pushrules
Planning Update
First update the planning document when the request changes frontend-facing behavior:
- feature scope
- business rules
- status definitions
- interaction rules
- frontend validation logic
- navigation or role exposure
- data interpretation rules
- upload or form rules
Design Update
After planning, update design documents to match the new behavior.
At minimum check and update:
- screen design docs
- IA or route structure docs
- wireframes or prototype notes when they define frontend behavior
- prototype screen references when the user wants the actual frontend to follow them
Development Update
Only after planning and design are updated, change the frontend implementation.
Typical code targets:
src/pagessrc/componentssrc/layoutssrc/datasrc/libsrc/routesor route config files
Use existing prototype screens as a reference input when available, but convert them into real frontend pages, flows, and reusable components.
Backend scope is excluded by default:
- do not add API/server/database work under this skill unless the user explicitly asks for backend implementation
- if backend is required, treat that as a separate task or a separate backend-oriented skill
Verification
After frontend implementation:
- make the app runnable locally
- check the changed flow in the browser when feasible
- run verification commands
Default verification:
npm run buildnpm run lint
Use npm run dev when UI review is needed or when the user wants to confirm the change in the browser.
Use Playwright when browser confirmation is useful and available.
Local-Only Rule
If the user says not to commit or not to push:
- do not commit
- do not push
- keep the modified files locally
- make sure the app is viewable in the browser
- restart the dev server if needed
- tell the user the local URL
Treat phrases like these as local-only instructions:
커밋 하지마푸시 하지마커밋 푸시는 하지말고 보여줘로컬에서만 보자
README Refresh
Update README.md when the change materially affects:
- project status
- feature set
- route structure
- setup instructions
- implemented frontend scope
Do not update README for tiny internal refactors unless they change user-facing understanding.
Response Pattern
When doing a feature change, describe progress in this order:
- what changed in planning docs
- what changed in design docs
- what changed in frontend code
- what was verified
- whether commit/push is pending or intentionally skipped
Scope Notes
- Do not update the planning docs only partially when the request clearly changes frontend behavior or user flow.
- Do not update only code when the request affects screen structure, navigation, or interaction workflow.
- Exclude
업무일지from the required update chain. - If the user asks only for simulation or explanation, describe the process without editing files.
- Git actions should still follow the
ask-before-pushskill. - This skill is for actual frontend development, not just prototype placeholder creation.