start
Skill1 starsChanged 8 months agoMITView on GitHub
Code Cannon: Start a new feature or bugfix
- Deletes or force-pushes
130 other projects use a version of this.
Adopted by
Most recently taken up by
- ansvisor/ansvisortheir own version, first seen Nov 8, 2026
- dsifry/metaswarmtheir own version, first seen Nov 8, 2026
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tooltheir own version, first seen Nov 8, 2026
- paulocsb/worldcup-fifa-pooltheir own version, first seen Nov 8, 2026
- srinator22/New-Projecttheir own version, first seen Nov 8, 2026
- Memolok/Claude-plugintheir own version, first seen Nov 6, 2026
Used with
Projects with it also use setup-engine, team-audio and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CoralGameSkillsetup-engine
Configure the project's game engine and version. Pins the engine in CLAUDE.md, detects knowledge gaps, and populates engine reference docs via WebSearch when the version is beyond the LLM's training data.
Also in 13 projects that use this
CoralGameSkillteam-audio
Orchestrate audio team: audio-director + sound-designer + technical-artist + gameplay-programmer for full audio pipeline from direction to implementation.
Also in 13 projects that use this
lilangMaxSkillcreate-stories
Break a single epic into implementable story files. Reads the epic, its GDD, governing ADRs, and control manifest. Each story embeds its GDD requirement TR-ID, ADR guidance, acceptance criteria, story type, and test evidence path. Run after /create-epics for each epic.
Also in 11 projects that use this
lilangMaxSkillstory-done
End-of-story completion review. Reads the story file, verifies each acceptance criterion against the implementation, checks for GDD/ADR deviations, prompts code review, updates story status to Complete, and surfaces the next ready story from the sprint.
Also in 11 projects that use this
- +5 more from CoralGame
- +3 more from lilangMax
Other versions130 projects use a version of this.
Word for word · 1
- sebastientaggart/CodeCannon★ 1100% same
Edited · 0
None found.
Wrote their own version · 129
- anthropics/knowledge-work-plugins★ 35ksame name
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- openai/plugins★ 7.8ksame name
- SterlingChin/marvin-template★ 1ksame name
- educlopez/ui-craft★ 441same name
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tool★ 432same name
- dsifry/metaswarm★ 426same name
- pixel-cellar/Claude-Code-Game-Studios★ 324same name
- ansvisor/ansvisor★ 233same name
- alexeykrol/claude-code-starter★ 194same name
119 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- checkpointSkill
- delegateSkill
- deploySkill
- qaSkill
- reviewSkill
- setupSkill
- startSkill
- statusSkill
- storySkill
- submit-for-reviewSkill
- checkpointSkill
- delegateSkill
- deploySkill
- qaSkill
- reviewSkill
- setupSkill
- startSkill
- statusSkill
- storySkill
- submit-for-reviewSkill
- checkpointSkill
- delegateSkill
- deploySkill
- qaSkill
- review-agentSkill
- reviewSkill
- setupSkill
- statusSkill
- storySkill
- submit-for-reviewSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
33 rules. 0 are common, 13 are distinctive, and 20 are very specific to this project.
0
Common
Most of the 116 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
20
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
Do not open any source file with intent to edit until git branch --show-current shows a feature/* branch.
- Very specific: line 17
If $ARGUMENTS is a number (digits only) → go to Case B: Resume existing issue.
- Distinctive: line 40
After parsing flags, determine the active labels in this order:
- Very specific: line 45
If any selected label name contains a space (e.g.
- Very specific: line 56
Use judgment — only create a label with clear reuse value.
- Distinctive: line 68
After parsing flags, determine the active milestone in this order:
- Distinctive: line 88
Before entering Case A or Case B, check the current branch:
- Very specific: line 94
If already on a feature/* branch and $ARGUMENTS is not a number (i.e.
- Distinctive: line 100
Stop. Wait for the user to respond.
- Very specific: line 109
If already on a feature/* branch and $ARGUMENTS is a number → proceed to Case B normally (it handles branch checkout itself).
- Very specific: line 111
If on any other branch → proceed to Case A or Case B as determined by the $ARGUMENTS check above.
- Distinctive: line 140
Create the issue in two steps — this exact sequence is mandatory:
- Distinctive: line 142
Step 3a — Create a temp directory and write the body file: Run:
- Distinctive: line 165
Use the labels and milestone you already resolved in the Parsing section (before Step 1).
- Very specific: line 166
Labels: if non-empty, add --label "<value>" to the command.
- Very specific: line 167
Milestone: if non-empty, add --milestone "<value>" to the command.
- Very specific: line 191
All five sections are required.
- Very specific: line 203
After the command runs, note the issue number from the output URL (e.g.
- Very specific: line 210
Use your file-writing tool (not Bash) to create <tmpdir>/issue_comment.md (same temp directory from Step 3a):
- Distinctive: line 238
If the script exits non-zero, stop and resolve the issue it reports before continuing.
- Distinctive: line 257
Verify the branch was created:
- Very specific: line 269
Write the code using your harness's native editing tools.
- Distinctive: line 277
If it fails because the target does not exist, tell the user rather than improvising a replacement.
- Very specific: line 280
No project test command is configured, so do not invent one to run here — verification happens at the check gate inside /submit-for-review.
- Very specific: line 283
When done, say: "When you've verified locally, reply yes to submit, or say what to change."
- Distinctive: line 305
Read the full body and all comments.
- Very specific: line 315
Ask: "Does this match your understanding?
- Distinctive: line 331
Create a temp directory for this invocation:
- Distinctive: line 362
Ensure the base branch is a perfect mirror of origin before branching (same safety rationale as Case A Step 4):
- Very specific: line 425
Do not write or edit any source file before git branch --show-current shows feature/*.
- Very specific: line 426
Do not use make branch — always use gh issue develop so the branch is linked to the issue in GitHub.
- Very specific: line 427
Do not commit during /start — commits happen in /submit-for-review.
- Very specific: line 428
If already on a feature branch when /start is invoked with new work (Case A), prompt the user to either continue on the current branch …
“Common” is measured: kept by at least 6 in 10 of the 116 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CRITICAL: Order of operations
You must complete Steps 1–4 before writing any code.
Do not open any source file with intent to edit until git branch --show-current shows a feature/* branch.
Determine case
If $ARGUMENTS is a number (digits only) → go to Case B: Resume existing issue.
Otherwise → go to Case A: New work.
Parsing $ARGUMENTS (Case A only)
Skip this entirely if
$ARGUMENTStriggered Case B.
Execution order: Resolve labels and milestones now, before entering Case A Step 1. If milestone auto-detection requires a user prompt (2+ open milestones), that prompt happens here — not later during issue creation. By the time you reach Step 2's human gate, all metadata must already be resolved so that Step 3 can proceed without re-prompting.
The description may be followed by optional flags — --label/-l and --milestone/-m, in any order. Separate the description from the flags yourself; the flags carry these meanings:
--label <value>/-l <value>— a comma-separated label string used verbatim, bypassing label auto-selection entirely for this invocation. Quote values containing spaces (e.g.--label "good first issue"). {{#if DEFAULT_MILESTONE}}--milestone <value>/-m <value>— a milestone name or number that replaces the default milestone{{DEFAULT_MILESTONE}}for this invocation (GitHub accepts both names and numbers). {{/if}} {{#if !DEFAULT_MILESTONE}}--milestone <value>/-m <value>— a milestone name or number (GitHub accepts both names and numbers). {{/if}}
Label resolution (three-tier, Case A only):
After parsing flags, determine the active labels in this order:
- Per-invocation flag — if
--label <value>was in$ARGUMENTS, use that value verbatim. Skip all remaining steps. {{#if TICKET_LABELS}} - Pool-based selection — the allowed label pool is:
{{TICKET_LABELS}}(comma-separated). Select 1–3 labels from this pool that genuinely fit the task description and implementation approach. Do not apply labels mechanically — pick only what fits. If no pool label fits the task, fall through to step 3.- If any selected label name contains a space (e.g.
good first issue), quote the entire--labelvalue. {{/if}} {{#if !TICKET_LABELS}}
- If any selected label name contains a space (e.g.
- Pool-based selection — no label pool is configured. Fall through to step 3. {{/if}}
- No label / creation — if the pool is empty or no pool label fits:
{{#if TICKET_LABEL_CREATION_ALLOWED}}
- Label creation is allowed in this project. The agent may create a new label before applying it:
Use judgment — only create a label with clear reuse value. Do not create near-duplicates of existing pool labels. {{/if}} {{#if !TICKET_LABEL_CREATION_ALLOWED}}gh label create "<name>" --color "<hex>" --description "<short description>" - Label creation is not allowed in this project. Omit
--labelentirely. Proceed silently; do not inform the user. {{/if}} {{#if !TICKET_LABELS}}
- Label creation is allowed in this project. The agent may create a new label before applying it:
Tip: Run
/setupto populate TICKET_LABELS from your repo's existing GitHub labels. {{/if}}
Milestone resolution (three-tier, Case A only):
After parsing flags, determine the active milestone in this order:
- Per-invocation flag — if
--milestone <value>was in$ARGUMENTS, use that value. Stop. {{#if DEFAULT_MILESTONE}} - Config default — use
{{DEFAULT_MILESTONE}}. Stop. {{/if}} - Auto-detect — if no milestone is resolved yet, query open milestones (the script prints
{"count": N, "milestones": [{"number", "title"}, ...]}for the current repo):python3 CodeCannon/skills/github-agile/scripts/list-open-milestones.py- 0 results → no milestone; proceed without
--milestone. - 1 result → use its title silently. Inform the user inline:
(milestone: <title>). - 2+ results → show the numbered list, ask once: "Multiple open milestones — which should this issue go under? (enter a number or title, or 'none')". Accept milestone number, title, or "none"/"skip". Wait for response before continuing.
- 0 results → no milestone; proceed without
Replace vs append: flags replace auto-selection entirely, they do not append. This avoids silent label duplication and milestone conflicts.
Pre-check: Existing feature branch
Before entering Case A or Case B, check the current branch:
git branch --show-currentIf already on a feature/* branch and $ARGUMENTS is not a number (i.e. this is new work, not a resume):
Say:
"You're already on
feature/<name>. Would you like to create a GitHub issue linked to this branch and start coding? Or switch to the base branch first? (yes to continue here / no to abort)"
Stop. Wait for the user to respond.
- Yes → proceed to Case A, but skip Step 4 (branch creation) entirely. The current branch is used as-is. In Step 3, after creating the issue, link it to the existing branch by running:
This links the issue to the branch in GitHub without creating or checking out a new branch. Ifgh issue develop <number> --base <base-branch> --name <current-branch-name>gh issue developfails because the branch already exists on the remote, that is fine — the link may already be established. Continue to Step 5. - No / abort → stop. Tell the user to switch to the base branch and run
/startagain.
If already on a feature/* branch and $ARGUMENTS is a number → proceed to Case B normally (it handles branch checkout itself).
If on any other branch → proceed to Case A or Case B as determined by the $ARGUMENTS check above.
Case A: New work (text description)
Step 1 — Investigate
Read the relevant code using your harness's native file-reading and search tools (read, grep/glob, and the like) rather than shell pipelines — hand-rolled find … | xargs, grep ; awk, or redirection shapes trigger permission prompts that cannot be permanently allowed. Then propose a concrete implementation approach, specific about which files change and how.
Step 2 — Approach checkpoint
{{#if START_APPROVAL_GATE}} Say exactly:
"Does this approach sound right? Type
goto create a GitHub issue and branch, or share any questions/adjustments first. To delegate part of the work to another agent, run/delegate <task description>before typinggo."
Stop. Wait for the user to respond.
The friendly text question is required regardless of harness mode. If your harness is currently in a preview / plan / dry-run mode where you cannot passively stop and wait (and must instead invoke the harness's own approval mechanism), still include the text question in your response. The harness's approval UI mediates the wait, but it is not a substitute for the question itself. Users expect to see the consistent text language across all modes; do not silently swap it for the harness's UI.
Proceed only on unconditional approval. If the user's response includes conditions, questions, or adjustments, treat it as discussion — address their input and re-ask. If the user abandons ("never mind", "stop"), stop — nothing to clean up.
{{/if}}
{{#if !START_APPROVAL_GATE}}
This project runs /start without an approval gate. Do not stop to wait for a go. State your proposed approach in one or two sentences so it is on the record, then proceed directly to Step 3. The user can still interrupt to redirect or to delegate (/delegate <task description>) if they want to.
{{/if}}
Step 3 — Create GitHub Issue
Create the issue in two steps — this exact sequence is mandatory:
Step 3a — Create a temp directory and write the body file. Run:
python3 CodeCannon/skills/github-agile/scripts/make-workdir.pyNote the returned path (e.g. /tmp/CodeCannon/a8f3b2). Use this path for all temp files in this invocation.
Then use your file-writing tool (Write in Claude Code, equivalent in other agents) to create <tmpdir>/issue_body.md with the structured markdown body (see sections below). Do NOT use Bash/shell to write this file. Do NOT use heredocs, cat, or echo. The file-writing tool bypasses shell parsing entirely.
Step 3b — Run gh issue create with --body-file pointing to the temp file:
gh issue create \
--title "<standalone full sentence — must make sense with no context>" \
--assignee @me \
[--label "<resolved labels>"] \
[--milestone "<resolved milestone>"] \
--body-file <tmpdir>/issue_body.mdIMPORTANT — never pass body content inline in the
ghcommand. Do not use--body,--body-file -, heredocs (<<EOFor<<'EOF'), or$(cat ...). All of these embed markdown in a Bash command, which triggers permission prompts that cannot be permanently allowed (the shell parser flags#headings, quoted delimiters, and substitutions). The two-step pattern above — file-writing tool then--body-file <path>— is the only approach that works without prompts across Claude Code, Gemini CLI, Cursor, and Codex.
Use the labels and milestone you already resolved in the Parsing section (before Step 1). Do not re-run label or milestone resolution here — the values are final:
- Labels: if non-empty, add
--label "<value>"to the command. If empty, omit--labelentirely. - Milestone: if non-empty, add
--milestone "<value>"to the command. If empty, omit--milestoneentirely.
{{#if ISSUE_FULL_STRUCTURE}} Body structure (required sections, in this order):
## Problem to Fix
<what is broken or missing, written for a non-developer — no code or file paths>
## Why it Matters
<the impact or motivation — who is affected and how>
## General Approach
<high-level direction for the fix, in plain language>
## Complexity
**Verification / QA effort:** <trivial | moderate | significant | extensive>
<one-line justification — what makes verification easy or hard for this specific change>
## Acceptance Criteria
- <specific, verifiable outcome>
- <another outcome>All five sections are required. Write for a non-developer audience — no code, no file paths. Acceptance Criteria must be concrete and verifiable (not vague goals). {{/if}} {{#if !ISSUE_FULL_STRUCTURE}} Body structure (lightweight):
Write a brief freeform body — a short paragraph or a few bullets covering what the change is and, if useful, a line of acceptance criteria. No mandated section headings. Keep it clear enough that a reader lands on the ticket and understands the intent, but do not pad it out to hit a template. {{/if}}
Title rules:
- ✅
Fix 'Contact Us' footer link pointing to 404 instead of /contact-us - ❌
Fix broken link
After the command runs, note the issue number from the output URL (e.g. https://github.com/.../issues/42 → issue 42).
Show the user: Created issue #<number>: <title>
{{#if ISSUE_FULL_STRUCTURE}} Then immediately post agent implementation notes as a comment.
Use your file-writing tool (not Bash) to create <tmpdir>/issue_comment.md (same temp directory from Step 3a):
## Agent Implementation Notes
<full technical plan: exact files to change, approach, key decisions, edge cases>Then post it via the comment-posting script (do NOT use gh issue comment with --body or heredocs):
python3 CodeCannon/skills/github-agile/scripts/post-issue-comment.py <number> <tmpdir>/issue_comment.md{{/if}}
Step 4 — Create feature branch
Ensure the base branch is a perfect mirror of origin before branching. The script below guards against uncommitted local changes, then runs git checkout, git fetch, and git reset --hard origin/<base> as one atomic operation. The hard reset is safe under the CodeCannon workflow (the integration/production branch is never edited locally — all changes flow through PRs); the dirty-tree guard catches accidental local edits before they get silently discarded.
{{#if BRANCH_DEV}}
python3 CodeCannon/skills/github-agile/scripts/sync-base-branch.py {{BRANCH_DEV}}{{/if}} {{#if !BRANCH_DEV}}
python3 CodeCannon/skills/github-agile/scripts/sync-base-branch.py {{BRANCH_PROD}}{{/if}}
If the script exits non-zero, stop and resolve the issue it reports before continuing.
Now create the feature branch:
{{#if BRANCH_DEV}}
gh issue develop <number> --base {{BRANCH_DEV}} --name feature/<number>-<short-descriptive-name> --checkout{{/if}} {{#if !BRANCH_DEV}}
gh issue develop <number> --name feature/<number>-<short-descriptive-name> --checkout{{/if}}
{{#if BRANCH_DEV}}
--baseis required:gh issue developreads the default base from the GitHub API, not from local working state, sogit checkout {{BRANCH_DEV}}on its own does not influence which branch the new feature branch is cut from. {{/if}}
Verify the branch was created:
git branch --show-currentShow the user: On branch feature/<name>
Do not proceed to Step 5 until this shows a feature/* branch.
Step 5 — Write the code
Write the code using your harness's native editing tools. Do NOT commit anything.
{{#if TEST_CMD}}
To exercise your work as you go, run the project's configured test command rather than hand-rolling a test invocation — a hand-built python3 -m unittest … > /tmp/… or similar redirection shape triggers permission prompts that a configured command avoids:
{{TEST_CMD}}If it fails because the target does not exist, tell the user rather than improvising a replacement.
{{/if}}
{{#if !TEST_CMD}}
No project test command is configured, so do not invent one to run here — verification happens at the check gate inside /submit-for-review.
{{/if}}
When done, say: "When you've verified locally, reply yes to submit, or say what to change."
- User replies
yes→ invoke/submit-for-reviewinline - User describes changes → iterate, repeat this message
Case B: Resume existing issue (numeric argument)
Story-driver recognition: If the immediately preceding context shows a preamble line of the form
[story-driver: parent=<N> ticket=<K> of <M>], the/startinvocation is being orchestrated by the/storydriver. Under that signal:
- Step 2's "Does this match your understanding?" gate is implicitly satisfied (the operator approved the entire story plan at story start). Skip the gate, do not ask, proceed directly toward Step 4.
- Step 3's investigation findings prompt is suppressed (default to skip silently). Genuine root-cause corrections or project-wide gotchas should still be raised, but routine "this looks like the ticket says" observations stay quiet.
- Step 5's closing "verified locally" prompt is implicitly approved — automatically proceed to
/submit-for-reviewwithout waiting foryes. Themake checkgate inside/submit-for-reviewis the verification safety net under the driver.Everything else in Case B (loading context, checking out the branch, writing the code, all real escalation triggers) behaves identically. The driver only suppresses the three routine prompts above.
Step 1 — Load context
gh issue view <number> --commentsRead the full body and all comments. Note: what was done, what remains, branch status.
Step 2 — Summarize and gate
Tell the user:
- What the issue is about
- What was previously done (from agent notes if present)
- What appears to remain
{{#if START_APPROVAL_GATE}}
Ask: "Does this match your understanding? Type go to start coding, or share any questions/adjustments first. To delegate part of the work to another agent, run /delegate <task description> before typing go."
Proceed only on unconditional approval. If the user's response includes conditions, questions, or adjustments, treat it as discussion — address their input and re-ask. If the user wants a fresh start, restart as Case A. If the user abandons, stop — nothing to clean up.
{{/if}}
{{#if !START_APPROVAL_GATE}}
This project runs /start without an approval gate. Do not stop to wait for a go — proceed directly to Step 3. The user can still interrupt to redirect, to restart as Case A, or to delegate (/delegate <task description>) if they want to.
{{/if}}
Step 3 — Investigation findings (conditional)
If the investigation in Steps 1–2 revealed anything that isn't already stated or implied by the issue body — a root cause correction, a related side-effect, a project-wide gotcha — present the findings. If the investigation simply confirmed the ticket, skip this step silently and proceed to Step 4.
{{#if !START_APPROVAL_GATE}}
This project runs /start without an approval gate — do not stop to prompt here. Default to skipping silently. If the investigation surfaced a genuine root-cause correction or project-wide gotcha worth preserving, post it as a comment without asking (create a temp dir with make-workdir.py, write <tmpdir>/investigation_comment.md with an ## Investigation Findings bullet list, post via post-issue-comment.py <number> <tmpdir>/investigation_comment.md), then proceed to Step 4. Otherwise proceed directly to Step 4.
{{/if}}
{{#if START_APPROVAL_GATE}}
Create a temp directory for this invocation:
python3 CodeCannon/skills/github-agile/scripts/make-workdir.pyPresent numbered findings:
The investigation surfaced the following:
<finding><finding>post as a comment to the ticket, or skip to continue.
post→ use your file-writing tool (not Bash) to create<tmpdir>/investigation_comment.md:
Then post it via the comment-posting script:## Investigation Findings - <finding> - <finding>python3 CodeCannon/skills/github-agile/scripts/post-issue-comment.py <number> <tmpdir>/investigation_comment.mdskip→ proceed silently. {{/if}}
Step 4 — Check out branch
Ensure the base branch is a perfect mirror of origin before branching (same safety rationale as Case A Step 4):
{{#if BRANCH_DEV}}
python3 CodeCannon/skills/github-agile/scripts/sync-base-branch.py {{BRANCH_DEV}}{{/if}} {{#if !BRANCH_DEV}}
python3 CodeCannon/skills/github-agile/scripts/sync-base-branch.py {{BRANCH_PROD}}{{/if}}
If the script exits non-zero, stop and resolve the issue it reports before continuing.
Find and check out the existing branch, or create a new one linked to the issue:
{{#if BRANCH_DEV}}
gh issue develop <number> --base {{BRANCH_DEV}} --name feature/<number>-<short-name> --checkout{{/if}} {{#if !BRANCH_DEV}}
gh issue develop <number> --name feature/<number>-<short-name> --checkout{{/if}}
{{#if BRANCH_DEV}}
--baseis required:gh issue developreads the default base from the GitHub API, not from local working state. {{/if}}
Verify:
git branch --show-currentStep 5 — Write the code
Continue from where work left off, using your harness's native editing tools. Do NOT commit.
{{#if TEST_CMD}}
To exercise your work as you go, run the project's configured test command rather than hand-rolling a test invocation — a hand-built python3 -m unittest … > /tmp/… or similar redirection shape triggers permission prompts that a configured command avoids:
{{TEST_CMD}}If it fails because the target does not exist, tell the user rather than improvising a replacement.
{{/if}}
{{#if !TEST_CMD}}
No project test command is configured, so do not invent one to run here — verification happens at the check gate inside /submit-for-review.
{{/if}}
When done, say: "When you've verified locally, reply yes to submit, or say what to change."
- User replies
yes→ invoke/submit-for-reviewinline - User describes changes → iterate, repeat this message
Hard rules
- Do not write or edit any source file before
git branch --show-currentshowsfeature/*. - Do not use
make branch— always usegh issue developso the branch is linked to the issue in GitHub. - Do not commit during
/start— commits happen in/submit-for-review. - If already on a feature branch when
/startis invoked with new work (Case A), prompt the user to either continue on the current branch (skipping branch creation) or abort. See Pre-check: Existing feature branch above. gh issue createmust use--titleand--body-fileflags. Never pass body content inline or open an interactive editor.- The issue is assigned to
@meat creation. If you are creating a ticket on someone else's behalf, remove the assignee after creation withgh issue edit <number> --remove-assignee @me. {{#if TICKET_LABELS}} {{#if TICKET_LABEL_CREATION_ALLOWED}} - Apply resolved labels and milestone to every new issue. Label resolution order: per-invocation flag → pool selection from
{{TICKET_LABELS}}→ create a new label when nothing in the pool fits. Labels outside{{TICKET_LABELS}}may only be created when no pool label is a good fit. {{/if}} {{#if !TICKET_LABEL_CREATION_ALLOWED}} - Apply resolved labels and milestone to every new issue. Label resolution order: per-invocation flag → pool selection from
{{TICKET_LABELS}}→ omit--labelentirely. Never apply a label outside{{TICKET_LABELS}}. {{/if}} {{/if}} {{#if !TICKET_LABELS}} - Apply labels only when explicitly provided via
--label. No label pool is configured. {{/if}} {{#if DEFAULT_MILESTONE}} - Milestone resolution order: per-invocation flag →
{{DEFAULT_MILESTONE}}config default → auto-detected from GitHub open milestones. Never prompt for a milestone more than once per invocation. {{/if}} {{#if !DEFAULT_MILESTONE}} - Milestone resolution order: per-invocation flag → auto-detected from GitHub open milestones. Never prompt for a milestone more than once per invocation. {{/if}}
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

