skills/ticket-workflow/SKILL.md
Internal helper called by /resolve. Provides state-machine and coordination logic across fetch-ticket, analyze-ticket, AEP, and Architect. Not intended for direct invocation.
npx skillsauth add nicolas-codemate/claudecodeconfig ticket-workflowInstall 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.
This skill provides the state machine and coordination logic for the complete ticket resolution workflow.
┌─────────┐ ┌─────────┐ ┌──────────┐ ┌─────────┐
│ pending │───►│ fetched │───►│ analyzed │───►│ planned │
└─────────┘ └─────────┘ └──────────┘ └─────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────┐
│ failed │
└─────────────────────────────────────────┘
│
│ (resume)
▼
┌─────────────────┐ ┌───────────────┐ ┌───────────┐
│ plan_validated │───►│ implementing │───►│ completed │
└─────────────────┘ └───────────────┘ └───────────┘
| State | Description | Next States |
|-------|-------------|-------------|
| pending | Workflow just started | fetched, failed |
| fetched | Ticket data retrieved | analyzed, failed |
| analyzed | Complexity determined | planned, failed |
| planned | Implementation plan ready | plan_validated, failed |
| plan_validated | Plan approved by user | implementing, failed |
| implementing | Auto-implementation in progress | completed, failed |
| completed | All phases finished | (terminal) |
| failed | Error occurred | (can resume) |
| State Transition | Phase | Skill Used | |------------------|-------|------------| | pending → fetched | fetch | fetch-ticket | | fetched → analyzed | analyze | analyze-ticket | | analyzed → analyzed | explore | (AEP agents) | | analyzed → planned | plan | (Architect) | | planned → plan_validated | validation | plan-validation | | plan_validated → implementing | implement | /resolve --continue |
.claude-work/{ticket-id}/status.json
{
"ticket_id": "PROJ-123",
"source": "youtrack",
"started_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"state": "pending",
"phases": {
"fetch": "pending",
"analyze": "pending",
"explore": "pending",
"plan": "pending",
"implement": "pending"
},
"options": {}
}
After each phase completion:
{
"state": "fetched",
"updated_at": "2024-01-15T10:31:00Z",
"phases": {
"fetch": "completed",
"analyze": "pending",
...
}
}
On error:
{
"state": "failed",
"updated_at": "2024-01-15T10:32:00Z",
"phases": {
"fetch": "completed",
"analyze": "failed",
...
},
"error": {
"phase": "analyze",
"message": "Could not determine complexity",
"timestamp": "2024-01-15T10:32:00Z"
}
}
if [ -f ".claude-work/{ticket-id}/status.json" ]; then
# Load and check state
fi
def get_resume_point(status):
# Find last completed phase
phase_order = ['fetch', 'analyze', 'explore', 'plan', 'implement']
for phase in phase_order:
if status['phases'][phase] in ['pending', 'failed']:
return phase
return None # All completed
# Reprise du Workflow
**Ticket**: {ticket-id}
**Etat precedent**: {state}
**Derniere mise a jour**: {updated_at}
## Phases
| Phase | Statut |
|-------|--------|
| Fetch | completed |
| Analyze | completed |
| Explore | skipped |
| Plan | pending |
| Implement | pending |
## Point de Reprise
Reprise depuis: **plan**
Erreur precedente: {error.message}
Continuer ? [O/n]
state = "fetched", phases.fetch = "completed"state = "analyzed", phases.analyze = "completed", complexity = ...phases.explore = "skipped"phases.explore = "completed"state = "planned", phases.plan = "completed"AUTO mode: Auto-validate, continue to implement INTERACTIVE mode: Validation loop (Valider et implémenter / Valider et arrêter / Modifier / Régénérer)
state = "plan_validated", plan_validated_at = "{timestamp}"AUTO mode: Always executed after plan validation
INTERACTIVE mode: Via "Valider et implémenter" choice or --continue flag
/compact to clear contextstate = "implementing" → phases.implement = "completed"Read from project's .claude/ticket-config.json:
Priority order:
## Erreur Recuperable
L'erreur "{error.message}" peut etre resolue.
**Actions suggerees**:
1. {action 1}
2. {action 2}
**Pour reprendre**:
```bash
/resolve {ticket-id} # Reprend automatiquement
## Files Generated
.claude-work/{ticket-id}/ ├── status.json # Workflow state ├── ticket.md # Original ticket content ├── analysis.md # Complexity analysis + exploration findings └── plan.md # Implementation plan
## Integration Points
### With AEP Skill
- Used for COMPLEX tickets during explore phase
- Applies ANALYSE-EXPLORE-PLAN methodology
### With Architect Skill
- Used for COMPLEX tickets during plan phase
- Ensures plan follows best practices
### With /resolve --continue
- Plans saved in standard format
- Resumes implementation from validated plan
## Language
- Status file: English (machine-readable)
- User messages: French
- Technical output: English
tools
--- name: deep-review description: Performs deep code review via an isolated fresh agent (triple perspective, anti-bias). Use when the user asks for an in-depth review of current branch changes, or when invoked by /resolve step 08. Do NOT use for reviewing PRs from GitHub (use review-pr skill instead) or for a quick correctness scan with effort levels (use bundled /code-review instead). argument-hint: [--ticket <id>] [--base <branch>] [--fix] [--severity <level>] allowed-tools: Read, Glob, Grep,
tools
Resolve git rebase conflicts methodically. Classifies each conflict (imports/namespace cleanup vs real logic clash), analyzes the commit introducing the change against the current ticket context, auto-fixes only trivial cases with a per-file summary, and asks the user when ambiguous. Verifies static analysis tools pass at the end and optionally runs functional tests. Use after `git rebase` triggers conflicts, or when the user asks to "resolve conflicts", "fix rebase", "j'ai des conflits", "aide-moi sur ce rebase".
development
Synchronize the markdown test plan in docs/qa/ with the current state of the codebase. Use after adding or modifying features to keep the plan up to date, or to bootstrap a test plan for the first time. Do NOT use to execute tests (use /qa-run instead) and do NOT use to design product specs (use /express-need instead).
tools
Execute the markdown test plan in docs/qa/ via Playwright MCP and create a ticket on each failing scenario. Use after /qa-sync, before a release, or to validate a feature end-to-end. Do NOT use to design or update scenarios (use /qa-sync instead) and do NOT use for visual regression (use visual-verify agent instead).