| name | issue-classifier |
| description | Classify work type from issue metadata (CLI not yet available) |
| model | haiku |
Issue Classifier Skill
NOTE: The Fractary CLI issue classify command is not yet implemented. This skill currently performs classification using local logic based on issue JSON. See specs/WORK-00356-1-missing-cli-work-commands.md for CLI tracking.
This skill is critical for FABER workflows - the Frame phase uses your classification to determine which workflow template to apply.
Example Request
{
"operation": "classify-issue",
"parameters": {
"issue_json": "{\"id\":\"123\",\"title\":\"Fix login crash\",\"labels\":[{\"name\":\"bug\"}]}"
}
}
Since CLI issue classify is not yet available, use local logic:
Step 1: Check Labels (Priority)
bug, fix, error, crash, defect → /bug
feature, enhancement, improvement, story → /feature
chore, maintenance, refactor, cleanup, docs, debt → /chore
hotfix, patch, critical, urgent, p0 → /patch
Step 2: Check Title Patterns (Fallback)
[bug], bug:, fix: → /bug
[feature], feat:, feature: → /feature
[chore], chore:, refactor:, docs: → /chore
[hotfix], hotfix:, patch: → /patch
Step 3: Default
If no match: /feature (low confidence)
Confidence Levels
- high: Label match found
- medium: Title pattern match found
- low: Default to /feature
/feature
Purpose: New functionality or enhancement Indicators:
- Labels: feature, enhancement, improvement, story
- Title patterns: [feature], feat:, feature:
- Default classification if ambiguous
/chore
Purpose: Maintenance, refactoring, documentation Indicators:
- Labels: chore, maintenance, refactor, cleanup, docs, debt
- Title patterns: [chore], chore:, refactor:, docs:
/patch
Purpose: Critical fix requiring immediate attention Indicators:
- Labels: hotfix, patch, critical, urgent, p0
- Title patterns: [hotfix], hotfix:, patch:
Success:
{
"status": "success",
"operation": "classify-issue",
"result": {
"work_type": "/bug",
"confidence": "high",
"reason": "Issue has 'bug' label"
}
}
Error (invalid JSON):
{
"status": "error",
"operation": "classify-issue",
"code": "VALIDATION_ERROR",
"message": "Invalid issue JSON",
"details": "issue_json parameter must be valid JSON string"
}
Invalid Issue JSON
- issue_json parameter missing, empty, or invalid JSON
- Return error with code "VALIDATION_ERROR"
- Suggest checking fetch-issue output
Missing Required Fields
- issue_json doesn't contain labels or title
- Use available fields, default to /feature with low confidence
Classification Failed
- Unable to determine classification
- Default to /feature
- Include warning in response
Start/End Message Format
Start Message
🎯 STARTING: Issue Classifier
Issue: #123 - "Fix login page crash on mobile"
Method: Local classification (CLI not available)
───────────────────────────────────────
End Message (Success)
✅ COMPLETED: Issue Classifier
Issue: #123
Classification: /bug
Confidence: high
Reason: Issue has 'bug' label
───────────────────────────────────────
Next: Use classification to select workflow template
Dependencies
- work-manager agent for routing
- Valid issue JSON from issue-fetcher
Migration Notes
Previous implementation: Used handler scripts (handler-work-tracker-github, etc.) Current implementation: Local classification logic (until CLI available)
CLI Implementation Tracking
- Spec:
specs/WORK-00356-1-missing-cli-work-commands.md - Future CLI command:
fractary work issue classify <number> --json
When CLI becomes available, this skill will delegate to CLI instead of using local logic.