Manage issue lifecycle states (close, reopen, update state) via Fractary CLI
Closes issues via Fractary CLI when work is complete. Also handles reopen and state update requests, returning NOT_IMPLEMENTED for unsupported operations.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-work@fractaryThis skill inherits all available tools. When active, it can use any tool Claude has access to.
You handle closing issues, reopening issues, and transitioning between workflow states.
This skill is CRITICAL for FABER workflows - the Release phase depends on your close-issue operation to actually close issues when work is complete. </CONTEXT>
<CRITICAL_RULES>
fractary work issue close) for close operationsissue_id (required): Issue identifierclose_comment (optional): Comment to post when closingwork_id (optional): FABER work identifier for trackingworking_directory (optional): Project directory path{
"operation": "close-issue",
"parameters": {
"issue_id": "123",
"close_comment": "Fixed in PR #456",
"work_id": "faber-abc123"
}
}
issue_id (required): Issue identifierreopen_comment (optional): Comment to post when reopeningNOTE: reopen-issue CLI command is not yet implemented. Returns NOT_IMPLEMENTED error.
issue_id (required): Issue identifiertarget_state (required): Universal state name (open, closed)NOTE: For GitHub, only closed state is supported via CLI. Use labels for intermediate states.
</INPUTS>
<CLI_INVOCATION>
fractary work issue close <number> --json
Success:
{
"status": "success",
"data": {
"id": "123",
"number": 123,
"title": "Fix login page crash",
"state": "closed",
"closed_at": "2025-01-29T15:30:00Z",
"url": "https://github.com/owner/repo/issues/123"
}
}
# Close issue
result=$(fractary work issue close "$ISSUE_NUMBER" --json 2>&1)
cli_status=$(echo "$result" | jq -r '.status')
if [ "$cli_status" = "success" ]; then
issue_state=$(echo "$result" | jq -r '.data.state')
closed_at=$(echo "$result" | jq -r '.data.closed_at')
fi
If close_comment is provided, post comment before closing:
# Post comment first
fractary work comment create "$ISSUE_NUMBER" --body "$CLOSE_COMMENT" --json
# Then close
fractary work issue close "$ISSUE_NUMBER" --json
</CLI_INVOCATION>
<OPERATIONS> ## close-issuePurpose: Close an issue with optional comment
CLI Available: ✅ Yes
Flow:
fractary work issue close <number> --jsonExample Response:
{
"status": "success",
"operation": "close-issue",
"result": {
"id": "123",
"identifier": "#123",
"state": "closed",
"closedAt": "2025-01-29T15:30:00Z",
"url": "https://github.com/owner/repo/issues/123",
"platform": "github"
}
}
Purpose: Reopen a closed issue with optional comment
CLI Available: ❌ No - Command not yet implemented
Response:
{
"status": "error",
"operation": "reopen-issue",
"code": "NOT_IMPLEMENTED",
"message": "CLI command 'issue reopen' not yet available",
"details": "See WORK-00356-1-missing-cli-work-commands.md for tracking"
}
Purpose: Transition issue to target workflow state
CLI Available: Partial - only closed state supported
Universal States:
open - Issue is open (use reopen - NOT IMPLEMENTED)in_progress - Use labels insteadin_review - Use labels insteaddone - Use labels insteadclosed - ✅ Supported via issue closeFlow for closed state:
fractary work issue closeSuccess (close-issue):
{
"status": "success",
"operation": "close-issue",
"result": {
"id": "123",
"identifier": "#123",
"state": "closed",
"closedAt": "2025-01-29T15:30:00Z",
"url": "https://github.com/owner/repo/issues/123",
"platform": "github"
}
}
Error (reopen-issue):
{
"status": "error",
"operation": "reopen-issue",
"code": "NOT_IMPLEMENTED",
"message": "CLI command 'issue reopen' not yet available"
}
Error (issue not found):
{
"status": "error",
"operation": "close-issue",
"code": "NOT_FOUND",
"message": "Issue #999 not found"
}
</OUTPUTS>
<ERROR_HANDLING>
fractary command existsnpm install -g @fractary/cli
</ERROR_HANDLING>🎯 STARTING: State Manager
Operation: close-issue
Issue ID: #123
Parameters: {close_comment, work_id}
───────────────────────────────────────
✅ COMPLETED: State Manager
Operation: close-issue
Issue: #123 → state=closed
Platform: github
───────────────────────────────────────
⚠️ NOT IMPLEMENTED: State Manager
Operation: reopen-issue
CLI command not yet available
See: WORK-00356-1-missing-cli-work-commands.md
───────────────────────────────────────
@fractary/cli >= 0.3.0 - Fractary CLI with work modulejq - JSON parsingPrevious implementation: Used handler scripts (handler-work-tracker-github, etc.) Current implementation: Uses Fractary CLI directly
close-issue - fractary work issue closereopen-issue - Awaiting CLI implementationupdate-state (non-closed) - Use labels for intermediate statesSee specs/WORK-00356-1-missing-cli-work-commands.md for CLI implementation tracking.