Ask which skill or flow fits your situation. A router over the skills in this repo.
The English summary is being prepared. Showing the original description.
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.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Create issues or switch the audience of existing issues, respecting repo conventions.
gh CLI installed and authenticated. If missing, stop and tell the user.Detect mode from user input:
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 frontmatter type: field from each template to determine available issue types. If no templates exist, fall back to: Bug, Feature, Task.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.
Scale exploration depth to the issue type:
Use findings to enrich the issue body with technical context the user didn't provide. Use domain glossary terms from GLOSSARY.md.
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.
Fetch the repo's label list:
gh label list --limit 100
Select 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.
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.
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.
If the user mentioned a parent issue, link it. Do NOT prompt for a parent — only pick it up if volunteered.
Compose the issue using the corresponding issue template (if one exists for the chosen type). Fill in template sections from gathered context. Add:
<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:
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.
Show the user the full draft:
Wait for explicit approval. If the user requests edits, apply them and re-preview.
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 an existing issue's audience between internal and community.
Read docs/agents/issue-audience.md. If missing, offer to set it up.
Check the issue's labels for the internal label defined in issue-audience.md.
Tell the user the current audience and ask to confirm the target:
Issue #42 is currently internal. Switch to community?
Replace the footer in the issue body using this priority:
<audience-footer> tags — if <audience-footer> and </audience-footer> exist, replace content between them.<!-- audience-footer-start --> and <!-- audience-footer-end --> exist, replace the entire block (including markers) with the new <audience-footer> format.issue-audience.md) is found in the body, replace it and wrap with <audience-footer> tags.<audience-footer> tags.Switching to internal:
issue-audience.mdSwitching to community:
issue-audience.mdgh issue edit <number> --body "<updated body>" --add-label "<label>" --remove-label "<label>"
Print the issue URL when done.
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.
No reviews yet. Tell others what you thought.
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.
Ask which skill or flow fits your situation. A router over the skills in this repo.
The English summary is being prepared. Showing the original description.
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
The English summary is being prepared. Showing the original description.
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
The English summary is being prepared. Showing the original description.
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
The English summary is being prepared. Showing the original description.
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
The English summary is being prepared. Showing the original description.
A relentless interview to sharpen a plan or design.
The English summary is being prepared. Showing the original description.