Implement frontend features — React components, state management, styling, API integration — following established patterns. Use when a user wants to build or fix something in the UI layer (React 19/TypeScript). Loads frontend-specific patterns before writing any code.
This is the base template for role-specific builder skills. When you adopt this framework, do not use it as-is — copy and rename it once per builder role on your team.
aisdlc-builder/ ← this template (ai-sdlc source)
↓ copy & rename per role
backend-builder/
frontend-builder/
mobile-builder/
devops-builder/
ios-builder/
data-builder/
After copying, update two things in each copy's SKILL.md:
name: frontmatter → e.g. backend-builderdescription: frontmatter → scope it to the role (see examples at end of this file)Each role-specific builder skill can also load its own pattern file (e.g. backend-builder loads ai-core/knowledge/patterns/backend-patterns.md) in addition to the shared ai-core/knowledge/patterns/coding-patterns.md.
Before writing any code, read all of these:
CLAUDE.md — understand the project's constraints, stack, and any critical factsai-core/knowledge/patterns/coding-patterns.md — shared patterns that apply across all builder roles; every pattern here must be followedai-core/knowledge/patterns/<role>-patterns.md exists for this builder role, read it; it overrides or extends the shared patterns for this domainai-core/memory/anti-patterns.md — check for known failed approaches in this codebase before proposing an implementation strategyIf files are missing, handle gracefully:
CLAUDE.md missing → Stop. Tell the user: "This project hasn't been onboarded yet. Run /aisdlc-onboard first." This is the only hard stop — without CLAUDE.md, you have no project context.ai-core/knowledge/patterns/coding-patterns.md missing or empty → Warn but proceed. Tell the user: "No coding patterns documented yet. I'll grep the codebase for existing patterns as I go, but consider running /aisdlc-onboard to extract them systematically."ai-core/memory/anti-patterns.md missing → Proceed. No anti-patterns means nothing has failed yet./aisdlc-architect first."Then check for an active plan:
5. ai-core/plans/ — if this directory exists, check for any plan with Status: active that assigns tasks to your builder role. If found, load it to understand your task's context, dependencies, and expected outputs.
Then check for relevant ADRs:
6. ai-core/knowledge/architecture/adr/README.md — scan for ADRs that constrain this feature area
7. Load specific ADRs that directly apply (e.g. backend-builder implementing auth should load the auth ADR; frontend-builder adding a new route should load any routing/SSR ADR)
Before writing code, write out:
What you're building: One sentence describing the feature/fix.
Files to create: List with purpose of each.
Files to modify: List with what changes and why.
Data flow: Trace how data moves through the new code — from entry point through any services, to persistence, and back.
Pattern alignment: For each major decision, name the existing pattern it follows. Example:
handlers/users.go:L45 — same middleware chain, same error wrapping"store/auth.slice.ts:L22"Then ask: "Does this plan look right, or should I adjust the approach before I start?"
Wait for confirmation. Do not start implementing until the user agrees.
If patterns exist (ai-core/knowledge/patterns/coding-patterns.md or the role-specific pattern file has real content):
If no pattern exists for something you need to do:
Never:
If you introduced a novel pattern not in the pattern docs:
Add it to ai-core/knowledge/patterns/coding-patterns.md (shared) or ai-core/knowledge/patterns/<role>-patterns.md (role-specific) with a real code example from what you just wrote.
If you created or significantly changed a component:
Update or create ai-core/knowledge/components/[name].md — updated public interface, new implementation notes, reference to governing ADR.
If you made a structural change that affects the architecture overview:
Update ai-core/knowledge/architecture/overview.md — topology section if you added/changed how components interact.
If you used a non-obvious approach that worked well:
Append a one-liner to ai-core/memory/learnings.md:
[YYYY-MM-DD] <role> — <what worked and why> #candidate-for-promotion
Keep it brief — this is a signal for the reviewer, not a full pattern doc.
Before declaring done, verify:
ai-core/knowledge/patterns/coding-patterns.md and the role-specific pattern fileai-core/memory/anti-patterns.md was checked — no known failure modes were repeatedai-core/knowledge/components/ updated if a component was created or significantly changedRead references/implementation-checklist.md for the expanded checklist when the feature spans multiple components.
When you copy this template, replace the frontmatter description with a role-scoped version:
backend-builder: