Ask Navigator
Yeachan-Heo/oh-my-claudecode
Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.
Drafts and iterates on local-development feature requests in the role of a staff-level Product Manager.
$ npx skills add FHIR/fhir-codegen --skill dev-request -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FHIR/fhir-codegen dev-request --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-request .claude/skills/dev-request && 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-request" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-request into .claude/skills/dev-request/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-request", 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-requestType 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-request -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FHIR/fhir-codegen dev-request --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-request .agents/skills/dev-request && 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-request" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-request into .agents/skills/dev-request/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-request", 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-request -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FHIR/fhir-codegen dev-request --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-request .cursor/skills/dev-request && 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-request" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-request into .cursor/skills/dev-request/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-request", 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-request--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-request -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FHIR/fhir-codegen dev-request --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-request .gemini/skills/dev-request && 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-request" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-request into .gemini/skills/dev-request/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-request", 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-requestInstalls 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-request -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-request .github/skills/dev-request && 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-request" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-request into .github/skills/dev-request/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-request", 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-request -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-request --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-request .opencode/skills/dev-request && 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-request" agent skill from https://github.com/FHIR/fhir-codegen/tree/main/.github/skills/dev-request into .opencode/skills/dev-request/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-request", 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-requestDrafts and iterates on local-development feature requests in the role of a staff-level Product Manager.
Dev Request is an agent skill from FHIR/fhir-codegen. Drafts and iterates on local-development feature requests in the role of a staff-level Product Manager. USE FOR: capturing a new feature idea as a structured featurerequest.md, refining an existing feature request, answering clarifying questions on a request, expanding a one-line idea into a reviewable proposal. Accepts either a full path to the target file or a short slot number that expands to scratch/[MMDD]-[]/featurerequest.md, and optionally an existing GitHub issue reference to seed the draft from and link…
Its SKILL.md is about 3.8k 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 Agent Workflows, covering Requirements gathering and Planning. 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 Request loads about 3.8k tokens when it runs. Until then it costs about 203 tokens; SKILL.md has 1,933 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). 1,933 words, ~3,788 tokens.
.claude/skills/dev-request/SKILL.md (or your agent's skills folder).Acts as a staff-level Product Manager (PM) for local development work in
this repository. Produces (or iterates on) a single markdown file —
featurerequest.md — that captures a feature request in enough detail
that a tech lead or engineering lead can take it forward to a plan.
This skill is intentionally lightweight: it is for shortcutting the local
inner loop, not for production product management. Output lives under
scratch/ (which is gitignored) and is not intended to be committed.
You are a staff-level PM. That means:
The skill is invoked with two pieces of information:
Target (required) — where to read/write the request. One of:
.md file. Used
verbatim. Example: scratch/0423-02/featurerequest.md,
C:\path\to\repo\scratch\0501-01\featurerequest.md.2, 02, 14). Expands
to scratch/<MMDD>-<##>/featurerequest.md where:<MMDD> is today's local date (zero-padded month + day).<##> is the slot number, always zero-padded to two digits
(2 → 02, 14 → 14).Request content (required for new, optional for iteration) — the user's raw description, idea, question, or feedback. May be a sentence, a paragraph, a transcript, a link, or a list of bullet points.
Issue reference (optional) — an existing GitHub issue to seed the draft 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 Feature Request: ); the fetched body seeds Problem;
labels and url go in Notes. You still apply PM 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 request: create
the parent directory if needed and write a fresh featurerequest.md.
If the resolved file already exists, this is an iteration: read the current content, then revise it based on the 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.
scratch/<MMDD>-<##>/featurerequest.md using today's date. Echo the
resolved path.# Feature Request: {short title}
| | |
|-|-|
| Slot | `scratch/<MMDD>-<##>/` (or full path) |
| Issue | [#N](<url>) — or `not published` |
| Status | Draft / Refining / Ready-for-plan |
| Created | {YYYY-MM-DD} |
| Last updated | {YYYY-MM-DD} |
## Problem
{1–3 paragraphs. What is the user trying to do? What's painful, missing,
or wrong today? Anchor in concrete scenarios where possible.}
## Goals
- {Outcome 1 — what success looks like, in user-visible terms.}
- {Outcome 2 …}
## Non-Goals
- {Anything you are deliberately *not* trying to do here, to keep scope
honest.}
## Users / Callers
{Who is affected? Internal developer, end user, downstream service,
operator, CI? Mention specific projects/components in the repo when
known.}
## Proposed UX / API Sketch (non-binding)
{Optional. A hand-wavy sketch of how this might look from the outside —
CLI flags, function signature, screen, JSON shape, etc. Mark this clearly
as non-binding so the eng lead can propose a different shape in
`dev-plan`.}
## Open Questions
- {Anything the PM (you) flagged as unresolved. Each question stands on
its own and is answerable.}
## Assumptions
- {Each assumption you made while drafting that the reader should
validate before planning.}
## Out of Scope / Future Work
- {Adjacent ideas worth recording but not part of this request.}
## Notes
{Free-form. Links, transcripts, prior art, related tickets, etc.}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 4. 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 featurerequest.md
directly.
"{N} open questions are still unanswered. Want to walk through them now, or would you rather edit
featurerequest.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.
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. 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 — 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 is your map of the repo. Read it at the repository
root when you need to name affected projects or components in
Users / Callers. Use it for layout and vocabulary only — do not
pull build, test, or implementation detail into a feature request.dev-plan.<MMDD> for a numeric slot, even if the user opened a session
yesterday. If the user wants a previous day's slot, they must give a
full path.featurerequest.md themselves — that is the point of asking — but
they must be asked, once, every pass.bugreport.md or plan.md in the same slot — those
are owned by dev-report 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.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-request of FHIR/fhir-codegen.
Open the folder on GitHubat commit b5f97c7
Dev Request 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 Request this skillFHIR/fhir-codegen | 154 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Ask NavigatorYeachan-Heo/oh-my-claudecode | 40k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Interview Meaddyosmani/agent-skills | 102k | 6 repos | ~3.8k | Automated safety check: Pass | MIT | |
| CE BrainstormEveryInc/compound-engineering-plugin | 25k | — | ~1.9k | Automated safety check: Pass | MIT | |
| GitHub Issue Readerjumppad-labs/jumppad | 263 | — | ~958 | Automated safety check: Pass | MPL-2.0 | |
| Feature BrainstormVeryGoodOpenSource/vgv-wingspan | 108 | — | ~1.8k | Automated safety check: Pass | MIT |
Yeachan-Heo/oh-my-claudecode
Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.
addyosmani/agent-skills
Asks one question at a time, each with a best guess attached, until the agent is about 95 percent sure what you really want, before any plan, spec or code.
EveryInc/compound-engineering-plugin
Turns a vague or ambitious feature idea into a requirements-only plan through dialogue with you, sized to the work, before any code is written.
jumppad-labs/jumppad
Pulls a GitHub issue's description, comments, labels, assignees, milestone and linked pull requests into one markdown report so the agent can plan a fix.
VeryGoodOpenSource/vgv-wingspan
Clarifies what to build before how, by asking one question at a time about a feature idea and then handing the result on to planning.
poshan0126/dotclaude
Interviews you about scope, behavior, edge cases and verification, then writes a self-contained SPEC.md that a fresh session can implement without this conversation.
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
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 feature requests in the role of a staff-level Product Manager. Dev Request is an agent skill from FHIR/fhir-codegen. Drafts and iterates on local-development feature requests in the role of a staff-level Product Manager.
Dev Request fits situations like: : capturing a new feature idea as a structured featurerequest.md; refining an existing feature request; answering clarifying questions on a request; expanding a one-line idea into a reviewable proposal.
Run `npx skills add FHIR/fhir-codegen --skill dev-request -a claude-code`. Or copy the skill folder (.github/skills/dev-request in FHIR/fhir-codegen) into .claude/skills/dev-request in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FHIR/fhir-codegen --skill dev-request -a codex`. Or copy the skill folder (.github/skills/dev-request in FHIR/fhir-codegen) into .agents/skills/dev-request 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-request -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-request, .gemini/skills/dev-request, .github/skills/dev-request and .opencode/skills/dev-request in your project.
Going by SKILL.md and its folder, Dev Request 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 Request is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k 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 Request: Ask Navigator (Yeachan-Heo/oh-my-claudecode, 40k stars), Interview Me (addyosmani/agent-skills, 102k stars), CE Brainstorm (EveryInc/compound-engineering-plugin, 25k stars) and GitHub Issue Reader (jumppad-labs/jumppad, 263 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 August 30, 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.