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.md
source 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>

  1. ALWAYS use Fractary CLI (
    fractary work comment create
    ) for comment posting
  2. ALWAYS validate required parameters (issue_number, body/message)
  3. ALWAYS use --json flag for programmatic CLI output
  4. ALWAYS output start/end messages for visibility
  5. CONDITIONALLY include FABER metadata footer only when faber_context is provided
  6. NEVER use legacy handler scripts (handler-work-tracker-*) </CRITICAL_RULES>
<INPUTS> You receive requests from work-manager agent with: - **operation**: `create-comment` - **parameters**: - `issue_number` (required): Issue identifier - `body` or `message` (required): Comment content (markdown supported) - `faber_context` (optional): Phase context for FABER workflows - `working_directory` (optional): Project directory path

Example Request (Standalone)

{
  "operation": "create-comment",
  "parameters": {
    "issue_number": "123",
    "body": "This looks good to merge!"
  }
}

Example Request (FABER Workflow)

{
  "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>

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:

{
  "status": "error",
  "operation": "create-comment",
  "code": "NOT_FOUND",
  "message": "Issue #999 not found"
}
</OUTPUTS>

<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
    fractary
    command exists
  • Return error suggesting:
    npm install -g @fractary/cli
    </ERROR_HANDLING>

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 >= 0.3.0
    - Fractary CLI with work module
  • jq
    - JSON parsing
  • 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
)