From workflow
This skill should be used when the user asks to "start a ticket", "bootstrap a ticket", "begin work on a ticket", "set up ticket work", or provides a ticket identifier (like issue-123 or GitHub issue URL) and wants to start working on it. The skill handles the complete workflow from creating a feature branch to planning the implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflow:start-ticketThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Automate the workflow for starting work on a new ticket, from branch creation to implementation planning.
Automate the workflow for starting work on a new ticket, from branch creation to implementation planning.
This skill handles the complete setup workflow when starting work on a ticket:
Use this skill when:
Extract the ticket identifier from the user's input and fetch the ticket details. This provides both the ticket ID and summary needed for branch creation.
Input types:
For GitHub issues:
gh issue view <number> to fetch issue detailsFor plain descriptions:
The ticket summary/title will be used in Step 2 for generating the branch name.
Use the create-branch.sh script to automate the git workflow. This script:
Script location: ${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh
IMPORTANT: The script MUST be executed from the user's current working directory (their git repository), NOT from the skill directory. Use the full path to the script while running it from the user's current working directory.
Usage:
${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh <ticket-identifier> <summary>
Arguments:
<ticket-identifier>: The ticket key (e.g., issue-123) or a descriptive slug<summary>: A brief 2-4 word summary (will be auto-formatted to kebab-case)Examples:
# GitHub issue-123 "Fix user login error"
${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh issue-123 "fix user login error"
# Creates: <username>-issue-123-fix-user-login-error
# Plain ticket "Add dark mode"
${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh add-dark-mode "dark mode support"
# Creates: <username>-add-dark-mode-dark-mode-support
The script automatically formats branch names:
IMPORTANT: The script will exit with specific error codes if issues are detected. Handle these errors as described in the Error Handling section below.
Use the EnterPlanMode tool to transition into planning mode.
In plan mode, create a plan to implement the ticket or GitHub issue based on the details fetched in Step 1.
The create-branch.sh script uses exit codes to indicate specific error conditions. Handle these gracefully by checking the exit code and providing appropriate guidance to the user.
Exit Codes:
0 - Success (branch created)1 - Uncommitted changes detected2 - Branch already exists3 - Pull failed (network/conflicts)4 - Invalid branch name format5 - Not a git repository6 - Invalid argumentsExit Code 1 - Uncommitted Changes: The script detected uncommitted changes. Present these options to the user:
There are uncommitted changes in the working directory.
Options:
1. Stash changes: git stash
2. Commit changes: git add . && git commit -m "Your message"
3. Discard changes: git reset --hard (WARNING: destructive)
Exit Code 2 - Branch Already Exists: A branch with this name already exists. Present these options:
Branch '<branch-name>' already exists.
Options:
1. Switch to existing branch: git checkout <branch-name>
2. Delete and recreate: git branch -D <branch-name>
3. Choose a different summary for the branch name
Exit Code 3 - Network/Pull Failures: Failed to pull latest changes from remote. Present these options:
Failed to pull latest changes from origin.
Possible causes:
- Network connectivity issues
- Merge conflicts
- Remote branch doesn't exist
Options:
1. Check network connection and retry
2. Run 'git pull' manually to see detailed error
3. Check remote tracking setup
Exit Code 4 - Invalid Branch Name: The generated branch name is invalid (rare). Ask the user to:
Generated branch name is invalid.
Please provide simpler inputs without special characters.
Exit Code 5 - Not a Git Repository: Script was run outside a git repository. Inform the user:
Current directory is not a git repository.
Please navigate to your repository first.
Exit Code 6 - Invalid Arguments: Missing or incorrect arguments. This shouldn't happen if the skill provides the arguments correctly, but if it does:
Invalid arguments provided to create-branch.sh script.
Both ticket identifier and summary are required.
The create-branch.sh script automatically enforces these conventions:
<username>- (your GitHub username, fetched automatically)Automatic Formatting: The script automatically formats inputs, so you don't need to pre-format them:
issue-123 → issue-123Fix User Login → fix-user-loginFix: Login! → fix-loginfix---login → fix-loginExample transformations:
issue-123 + Fix User Login → <username>-issue-123-fix-user-loginissue-456 + Add: Caching Layer! → <username>-issue-456-add-caching-layeradd-dark-mode + Dark Mode Support → <username>-add-dark-mode-dark-mode-supportBest practices when calling the script:
Example 1: GitHub Issue
User: "Start work on https://github.com/owner/repo/issues/32"
Agent workflow:
1. Extract issue number (32) and fetch: gh issue view 32 --repo owner/repo
→ Title: "Add support for MP3 files"
→ Present issue details to user
2. Create branch: ${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh issue-32 "add mp3 support"
→ Branch created: <username>-issue-32-add-mp3-support
3. Enter plan mode
4. Create implementation plan based on issue description
Example 2: Plain Description
User: "Start work on adding dark mode support"
Agent workflow:
1. Use plain description as-is
→ No fetching needed
2. Create branch: ${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh add-dark-mode "dark mode support"
→ Branch created: <username>-add-dark-mode-dark-mode-support
3. Enter plan mode
4. Create implementation plan
Example 3: Error Handling - Uncommitted Changes
User: "Start work on issue-789"
Agent workflow:
1. Fetch issue: gh issue view 789
→ Title: "Update authentication flow"
2. Try to create branch: ${CLAUDE_PLUGIN_ROOT}/skills/start-ticket/scripts/create-branch.sh issue-789 "update auth flow"
→ Script exits with code 1 (uncommitted changes)
3. Present options to user:
"There are uncommitted changes. Would you like to:
1. Stash changes and proceed
2. Commit changes first
3. Abort"
4. Handle user's choice and retry if appropriate
npx claudepluginhub ncipollo/slop-shop --plugin workflowCreates traceable Git branches for current tasks using ticket IDs or short summaries (e.g., <ticket-id>-<short-kebab-summary>). Inspects git status, safely switches/creates, reports uncommitted work.
Creates synced feature branches for new tasks: pulls latest main, fetches context from Jira tickets/GitHub issues/local specs, pushes {type}/{task-number}/{slug} branches.
Starts a new feature workflow by creating a git worktree, upgrading dependencies, opening a draft PR, and initializing state. Requires a pre-decomposed GitHub issue number as argument.