ported/20260305-085418/dev-tools/skills/feature-dev/SKILL.md
Feature development workflow with exploration, architecture, implementation, and review phases. Use for implementing new features or significant changes.
npx skillsauth add sequenzia/agent-alchemy feature-devInstall 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.
Execute a structured 7-phase feature development workflow. This workflow guides you through understanding, exploring, designing, implementing, and reviewing a feature.
Execute these phases in order:
agents/code-reviewer.md) -- Reviews code for correctness, security, and maintainability with confidence-scored findings. Used in Phase 6.../../core-tools/skills/codebase-analysis/agents/code-architect.md from the core-tools package) -- Designs implementation blueprints. Used in Phase 4.Goal: Understand what the user wants to build.
Analyze the feature description from $ARGUMENTS:
Summarize your understanding to the user. Prompt the user to confirm if your understanding is correct before proceeding.
Goal: Understand the relevant parts of the codebase.
Run deep-analysis workflow:
Present the synthesized analysis to the user.
Goal: Resolve any ambiguities before designing.
Review the feature requirements and exploration findings.
Identify underspecified aspects:
Ask clarifying questions: Prompt the user for answers to critical unknowns. Only ask questions that would significantly impact the implementation.
If no clarifying questions are needed, inform the user and proceed.
Goal: Design the implementation approach.
Load skills for this phase:
Launch architect agents:
Delegate to 2-3 architect agents (see the code-architect agent in the core-tools package: ../../core-tools/skills/codebase-analysis/agents/code-architect.md) with different approaches:
Agent 1: Design a minimal, focused approach prioritizing simplicity
Agent 2: Design a flexible, extensible approach prioritizing future changes
Agent 3: Design an approach optimized for the project's existing patterns (if applicable)
Each agent should receive:
Feature: [feature description]
Design approach: [specific approach for this agent]
Based on the codebase exploration:
[Summary of relevant files and patterns]
Design an implementation that:
- Lists files to create/modify
- Describes the changes needed in each file
- Explains the data flow
- Identifies risks and mitigations
Return a detailed implementation blueprint.
Present approaches:
User chooses approach: Prompt the user to select an approach or request modifications.
Generate ADR artifact:
internal/docs/adr/internal/docs/adr/NNNN-[feature-slug].md (create internal/docs/adr/ if needed)Goal: Build the feature.
Require explicit approval: Ask the user: "Ready to begin implementation of [feature] using [chosen approach]?" Wait for confirmation before proceeding.
Read all relevant files: Before making any changes, read the complete content of every file you'll modify.
Implement the feature:
Test if applicable:
Proceed to Phase 6.
Goal: Review the implementation for issues.
Load skills for this phase:
Launch reviewer agents:
Delegate to 3 reviewer agents (see agents/code-reviewer.md for instructions) with different focuses:
Agent 1: Review for correctness and edge cases
Agent 2: Review for security and error handling
Agent 3: Review for maintainability and code quality
Each agent should receive:
Review focus: [specific focus for this agent]
Files to review:
[List of files modified/created]
Review the implementation and report:
- Issues found with confidence scores (0-100)
- Suggestions for improvement
- Positive observations
Only report issues with confidence >= 80.
Aggregate findings:
Present findings: Show the user:
User decides: Prompt the user to choose:
If fixing: make the changes and re-review if needed.
Proceed to Phase 7.
Goal: Document and celebrate accomplishments.
Summarize accomplishments: Present to the user:
Update CHANGELOG.md:
[Unreleased] section with:
CHANGELOG.md doesn't exist, create it with proper header[Unreleased]Final message: Congratulate the user and offer next steps:
If any phase fails:
When launching parallel agents (architect agents from core-tools, reviewer agents):
Use this template when generating Architecture Decision Records in Phase 4.
# ADR-NNNN: [Title]
**Date:** YYYY-MM-DD
**Status:** Accepted
**Feature:** [Feature name/description]
## Context
[Describe the situation that led to this decision. Include:]
- What problem are we solving?
- What constraints do we have?
- What are the driving forces?
## Decision
[State the decision clearly and concisely. Include:]
- What approach are we taking?
- Key architectural choices made
- Technologies/patterns selected
## Consequences
### Positive
- [Benefit 1]
- [Benefit 2]
- [Benefit 3]
### Negative
- [Tradeoff 1]
- [Tradeoff 2]
### Risks
- [Risk 1 and mitigation]
- [Risk 2 and mitigation]
## Alternatives Considered
### Alternative 1: [Name]
[Brief description]
- **Pros:** [List]
- **Cons:** [List]
- **Why rejected:** [Reason]
### Alternative 2: [Name]
[Brief description]
- **Pros:** [List]
- **Cons:** [List]
- **Why rejected:** [Reason]
## Implementation Notes
[Any specific implementation guidance:]
- Key files to create/modify
- Important patterns to follow
- Integration points
## References
- [Link to related docs]
- [Link to similar implementations]
Determine ADR number:
internal/docs/adr/Create filename:
NNNN-feature-slug.md0003-user-authentication.mdFill in the template:
Save location:
internal/docs/adr/ directory if it doesn't exist# ADR-0003: User Authentication with JWT
**Date:** 2024-01-15
**Status:** Accepted
**Feature:** User login and session management
## Context
The application needs user authentication. Users should be able to log in and maintain sessions across page refreshes. The API is stateless and serves both web and mobile clients.
Key constraints:
- Must work with stateless API
- Must support multiple clients
- Session should persist across browser refreshes
- Need to handle token refresh gracefully
## Decision
We will use JWT (JSON Web Tokens) for authentication with the following approach:
- Access tokens with 15-minute expiry
- Refresh tokens with 7-day expiry stored in httpOnly cookies
- Token refresh handled automatically by API client interceptor
## Consequences
### Positive
- Stateless authentication scales horizontally
- Works seamlessly with mobile clients
- Standard approach with good library support
### Negative
- Cannot immediately invalidate tokens (must wait for expiry)
- More complex than session-based auth
- Requires careful handling of token storage
### Risks
- Token theft: Mitigated by short access token expiry and httpOnly cookies
- XSS attacks: Mitigated by not storing tokens in localStorage
## Alternatives Considered
### Alternative 1: Session-based authentication
Using server-side sessions with cookies.
- **Pros:** Simple, immediate revocation
- **Cons:** Requires session storage, harder to scale
- **Why rejected:** Doesn't fit our stateless API architecture
### Alternative 2: OAuth 2.0 with external provider
Using Google/GitHub for authentication.
- **Pros:** No password management, trusted providers
- **Cons:** Dependency on external services, some users prefer local accounts
- **Why rejected:** Users need local account option
## Implementation Notes
- Create `src/auth/` module for authentication logic
- Use `jsonwebtoken` library for JWT operations
- Add middleware to verify tokens on protected routes
- Store refresh token in `users.refresh_token` column
## References
- JWT Best Practices: https://tools.ietf.org/html/rfc8725
- OWASP Auth Cheatsheet: https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
Use this template when adding feature changelog entries in Phase 7.
Entries should be concise, user-focused lines under the appropriate category:
### Added
- Add [feature name] with [key capability]
### Changed
- Update [component] to [new behavior]
### Fixed
- Fix [issue description]
Locate CHANGELOG.md:
CHANGELOG.md in the repository rootFind the [Unreleased] section:
## [Unreleased]Choose the appropriate category:
Write concise entries:
If creating a new CHANGELOG.md:
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [Unreleased]
### Added
- Your new feature entry here
### Added
- Add user profile editing with avatar upload support
### Added
- Add profile edit form with real-time validation
- Add avatar upload with image cropping
### Changed
- Update navigation to display user avatar
### Added
- Add JWT-based user authentication (see ADR-0003)
Use these categories from Keep a Changelog (in this order):
| Category | Use For | |----------|---------| | Added | New features | | Changed | Changes to existing functionality | | Deprecated | Features that will be removed in future | | Removed | Features that were removed | | Fixed | Bug fixes | | Security | Security improvements |
For feature development, Added and Changed are most common.
This skill uses agents from two sources:
From this package (dev-tools):
From the core-tools package (cross-reference):
development
Systematic, hypothesis-driven debugging workflow with triage-based track routing. Use when asked to "fix this bug", "debug this", "why is this failing", "this is broken", "investigate this error", "track down this issue", or any debugging situation. Supports --deep flag to force full investigation.
development
Executes diagnostic investigation tasks to test debugging hypotheses. Runs tests, traces execution, checks git history, and reports evidence. (converted from agent)
content-media
Provides architectural pattern knowledge for designing feature implementations including MVC, event-driven, microservices, and CQRS patterns. Use when designing system architecture or choosing implementation patterns.
documentation
Provides Mermaid diagram syntax, best practices, and styling rules for technical visualizations. Use when creating diagrams, flowcharts, sequence diagrams, class diagrams, state diagrams, ER diagrams, architecture diagrams, C4 diagrams, or any visual documentation in markdown.