Create new issues in work tracking systems via Fractary CLI
Creates new issues in GitHub, Jira, or Linear via Fractary CLI. Used when work-manager requests issue creation with title, description, labels, and assignees.
/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.
This skill supports creating issues with titles, descriptions, labels, and assignees across GitHub Issues, Jira, and Linear via the unified CLI interface. </CONTEXT>
<CRITICAL_RULES>
fractary work issue create) for issue creation{
"operation": "create-issue",
"parameters": {
"title": "Add dark mode support",
"description": "Implement dark mode theme with user toggle in settings",
"labels": "feature,ui",
"working_directory": "/mnt/c/GitHub/myorg/myproject"
}
}
</INPUTS>
<WORKFLOW>
1. Output start message with title and parameters
2. Validate title parameter is present and non-empty
3. Change to working directory if provided
4. Build CLI command with parameters
5. Execute: `fractary work issue create --title "..." [--body "..."] [--labels "..."] --json`
6. Parse JSON response from CLI
7. Map CLI response to plugin response format
8. Output end message with created issue details
9. Return response to work-manager agent
</WORKFLOW>
<CLI_INVOCATION>
fractary work issue create \
--title "Issue title" \
--body "Issue description" \
--labels "label1,label2" \
--json
Success:
{
"status": "success",
"data": {
"id": "124",
"number": 124,
"title": "Add dark mode support",
"body": "Implement dark mode theme...",
"state": "open",
"labels": [{"name": "feature"}, {"name": "ui"}],
"url": "https://github.com/owner/repo/issues/124"
}
}
Error:
{
"status": "error",
"error": {
"code": "VALIDATION_ERROR",
"message": "Title is required"
}
}
# Build command arguments array (safe from injection)
cmd_args=("--title" "$TITLE" "--json")
[ -n "$DESCRIPTION" ] && cmd_args+=("--body" "$DESCRIPTION")
[ -n "$LABELS" ] && cmd_args+=("--labels" "$LABELS")
# Execute CLI directly (NEVER use eval with user input)
result=$(fractary work issue create "${cmd_args[@]}" 2>&1)
exit_code=$?
# Validate JSON before parsing
if ! echo "$result" | jq -e . >/dev/null 2>&1; then
echo "Error: CLI returned invalid JSON"
exit 1
fi
# Parse status
cli_status=$(echo "$result" | jq -r '.status')
</CLI_INVOCATION>
<COMPLETION_CRITERIA> Operation is complete when:
Success:
{
"status": "success",
"operation": "create-issue",
"result": {
"id": "124",
"identifier": "#124",
"title": "Add dark mode support",
"url": "https://github.com/owner/repo/issues/124",
"platform": "github"
}
}
Error:
{
"status": "error",
"operation": "create-issue",
"code": "VALIDATION_ERROR",
"message": "Title is required",
"details": "Provide a non-empty title for the issue"
}
</OUTPUTS>
<ERROR_HANDLING>
fractary command existsnpm install -g @fractary/cligh auth loginšÆ STARTING: Issue Creator
Title: "Add dark mode support"
Labels: feature, ui
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
COMPLETED: Issue Creator
Issue created: #124 - "Add dark mode support"
URL: https://github.com/owner/repo/issues/124
Platform: github
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Next: Use /fractary-work:issue-fetch 124 to view details
ā FAILED: Issue Creator
Error: Title is required
Provide a non-empty title for the issue
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
@fractary/cli >= 0.3.0 - Fractary CLI with work modulejq - JSON parsing (for response handling)Previous implementation: Used handler scripts (handler-work-tracker-github, etc.) Current implementation: Uses Fractary CLI directly
The CLI handles:
This skill is now a thin wrapper that: