agentleFS
MicrosoftKnown publishermicrosoft/healthcareai-examples/agentic/medimageinsight/skills/write-report/SKILL.md

write-report

Skill204 starsChanged 4 months agoMITView on GitHub

Read a chest X-ray end-to-end: ground findings with MedImageInsight, then write a structured radiologist report (Indication, Technique, Findings, Impression). Invoke for any "write/draft a CXR report" request.

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Follow the linked skill's own steps to get the per-finding calls — do not call the MI2 tools directly and do not invent the label set.

    line 30
  2. Distinctive:

    Use this section structure, in this order, with all-caps headers:

    line 36
  3. Distinctive:

    Do not use markdown formatting, plain text only.

    line 56
  4. Distinctive:

    No padding, filler, or clinical disclaimers.

    line 63

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

write-report

Runs the full CXR report flow: resolve the image, ground findings with MedImageInsight, then write a structured radiologist report. Invoke as: write-report <zeroshot|adapter|none> <image> [indication].

Budget

Grounding is at most one tool call per image, made inside the grounding skill. Report-writing itself calls no tools. Do not retry on success.

Workflow

Print this checklist and work through it in order, checking off each step as you go.

  1. Announce the checklist — print it so the user sees the plan before you begin.
  2. Resolve the image — if image is an http(s) URL, use it as-is (do not check the filesystem). Otherwise turn it into an absolute path and confirm the file exists using your tools; if it does not resolve to a real file, STOP and ask the user for a valid path or URL. Note indication and any priors.
  3. Pick the grounding method — use method if given, otherwise default to zeroshot. none means an unaided read with no grounding.
  4. Ground the findings — open the grounding skill for the chosen method and follow it exactly:

    • zeroshot → ground-zeroshot
    • adapter → ground-adapter
    • none → skip; read the image unaided.

    Follow the linked skill's own steps to get the per-finding calls — do not call the MI2 tools directly and do not invent the label set. If grounding errors, STOP (see On error).

  5. Write the report — using the findings, write it in the exact format in Report format below.
  6. Emit the output envelope — see Output.

Report format

Use this section structure, in this order, with all-caps headers:

INDICATION:
TECHNIQUE:
FINDINGS:
IMPRESSION:
  • INDICATION — one short sentence on clinical context. If none was provided, write: Not provided.
  • TECHNIQUE — one sentence describing the study (view, technique). Default: Frontal chest radiograph.
  • FINDINGS — impersonal declarative sentences. Mention all standard structures (lungs, pleura, heart, mediastinum, bones, any devices) even when normal.
  • IMPRESSION — numbered, prioritized by clinical significance. One concise statement per number. Hedging language permitted.
  • Plain text only — no markdown. The all-caps section labels are the only headers.

Borrow phrasings from references/phrase-bank.md.

Style rules

  • FINDINGS states observations; IMPRESSION states interpretations.
  • Do not use markdown formatting, plain text only. No bold, italics, or lists.
  • Match hedge strength to evidence:
    • High evidence or high scores: state directly. Right lower lobe pneumonia.
    • Moderate: use possible or differential includes.
    • Low but non-zero: use cannot exclude.
    • Absent: omit, or state the negative if clinically relevant.
  • State negatives explicitly. Group them: No pleural effusion or pneumothorax.
  • No padding, filler, or clinical disclaimers.
  • Present tense.

Critical rule

The report must read as the radiologist's direct interpretation of the image. Do not mention the tools, models, classifiers, scores, thresholds, or any system internals used to produce the findings.

Output

The skill emits exactly this envelope — <info> holds the grounding details (method, evidence, confidence); <report> holds the clean radiologist report. Match this structure exactly:

<output>
<info>
Grounding: zeroshot
Evidence: Consolidation 0.62 (positive), Pneumonia 0.48 (positive), Effusion 0.06 (absent)
Confidence: medium
Note: research/educational example, not for clinical use.
</info>
<report>
INDICATION: Cough and fever.
TECHNIQUE: Frontal AP chest radiograph.
FINDINGS: Patchy opacity in the right lower lobe, compatible with consolidation. The remaining lungs are clear. No pleural effusion or pneumothorax. Cardiomediastinal silhouette is within normal limits for technique. No acute osseous abnormality. No support devices.
IMPRESSION:
1. Right lower lobe consolidation, compatible with pneumonia.
2. No pleural effusion or pneumothorax.
</report>
</output>
  • Grounding — none, zeroshot, or adapter (head).
  • Evidence — the per-finding calls/scores from grounding, or unaided read for none.
  • Confidence — low, medium, or high, derived from the grounding evidence and image quality. Use low when image quality limits the read, and note that in FINDINGS.
  • <report> — the clean report only: no <info> content, no method/model/score talk.

On error

If image resolution or grounding fails, STOP. In plain prose, say what failed and the likely fix (for example: run setup, or check that the image path is correct and reachable). Emit NO <output>, <info>, or <report> block — not even an empty one. Never retry blindly or write an ungrounded report.

Download now (ZIP)

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. rezendefabio/financas-lab★ 0same name
    2. Xia-Ataraxia/craft-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository3 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.