Skip to content
Back to skills

Start Task

ASecurity

Start work on an issue, branch or feature request: checks who owns the issue, asks before building, picks process and model, plans, builds, gates. Use on the first substantive request. Not for one-line fixes, typos, questions or PR review.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsgobashnodegitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add BSSE23047/nauraiz-dev --skill start-task --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Start Task?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Start Task
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bsse23047-start-task/badge)](https://www.skillsdirectory.com/skills/bsse23047-start-task)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: start-task
description: "Start work on an issue, branch or feature request: checks who owns the issue, asks before building, picks process and model, plans, builds, gates. Use on the first substantive request. Not for one-line fixes, typos, questions or PR review."
allowed-tools: Bash(node "${CLAUDE_PLUGIN_ROOT}/scripts/task/preflight.mjs" *) Bash(node "${CLAUDE_PLUGIN_ROOT}/scripts/task/collision.mjs" *) Bash(node "${CLAUDE_PLUGIN_ROOT}/scripts/gate/run.mjs" *) Bash(node "${CLAUDE_PLUGIN_ROOT}/scripts/show.mjs" *) Bash(gh issue view *) Bash(git fetch *) Bash(git rev-list *) Bash(git branch --show-current) Read Glob Grep
---

# start-task

The loop for one task. Do the steps in order and do not write code before step 9. The
routing table and plan rules live in `reference.md`; step 6 says when to read it (never
Read plugin files directly).

Config: `.claude/nauraiz-dev.json`, with `.claude/nauraiz-dev.local.json` over it. Keys:
`branch.base`, `branch.pattern`, `plan.dir`, `plan.template`, `models.*`, `sharedPaths`,
`gate`. No config: base `main`, plans in `.work/tasks`, models small `sonnet`, normal and
large `opus`, explore `haiku`.

Rules for every step:

- The owner decides. Never write that the owner approved, agreed or confirmed anything
  they did not say in this session.
- "Stop" and "ask" mean: end your turn with the question and wait. Do not continue on a
  guess.
- Never push, open a PR or merge unless the owner asked for it in this session.

## Steps

1. **Identify.** Issue number from the request, else from the branch name
   (`git branch --show-current`, `branch.pattern`; `feature/12-x` is issue 12). Then make
   ONE call for steps 1 to 3: `node "${CLAUDE_PLUGIN_ROOT}/scripts/task/preflight.mjs" <n>`
   (add `--branch <name>` when the request names a branch, and
   `--branch <current branch>` when the issue number came from the current branch name).
   It prints JSON: `issue`
   (title, body, labels, state, comments; `null` if `gh issue view` failed), `collision`,
   `base`. Steps 2 and 3 read it; make no other `gh` or `git` call for them.
   No issue number: the request is the spec; run it without one and use only `base`.
   A number with `issue` null: say so and work from the request.

2. **Collision check.** With an issue number, even if `gh issue view` failed, read
   `collision.verdict`. If preflight cannot run, run
   `node "${CLAUDE_PLUGIN_ROOT}/scripts/task/collision.mjs" <n>` with the same flags
   instead; if that prints no `verdict` either, treat it as `unknown`.
   - `taken`: **stop.** Tell the owner who and where: the `reason`, `otherAssignees`, each
     `openPRs` number, author and `why` (linked, mention, url, branch or head), and each
     `remoteBranches` and `remoteBranch` name and authors. Nothing more until the owner says go on.
   - `unknown`: ask the owner whether to go on, quoting the `reason`. Wait.
   - `ours` or `free`: say the verdict in one line and go on.

3. **Base check.** Read `base`. `behind` null (`fetched` false, or the count failed): say its
   `reason` and go on. `behind` above 0: say "<n> commits behind origin/<base>" and, if `ahead`
   is 0 (no commits of its own), add "recreate it on origin/<base>?". Go on; recreate only on a yes.

4. **Triage.** Size the task and say the size and the model `models.<size>` in one line;
   if this session runs another model, say so. Small: one or two files, an obvious change
   (typo, copy, rename, one-line bug with a known cause). Normal: one area, about 3 to 10
   files, a clear design. Large: across areas, a new schema, API, shared seam or
   dependency, more than ~10 files, or an open design. Torn: pick the larger. Small: make
   the change, verify it (the relevant test or gate command), report, done. Skip steps 5
   to 8; never read `reference.md`.

5. **Ask when it matters.** Run the `grill` skill. It may end the turn to wait for answers,
   then hands back here.

6. **Route the process.** Run
   `node "${CLAUDE_PLUGIN_ROOT}/scripts/show.mjs" skills/start-task/reference.md` once
   (routing table and plan rules, for steps 6 and 8). Pick one process per phase from the
   routing table and say the picks in one line, e.g. "Process: grill →
   superpowers:writing-plans → superpowers:test-driven-development → gate". Invoke each
   with the Skill tool when its phase starts; never follow one from memory. Large: the
   Design phase runs the skill picked here. When `superpowers:brainstorming` offers to
   start `superpowers:writing-plans`, that is the Plan phase: use the Plan pick instead.

7. **Explore cheaply.** If understanding the task needs more than ~5 files, or any file
   over ~800 lines, dispatch the `Explore` subagent with its model set to `models.explore`
   (default `haiku`). Ask it for conclusions with file paths and line ranges, then read
   only those ranges yourself.

8. **Plan.** Write the plan by the plan rules in `reference.md` (read at step 6): `branch:` frontmatter,
   `### Allowed` listing every path you will edit, `## Decisions` (the owner's answers)
   and "Decisions to confirm".
   Any `*_approval` field is `pending owner confirmation` unless the owner said yes in this session; then quote the date and the owner's words.
   If any `### Allowed` entry matches `sharedPaths` and was not asked about, run `grill` again before building.

9. **Build, gate, report.** Build with the routed skill. Then run the `gate` skill, or
   `node "${CLAUDE_PLUGIN_ROOT}/scripts/gate/run.mjs" --plan <plan path>` (exit 0 all
   pass, 1 a failure, 2 no gate configured). Run it once, from any folder in the project;
   it prints every command's exit code itself, so never append `echo $?`, pipes or `cd`.
   Re-run only after you changed code, or once with `--plan <path>` when a row says `no plan for this branch`. Read the table; never call anything green that
   failed or did not run. Report: what was built, the gate table, decisions to confirm,
   risks, anything unverified. Offer `ship` only if the owner authorised a PR this session.

Files in this skill

  • SKILL.md5.9 KB
  • reference.md2.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.