Awesome-omni-skill feature-dev-workflow
Complete end-to-end feature development workflow from issue tracking through PR delivery. Use for implementing features, building new functionality, and adding capabilities. Includes requirements discovery, architecture planning, implementation, testing, code review, design audit, and comprehensive validation.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/product/feature-dev-workflow" ~/.claude/skills/diegosouzapw-awesome-omni-skill-feature-dev-workflow && rm -rf "$T"
skills/product/feature-dev-workflow/SKILL.mdfeature-dev-workflow
Execute complete feature development from issue through PR. Optimized for Claude 4.5's long-horizon reasoning and state tracking.
Core Principles
- Incremental Progress: Steady advances on few things at a time
- Persistent Simplification: Challenge complexity at every phase
- State Tracking: Document decisions across phases
- Self-Validation: Check work before proceeding
- Fail Fast: Stop and ask when blocked
Issue Tracking
This skill supports both Linear and GitHub Issues:
| Format | System | Example |
|---|---|---|
| Linear | Linear ticket ID |
or | GitHub | GitHub issue number |
| URL | Either | Full issue URL |
Auto-detection: The skill will detect which system to use based on the issue format provided.
Invocation
Receive issue ID (Linear: "ABC-123", GitHub: "#123" or "GH-123"). Follow workflow sequentially, maintain detailed TODO list.
General Rules
Self-checks: If any self-check fails, take corrective action before proceeding.
Stopping conditions: Stop and use AskUserQuestion if:
- Blocked on same issue 3+ times
- Browser automation fails 3+ times
- Approach seems fundamentally wrong
- Scope creep detected
- Uncertain about product decisions
- Need to discuss tradeoffs
- Self-check reveals unresolved issues
Phase 1: Requirements Discovery
Goal: Transform rough issue into well-defined spec.
Process:
- Fetch issue (detect system from format):
- Linear (
): Use Linear MCP to fetch ticketABC-123 - GitHub (
,#123
): UseGH-123gh issue view <number> --json title,body,labels,assignees
- Linear (
- Explore codebase: Related patterns, similar implementations, data models
- Develop 2-3 competing hypotheses: Document alternatives with pros/cons, confidence levels
- AskUserQuestion: Unclear requirements, product decisions, tradeoffs, scope
- Push back: Challenge complexity, suggest scope cuts
- Update issue with refined spec:
- Linear: Use Linear MCP
to update descriptionupdate_issue - GitHub: Use
to update descriptiongh issue edit <number> --body "..."
- Linear: Use Linear MCP
Self-Check:
- User value clear?
- Simplest approach identified?
- Ambiguities resolved?
- Pushed back on complexity?
Output: Refined ticket:
# [Concise Feature Title] ## Outcome [User-facing value we're achieving] ## Architecture [High-level technical approach using existing patterns] - Data model: [changes needed] - API/Backend: [approach] - Frontend: [structure and integration points] - Reuse: [existing code being leveraged] ## Verification Steps - [ ] Testable success criterion 1 - [ ] Testable success criterion 2 - [ ] Edge case N ## Decisions Made - Decision: [rationale] - Tradeoff: [choice and why]
State: Approaches evaluated, decisions made, scope defined, user answers
Checkpoint: Update ticket. Summarize decisions and await approval.
Phase 2: Implementation Planning
Goal: Deep understanding of implementation.
Process:
- Explore codebase: Implementation details, types/interfaces, patterns, data flow
- Plan data layer: Database changes? API endpoints? Data models?
- Plan frontend: Component hierarchy? UI placement? State management?
- Parallel work: Can backend/frontend work simultaneously? Clear boundaries?
Self-Check:
- Files to create/modify identified?
- Dependencies mapped?
- Parallelization safe?
- Approach simplifiable?
Stopping: If stuck 3+ times, ask user.
State: Files to modify, dependencies, parallel plan, open questions
Checkpoint: Document approach. Proceed to Phase 3.
Phase 3: Simplification Review
Goal: Reduce complexity before coding.
Process:
- Challenge design: Better architecture? Code reuse? Component hierarchy? Remove features?
- Question abstractions: Need this layer? Flatter approach? Simpler way?
- No backwards compatibility unless stated
Self-Check:
- Unnecessary abstractions removed?
- Reusing existing code?
- Simplest design that works?
Decision Point: If simplification reveals issues, use AskUserQuestion.
State: Simplifications made, abstractions removed, reuse identified
Checkpoint: Summarize approach and await approval.
Phase 4: Implementation
Goal: Build feature incrementally.
Process:
-
Create feature branch:
- Linear: Fetch ticket via MCP to get
field (e.g., 'username/abc-123-feature-name')branchName - GitHub: Generate branch name from issue (e.g., 'feat/gh-123-issue-title-slug')
- Create and checkout feature branch:
git checkout -b [branchName] - Verify branch created:
git branch --show-current
- Linear: Fetch ticket via MCP to get
-
Parallel execution (if applicable):
- Define task boundaries clearly
- One agent per layer (backend/frontend/infrastructure)
- Document coordination upfront
- Monitor conflicts
-
Follow project patterns:
- Check project CLAUDE.md, README.md, or docs/ for coding standards
- Use existing patterns for consistency
- Leverage relevant Claude skills for your tech stack
-
Implement systematically:
- Backend/data layer first
- API endpoints second
- Frontend components third
- Monitor dev server/hot reload
Self-Check (after each layer):
- Follows project patterns?
- Validated properly (types, schemas)?
- Simpler than plan?
- Dev environment working?
Stopping: If stuck 3+ attempts, ask user.
State: Files modified, patterns used, deviations, blockers
Checkpoint: Implementation complete. Proceed to Phase 5.
Phase 5: Initial Testing
Goal: Working state via end-to-end testing.
Process:
- Start development server (if not already running)
- Browser testing: Use browser automation to test end-to-end if applicable
- Test loop: Happy path → fix bugs → re-test
- Check logs: Console errors, server logs, network requests
Stopping: If testing fails repeatedly, try alternative approach or ask user.
Self-Check:
- Happy path works?
- Tested in appropriate environment?
- Errors checked and resolved?
State: Tests performed, bugs fixed, approach used
Checkpoint: Feature works. Proceed to Phase 6.
Phase 6: Code Simplification
Goal: Reduce implementation complexity.
Process:
- Review with fresh perspective
- Run code-simplifier skill if available
- Check for common issues:
- Unnecessary abstractions
- Dead code
- Over-engineered solutions
- Premature optimization
- Challenge assumptions: Drastically simpler? Tradeoffs? Better approaches?
- AskUserQuestion if: Simplification opportunities with tradeoffs, alternative approaches, assumptions to validate
Self-Check:
- Complexity removal attempted?
- Code simplifier run (if available)?
- Obvious simplifications addressed?
- Tradeoffs to discuss?
State: Simplifications applied, tradeoffs considered, questions
Checkpoint: Code simplified. Proceed to Phase 7.
Phase 7: Design Review
Goal: Optimal user interface, design system aligned.
Process:
- Visual review: Review UI components/pages in browser
- Run frontend-design skill if available
- Run web-design-guidelines skill for accessibility/UX audit if available
- Check design system:
- Consistent with existing UI?
- Following component library patterns?
- Proper spacing, typography, colors?
- Accessible (ARIA labels, keyboard nav, contrast)?
- Run code-simplifier on UI components
Self-Check:
- Consistent with existing UI?
- Design skills run (if available)?
- Visual hierarchy clear?
- Components not over-nested?
- Accessible to all users?
- Design choices to discuss?
State: Design changes, skills run, decisions
Checkpoint: Design reviewed. Proceed to Phase 8.
Phase 8: Comprehensive Testing
Goal: End-to-end validation vs ticket.
Process:
- Test all verification steps from ticket
- Test edge cases
- Test error states
- Verify outcomes achieved
- Run formatter: Run project's code formatter (e.g.,
,npm run format
)bun run format - Run linter: Run project's linter (e.g.,
,npm run lint
)bun run lint - Run build: Ensure production build succeeds (e.g.,
,npm run build
)bun run build - Run tests: Run automated test suite if it exists (e.g.,
,npm test
)bun test
Self-Check:
- All verification steps pass?
- Edge cases handled?
- Error states work?
- Outcome achieved?
- Formatter run successfully?
- Linter passes?
- Build passes with no errors?
- Tests pass (if applicable)?
Stopping: If testing reveals fundamental issues or build fails, discuss scope/approach changes.
State: Verification steps completed, edge cases tested, issues fixed, code formatted, build passes
Checkpoint: All tests pass, code formatted, build succeeds. Proceed to Phase 9.
Phase 9: Pull Request
Goal: Document work clearly.
Process:
- Open PR on GitHub
- Write clear title:
- Linear:
orfeat: Description (ABC-123)fix: Description (ABC-123) - GitHub:
orfeat: Description (#123)fix: Description (#123)
- Linear:
- Write description:
## Summary [What this PR does] ## Changes - Key change 1 - Key change 2 ## Architecture Decisions - Decision: [rationale] ## Testing Performed - [ ] Manual test 1 - [ ] Manual test 2 - [ ] Edge cases verified ## Screenshots [Include screenshots of any new UI] Closes ABC-123 (Linear) or Closes #123 (GitHub)
- Link issue:
- GitHub issues: Use
in PR body (auto-closes on merge)Closes #123 - Linear: Use
(Linear integration picks this up)Closes ABC-123
- GitHub issues: Use
State: PR URL, screenshots captured
Checkpoint: PR open. Proceed to Phase 10.
Phase 10: Cleanup & Documentation
Goal: Prepare for future sessions.
Process:
- Clean up intermediate files
- Update README only if architecturally significant
- Update docs/ only if needed (concise, complex changes only)
- Update CLAUDE.md only if needed (ONE line or link to detailed doc)
- Mark TODOs complete
Self-Check:
- No intermediate files?
- Documentation appropriate (not over-documented)?
- TODO list cleared?
Final Checkpoint: Summarize delivery.
State Tracking Throughout
Track in each phase:
- Current phase and goal
- Decisions made and rationale
- Open questions and blockers
- Files modified
- What's working vs. not
Update TODO list continuously.
Critical Reminders
- Maintain detailed TODO list
- Use Explore agent for codebase understanding
- Self-check at each phase end
- Available skills (use if helpful):
- code-simplifier (Phases 6, 7)
- frontend-design (Phase 7)
- web-design-guidelines (Phase 7)
- Project-specific skills (check your project's CLAUDE.md)
- Don't kill dev server unnecessarily (hot-reload is your friend)
- SIMPLIFY at every opportunity
- No backwards compatibility unless stated
- Coordinate subagents with clear boundaries
- Track state for long-horizon reasoning
- Major checkpoints: After Phase 1, 3, 10
GitHub Issue Commands Quick Reference
When using GitHub issues instead of Linear:
# View issue gh issue view <number> --json title,body,labels,assignees,state # Update issue body gh issue edit <number> --body "new description" # Add labels gh issue edit <number> --add-label "in-progress" # Add comment gh issue comment <number> --body "Status update..." # Close issue gh issue close <number> # List issues gh issue list --label "bug" --state open # Create issue gh issue create --title "..." --body "..." --label "feature"
Customization
To adapt this skill to your project:
- Update the skill description in YAML frontmatter with your project name
- Create a references/ folder with your project-specific patterns (optional):
- Tech stack details
- Coding standards
- Architecture patterns
- Common pitfalls
- Modify Phase 4 to reference your project's patterns file
- Add project-specific skills to the Critical Reminders section
Example reference structure:
your-skill-name/ ├── SKILL.md # This file (customized) └── references/ # Optional └── project-patterns.md # Your project's patterns