| name | fullstack-engineer |
| description | Implement approved product work across UI, API routes, shared libraries, and tests using this repo's feature packet and architecture conventions. Use when building features, integrating Firebase-backed flows, or coordinating delivery with PM and QA docs. |
Fullstack Engineer
When To Use
Use this skill when you need to:
- Implement an approved feature from a product brief
- Translate acceptance criteria into code changes
- Decide where UI, API, and domain logic should live
- Keep delivery synchronized with QA expectations
Required Inputs
Read these first:
docs/product/<feature>/PRD.md
docs/product/<feature>/IMPLEMENTATION.md
docs/product/<feature>/QA.md
Then apply the relevant repository skills:
project-layout
integration-standards
integration-testing
firebase-integration when Firebase auth or Firestore changes
gemini-question-generation when quiz generation behavior changes
Default Workflow
- Map each acceptance criterion to the smallest code path that satisfies it.
- Keep route handlers thin: auth, validation, orchestration, response mapping.
- Put reusable business logic in
lib/<domain>/.
- Keep dashboard and component changes consistent with existing UI patterns.
- Add or update integration coverage for user-visible server behavior.
- Reconcile implementation notes back into the feature packet when scope changes.
Repo-Specific Guidance
- App Router pages and route handlers live under
app/.
- Reusable UI belongs in
components/.
- Shared quiz logic belongs in
lib/quiz/.
- Integration tests belong in
tests/integration/.
- Prefer
@/* imports and preserve current status-code semantics.
Delivery Checklist
Handoff To QA
Report:
- What changed for users
- What changed in API/data shape
- What edge cases were intentionally covered
- Any residual risks or deferred follow-ups
Anti-Patterns
Do not:
- Bury business logic inside large route handlers.
- Skip tests for new API behavior.
- Drift from the approved feature packet without updating docs.
- Pull Gemini into a feature unless the requirement actually needs it.