skills/feature-build/SKILL.md
Orchestrator skill for the complete feature development lifecycle. Coordinates 5 phases - task selection, component design, build loop, analytics setup, and commit/documentation. Use when building any new feature or enhancement that requires multiple steps.
npx skillsauth add aussiegingersnap/cursor-skills feature-buildInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrates the complete feature development lifecycle with clear phases, entry/exit criteria, and conversation loop patterns. This skill transforms feature requests into shipped, tested, and documented code.
Inputs:
Outputs:
Success Criteria:
Acceptance Criteria First — Define what "done" looks like before writing code. Testable criteria prevent scope creep and enable verification.
Components Live in Style Guide — Every UI component starts in the style-guide page. This ensures reusability, documents all states, and provides a living reference.
Test What You Build — Use browser tools to verify each step. Don't wait until the end to discover issues.
KISS (Keep It Simple, Stupid) — Implement the simplest solution that meets the criteria. Avoid over-engineering.
Loop Back, Don't Push Forward — When something doesn't work, return to the appropriate phase rather than patching around issues.
Features are built through phases that can loop back when issues arise:
┌───────────────────────────────────────────────────────────────────────────────┐
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ Task │──▶│Component │──▶│ Build │──▶│Analytics │──▶│ Build │ │
│ │Selection │ │ Design │ │ Loop │ │ Setup │ │Verification │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └─────────────┘ │
│ ▲ │ │ │ │ │
│ │ ▼ ▼ ▼ ▼ │
│ │ ◀────────────◀─────────────◀──────────────────────────────────│
│ │ (loop back if criteria fail or build errors) │
│ │ │
│ │ ┌──────────────┐ │
│ └────────────────────────────────────────────────────│ Commit & │◀──│
│ (next feature) │ Document │ │
│ └──────────────┘ │
└───────────────────────────────────────────────────────────────────────────────┘
Read TASKS.md — Identify the next item from Current Sprint
Read TASKS.md and identify the next unchecked item in Current Sprint
Confirm Scope — Clarify with user what's included and excluded
Break Down if Complex — Split large features into sub-tasks
Define Acceptance Criteria — Write testable criteria
### Feature: [Name]
**Acceptance Criteria:**
- [ ] User can [specific action]
- [ ] System [specific behavior] when [condition]
- [ ] Error case: [scenario] displays [message]
- [ ] Mobile: [behavior] works on viewport < 768px
Check Style Guide First — Look for existing components that can be reused or extended
Navigate to /style-guide and snapshot to see existing components
Design in Style Guide — Build new components in the style-guide page
components/ui/ barrel fileShow All States — Document every component state:
Mobile Considerations — Test responsive behavior
<section id="my-component">
<SectionHeader title="My Component" />
<div className="space-y-6">
<h4 className="text-xs font-medium text-muted-foreground uppercase tracking-wide">
Variants
</h4>
<div className="flex flex-wrap gap-3">
<MyComponent variant="default" />
<MyComponent variant="secondary" />
</div>
<h4 className="text-xs font-medium text-muted-foreground uppercase tracking-wide">
States
</h4>
<div className="flex flex-wrap gap-3">
<MyComponent loading />
<MyComponent disabled />
<MyComponent error="Error message" />
</div>
</div>
</section>
/style-guidecomponents/ui/index.tsBuild data layer and API before wiring to UI:
Wire components to backend:
Test at each step using Cursor browser tools:
1. Navigate to the page being tested
2. Snapshot to get element references
3. Interact with elements (click, type, etc.)
4. Re-snapshot after state changes
5. Verify expected behavior
6. Screenshot if visual verification needed
See references/testing-patterns.md for detailed testing scenarios.
Forms:
Lists/Tables:
Modals/Dialogs:
Navigation:
Return to Phase 2 if:
Return to Phase 1 if:
Identify Tracking Needs — What user actions matter?
| Feature Type | Typical Events |
|-------------|----------------|
| Form | {form}_submitted, {form}_error |
| Feature | {feature}_used, {feature}_completed |
| Navigation | {page}_viewed |
| Pro Feature | {feature}_attempted, {feature}_upgrade_shown |
Implement Events — Add PostHog capture calls
posthog.capture('{feature}_{action}', {
feature: 'feature-name',
// action-specific properties
})
Create Dashboard (if appropriate) — Use PostHog MCP tools
Use mcp_posthog-study-bible_dashboard-create for new dashboards
Use mcp_posthog-study-bible_insight-create-from-query for insights
Pro Features — If feature is gated, follow feature-gating skill:
useProFeature() hook_attempted, _upgrade_shown, _upgrade_clicked events{feature}_{action}
Examples:
- notes_created
- notes_synced
- chat_message_sent
- upgrade_modal_shown
- model_changed
Run Production Build
npm run build
Check Linter
npm run lint
Verify No Regressions
Return to Phase 3 if:
npm run build succeeds with exit code 0npm run lint passes (no errors)Update TASKS.md
Update CHANGELOG.md
Stage and Commit
<type>(<scope>): <subject>
Types: feat, fix, docs, style, refactor, perf, test, chore, ci, build, revert
Provide at end of feature for easy copy-paste:
### Done
**Summary**: [Brief description of what was built]
**Commits** (ohmyzsh):
gaa && gcmsg "feat(scope): add feature description"
gcmsg "fix(scope): fix related issue"
gp
## Completed
- [x] Feature name (YYYY-MM-DD)
- [x] Sub-task 1 ✓
- [x] Sub-task 2 ✓
- [x] Sub-task 3 ✓
| Phase | Entry | Exit |
|-------|-------|------|
| 1. Task Selection | Feature request | Criteria defined |
| 2. Component Design | Criteria clear | Components in style-guide |
| 3. Build Loop | Components ready | All criteria pass in browser |
| 4. Analytics | Feature working | Events instrumented |
| 5. Build Verification | Analytics done | npm run build succeeds |
| 6. Commit | Build passes | Docs updated, committed |
# Start dev server
npm run dev
# Clear Next.js cache if issues
rm -rf .next
# Rebuild native modules
npm rebuild better-sqlite3
# Git workflow (ohmyzsh)
gaa && gcmsg "feat(scope): description"
gp
1. mcp_cursor-ide-browser_browser_navigate → load page
2. mcp_cursor-ide-browser_browser_snapshot → get elements
3. mcp_cursor-ide-browser_browser_click/type → interact
4. mcp_cursor-ide-browser_browser_snapshot → verify changes
5. mcp_cursor-ide-browser_browser_take_screenshot → visual check
tools
# Versioning Skill Semantic versioning automation based on conventional commits. Automatically manages version bumps, changelogs, and git tags using `standard-version`. ## When to Use - Before releasing a new version - When preparing a deployment - To generate/update CHANGELOG.md - When the user asks about version management - Setting up versioning for a new project ## Prerequisites - Conventional commits enforced (recommended: lefthook) - Node.js project with package.json ## Setup (One-Ti
tools
Theme generation with tweakcn for shadcn/ui and Magic UI animations. Use when setting up project themes, customizing color schemes, adding dark mode, or integrating animated components.
tools
shadcn/studio component library with MCP integration, theme generation, and block patterns. This skill should be used when building UI with shadcn components, selecting dashboard layouts, or generating landing pages. Canonical source for all shadcn-based work.
development
Enforce a precise, minimal design system inspired by Linear, Notion, and Stripe. Use this skill when building dashboards, admin interfaces, or any UI that needs Jony Ive-level precision - clean, modern, minimalist with taste. Every pixel matters.