| name | build-feature |
| description | Work a feature end to end. Use when the user invokes /build-feature or asks to build, implement, or work on a feature. Covers the full lifecycle from branch creation through implementation, commits, and PR. |
Feature
Work a feature through its full lifecycle: branch, plan, implement, commit, PR.
Workflow
- Clarify the feature requirements — ask the user if anything is ambiguous
- Create a feature branch off
main
- Plan the implementation approach
- Implement in small, focused iterations
- Invoke the
/commit skill after each logical unit of work — do not commit manually
- Run
pnpm build before each commit to check for TypeScript errors
- Create a PR using
/pull-request conventions when the feature is complete
Branch Naming
type/short-description
- Use the commit type as prefix:
feat/, fix/, refactor/, etc.
- Use kebab-case for the description
- Keep it short and descriptive
Examples:
feat/listing-support
fix/deploy-theme-rename
refactor/extract-settings-patterns
Planning
Before writing code:
- Explore the relevant parts of the codebase to understand existing patterns
- Identify which files need to change and what new files are needed
- Present the plan to the user for approval before implementing
- If the approach is unclear, ask the user — don't guess
Implementation
Use test-driven development:
- Write a failing test for the next piece of functionality
- Run
pnpm test to confirm it fails
- Write the minimum code to make it pass
- Refactor if needed
- Commit the test and implementation together
Additional guidelines:
- Follow existing code patterns and conventions in the project
- Run
pnpm build frequently to catch type errors early
- Ask the user for direction when making design decisions with multiple valid approaches
Committing
Invoke the /commit skill for every commit — do not write commit messages manually. Build bottom-up: implement the building blocks first as isolated commits, then compose them.
Example commit sequence for a feature:
- Add utility function with tests
- Add service layer with tests
- Add command that wires it together
- Update docs
Each commit should be a self-contained unit — a module and its tests, a service and its tests, a command and its flags. Don't batch unrelated changes into a single commit.
Completing
When the feature is done:
- Verify all tests pass with
pnpm test
- Verify build is clean with
pnpm build
- Invoke the
/pull-request skill to create the PR — do not create PRs manually
- Share the PR URL with the user