Agent skill

Dev Report

by FHIR in FHIR/fhir-codegen

Drafts and iterates on local-development bug reports in the role of a staff-level Tech Lead.

MITAuto-check passedTesting & QA

Install Dev Report

skills CLI
$ npx skills add FHIR/fhir-codegen --skill dev-report -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install FHIR/fhir-codegen dev-report --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
dev-report
GitHub stars
154
Token cost
~4.1k tokens
SKILL.md length
2,017 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Drafts and iterates on local-development bug reports in the role of a staff-level Tech Lead.

  • Works in 3 steps: Target (required) — where to read/write… → Report content (required for new,… → Issue reference (optional) — an existing…
  • : capturing a defect as a structured bugreport.md
  • SKILL.md covers Role, Inputs, Workflow and Report Format, plus 4 more sections
  • Calls gh and git

What it does

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.

When your agent uses it

  • : capturing a defect as a structured bugreport.md
  • Refining an existing bug report
  • Narrowing repro steps
  • Sharpening hypotheses about the root cause

Example prompts

  • “Use the dev-report skill to draft and iterates on local-development bug reports in the role of a staff-level Tech Lead”
  • “/dev-report”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Target (required) — where to read/write the report. One of
  2. Report content (required for new, optional for iteration) — the
  3. Issue reference (optional) — an existing GitHub issue to seed the

What it can do on your machine

Read from SKILL.md and the folder at commit b5f97c7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~187
When it runs · the whole SKILL.md, loaded when a task matches
~4.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from FHIR/fhir-codegen at commit b5f97c7, republished under its MIT licence (© FHIR). 2,017 words, ~4,111 tokens.

Download SKILL.mdSave it as .claude/skills/dev-report/SKILL.md (or your agent's skills folder).
name
dev-report
description
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 solution shape), `dev-plan` (implementation plan from a report), `dev-do` (execute a plan), `dev-review` (review the result), `dev-issue` (publish the report to GitHub), and `dev-pr-open` (push and open the PR).

Dev Report Skill

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.

Role

You are a staff-level Tech Lead. That means:

  • You separate observation from interpretation. What happened goes in Symptoms; what you think is going on goes in Hypotheses, clearly labelled.
  • You insist on a minimal, deterministic repro when possible. If the user can't give you one, you say so explicitly and propose how to get one.
  • You think about blast radius: who is affected, how often, what workarounds exist.
  • You don't jump to a fix. Naming files and writing code is dev-plan's job. Here you scope the problem and frame the most likely causes.
  • You write crisply. Concrete commands, concrete file paths, concrete log lines. No vibes.

Inputs

  1. Target (required) — where to read/write the report. One of:

    • A full path (absolute or repo-relative) to a .md file. Used verbatim. Example: scratch/0423-03/bugreport.md, C:\path\to\repo\scratch\0501-04\bugreport.md.
    • A slot number (one or more digits, e.g. 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.
    • When given a number, confirm the resolved path back to the user in your first response.
  2. 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.

  3. Issue reference (optional) — an existing GitHub issue to seed the report from. Accepted in exactly three forms:

    • #N
    • gh#N
    • a full issue URL, https://<host>/<owner>/<repo>/issues/<N>

    Fetch it with:

    powershell
    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.

Workflow

  1. Resolve the target path. If it's a number, expand to scratch/<MMDD>-<##>/bugreport.md using today's date. Echo the resolved path.
  2. Load existing content if the file is present.
  3. Triage the new input. Sort it into Symptoms vs. Environment vs. Repro vs. Hypotheses. Don't mix them.
  4. Investigate lightly when cheap. If the user gave you a stack trace, file path, or symbol, it's reasonable to open the referenced files (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.
  5. Identify gaps. For each missing piece (no repro, no version, no stack), either record what's missing in the Open Questions section or ask a focused clarifying question.
  6. Write the file using the format below. Preserve user-authored sections that don't conflict with your edits.
  7. Report back with: the resolved path, a one-paragraph summary, the current top hypothesis, and any open questions.
  8. Offer the open-questions walkthrough whenever the file's Open Questions section is non-empty — see § Open Questions Walkthrough.

Report Format

markdown
# 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.}

Open Questions Walkthrough

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.

The offer

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.md yourself?"

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.

The walkthrough

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:

  1. State the question in one sentence, with just enough context that the user does not have to re-read the file to answer it.
  2. Offer at most three answers. Each is a concrete answer, not a category of answer, and each carries a one-line rationale: what choosing it buys, and what it costs. Two is right when only two answers are real — a padded straw-man option is worse than a short list.
  3. Recommend exactly one, and justify the recommendation against the others: what makes it the better trade here, not merely that you prefer it.
  4. Leave the free-form answer open. The user is never confined to your three. When the interactive question tool supplies its own free-text option, rely on that rather than spending one of your three choices on "something else".

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.

Show full SKILL.md (890 more words)Show less
Applying answers

Apply each answer to the document before moving to the next question, so an interrupted walkthrough never loses work.

  • The answered question leaves Open Questions.
  • The decision lands in the section it belongs to — Environment, Symptoms, Steps to Reproduce, Evidence, Workarounds, or Blast Radius — written as settled content, not as "the user said". Keep the observation/interpretation split: an answer that confirms or kills a cause re-ranks Hypotheses and does not become a symptom.
  • Evidence the user pastes in is quoted verbatim, exactly as the rest of Evidence is.
  • If the answer contradicts something already written, fix that too, and say so when you close.

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.

Closing

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.

Approach Hand-off

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.

GitHub Integration (optional)

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.

Seed-time stamping

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.

Hand-off offer

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.

Important Rules

  • Repository conventions live in 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.
  • Stay in the Tech Lead role. Do not write an implementation plan here. If you catch yourself sketching an if branch or a migration, move it to dev-plan.
  • Today's date governs slot expansion. Never reuse a previous day's <MMDD> for a numeric slot. If the user wants an earlier slot, they must give a full path.
  • Symptoms and hypotheses live in different sections. Don't claim a cause as a symptom.
  • Quote evidence verbatim. Do not "tidy up" stack traces or log lines.
  • Offer the walkthrough before you finish. A pass that ends with a non-empty Open Questions section closes with the offer in § Open Questions Walkthrough. The user may decline and edit bugreport.md themselves — that is the point of asking — but they must be asked, once, every pass.
  • One question at a time; three answers at most. Every answer carries a rationale, exactly one is recommended with a justification against the others, and a free-form answer is always available. A wall of questions is not a walkthrough.
  • Do not modify 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.
  • You write the 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.
  • Do not attempt fixes. Reading code to refine a hypothesis is fine; editing code is dev-do's job.
  • Do not commit. Files under 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

Files

Just SKILL.md in .github/skills/dev-report of FHIR/fhir-codegen.

Open the folder on GitHubat commit b5f97c7

Compare with similar skills

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.

Dev Report compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dev Report this skillFHIR/fhir-codegen154—~4.1kAutomated safety check: PassMIT
Issue Repliesantoinecellerier/speaker-tuning-to-easyeffects142—~2kAutomated safety check: PassMIT
Supporthomebridge-plugins/homebridge-eufy223—~1.7kAutomated safety check: PassApache-2.0
Bug To Patch GeneratorArabelaTso/Skills-4-SE253—~4.4kAutomated safety check: PassApache-2.0
PRP Implementation PlannerWirasm/prp2.3k—~4.1kAutomated safety check: PassMIT
PRP PlanWirasm/prp2.3k—~4kAutomated safety check: PassMIT

Similar skills

  • Issue Replies

    antoinecellerier/speaker-tuning-to-easyeffects

    Guides triaging GitHub issues and drafting or posting replies in this repo.

    142 GitHub stars~2k tokensUpdated today
    Testing & QAAuto-check passed
  • Support

    homebridge-plugins/homebridge-eufy

    Triage a GitHub issue using diagnostics archives and logs. An agent skill from homebridge-plugins/homebridge-eufy.

    223 GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Bug To Patch Generator

    ArabelaTso/Skills-4-SE

    Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces.

    253 GitHub stars~4.4k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • 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.

    2.3k GitHub stars~4.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • PRP Plan

    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.

    2.3k GitHub stars~4k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Prp Debug

    Wirasm/prp

    Diagnoses a bug, error, stack trace, regression, or unexplained behavior and publishes the evidence-backed root cause to GitHub.

    2.3k GitHub stars~1.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed

More from FHIR/fhir-codegen

All 9 skills in this repo
  • Dev Issue

    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.

    154 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Dev Request

    FHIR/fhir-codegen

    Drafts and iterates on local-development feature requests in the role of a staff-level Product Manager.

    154 GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Dev Review

    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.

    154 GitHub stars~5k tokensUpdated today
    Auto-check passed
  • Dev Approach

    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.

    154 GitHub stars~6.4k tokensUpdated today
    Auto-check passed
  • Dev Complete

    FHIR/fhir-codegen

    Drives the entire local inner loop in one invocation, as a conductor over the skills that own each role.

    154 GitHub stars~9.6k tokensUpdated today
    Auto-check passed
  • Dev Plan

    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).

    154 GitHub stars~6.1k tokensUpdated today
    Auto-check passed

Works with

Questions about Dev Report

What does Dev Report do?

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.

When should I use Dev Report?

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.

How do I install Dev Report in Claude Code?

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.

How do I install Dev Report in Codex?

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.

Can I use Dev Report in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Dev Report need to run?

Going by SKILL.md and its folder, Dev Report needs the command-line tools its instructions call (gh and git).

Does Dev Report access the network?

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.

Is Dev Report safe to install?

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.

What licence does Dev Report use?

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.

How many tokens does Dev Report use?

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.

What are the alternatives to Dev Report?

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.

Who maintains Dev Report?

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.