skills/create-branch/SKILL.md
Use when the user asks to create a git branch for a Jira ticket. Creates a branch from the current branch using feature/ticket-id-branch-name format with a short, meaningful title slug from Jira summary.
npx skillsauth add shysssthanhtri/AI-tools create-branchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new branch from the current checked-out branch for a Jira ticket.
Use this exact format:
feature/ticket-id-branch-name
Examples:
feature/BK-123-add-login-endpointfeature/ENG-88-fix-cache-invalidationAsk for the Jira ticket key if the user did not provide it (for example BK-123).
Read the current branch:
git branch --show-current
Get Jira context using Atlassian MCP:
mcp_com_atlassian_getAccessibleAtlassianResources to resolve a valid Jira cloud.mcp_com_atlassian_getJiraIssue with issueIdOrKey=<ticket-key> and responseContentFormat=markdown.Build a short branch slug from the Jira summary:
& with and.a, an, the, to, for, of, in, on, with).-.work-item.Build branch name as:
feature/<ticket-id>-<slug>
Create the branch from the current branch explicitly:
git checkout -b "feature/<ticket-id>-<slug>" "<current-branch>"
Verify the result:
git branch --show-current
BK-123).Add OAuth2 login for admin portal
add-oauth2-login-admin-portalFix: API timeout in payment retry flow
fix-api-timeout-payment-retryUI & UX polish for checkout
ui-and-ux-polish-checkoutUse this snippet to generate the slug in a repeatable way from Jira summary text:
summary="UI & UX polish for checkout"
slug="$(
printf '%s' "$summary" \
| tr '[:upper:]' '[:lower:]' \
| sed -E 's/&/ and /g' \
| sed -E 's/[^a-z0-9 ]+/ /g' \
| tr -s ' ' \
| sed -E 's/^ +| +$//g' \
| awk '{
out_count=0;
for (i=1; i<=NF; i++) {
w=$i;
if (w=="a" || w=="an" || w=="the" || w=="to" || w=="for" || w=="of" || w=="in" || w=="on" || w=="with") {
continue;
}
out[++out_count]=w;
if (out_count==6) break;
}
for (i=1; i<=out_count; i++) {
printf "%s%s", out[i], (i<out_count?"-":"");
}
}' \
| sed -E 's/-+/-/g; s/^-+|-+$//g' \
| cut -c1-32 \
| sed -E 's/-+/-/g; s/^-+|-+$//g'
)"
if [ -z "$slug" ]; then
slug="work-item"
fi
echo "$slug"
Then build the branch name:
branch_name="feature/${ticket_id}-${slug}"
Use this style in the final user response:
<current-branch><ticket-id><ticket-summary>feature/<ticket-id>-<slug>testing
Execute an existing Jira ticket implementation plan phase by phase. Use when asked to "work on ticket CM-1234", "implement the plan for CM-1234", "start working on the plan", or "execute the next phase". Reads the plan from docs/<ticket-id>/plan.md, captures a pre-implementation full test baseline in plan/progress docs, presents each phase for user approval before coding, updates progress after each phase, and operates inside the dedicated git worktree. After the last phase is committed, runs the full test suite, fixes regressions (skipping known pre-existing failures), then presents a full change summary for user review and creates a GitHub draft PR using the create-draft-pr skill.
tools
Generate a complete MCP server project in TypeScript with tools, resources, and proper configuration
tools
Use when starting work on a Jira ticket. Fetches ticket details via Atlassian MCP (for branch naming and a local story snapshot), creates an isolated git worktree with branch feature/<ticket-id>-<slug>-<platform>, and writes docs/<ticket-id>/<ticket-id>.md in the worktree.
documentation
Create a work plan for a Jira ticket. Use when asked to plan work, create a plan for a ticket, break down a Jira issue, or prepare implementation steps for a Jira ticket ID like CM-1234. Reads local ticket details, deeply analyzes requirements and root causes, proposes up to three optimized solutions (not workarounds) with pros and cons, asks the user to choose, then finalizes the plan with that choice under docs/<ticket-id>/.