issue
Skill490 starsChanged 45 days agoApache-2.0View on GitHub
Create GitHub issues with repo conventions, issue templates, audience control (internal/community), and issue type assignment. Also switches existing issues between internal and community. Use when user says "create an issue", "file a bug", "open an issue", "make this community", "switch issue to internal", or wants to create or manage issues.
50 other projects use a version of this.
Adopted by
Most recently taken up by
- pch/rawmakasetheir own version, first seen Nov 8, 2026
- jmusick/skillstheir own version, first seen Nov 8, 2026
- dimsedra/skillstheir own version, first seen Nov 8, 2026
- fab-codes/agent-workflow-templatetheir own version, first seen Nov 8, 2026
- egregore-labs/egregoretheir own version, first seen Nov 6, 2026
- elastic/docs-buildertheir own version, first seen Nov 4, 2026
Used with
Projects with it also use branch, commit 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.
MindgamesSkillbranch
Use when a user asks to create a new local git branch and start issue work (for example, "create branch" or "start working on issue XYZ"). Use this for issue-based branch naming in the `type/scope-short-description` pattern and for always syncing local `main` from `origin/main` before creating the new branch, creating the local tracking `main` branch first when needed.
Also in 3 projects that use this
SentrySkillcommit
Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.
Also in 19 projects that use this
vertz-devSkillbacklog
Manages deferred/blocked work items as GitHub Issues with labels and blocker tracking
Also in 3 projects that use this
CodeWithBehnamSkillbrowse
Fast headless browser for QA testing and site dogfooding. Navigate any URL, interact with elements, verify page state, diff before/after actions, take annotated screenshots, check responsive layouts, test forms and uploads, handle dialogs, and assert element states. ~100ms per command. Use when you need to test a feature, verify a deployment, dogfood a user flow, or file a bug with evidence.
Also in 3 projects that use this
Microsoft AzureSkilltest
Also in 7 projects that use this
Microsoft AzureSkilllint
Run all linting and spell checking for TypeScript and Rust code. Run this before committing to catch style issues, clippy warnings, and misspellings.
Also in 4 projects that use this
- +1 more from Azure
Other versions50 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 50
- remotion-dev/remotion★ 72ksame name
- tldraw/tldraw★ 51ksame name
- tokio-rs/toasty★ 3.3ksame name
- dataplat/dbatools★ 2.9ksame name
- pch/rawmakase★ 1.6ksame name
- egregore-labs/egregore★ 293same name
- finos/git-proxy★ 263same name
- alamenai/terrae★ 245same name
- awslabs/loom★ 201same name
- dedalus-labs/wingman★ 181same name
40 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
- CLAUDE.mdCLAUDE.md
- ask-mattSkill
- codebase-designSkill
- code-reviewSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- implementSkill
- implement-specSkill
- improve-codebase-architectureSkill
- prototypeSkill
- prSkill
- researchSkill
- resolving-merge-conflictsSkill
- retroSkill
- setup-matt-pocock-skillsSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- wizardSkill
- writing-for-agentsSkill
- writing-great-skillsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 0 are common, 10 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 48 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Create issues or switch the audience of existing issues, respecting repo conventions.
- Distinctive: line 27
Read these files in order, skipping any that don't exist:
- Distinctive: line 37
If conversation context exists (e.g., from a prior /grill-with-docs, /triage, or discussion), draft the issue from that context.
- Very specific: line 47
Use findings to enrich the issue body with technical context the user didn't provide.
- Distinctive: line 51
If the type is obvious from context, confirm it with the user.
- Distinctive: line 66
Search open issues that might be related:
- Very specific: line 71
If related issues exist, mention them in the draft body under a "Related Issues" section (e.g., Related: #123, #456).
- Very specific: line 79
Never assume. Apply the label and footer from docs/agents/issue-audience.md based on the answer.
- Distinctive: line 83
If the user mentioned a parent issue, link it.
- Very specific: line 104
If an issue-internal skill is available, invoke it now, before the preview in step 10, so the draft the user reviews has already been …
- Distinctive: line 115
Wait for explicit approval.
- Very specific: line 119
Create the issue in one command, setting the type, parent, and any dependencies as flags (requires gh 2.94.0+):
- Distinctive: line 129
If the triage system is present and the issue type has a default triage state, apply the triage label.
- Very specific: line 141
Read docs/agents/issue-audience.md.
- Very specific: line 145
Check the issue's labels for the internal label defined in issue-audience.md.
- Distinctive: line 164
Add the internal label
- Very specific: line 165
Remove any signal labels defined in the community section of issue-audience.md
- Distinctive: line 168
Remove the internal label
- Very specific: line 169
Add the primary signal label defined in the community section of issue-audience.md
- Very specific: line 183
When docs/agents/issue-audience.md is missing, offer to create it with these defaults:
“Common” is measured: kept by at least 6 in 10 of the 48 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
issue
Create issues or switch the audience of existing issues, respecting repo conventions.
Prerequisites
ghCLI installed and authenticated. If missing, stop and tell the user.
Modes
Detect mode from user input:
- Create — no existing issue number referenced. Default mode.
- Switch — an existing issue number is referenced with an audience change intent (e.g., "make #42 community", "switch #42 to internal").
Create Mode
1. Read repo conventions
Read these files in order, skipping any that don't exist:
docs/agents/issue-tracker.md— determines which tracker and CLI to use. If missing, assume GitHub +gh.docs/agents/issue-audience.md— audience labels and footers. If missing, offer to set it up (see Setup Flow).docs/agents/triage-labels.md— triage label vocabulary. If missing, skip triage labels entirely.GLOSSARY.md— domain glossary for terminology. Use canonical terms in issue title and body..github/ISSUE_TEMPLATE/— parse frontmattertype:field from each template to determine available issue types. If no templates exist, fall back to: Bug, Feature, Task.
2. Gather context
If conversation context exists (e.g., from a prior /grill-with-docs, /triage, or discussion), draft the issue from that context. Otherwise, ask the user to describe the issue.
3. Explore the codebase
Scale exploration depth to the issue type:
- Task — minimal. Skim relevant files to confirm terminology and add a sentence of context.
- Bug / Spike — moderate. Trace the relevant code path, check recent git history in the area, note related files or modules.
- Feature / Epic — light touch only. These are expected to go through /to-prd and /grill-with-docs for full scoping. Add enough context to orient a reader, not to scope the work.
Use findings to enrich the issue body with technical context the user didn't provide. Use domain glossary terms from GLOSSARY.md.
4. Determine issue type
If the type is obvious from context, confirm it with the user. Otherwise, present the available types (derived from templates) and ask.
Important: The issue type (Bug, Feature, Task, etc.) is NOT a label. It is set at creation time with gh issue create --type <name> (see step 11). Do not add the issue type as a label. When the user says "create a bug issue" or "file a bug", interpret "bug" as the issue type, not a label to apply.
5. Check available labels
Fetch the repo's label list:
gh label list --limit 100Select labels that are relevant to the issue based on the content, area of code, or category. Do NOT apply the issue type as a label (see step 4). Only apply labels that actually exist in the repo.
6. Search for related issues
Search open issues that might be related:
gh issue list --state open --search "<relevant keywords>"If related issues exist, mention them in the draft body under a "Related Issues" section (e.g., Related: #123, #456). If a duplicate is found, flag it to the user before drafting.
7. Ask about audience
Always ask explicitly:
Is this issue internal (core team only) or open for community contribution? (default: internal)
Never assume. Apply the label and footer from docs/agents/issue-audience.md based on the answer.
8. Ask about parent issue
If the user mentioned a parent issue, link it. Do NOT prompt for a parent — only pick it up if volunteered.
9. Draft the issue
Compose the issue using the corresponding issue template (if one exists for the chosen type). Fill in template sections from gathered context. Add:
- The correct audience footer, wrapped in
<audience-footer>tags. GitHub does not render unknown HTML elements, so they act as invisible markers:<audience-footer> > [!IMPORTANT] > Footer text here. </audience-footer>
Redaction rules — never include in title or body:
- Security vulnerabilities, CVEs, CWEs, or attack vectors
- Secrets, API keys, tokens
- PII
If an issue-internal skill is available, invoke it now, before the preview in step 10, so the draft the user reviews has already been screened.
10. Preview and confirm
Show the user the full draft:
- Title
- Type
- Labels (audience + triage if applicable)
- Parent issue (if any)
- Body (rendered)
Wait for explicit approval. If the user requests edits, apply them and re-preview.
11. Publish
Create the issue in one command, setting the type, parent, and any dependencies as flags (requires gh 2.94.0+):
gh issue create --title "<title>" --body "<body>" --label "<labels>" --type "<type>" \
--parent <parent-number-or-url> \
--blocked-by <numbers> --blocking <numbers>--type sets the issue type, --parent links it as a sub-issue, and --blocked-by/--blocking mark dependencies (comma-separated numbers or URLs). Omit any flag you don't need.
If the triage system is present and the issue type has a default triage state, apply the triage label.
Print the issue URL when done.
Switch Mode
Switch an existing issue's audience between internal and community.
1. Read conventions
Read docs/agents/issue-audience.md. If missing, offer to set it up.
2. Determine current audience
Check the issue's labels for the internal label defined in issue-audience.md.
3. Confirm the switch
Tell the user the current audience and ask to confirm the target:
Issue #42 is currently internal. Switch to community?
4. Update the footer
Replace the footer in the issue body using this priority:
<audience-footer>tags — if<audience-footer>and</audience-footer>exist, replace content between them.- Legacy HTML comment markers — if
<!-- audience-footer-start -->and<!-- audience-footer-end -->exist, replace the entire block (including markers) with the new<audience-footer>format. - Known footer text — if the current footer text (from
issue-audience.md) is found in the body, replace it and wrap with<audience-footer>tags. - Append — if neither is found, append the new footer wrapped in
<audience-footer>tags.
5. Update labels
Switching to internal:
- Add the internal label
- Remove any signal labels defined in the community section of
issue-audience.md
Switching to community:
- Remove the internal label
- Add the primary signal label defined in the community section of
issue-audience.md
6. Apply changes
gh issue edit <number> --body "<updated body>" --add-label "<label>" --remove-label "<label>"Print the issue URL when done.
Setup Flow
When docs/agents/issue-audience.md is missing, offer to create it with these defaults:
# Issue Audience
How issues in this repo are marked for internal team use vs. open community contribution.
## Internal
- **Label:** `internal`
- **Footer:**
> [!IMPORTANT]
> Internal only — this issue is maintained by the core team and is not accepting external contributions.
## Community
- **Signal labels:** `help-wanted`
- **Footer:**
> [!IMPORTANT]
> If you are interested in working on this issue, please leave a comment.
> [!TIP]
> Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.Present these defaults and ask: "Does this look right for your repo, or do you want to change any of the labels or footer text?"
Apply edits, then write the file and continue with the original task.
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.

