| name | task-workflow |
| description | Execute the standard issue, branch, code, test, commit, PR, merge workflow for a task |
| argument-hint | <task-description> |
| disable-model-invocation | false |
| user-invocable | true |
Task Workflow
Execute the standard development workflow for this task: $ARGUMENTS
Follow these steps in order. Do NOT skip any step.
Step 1: Create GitHub Issue
gh issue create --title "<title>" --body "<description>" --label "<label>"
Common labels: enhancement, bug, tests, documentation, refactor
Use the task description to write a clear issue title and body. The body should explain the context, what needs to change, and why.
Step 2: Create Feature Branch
Branch naming convention:
feat/<slug> for new features
fix/<slug> for bug fixes
refactor/<slug> for refactoring
test/<slug> for test-only changes
docs/<slug> for documentation
git checkout -b <prefix>/<short-slug>
Step 3: Implement Changes
Read existing code before modifying it. Follow patterns already established in the codebase. Key conventions:
- Python 3.10+
- Double quotes for strings
- Type hints on all function signatures
- Docstrings on classes and public functions
- Tests use
unittest — never pytest
- Scripts follow the
analyze() + main() pattern (see scan_common.py for arg parsing). Exception: analyze_ft_history.py takes argv.
- Classification system: RACE / UNSAFE / PROTECT / MIGRATE / SAFE with severity CRITICAL / HIGH / MEDIUM / LOW
- Add an entry to
CHANGELOG.md under ## [Unreleased] in the appropriate section (Added/Enhanced/Fixed/Documentation). Format: - Description.
Step 4: Verify
Activate the project venv, then run formatting, linting, type checking, and all tests. ALL must pass before committing. NEVER install tools to the system Python, if necessary create a venv and install tools into it.
source ~/venvs/cext-review-toolkit/bin/activate
ruff format <changed-files>
ruff check <changed-files>
mypy
python -m unittest discover tests -v
If any tests fail, fix them before proceeding.
Step 5: Commit
Stage only the files you changed. Use conventional commit format. Always include the issue reference.
git add <specific-files>
git commit -m "$(cat <<'EOF'
<type>: <description>
<optional body>
Closes #<issue-number>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
EOF
)"
Step 6: Push and Create PR
git push -u origin <branch-name>
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Summary
<1-3 bullet points>
## Test plan
- [x] <verification items>
Closes #<issue-number>
Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Step 7: Merge and Cleanup
gh pr merge <pr-number> --merge
git checkout main
git pull
git push origin --delete <branch-name>
Step 8: Report
Tell the user:
- Issue URL
- PR URL (merged)
- Summary of changes made
- Test results (pass count)
- Changelog entry