skills/workflow/feature-tracking/SKILL.md
Use when tracking feature status, managing feature directories, or coordinating multi-service features.
npx skillsauth add faysilalshareef/dotnet-ai-kit feature-trackingInstall 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.
.dotnet-ai-kit/features/planned -> specified -> implementing -> implemented -> reviewing -> shipped# Feature: {Feature Name}
## Overview
{One-paragraph description of the feature}
## Acceptance Criteria
- [ ] {Criterion 1}
- [ ] {Criterion 2}
- [ ] {Criterion 3}
## Affected Services
- [ ] {domain}-command: {what changes}
- [ ] {domain}-query: {what changes}
- [ ] {domain}-gateway: {what changes}
## Dependencies
- Requires feature #{NNN} to be implemented first
- External: {any external dependencies}
## Estimated Scope
- Events: {count} new event types
- Endpoints: {count} new API endpoints
- UI: {count} new pages/dialogs
# Spec: {Feature Name}
## Events
| Event Type | Data Fields | Produced By | Consumed By |
|---|---|---|---|
| OrderExportRequested | ExportFormat, Filters | command | processor |
## Aggregate Changes
- `Order` aggregate: add `RequestExport(format)` method
- New event: `OrderExportRequestedData(ExportFormat, DateTime)`
## Query Changes
- New query: `GetExportStatusQuery(Guid exportId)`
- New entity: `ExportJob` with status tracking
## API Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/orders/export | Request export |
| GET | /api/v1/orders/export/{id}/status | Check status |
## UI Changes
- Add "Export" button to Orders data grid toolbar
- Add export status dialog
planned → specified (spec written)
specified → implementing (implementation started)
implementing → implemented (code complete)
implemented → reviewing (PR created)
reviewing → approved (review passed)
approved → shipped (deployed)
Blocked transitions:
reviewing → implementing (fix required, back to implementation)
# List all features and their status
for f in .dotnet-ai-kit/features/*/status.json; do
echo "$(dirname $f | xargs basename): $(cat $f | jq -r .phase)"
done
# Find features in a specific phase
grep -rl '"phase": "implementing"' .dotnet-ai-kit/features/*/status.json
| Anti-Pattern | Correct Approach | |---|---| | No feature directory | Create directory before starting work | | Skipping spec phase | Always write spec before implementing | | Stale status files | Update status.json at each phase transition | | Feature too large | Break into sub-features with dependencies |
# Find feature tracking directory
ls -la .dotnet-ai-kit/features/ 2>/dev/null
# Count features by status
grep -c '"phase"' .dotnet-ai-kit/features/*/status.json 2>/dev/null
data-ai
Use when about to claim work is complete, fixed, passing, or ready — before committing, creating PRs, or moving to the next task. Requires running verification commands and confirming output before making any success claims.
development
Use when encountering any bug, test failure, build error, or unexpected behavior — before proposing fixes or making changes.
development
Use when checkpointing, wrapping up, or handing off an AI-assisted development session.
development
Use when following the Specification-Driven Development lifecycle from plan through ship.