Quality CI
managedcode/dotnet-skills
Set up or refine open-source .NET code-quality gates for CI: formatting, .editorconfig, SDK analyzers, third-party analyzers, coverage, mutation testing, architecture tests, and security scanning.
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.
$ npx skills add FHIR/fhir-codegen --skill dev-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FHIR/fhir-codegen dev-review --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-review .claude/skills/dev-review && 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-review" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-review into .claude/skills/dev-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-review", 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-reviewType 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-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FHIR/fhir-codegen dev-review --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-review .agents/skills/dev-review && 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-review" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-review into .agents/skills/dev-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-review", 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-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FHIR/fhir-codegen dev-review --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-review .cursor/skills/dev-review && 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-review" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-review into .cursor/skills/dev-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-review", 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-review--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-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FHIR/fhir-codegen dev-review --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-review .gemini/skills/dev-review && 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-review" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-review into .gemini/skills/dev-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-review", 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-reviewInstalls 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-review -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-review .github/skills/dev-review && 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-review" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-review into .github/skills/dev-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-review", 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-review -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-review --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-review .opencode/skills/dev-review && 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-review" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-review into .opencode/skills/dev-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-review", 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-reviewPerforms 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.
Dev Review is an agent skill from 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. USE FOR: pre-PR self-review, post-dev-do quality gates, ad-hoc deep reviews of a change set. Accepts either a full path to the analysis file or a short slot number that expands to scratch/[MMDD]-[]/analysis.md. Optional maxsubagents (default 3) caps parallel sub-agent fan-out. Engineering review covers antipatterns, hot paths, consistency errors…
Its SKILL.md is about 5k 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 Subagents, Test coverage and Quality gates. It works with GitHub. The repository describes itself as: Tools for code generation based on the FHIR specification. The licence is MIT.
4 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:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use 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 Review loads about 5k tokens when it runs. Until then it costs about 251 tokens; SKILL.md has 2,212 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,212 words, ~5,035 tokens.
.claude/skills/dev-review/SKILL.md (or your agent's skills folder).Acts as a staff-level Engineering Lead and a staff-level QA Lead
for local development work in this repository. Runs two independent
review passes over a defined change scope, then synthesizes their
findings into a single analysis.md that an engineering team can act on.
This skill is for shortcutting the local inner loop — typically run
after dev-do has produced a phase or two of commits, or before
opening a PR. Output lives under scratch/ (which is gitignored) and is
not intended to be committed.
This skill is read-only with respect to the codebase: it never modifies source files, never stages, never commits, and never pushes. The only file it writes is the analysis report itself.
This skill plays two roles, in sequence, then a third synthesizing role.
You are looking at the change as the engineer who has to live with it. Your concerns:
AGENTS.md (including its
architectural invariants). Do not invent a convention: if
AGENTS.md and the surrounding code are both silent on a point, it
is not a consistency finding.TODOs left in shipped code, types/methods now unused
after the change.IDisposable/IAsyncDisposable, cancellation propagation,
transaction scoping, swallowed exceptions, and behavior that
conflicts with the runtime/compatibility constraints documented in
AGENTS.md.You are looking at the change as the person who has to certify it. Your concerns:
After both reviews complete, you put on a single hat: the senior engineer writing the analysis the team will actually read. You:
Target (required) — where to write the analysis. One of:
.md file. Used
verbatim. Example: scratch/0423-02/analysis.md,
C:\path\to\repo\scratch\0501-04\analysis.md.2, 02, 14).
Expands to scratch/<MMDD>-<##>/analysis.md, where:<MMDD> is today's local date (zero-padded month + day).<##> is the slot number, always zero-padded to two digits.Scope (optional) — what to review. If the user names a scope, honor it verbatim. Accepted forms:
working-tree — staged + unstaged changes vs HEAD.last-commit — HEAD~1..HEAD.since-push — local commits ahead of the upstream branch
(@{u}..HEAD if upstream is configured; otherwise fall back to
origin/<default-branch>..HEAD).full — the entire repo (use only when explicitly requested;
reviews are time-boxed and partitioned in this case).<sha>..<sha>), a single SHA, a
branch name, or a list of file paths. Used verbatim.plan-slot — the commits produced by the sibling
plan.md in the same slot directory (see Scope Resolution below).Optional focus — free-form text. Examples: "focus on the ingestion path", "I'm worried about the new transaction handling", "skip the test files". Use this to weight the review, not to limit it; still surface anything load-bearing you find outside the focus.
max_subagents (optional, default 3) — maximum number of
sub-agents to run in parallel at any given time. 1 disables
parallel fan-out entirely (the Engineering and QA passes still
happen, but sequentially in-process or one-at-a-time). Hard upper
bound: 8. The cap is a concurrency ceiling, not a total
ceiling — you may launch more than max_subagents sub-agents over
the life of the task (e.g., when partitioning a large full scope)
as long as no more than max_subagents are running at the same
time.
Scope is not supplied)This is the order of operations:
Detect a sibling plan.md. If the resolved analysis path is
scratch/<MMDD>-<##>/analysis.md and a plan.md exists in the
same directory, attempt plan-slot scope:
plan.md's ## Progress Log and collect the SHA from every
COMMIT entry. Ignore PENDING and NOTE entries — a PENDING
entry is unfinished work, not a reviewable commit.oldest-parent..newest range unless you have
verified the commits are contiguous (each one's parent is the
previous), because an unverified range silently pulls in unrelated
intervening commits. Otherwise inspect each SHA individually with
git show <sha> and union the results.COMMIT entries are recorded yet (e.g.
the plan is Draft or Ready-to-execute), fall through to
step 2.No plan, or plan with no commits: stop and ask the user to choose. Offer these options exactly:
full — review all code in the repo.since-push — local commits not yet on the upstream branch.last-commit — just HEAD.working-tree — uncommitted changes only.Do not guess. Wait for the user's choice before starting either review pass.
Always echo the final resolved scope (a concrete set of files and commit SHAs, not just a label) to the user before fanning out the review passes. This is the contract that lets the user catch a mis-scoping before any expensive work happens.
analysis.md
already exists, note that you'll overwrite it.git status so you know
whether working-tree scope would actually contain anything.AGENTS.md at the repository root for the canonical build
and test commands, code style, and architectural invariants. If it
is absent, fall back to README.md / CONTRIBUTING.md and note in
the report which source you used. You will not run these
commands, but you will reference them in the QA review, so they
must be real. Never invent one.general-purpose or code-review agent per role)
so they can't anchor on each other. Each sub-agent:general-purpose
sub-agent explicitly prompted to act as an adversarial/rubber-duck
reviewer. Adopt critique findings that prevent miscommunication;
set aside findings that bloat the report. Briefly note in your reply
what (if anything) changed.analysis.md. Overwrite if present.# Code & QA Review: {short title — what was reviewed}
| | |
|-|-|
| Slot | `scratch/<MMDD>-<##>/` (or full path) |
| Issue | [#N](<url>) — or `not published` |
| Scope | {label + concrete description, e.g., `plan-slot` (3 commits, 14 files)} |
| Status | Draft / Ready-for-team |
| Created | {YYYY-MM-DD} |
| Reviewers | Engineering Lead + QA Lead (synthesized) |
## TL;DR
{3–5 sentences. What was reviewed, the overall health verdict
(Ship / Ship-with-fixes / Do-not-ship), and the single most important
thing the team should do next.}
## Scope
- **Commits:** {list of SHAs + subjects, oldest → newest, or "n/a"}
- **Files:** {bulleted list of files reviewed, grouped by project}
- **Excluded:** {anything intentionally not reviewed, with reason}
- **Focus:** {echo of the user's focus text, or "general review"}
## Findings
Findings are **synthesized** from both reviews and ranked by severity.
Each finding is independently actionable.
### Blocker
#### B1. {Short title}
- **Where:** `<path/to/source-file>:120-138` (or symbol name)
- **Source:** Engineering / QA / Both
- **What:** {1–3 sentences. The problem, in observable terms.}
- **Why it matters:** {1–2 sentences. Concrete risk if shipped as-is.}
- **Recommendation:** {Concrete next step. "Add test for X.",
"Hoist allocation out of the loop.", "Open follow-up issue and
document the limitation in `ABC.md`."}
### High
#### H1. {…}
{Same shape.}
### Medium
#### M1. {…}
### Low
#### L1. {…}
### Nit
#### N1. {…} (optional — drop the entire Nit section if empty)
## Test Coverage Summary
- **Covered well:** {areas of the change with strong test coverage}
- **Thin coverage:** {areas with weak coverage; what's missing}
- **Suggested new tests:** {bullet list, each naming the test name,
the project it belongs in, and the behavior it pins down}
## Verification Steps the Team Should Run
- {Specific commands, taken verbatim from `AGENTS.md`. Prefer the
scoped command for the affected project, or the focused filter for a
single test class/method.}
- {Any sanctioned verification that could **not** be cited as runnable
without setup `AGENTS.md` documents as a prerequisite, and why.}
- {Manual steps if applicable}
## Out of Scope / Deferred
- {Things the reviewers noticed but consciously did not chase, with
why. Useful follow-ups go here.}
## Next Steps
How these findings re-enter the loop:
- **Blocker / High** — when this review has a sibling slot containing a
`plan.md` (and its source request), re-invoke `dev-plan` on that slot
with this analysis as input; it folds them in as new remediation
phases and `dev-do` executes them. For an ad-hoc review with no such
slot, say so and recommend the user open one with
`dev-request` / `dev-report` first. Do not hand-patch them outside
the loop.
- **Medium** — fix now if the change is still in flight, otherwise
record as a follow-up.
- **Low / Nit** — record and move on. Do not block on these.
- **Never to GitHub.** This analysis is an internal artifact and is
never published as an issue, a comment, or a quotation. Findings
re-enter the loop as a new `dev-request` / `dev-report`, which get
their own issue.
- **After a clean analysis**, `dev-pr-open` is the recommended next
step — a recommendation, not a gate.
- {Name the concrete next action here, e.g., "Run `dev-plan` on
`scratch/0423-02/` to add remediation phases for B1 and H2."}
## Notes
{Free-form. Links to related plans, prior reviews, design docs.}git diff,
git log, git show, view, grep, glob, lsp, and similar
read-only inspections.full or a multi-hundred-file diff), you
may partition the file set across multiple Engineering or QA
sub-agents. If you do, give each sub-agent a non-overlapping
slice and aggregate before synthesizing.max_subagents. Never run more than max_subagents
sub-agents concurrently. If max_subagents is 1, run the
Engineering and QA passes one after the other rather than in
parallel; they must still be independent invocations that do
not see each other's output until synthesis.analysis.md is a snapshot, not a living document. When invoked
against a slot whose analysis.md already exists:
analysis.md with the fresh report. Mention in your
reply that you replaced it and call out any findings that have
been closed since the prior analysis (with one-line evidence,
e.g., "B1 from prior analysis is now resolved by commit abc1234").plan.md, featurerequest.md, or bugreport.md in
the same slot — those are owned by their respective skills.analysis.md (and the parent directory if missing).analysis.md is never published to GitHub. Not as an issue, not
as a comment, not as a quotation in a PR body. It is an internal
artifact. Findings re-enter the loop as a new dev-request /
dev-report, which get their own issue via dev-issue.Issue row, never invent it. Read it from the
sibling plan.md, or from the source artifact when no plan exists,
under the same no-downgrade ratchet the other skills use: never
replace an existing #N with not published. Report a disagreement
rather than resolving it — that belongs to dev-issue under its
§ The Issue Binding. This skill never calls a writing gh command.<MMDD> for a numeric slot. For an earlier slot, the user
must give a full path.AGENTS.md at the repository root as
the baseline for "consistency" findings, falling back to README.md
/ CONTRIBUTING.md if it is absent. Verify any applicable stored
memory against the repository before using it. A change that violates
a documented convention or architectural invariant is at least a
Medium finding unless explicitly justified. A change that merely
differs from your personal preference is not a finding at all —
do not import conventions from other repositories.max_subagents sub-agents in parallel.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-review of FHIR/fhir-codegen.
Open the folder on GitHubat commit b5f97c7
Dev Review 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 Review this skillFHIR/fhir-codegen | 154 | — | ~5k | Automated safety check: Pass | MIT | |
| Quality CImanagedcode/dotnet-skills | 486 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Code Quality Crapmacalbert/envilder | 138 | — | ~468 | Automated safety check: Pass | MIT | |
| Constraint-Driven Developmentaddyosmani/agent-skills | 103k | 2 repos | ~5.2k | Automated safety check: Pass | MIT | |
| Sonarffroliva/gflow-cli | 264 | — | ~1.1k | Automated safety check: Notes | MIT | |
| Reviewing Changesbitwarden/ios | 695 | — | ~1.1k | Automated safety check: Pass | GPL-3.0 |
managedcode/dotnet-skills
Set up or refine open-source .NET code-quality gates for CI: formatting, .editorconfig, SDK analyzers, third-party analyzers, coverage, mutation testing, architecture tests, and security scanning.
macalbert/envilder
CRAP score quality gate for code complexity and test coverage.
addyosmani/agent-skills
Records a project's quality bar in CONSTRAINTS.md and watches diffs for signs an agent quietly weakened it, such as suppressions, skipped tests or lowered thresholds.
ffroliva/gflow-cli
Check the SonarCloud quality gate for a PR (or the current branch) and drive it to zero.
bitwarden/ios
Performs comprehensive code reviews for Bitwarden iOS projects, verifying architecture compliance, style guidelines, compilation safety, test coverage, and security requirements.
managedcode/Storage
Set up or refine open-source .NET code-quality gates for CI: formatting, .editorconfig, SDK analyzers, third-party analyzers, coverage, mutation testing, architecture tests, and security scanning.
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 bug reports in the role of a staff-level Tech Lead.
FHIR/fhir-codegen
Drafts and iterates on local-development feature requests in the role of a staff-level Product Manager.
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
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. Dev Review is an agent skill from FHIR/fhir-codegen.md.
Dev Review fits situations like: : pre-PR self-review; post-dev-do quality gates; ad-hoc deep reviews of a change set.
Run `npx skills add FHIR/fhir-codegen --skill dev-review -a claude-code`. Or copy the skill folder (.github/skills/dev-review in FHIR/fhir-codegen) into .claude/skills/dev-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FHIR/fhir-codegen --skill dev-review -a codex`. Or copy the skill folder (.github/skills/dev-review in FHIR/fhir-codegen) into .agents/skills/dev-review 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-review -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-review, .gemini/skills/dev-review, .github/skills/dev-review and .opencode/skills/dev-review in your project.
Going by SKILL.md and its folder, Dev Review needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use 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 Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k 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 Review: Quality CI (managedcode/dotnet-skills, 486 stars), Code Quality Crap (macalbert/envilder, 138 stars), Constraint-Driven Development (addyosmani/agent-skills, 103k stars) and Sonar (ffroliva/gflow-cli, 264 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.