Issue Replies
antoinecellerier/speaker-tuning-to-easyeffects
Guides triaging GitHub issues and drafting or posting replies in this repo.
Drafts and iterates on local-development bug reports in the role of a staff-level Tech Lead.
$ npx skills add FHIR/fhir-codegen --skill dev-report -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FHIR/fhir-codegen dev-report --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FHIR/fhir-codegen.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/dev-report .claude/skills/dev-report && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dev-report" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-report into .claude/skills/dev-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-report", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-reportType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FHIR/fhir-codegen --skill dev-report -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FHIR/fhir-codegen dev-report --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FHIR/fhir-codegen.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/dev-report .agents/skills/dev-report && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dev-report" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-report into .agents/skills/dev-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-report", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FHIR/fhir-codegen --skill dev-report -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FHIR/fhir-codegen dev-report --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FHIR/fhir-codegen.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/dev-report .cursor/skills/dev-report && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dev-report" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-report into .cursor/skills/dev-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-report", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FHIR/fhir-codegen.git --path .github/skills/dev-report--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FHIR/fhir-codegen --skill dev-report -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FHIR/fhir-codegen dev-report --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FHIR/fhir-codegen.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/dev-report .gemini/skills/dev-report && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dev-report" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-report into .gemini/skills/dev-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-report", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FHIR/fhir-codegen dev-reportInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FHIR/fhir-codegen --skill dev-report -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FHIR/fhir-codegen.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/dev-report .github/skills/dev-report && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dev-report" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-report into .github/skills/dev-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-report", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FHIR/fhir-codegen --skill dev-report -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FHIR/fhir-codegen dev-report --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FHIR/fhir-codegen.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/dev-report .opencode/skills/dev-report && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dev-report" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-report into .opencode/skills/dev-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-report", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dev-reportDrafts and iterates on local-development bug reports in the role of a staff-level Tech Lead.
Dev Report is an agent skill from FHIR/fhir-codegen. Drafts and iterates on local-development bug reports in the role of a staff-level Tech Lead. USE FOR: capturing a defect as a structured bugreport.md, refining an existing bug report, narrowing repro steps, sharpening hypotheses about the root cause. Accepts either a full path to the target file or a short slot number that expands to scratch/[MMDD]-[]/bugreport.md, and optionally an existing GitHub issue reference to seed the draft from and link to. Pairs with dev-request (features), dev-approach (contest the…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering QA and bug reports, Planning and Root cause analysis. It works with GitHub. The repository describes itself as: Tools for code generation based on the FHIR specification. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b5f97c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dev Report loads about 4.1k tokens when it runs. Until then it costs about 187 tokens; SKILL.md has 2,017 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FHIR/fhir-codegen at commit b5f97c7, republished under its MIT licence (© FHIR). 2,017 words, ~4,111 tokens.
.claude/skills/dev-report/SKILL.md (or your agent's skills folder).Acts as a staff-level Tech Lead for local development work in this
repository. Produces (or iterates on) a single markdown file —
bugreport.md — that captures a defect with enough rigor that an
engineering lead can take it forward to a plan.
This skill is for shortcutting the local inner loop. Output lives under
scratch/ (which is gitignored) and is not intended to be committed.
You are a staff-level Tech Lead. That means:
dev-plan's
job. Here you scope the problem and frame the most likely causes.Target (required) — where to read/write the report. One of:
.md file. Used
verbatim. Example: scratch/0423-03/bugreport.md,
C:\path\to\repo\scratch\0501-04\bugreport.md.3, 03, 14).
Expands to scratch/<MMDD>-<##>/bugreport.md where:<MMDD> is today's local date (zero-padded month + day).<##> is the slot number, always zero-padded to two digits.Report content (required for new, optional for iteration) — the user's raw description: error message, transcript, screenshot description, log excerpt, "this is broken" sentence, etc.
Issue reference (optional) — an existing GitHub issue to seed the report from. Accepted in exactly three forms:
#Ngh#Nhttps://<host>/<owner>/<repo>/issues/<N>Fetch it with:
gh issue view <N> --repo <owner/repo> `
--json title,body,labels,url,state<owner/repo> comes from the URL when one was given; otherwise from
the Repository row of AGENTS.md's ## GitHub Integration section,
falling back to git remote get-url origin when the integration is
off.
Map the result: the fetched title seeds the document's # heading
(prefixed Bug Report: ); the fetched body seeds Summary;
labels and url go in Notes. You still apply Tech Lead
judgment — this seeds a draft, it does not paste one.
This fetch is not gated on the GitHub integration. Reading an
issue the user explicitly pointed at is not a prompt and not a write.
If gh is unavailable or the fetch fails, say so and continue with
whatever the user supplied; a failed fetch is not a blocker.
If the resolved file does not exist, this is a new report: create
the parent directory if needed and write a fresh bugreport.md.
If the resolved file already exists, this is an iteration: read the current content, then revise based on new input. Preserve sections the user has not asked to change. Do not silently drop content.
If the user only provides a target with no content and the file already exists, treat the invocation as "open this for review" — read the file, summarize what's there, and ask what they want changed or what new evidence they have.
scratch/<MMDD>-<##>/bugreport.md using today's date. Echo the
resolved path.view / grep) to confirm or refine the hypothesis section.
Do not run the full test suite or attempt a fix — that's
dev-do's job.# Bug Report: {short title — symptom-first, not cause-first}
| | |
|-|-|
| Slot | `scratch/<MMDD>-<##>/` (or full path) |
| Issue | [#N](<url>) — or `not published` |
| Status | Draft / Investigating / Ready-for-plan |
| Severity | Blocker / High / Medium / Low |
| Created | {YYYY-MM-DD} |
| Last updated | {YYYY-MM-DD} |
## Summary
{1–2 sentences. What's broken, in symptom terms. A reader skimming the
file should know whether this is their problem.}
## Environment
- **Repo / branch / commit:** {e.g., `<repo-name>` @ `<branch>` @ `<sha>`}
- **OS / shell:** {e.g., Windows 11, PowerShell 7}
- **Runtime / toolchain versions:** {SDK, compiler, and package
versions relevant here — take the pinned values from `AGENTS.md`
where it records them}
- **Affected project(s):** {which project(s) from the layout table in
`AGENTS.md` the defect was observed in}
- **Other relevant context:** {feature flags, config, services running}
## Symptoms
{Bullet list of the observable misbehavior. Each bullet is something a
reader could verify on their own machine. Include exact error text /
exit codes / log lines. Quote them; don't paraphrase.}
## Steps to Reproduce
1. {Concrete command or action}
2. {…}
3. **Expected:** {what should happen}
4. **Actual:** {what does happen}
{If no deterministic repro is known, write
"No deterministic reproduction known." and describe the conditions
under which it has been observed.}
## Evidence
{Stack traces, log excerpts, screenshots-as-text, links to failing CI
runs, file paths + line numbers. Use code fences. Do not edit the
evidence to "clean it up".}
## Hypotheses
{Ranked list of plausible root causes. For each, give the smallest
piece of evidence that would confirm or refute it.}
1. **{Most likely cause}** — {why; what would confirm/refute}
2. **{Next most likely}** — {…}
## Workarounds
- {Any known way to avoid the bug today, even ugly ones.}
- {Or: "None known."}
## Blast Radius
{Who/what is affected. How often. Whether it blocks shipping, blocks
local dev, or is cosmetic. Whether data is at risk.}
## Open Questions
- {Information the tech lead (you) needs but doesn't have yet.}
## Out of Scope / Related
- {Adjacent issues noticed but not part of this report.}
## Notes
{Free-form. Links to related tickets, prior fixes, design docs.}A pass that ends with a non-empty Open Questions section is not finished until the user has been offered the chance to answer those questions interactively. Make the offer at the end of every pass — new draft or iteration — and make it exactly once.
This is not the same as the mid-draft clarifying question in Workflow step 5. That one blocks the draft, because the answer changes what you would write. The walkthrough happens after the file exists, and covers everything you recorded rather than blocked on.
After you report back, ask one question: walk the open questions now,
or leave them for the user to answer by editing bugreport.md
directly.
"{N} open questions are still unanswered. Want to walk through them now, or would you rather edit
bugreport.mdyourself?"
Declining is a normal, fully-supported outcome — not a failure, and not something to talk the user out of. When they decline, name the file path and stop. Do not re-offer, and do not start asking the questions anyway.
When the user accepts, take the questions one at a time, in document order. Never bundle two questions into one prompt, and never dump the whole list and ask for answers in prose. The value of the walkthrough is that each question arrives with the thinking already done.
For each question:
Use the session's interactive question tool so the choices are selectable. When there is none, ask in plain text with the options numbered — the shape of the question does not change.
A question whose answer is evidence — a version, a log line, an exit code — is still a question worth offering. Make the choices the plausible values you already suspect, and let the free-form answer carry the exact text the user pastes back.
Apply each answer to the document before moving to the next question, so an interrupted walkthrough never loses work.
A free-form answer may raise a new question. Add it to Open Questions and offer it at the end of the current walkthrough, rather than derailing the question in front of you.
If the user skips a question or answers "I don't know", leave it in Open Questions untouched and move on — an unanswered question is a legitimate outcome, and "no deterministic repro yet" is a real state. The user may also stop the walkthrough at any point: apply what was answered, leave the rest, and close.
Close by reporting which questions were answered, which sections changed, and what remains in Open Questions.
Answering every question does not by itself advance Status or
Severity — apply the same judgment you would on any other pass. When
a Status change does follow, the gated hand-off offer below is made
after the walkthrough closes, once.
When you set Status to Ready-for-plan, close your report with one
offer:
"Status is Ready-for-plan. Want three competing solution shapes before planning? (
dev-approach <slot>)"
Unlike the GitHub hand-off below, this offer is not gated — it is
made whether or not the integration is on, because dev-approach writes
only to scratch/ and never touches GitHub.
It is still an offer: make it once, and declining is normal and
changes nothing. dev-approach is optional, and going straight to
dev-plan is a fully-supported path.
Gate. If AGENTS.md has no ## GitHub Integration section, or its
Enabled row says no, nothing in this section applies and this
skill behaves exactly as it did before the integration existed. The
issue fetch under Inputs is deliberately outside this gate — it is
a read the user explicitly asked for. Only the stamp and the
offer below are gated.
When the slot was seeded from an issue reference and the resolved
owner/repo matches the recorded Repository, write that number and
URL into the Issue metadata row.
This is a local metadata write, not a network write, so it does not
encroach on dev-issue's ownership of GitHub writes.
When the reference points at a different repository — an issue filed
in a docs repo for work done in a code repo — do not stamp it.
Record the reference in Notes, leave Issue as not published, and
say why. Stamping a foreign issue number would make the slot permanently
unpublishable under dev-issue's conflict rule.
When you set Status to Ready-for-plan, and the integration is on,
and the Issue row is not published, close your report with one
offer:
"Status is Ready-for-plan. Publish this to GitHub? (
dev-issue <slot>)"
Declining changes nothing. This skill never calls a writing gh
command itself.
AGENTS.md. Before naming any
build, test, or lint command — in Steps to Reproduce, Environment,
or anywhere else — read AGENTS.md at the repository root. If it is
absent, fall back to README.md / CONTRIBUTING.md and state in your
output which source you used. Never invent a build or test command;
a repro nobody can run is not a repro.if branch or a migration,
move it to dev-plan.<MMDD> for a numeric slot. If the user wants an earlier slot, they
must give a full path.bugreport.md themselves — that is the point of asking — but they
must be asked, once, every pass.featurerequest.md or plan.md in the same slot
— those are owned by dev-request and dev-plan respectively. The
same goes for analysis.md, which is owned by dev-review, and for
approach-a.md, approach-b.md, approach-c.md, and approach.md,
which are owned by dev-approach.Issue row only at seed time. After that, the row
belongs to dev-issue. The no-downgrade ratchet applies: never
replace an existing #N with not published. If two sources
disagree about the number, do not pick one — the conflict rule lives
in dev-issue § The Issue Binding.dev-do's job.scratch/ are gitignored on purpose.© FHIR, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/dev-report of FHIR/fhir-codegen.
Open the folder on GitHubat commit b5f97c7
Dev Report next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dev Report this skillFHIR/fhir-codegen | 154 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Issue Repliesantoinecellerier/speaker-tuning-to-easyeffects | 142 | — | ~2k | Automated safety check: Pass | MIT | |
| Supporthomebridge-plugins/homebridge-eufy | 223 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Bug To Patch GeneratorArabelaTso/Skills-4-SE | 253 | — | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| PRP Implementation PlannerWirasm/prp | 2.3k | — | ~4.1k | Automated safety check: Pass | MIT | |
| PRP PlanWirasm/prp | 2.3k | — | ~4k | Automated safety check: Pass | MIT |
antoinecellerier/speaker-tuning-to-easyeffects
Guides triaging GitHub issues and drafting or posting replies in this repo.
homebridge-plugins/homebridge-eufy
Triage a GitHub issue using diagnostics archives and logs. An agent skill from homebridge-plugins/homebridge-eufy.
ArabelaTso/Skills-4-SE
Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces.
Wirasm/prp
Turns a PRD, issue or description into an implementation-ready plan grounded in codebase evidence, adding root-cause analysis for bugs and publishing issue plans back to the issue.
Wirasm/prp
Writes an implementation-ready plan for a feature, bug fix, refactor or chore from a PRD, issue or description, grounded in codebase evidence, and can post it back to the source issue.
Wirasm/prp
Diagnoses a bug, error, stack trace, regression, or unexplained behavior and publishes the evidence-backed root cause to GitHub.
FHIR/fhir-codegen
Publishes a slot's feature request or bug report to GitHub as an issue, and keeps that issue in sync, in the role of a release-minded engineer.
FHIR/fhir-codegen
Drafts and iterates on local-development feature requests in the role of a staff-level Product Manager.
FHIR/fhir-codegen
Performs a two-track code-quality and QA review in the roles of a staff-level Engineering Lead and QA Lead, then synthesizes both critiques into a single analysis.md.
FHIR/fhir-codegen
Explores three competing solution shapes for one request in the roles of three isolated staff-level Engineering Leads, then has a fourth skeptical judge sub-agent select one on the record.
FHIR/fhir-codegen
Drives the entire local inner loop in one invocation, as a conductor over the skills that own each role.
FHIR/fhir-codegen
Builds and iterates on a detailed implementation plan in the role of a staff-level Engineering Lead, working from either a featurerequest.md (from dev-request) or a bugreport.md (from dev-report).
Works with
Categories
Drafts and iterates on local-development bug reports in the role of a staff-level Tech Lead. Dev Report is an agent skill from FHIR/fhir-codegen. Drafts and iterates on local-development bug reports in the role of a staff-level Tech Lead.
Dev Report fits situations like: : capturing a defect as a structured bugreport.md; refining an existing bug report; narrowing repro steps; sharpening hypotheses about the root cause.
Run `npx skills add FHIR/fhir-codegen --skill dev-report -a claude-code`. Or copy the skill folder (.github/skills/dev-report in FHIR/fhir-codegen) into .claude/skills/dev-report in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FHIR/fhir-codegen --skill dev-report -a codex`. Or copy the skill folder (.github/skills/dev-report in FHIR/fhir-codegen) into .agents/skills/dev-report in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FHIR/fhir-codegen --skill dev-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dev-report, .gemini/skills/dev-report, .github/skills/dev-report and .opencode/skills/dev-report in your project.
Going by SKILL.md and its folder, Dev Report needs the command-line tools its instructions call (gh and git).
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Dev Report is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dev Report: Issue Replies (antoinecellerier/speaker-tuning-to-easyeffects, 142 stars), Support (homebridge-plugins/homebridge-eufy, 223 stars), Bug To Patch Generator (ArabelaTso/Skills-4-SE, 253 stars) and PRP Implementation Planner (Wirasm/prp, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FHIR (a GitHub organization) maintains it in FHIR/fhir-codegen, which has 154 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.
Source: FHIR/fhir-codegen on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.