Post comments to issues via Fractary CLI with optional FABER context tracking
Posts comments to issues using Fractary CLI with optional FABER workflow metadata tracking. Triggered by work-manager requests to add comments to specific issue numbers with markdown content.
/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 support both FABER workflow comments (with metadata tracking) and standalone comments. </CONTEXT>
<CRITICAL_RULES>
fractary work comment create) for comment posting{
"operation": "create-comment",
"parameters": {
"issue_number": "123",
"body": "This looks good to merge!"
}
}
{
"operation": "create-comment",
"parameters": {
"issue_number": "123",
"body": "šÆ **Frame Phase Started**\n\nAnalyzing requirements...",
"faber_context": "frame"
}
}
</INPUTS>
<WORKFLOW>
1. Output start message with issue number
2. Validate required parameters (issue_number, body)
3. Change to working directory if provided
4. Build comment body (optionally append FABER metadata footer)
5. Execute: `fractary work comment create <issue_number> --body "..." --json`
6. Parse JSON response from CLI
7. Output end message with comment details
8. Return response to work-manager agent
</WORKFLOW>
<CLI_INVOCATION>
fractary work comment create <issue_number> --body "Comment content" --json
Success:
{
"status": "success",
"data": {
"id": "12345678",
"body": "This looks good to merge!",
"author": "username",
"created_at": "2025-01-15T10:00:00Z",
"url": "https://github.com/owner/repo/issues/123#issuecomment-12345678"
}
}
# Build and execute CLI command
result=$(fractary work comment create "$ISSUE_NUMBER" --body "$COMMENT_BODY" --json 2>&1)
cli_status=$(echo "$result" | jq -r '.status')
if [ "$cli_status" = "success" ]; then
comment_id=$(echo "$result" | jq -r '.data.id')
comment_url=$(echo "$result" | jq -r '.data.url')
fi
</CLI_INVOCATION>
<OUTPUTS> You return to work-manager agent:Success:
{
"status": "success",
"operation": "create-comment",
"result": {
"id": "12345678",
"issue_number": "123",
"body": "This looks good to merge!",
"url": "https://github.com/owner/repo/issues/123#issuecomment-12345678",
"platform": "github"
}
}
Error:
{
"status": "error",
"operation": "create-comment",
"code": "NOT_FOUND",
"message": "Issue #999 not found"
}
</OUTPUTS>
<ERROR_HANDLING>
fractary command existsnpm install -g @fractary/cli
</ERROR_HANDLING>šÆ STARTING: Comment Creator
Issue: #123
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
COMPLETED: Comment Creator
Comment added to #123
URL: https://github.com/owner/repo/issues/123#issuecomment-12345678
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
When faber_context is provided, append metadata footer:
---
š¤ *FABER: {phase} phase ⢠[Workflow docs](link)*
@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 (fractary work comment create)