Skip to content
cccskills
FreePublished on GitHub

start-task

Bootstrap a task into a synced feature branch — one shot, zero confirmations. Detects the source from the args: GitHub issue ('#100', 'issue 100', 'gh issue 100', or bare '100'), Jira key ('PROJ-42'), or a local spec file path; ad-hoc conversation otherwise. Fetches the task, derives {type}/{number}/{slug}, syncs the default branch, creates and pushes the branch, and writes specs/context/<id>.md. Use only when the user explicitly asks to start a task or create a work branch — never trigger automatically.

The English summary is being prepared. Showing the original description.

Works withJiraGitHub
See how to install

Files included (2)

  • SKILL.md4.3 KB
  • gh-start-task.sh6.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Start-Task

Turn a task reference into a synced feature branch named {type}/{number}/{slug} plus a context file at specs/context/<id>.md. Zero confirmations on the happy path: detect → fetch → derive → execute → report.

1. Detect the source (no bash)

Match the args in this order:

  1. Jira — [A-Z]+-\d+ (e.g. PROJ-42)
  2. GitHub issue — a numeric token, stripping any of github, gh, issue, issues, #
  3. Local spec — a path ending in .md, .txt, .yaml, .yml, or .json; reject any path containing ..
  4. Ad-hoc — nothing matched: ask once (a single question) for the task type, title, and identifier, then skip to step 3

2. Fetch (1 bash call)

GitHub:

gh issue view <ISSUE_NUM> --json title,labels --jq '{title: .title, labels: [.labels[].name]}'

Jira: which acli && acli jira issue view <KEY> — extract summary, type, key. If acli is missing, hard-stop: the developer chose Jira; do not degrade to ad-hoc.

Local spec: read the file; extract title and scope. The identifier is the developer-provided one or the filename stem.

On any fetch failure, hard-stop and print the error verbatim — no retries, no paraphrasing, no follow-up questions.

3. Derive TYPE and SLUG (no bash)

TYPE — from GitHub labels (first match wins) or from the task's nature:

SignalTYPE
bug, fix, hotfixfix
enhancement, featurefeat
refactorrefactor
docs, documentationdocs
test, teststest
ci, github-actionsci
chore, deps, dependencieschore
(no match)feat

SLUG — from the title: lower-case; drop articles, prepositions, and helper verbs; keep the core action verb + object nouns; 2–4 words; hyphenated; only [a-z0-9-].

Examples: "Add user authentication to the login form" → add-user-auth; "Fix null pointer in payment processing flow" → fix-null-pointer-payment.

4. Execute

GitHub (1 bash call) — the script syncs the default branch, creates the branch, writes and commits the context file on it, then pushes:

bash {base_directory}/gh-start-task.sh <ISSUE_NUM> <TYPE> <SLUG>

Non-zero exit → hard-stop, print stderr verbatim. It fails on a dirty working tree by design — never stash or discard for the developer.

Jira / local / ad-hoc — do the same steps manually:

git status --porcelain            # any output → hard-stop: uncommitted changes
git fetch origin <default> && git checkout <default> && git pull origin <default>
git checkout -b <TYPE>/<ID>/<SLUG> && git push -u origin <TYPE>/<ID>/<SLUG>

If the branch already exists locally, switch to it instead of creating it. Then write specs/context/<ID>.md with: identifier, title, type, source, relevant details (description, acceptance criteria), and today's date. If the file exists, update it in place — don't overwrite wholesale.

5. Report (no bash)

Branch: <TYPE>/<ID>/<SLUG>
Task:   <ID> — <TITLE>
Context: specs/context/<ID>.md

Next:
  /plan-requirements   — capture WHAT and WHY
  /plan-architecture   — design the solution
  /implement           — start coding

You Must NOT

  • Ask for confirmation on the happy path — ad-hoc's single intake question is the only interactive moment
  • Stash, discard, or commit the developer's pre-existing uncommitted changes — hard-stop instead (the GitHub script committing the context file it just generated is the one sanctioned exception)
  • Push to main/master, or use --force on any push
  • Paraphrase errors — print them verbatim so the developer gets the exact actionable message
  • Fall back to ad-hoc when a chosen CLI tool is missing — fail clearly
  • Trigger automatically — this skill is opt-in

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Retire a closed issue's working artifacts out of specs/ into the GitHub wiki. Use only when the user asks to archive a finished issue, empty out specs/ for a done task, or move an issue's requirements/architecture/tasks/review/QA docs to the wiki.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

commit

Free

One-shot conventional commit; bundled scripts adaptively gather diff context, draft the message, and stage+commit — pass `ask` to confirm first or add a hint for the title. Use only when the user asks for a commit.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Executes a QA specification (specs/qa/QA-<N>-<slug>.md) written by /plan-qa: drives every step with the plan's drivers, verifies each Expected line mechanically ([assert]) or by evidence-backed judgment against the plan's written criterion ([judge]), pauses at named operator handoffs, and writes the results artifact QA-RESULTS-<N>-<slug>.md. Use only when the user asks to run or execute a QA plan — never trigger automatically.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

After an issue's PR has squash-merged on GitHub and its issue has closed: fast-forward the default branch, remove the issue-numbered nested worktree (.worktrees/<issue#>), and delete the local feature branch. Use when the user says to finish, tear down, or clean up a lane or worktree for a merged issue.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Phase 3 of 5 — slices the ARCH doc into verification-ready task specs (tdd/test-after/ui/checklist), emitted as a separate TASKS-<N>-<slug>.md file alongside ARCH for the implement skill. Use only when the user asks to run Phase 3 or generate tasks from an ARCH doc — never trigger automatically.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Phase 4 of 5 — implements tasks from TASKS-<N>-<slug>.md (with ARCH-<N>-<slug>.md as architecture-only context) using mode-appropriate verification (tdd, test-after, ui, checklist); pass 'auto' to run without stepping. Use only when the user asks to run Phase 4 or implement tasks from an ARCH doc — never trigger automatically from a coding request.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

See all skills by foyzulkarim

Report a problem with this skill