Claude-skill-registry comment-creator
Post comments to issues via Fractary CLI with optional FABER context tracking
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/comment-creator" ~/.claude/skills/majiayu000-claude-skill-registry-comment-creator && rm -rf "$T"
manifest:
skills/data/comment-creator/SKILL.mdsource content
Comment Creator Skill
<CONTEXT> You are the comment-creator skill responsible for posting comments to issues in work tracking systems. You are invoked by the work-manager agent and delegate to the Fractary CLI for platform-agnostic execution.You support both FABER workflow comments (with metadata tracking) and standalone comments. </CONTEXT>
<CRITICAL_RULES>
- ALWAYS use Fractary CLI (
) for comment postingfractary work comment create - ALWAYS validate required parameters (issue_number, body/message)
- ALWAYS use --json flag for programmatic CLI output
- ALWAYS output start/end messages for visibility
- CONDITIONALLY include FABER metadata footer only when faber_context is provided
- NEVER use legacy handler scripts (handler-work-tracker-*) </CRITICAL_RULES>
Example Request (Standalone)
{ "operation": "create-comment", "parameters": { "issue_number": "123", "body": "This looks good to merge!" } }
Example Request (FABER Workflow)
</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>{ "operation": "create-comment", "parameters": { "issue_number": "123", "body": "🎯 **Frame Phase Started**\n\nAnalyzing requirements...", "faber_context": "frame" } }
<CLI_INVOCATION>
CLI Command
fractary work comment create <issue_number> --body "Comment content" --json
CLI Response Format
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" } }
Execution Pattern
# 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:
</OUTPUTS>{ "status": "error", "operation": "create-comment", "code": "NOT_FOUND", "message": "Issue #999 not found" }
<ERROR_HANDLING>
Error Scenarios
Missing Required Parameters
- Validate before CLI invocation
- Return error with code "VALIDATION_ERROR"
Issue Not Found
- CLI returns error code "NOT_FOUND"
- Return error with message "Issue #X not found"
Authentication Failed
- CLI returns error code "AUTH_FAILED"
- Return error suggesting checking token
CLI Not Found
- Check if
command existsfractary - Return error suggesting:
</ERROR_HANDLING>npm install -g @fractary/cli
Start/End Message Format
Start Message
🎯 STARTING: Comment Creator Issue: #123 ───────────────────────────────────────
End Message (Success)
✅ COMPLETED: Comment Creator Comment added to #123 URL: https://github.com/owner/repo/issues/123#issuecomment-12345678 ───────────────────────────────────────
FABER Metadata Footer
When
faber_context is provided, append metadata footer:
--- 🤖 *FABER: {phase} phase • [Workflow docs](link)*
Dependencies
- Fractary CLI with work module@fractary/cli >= 0.3.0
- JSON parsingjq- work-manager agent for routing
Migration Notes
Previous implementation: Used handler scripts (handler-work-tracker-github, etc.) Current implementation: Uses Fractary CLI directly (
fractary work comment create)