Skip to content
Back to skills

Model Card

ASecurity

Use when a trained medical-imaging model needs its documentation. Fills a Model Card and a Datasheet for its dataset from facts you supply, adds a METRIC-informed data-quality pass and gates that no required section is empty. Never invents numbers, provenance or licence.

  • 327 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 3, 2026
ai-agentspythonbashperformancedocumentation

Works with

  • cli

Security analysis

A100/100

Pro scans all 12 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add Aperivue/medsci-skills --skill model-card --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Model Card?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Model Card
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aperivue-model-card/badge)](https://www.skillsdirectory.com/skills/aperivue-model-card)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: model-card
description: Use when a trained medical-imaging model needs its documentation. Fills a Model Card and a Datasheet for its dataset from facts you supply, adds a METRIC-informed data-quality pass and gates that no required section is empty. Never invents numbers, provenance or licence.
metadata:
  triggers: "model card, model cards, datasheet, datasheet for datasets, dataset documentation, model documentation, hugging face card, model metadata, intended use, out-of-scope, data quality, METRIC framework, model reporting, document a model"
---

# Model-Card Skill

## Purpose

This skill produces the **documentation an engineer-built medical-imaging model must carry**: a
**Model Card** (intended use, out-of-scope use, training data, per-subgroup performance, caveats), a
**Datasheet** for its dataset (provenance, composition, collection, labelling, consent), and a
**METRIC-informed data-quality pass**. It fills the templates **from facts the user supplies** — it
never invents a number, a provenance detail, a consent status, or a licence — and ships a deterministic
gate that no required section is missing or left as an unfilled `[NEEDS INPUT]` placeholder.

It is the **reporting** seam of the model-engineering lane: after `/model-assessment` audits the design
and produces the numbers, this skill records them in a portable, auditable card that
`/write-paper` and `/check-reporting` consume. It mirrors `/version-dataset` structurally (generate +
deterministic verify).

## When to use
- A trained model needs a Model Card / Datasheet for a repo, Hugging Face card, or manuscript supplement.

## When NOT to use
- Auditing the validation design / metrics → `/model-assessment`.
- Versioning the dataset bytes → `/version-dataset`; tabular variable docs → `/generate-codebook`.
- Item-by-item reporting-guideline compliance of the manuscript → `/check-reporting`.
- Building / training the model → `/model-scaffold`.

## Workflow

### Phase 1 — Collect the facts
Gather, from the user / the model's developers: task + architecture + provenance + licence; intended use
and out-of-scope use; training and evaluation cohorts; the reference standard and inter-reader agreement;
overall and **per-subgroup** performance; data collection, consent, and de-identification. Anything not
supplied stays `[NEEDS INPUT]` — never guess.

### Phase 2 — Fill the Model Card
Copy `${CLAUDE_SKILL_DIR}/references/model_card_template.md` to `MODEL_CARD.md` and fill each section
from the facts. Keep the headings. Numbers come only from `/model-assessment` / executed results.

### Phase 3 — Fill the Datasheet
Copy `${CLAUDE_SKILL_DIR}/references/datasheet_template.md` to `DATASHEET.md` and fill the seven
question groups (Motivation, Composition, Collection, Preprocessing/Labeling, Uses, Distribution,
Maintenance).

### Phase 4 — METRIC data-quality pass
Walk `${CLAUDE_SKILL_DIR}/references/metric_dimensions.md` (completeness, correctness, consistency,
representativeness, timeliness, provenance, label provenance, fairness/coverage, leakage safety) and
record each finding in the Datasheet. Anything that affects the headline metric's validity is also a
`/model-assessment` finding — cross-check there.

### Phase 5 — Verify completeness (deterministic gate)
```bash
python3 ${CLAUDE_SKILL_DIR}/scripts/check_model_card_complete.py \
  --card MODEL_CARD.md --datasheet DATASHEET.md --strict
```
`MISSING_SECTION` / `EMPTY_REQUIRED_SECTION` / `UNFILLED_FIELD` must be zero before the card ships.
`UNFILLED_FIELD` names each field of a required section still left as `[NEEDS INPUT]` / `[VERIFY]`
(e.g. License or subgroup performance), even when a sibling field is filled. An explicit `N/A` /
`None` counts as an answer only as a field's whole value, and never in Intended Use, Training Data,
Evaluation Data, Metrics or Quantitative Analyses. Only the template tokens as written
(`[NEEDS INPUT ...]`, `[VERIFY]`, `[VERIFY: ...]`, upper case) count; markdown link text such as
`[verify the protocol](https://...)` or `[Verify][ref]`, and anything inside an HTML comment or a
fenced code block, is not a placeholder.
Known limits: a field left as a hand-written `TODO` / `TBD` / `<...>` / `XXXX` is caught only when
the whole section is unfilled; keep the template's bracketed `[NEEDS INPUT]` markers for open fields.

### Phase 6 — Hand off
Carry the card into `/write-paper` (the Methods / supplement reference it), `/check-reporting`
(CLAIM 2024 / TRIPOD+AI item audit of the manuscript), and `/self-review`.

## Anti-Hallucination

- **Never invent evaluation numbers, subgroup results, or dataset provenance.** Every figure comes from
  `/model-assessment` or the user's executed results; every provenance / consent / licence statement is
  user-confirmed. Unknown → `[NEEDS INPUT]`, which the gate flags.
- **Never mark a section complete without user-supplied content**, and never auto-fill a placeholder to
  pass the gate.
- **Never assert a licence or consent status the user did not confirm.**
- The gate checks **presence**, not truth — a complete card can still contain a wrong number; validity
  is `/model-assessment` and the human's responsibility.

## Deterministic gate
`scripts/check_model_card_complete.py` — verifies every required Model Card / Datasheet section is
present and non-empty (stdlib, network-free). Reproducible challenge:
`bash ${CLAUDE_SKILL_DIR}/scripts/check_model_card_complete_challenge/verify.sh`.

## Note on classification
Model Cards (Mitchell et al. 2019) and Datasheets (Gebru et al. 2021) are **documentation standards**,
not clinical reporting guidelines, so they live here as `references/` **templates** (uncounted), not in
`/check-reporting`'s counted checklist set — the same way `appraisal_tools/METRICS.md` is kept separate.
`/check-reporting` still owns the manuscript-level CLAIM 2024 / TRIPOD+AI item audit.

## Boundaries

```
model-assessment (audit design + metrics)
  └─ model-card (this skill: Model Card + Datasheet + METRIC pass, completeness-gated)
       └─ write-paper + check-reporting (manuscript) ; version-dataset (dataset bytes)
```

Files in this skill

  • SKILL.md5.7 KB
  • references/datasheet_template.md2.2 KB
  • references/metric_dimensions.md3 KB
  • references/model_card_template.md3.2 KB
  • scripts/check_model_card_complete.py8.7 KB
  • scripts/check_model_card_complete_challenge/fixture/complete/DATASHEET.md2.1 KB
  • scripts/check_model_card_complete_challenge/fixture/complete/MODEL_CARD.md2.7 KB
  • scripts/check_model_card_complete_challenge/fixture/incomplete/MODEL_CARD.md880 B
  • scripts/check_model_card_complete_challenge/problem.md1.8 KB
  • scripts/check_model_card_complete_challenge/verify.sh1.8 KB
  • skill.yml2.8 KB
  • tests/test_model_card_complete.sh2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.