// SDLC workflow automation that implements features using TDD skill, runs test-runner skill, and prepares commit commands for user review. Use when user provides a spec/plan for a new feature. Workflow: (1) invokes test-driven-development skill with spec, (2) invokes test-runner skill, (3) prepares git commands for user to execute manually.
| name | sdlc |
| description | SDLC workflow automation that implements features using TDD skill, runs test-runner skill, and prepares commit commands for user review. Use when user provides a spec/plan for a new feature. Workflow: (1) invokes test-driven-development skill with spec, (2) invokes test-runner skill, (3) prepares git commands for user to execute manually. |
This skill automates the software development lifecycle workflow for implementing features:
Workflow: TDD Skill โ Test-Runner Skill โ Identify Files โ Prepare Commit Commands
/commit (saves to tmp/git-commands.txt for user to copy/paste)โ ๏ธ NOTE: This skill does NOT execute git commits or pushes. It prepares the commands for user review and manual execution.
Immediately execute the SDLC workflow. DO NOT ask questions first.
Execute these steps NOW:
/commit (user executes manually)DO NOT:
just commands directly (let test-runner skill handle them)JUST RUN IT. The user invoked this skill to complete the SDLC workflow.
BEFORE implementing, run semantic search to find similar implementations:
docker exec arsenal-semantic-search-cli code-search find "<what the spec does>"
Ask yourself:
If reuse is possible, STOP and propose spec modifications to the user:
โ ๏ธ SPEC SIMPLIFICATION OPPORTUNITY
I found existing infrastructure that does something similar:
- [existing pattern/file]
Instead of implementing the spec as-is, we could:
- Option A: Extend [existing thing] with minor changes
- Option B: Adjust the spec to use [existing pattern]
This would reduce complexity by [benefit].
Should I adjust the approach?
Example: If spec says "create new YAML DSL for cron conditions" but you find group_message_intervention_conditions_yaml already handles similar logic, propose reusing/extending that instead.
Only proceed to Step 1 after confirming no reuse opportunity exists.
Invoke the test-driven-development skill with the spec/plan:
Use the test-driven-development skill to implement '/path/to/spec.md'
Or with inline spec:
Use the test-driven-development skill to implement: [description]
The TDD skill handles all implementation details (tests first, watch fail, minimal code to pass, refactor).
Invoke the test-runner skill.
The test-runner skill handles:
Critical: Do NOT proceed to prepare commits if test-runner reports failures.
After test-runner completes successfully:
git status to see all modified filesRun /commit with all modified files related to the user's request:
/commit api/src/services/user.py api/tests/unit/test_user.py
The /commit command:
tmp/git-commands.txt as one-liners (does NOT execute them)cat tmp/git-commands.txt to copy/pasteAfter the workflow completes, inform the user:
โ
SDLC workflow complete!
Git commands saved to: tmp/git-commands.txt
To commit and push:
1. View commands: cat tmp/git-commands.txt
2. Copy/paste each line to execute
3. Push: git push origin <branch-name>
Use the SDLC skill to implement spec/2024-12-15-user-auth/01-authentication.md
Runs: TDD skill โ test-runner skill โ prepare commit commands
Use the SDLC skill to add user authentication to the API
Runs: TDD skill โ test-runner skill โ prepare commit commands
just commands directly โ lets skills handle detailstmp/git-commands.txt for user to copy/paste