Recover a bioSkills SKILL.md into the Foundry

VerifiedSafe

Reconstruct a bioSkills SKILL.md as a do-audit pair in the Foundry, tracing sources and comparing molds.

Sby Skills Guide Bot
DocumentationAdvanced
7/25/2026
Claude Code
#skill-authoring#provenance#bioinformatics#blind-assembly#research-ingest

Recommended for

Automated summary

Rebuilds a single bioSkills SKILL.md inside the Foundry as a blind-assembled doer + audit Mold pair, then diffs both candidates against the original skill to measure how much of it traces to real citations.

Strengths

  • Enforces clean-context blind assembly of both the doer and the audit Mold, so neither copies the SKILL.md and the recoverability diff stays honest.
  • Requires fetching the actual SKILL.md from bioSkills and ingesting backing sources through summarize-source rather than backfilling from memory.
  • Keeps all writes with the orchestrator; research, assembly and comparison subagents only return reports.
  • Delivers a diff plus a gap work-list, giving an actionable output that drives further sourcing.

Limitations

  • The deliverable is a recoverability probe, not finished Molds: both candidates are staged outside content/ for human authoring.
  • Relies on bioSkills repo paths and URLs that move fast, and on open-access surrogates being available to close gaps.
  • Consumes subagent budget and is coupled to the Foundry's own glossary, MOLD_SPEC and research notes read in Phase 0.
When to use it

Use it when you want to check whether a bioSkills skill's doing procedure and validity axis are actually backed by primary sources.

When not to use it

Skip it when you just need a working skill quickly, or when you lack the Foundry corpus and Mold spec the workflow depends on.

Security analysis

Safe
Quality score86/100

The skill orchestrates subagents and file operations but only uses read, write, fetch, and diff-style operations. There are no destructive commands, secret exfiltration, obfuscated payloads, or instructions to disable safety. Network access is limited to fetching specified bioSkills sources or user-provided SKILL.md URLs, which is a normal research workflow. The use of Bash and Agent is legitimate and non-risky.

No concerns found

How this analysis is made

Examples

Probe a repo path
Run the bioSkills recoverability probe on population-genetics/selection-statistics: fetch the SKILL.md, research and ingest its backing sources, blind-assemble the doer and audit Molds, then diff both against the original and give me the gap work-list.
Probe from a raw URL
Use https://raw.githubusercontent.com/GPTomics/bioSkills/main/.../SKILL.md as the input for the recoverability probe — confirm the skill slug and category against bioSkills first, then produce the two diffs.
Triage reuse before spending budget
Before spawning summarizers, check whether the backing sources for phylogenetics/tree-inference are already covered in the corpus and tell me what you would reuse versus source fresh.

description: Recover one bioSkills SKILL.md into the Foundry, Foundry-safe — research its backing sources, ingest them via summarize-source, blind-assemble a candidate doer+audit Mold pair, diff the pair vs. skill, then close gaps with open-access surrogates argument-hint: "<bioSkills skill> (path like population-genetics/selection-statistics, or a SKILL.md URL)" allowed-tools: Read, Write, Edit, Bash, WebFetch, WebSearch, Agent

Take ONE SKILL.md from bioSkills (github.com/GPTomics/bioSkills) and reconstruct a traceable equivalent inside the Foundry as a do-then-audit pair: find the primary sources the skill's content would have to trace to, ingest them as faithful research notes, then blind-assemble two candidate Molds from those notes alone — a Family-A doer and a Family-B audit — neither seeing the SKILL.md, then compare both against the original skill. The output is a recoverability probe, not finished Molds — the deliverable is the diff (what recovers with a real citation vs. what is convention or invention), now for BOTH the doing procedure (→ doer) and the validity axis (→ audit), plus a work-list, in the spirit of content/research/experiments/skill3-recoverability-test.md and content/research/05-skill-backing-references.md.

Input

$ARGUMENTS = the bioSkills skill to ingest — a repo path (<category>/<name>), a raw SKILL.md URL, or a plain name. Derive <skill-slug> as the kebab-case skill name (drop the category unless needed to disambiguate). If the argument is ambiguous or looks like a typo against bioSkills' category names, stop and confirm before spending subagent budget.

Orchestration contract (read before spawning anything)

  • The orchestrator (you) does the writes. Per house rule, content/research/assembly/compare subagents prepare reports and return them; you review and write the files. The one exception is Phase 2 (summarizers), which run /summarize-source — a purpose-built write-command that must run in a clean context, so those subagents write their own index.md. Do not let any other subagent write.
  • Clean-context isolation is load-bearing twice. Summarizers (Phase 2) must see only their source + guidance.md — never the SKILL.md or our framing. Both Molds are assembled blind in Phase 3 — the doer AND the audit see only the imported notes, never the SKILL.md — or the recoverability diff is contaminated (they would copy the skill instead of recovering it). A blind doer is deliberate: it measures whether the doing procedure itself traces to primaries or is fluent invention. Enforce both by what you put in each prompt.
  • Corpus-first / anti-invention. This command must not become a Mold factory that emits plausible invented prose — that is the exact failure the Foundry referees. Both assembled Molds (doer + audit) are candidates for human authoring, staged outside content/. Gaps drive sourcing, never memory backfill.

Phase 0 — ground yourself

Read: content/meta/glossary.md (vocabulary authority), docs/MOLD_SPEC.md (the Mold contract you'll assemble against), content/research/05-skill-backing-references.md (the recoverability framework + already-verified sources for the 10 cross-cutting skills), content/research/projects/bioskills.md (what bioSkills is and where it leads/lags), and .claude/commands/summarize-source.md (the ingest contract Phase 2 obeys). Phase 1's research subagent — not you — inventories the existing corpus and triages reuse (below); your job is to sanity-check its triage, so read content/research/05 closely rather than pre-skimming the notes yourself.

Phase 1 — research the backing sources (subagent → you write guidance)

Spawn one research subagent. Its job (it returns a report, writes nothing):

  1. Fetch the actual SKILL.md from bioSkills (raw URL). Work from the real file, not memory of it — bioSkills moves fast.
  2. Decompose the skill into the three recoverability layers (from content/research/05): procedure spine (what a Family-A doer does — the method choices + the reproducible sequence), validity axis (the cardinal sin a Family-B referee would guard), and defaults/thresholds. For each claim the skill makes, ask: what primary source would this have to trace to? Source BOTH halves: the procedure spine needs method-establishing papers (the primary that defines/validates the method the doer selects), not only the audit's cautionary sources — previously under-collected because only the audit was built.
  3. Inventory the corpus, then triage every needed fact against it — work from the files, not memory. First Glob/Read the existing corpus (content/research/**/index.md + content/research/05-skill-backing-references.md) and list what each note actually covers. Then route every layer/fact the skill needs (not just the sources the skill happens to name) via the reuse triage — the canonical routing, reused in Phase 5:
    • reuse-existing — the fact is already in a corpus note (even one ingested for a different skill) → cite that note, no ingest.
    • re-summarize-existing — our source holds it but the note dropped it → extend that note's guidance.md + re-ingest in Phase 2.
    • new — absent from the whole corpus → a new source. Cross-skill hits are the point: a note this skill never points to may already carry the fact. Only new and re-summarize reach Phase 2; reuse-existing is closed here.
  4. For each NEW or re-summarize source, propose: <collection>/<id> (collection ∈ papers | tutorials | books), full citation + open-access URL, license/copyright posture, and a complete guidance.md body — targeted questions that direct attention, not conclusions (see the neufeld example: "does the source state X? quote it," never "confirm X is bad"), must-quote items, and version-pinning notes.
  5. Flag convention layers. Any threshold/default with no defining primary (per content/research/05 finding #2 — FDR 0.05, 0.80 power, tool-version param defaults, etc.) is labeled convention, not citable — it must NOT get a fabricated citation.
  6. Books are handled differently. Copyrighted book chapters (MSMB, OSCA, FIMD, …) go through the own-words books path, not summarize-source. Prefer reusing an existing content/research/books/ summary; if one is missing, list it as a book-path dependency, don't summarize it here.

Report shape the subagent returns: the fetched skill's layer decomposition; the reuse-triage table (layer/fact | reuse-existing | re-summarize | new | note-cited-for-reuse | license + citation+URL); the full guidance.md text per new/re-summarize source; the convention-flag list; and any book-path dependencies.

You then: sanity-check the triage (reuse-existing hits real and sufficient? conventions not dressed as citations? nothing marked new that a corpus note already covers?), create each content/research/<collection>/<id>/ dir for new/re-summarize sources, and write the guidance.md files.

Phase 2 — ingest each source (parallel summarizer subagents, clean context)

For each new source (skip reuse; skip book-path deps), spawn a summarizer subagent in a fresh/clean context, one per source, in parallel. Each subagent:

  • Is given ONLY: its <collection>/<id>, the citation + URL, and a pointer to .claude/commands/summarize-source.md and its own content/research/<collection>/<id>/guidance.md. Do not pass it the SKILL.md, our analysis, or sibling sources.
  • Follows summarize-source exactly (license-aware quoting; guidance directs attention not conclusions; faithful over comprehensive) and writes content/research/<collection>/<id>/index.md.

For re-summarize sources, do the same but note the existing note is being extended per the new guidance. After they finish, glance at each index.md for the paywall/[summarizer-inferred] flags and that guidance questions were answered or explicitly marked unanswered.

Phase 3 — blind-assemble the candidate doer + audit pair (subagent → you write to staging)

Spawn ONE assembler subagent for the pair (both Molds share the same note set, so one blind context keeps them coherent — the doer's gate handoff can reference the audit's actual axes). Critical: it sees ONLY the imported index.md notes (the ones Phase 1 marked reuse/new/re-summarize) + docs/MOLD_SPEC.md + content/meta/glossary.md + docs/REFEREE_LOOP.md + the docs/MOLDS.md naming convention. It must NOT see the SKILL.md — this holds for the doer too; a blind doer is what measures whether the doing traces to primaries. It returns a draft, writes nothing. Its job:

  • The Family-A doer Mold (candidate-doer/index.md): from the notes' procedure-spine sources, author frame → design-review → select an established method → run reproducibly, ending in a [gate] phase that hands off to the audit Mold (a doer may not self-certify — REFEREE_LOOP). Typed references: wiki-link the method notes. [GAP: …] every operational detail the notes don't supply (exact tool invocation, version pin, param default) — do NOT fill from memory; a blind doer is expected to have operational gaps, and those become Phase-5 surrogate targets.
  • The Family-B audit Mold (candidate-audit/index.md): the validity-axis referee — each axis note-traced, ending in a [gate]/Calibrate handoff. As before.
  • eval.md per Mold. Doer-eval = Family-A properties (selects an established method not an invented one; the run is reproducible; it terminates in the gate handoff, never self-certifies). Audit-eval = the catch-the-planted-flaw oracle (≥1 guardrail per MOLD_SPEC). Keep eval abstract — no fixtures.
  • scenarios.md — instantiate the stimulus, don't describe a class. The pairing is what makes this concrete: a scenario binds a specific doer configuration and its actual output, which the audit then consumes → expected verdict. Planted-invalid = a deliberately mis-configured doer run (a known-bad setting that trips an audit axis); the clean control = a correct run that must PASS. Test each case: could a reader actually produce this input and run it? If not it is still too high-level — mark [GAP] rather than paraphrase a class. Where a case audits an external claim with no doer run, bind a concrete (synthetic-but-realistic, explicitly synthetic) excerpt grounded in a real worked number from the notes; [GAP] if none recovers.
  • [GAP: …] over memory-backfill everywhere (skill3 finding): with it the task is honest; without it the model confabulates. Pick family/role tags and names per convention.

You then write the returned draft to a staging dir outside content/: content/research/experiments/ingest-<skill-slug>/{candidate-doer,candidate-audit}/{index.md,eval.md,scenarios.md}. Staging (not content/molds/) because Molds are human-authored corpus-first; these are candidates. (Pre-pair experiments used a single candidate-mold/ == the audit half; not retro-migrated.)

Open items (don't fake-solve). The pair-level scenario layout (per-Mold scenarios.md sharing fixtures vs. a single shared file), fixtures for external-claim audits in domains with no benchmark source (StatQA covers none of the comparative-genomics skills), and actual runnability (gated on repo standup — no build/fixture tooling here yet) are unresolved. Author to the shape above and flag the residue; do not invent a fixture harness.

Phase 4 — compare the pair vs. skill (subagent → you write the report)

Spawn ONE compare subagent. It sees everything: the fetched SKILL.md, both candidate Molds (doer + audit), and the ingested notes. It returns a report (writes nothing) covering:

  • Recoverability by layer, for BOTH molds — procedure spine (→ doer), validity axis (→ audit), and defaults, each graded High/Med/Low, with the Phase-3 GAP markers as evidence. Mirror content/research/05's table shape. The doer diff is a first-class finding: does the SKILL's procedure trace to method papers, or is part of it fluent invented doing with no primary? — as sharp a probe result as the validity-axis one, and dead-on the project thesis.
  • GAP taxonomy → next actions — sort each gap (skill3 style): new source note / re-summarize existing / convention, not citable, now including the doer's operational gaps (exact command, version pin, param default → typically closed by a tool's own author-written vignette/man-page in Phase 5). Call out any silent gap either assembler couldn't even flag (the highest-value find — a memory-written skill sails past it). For each gap, note whether its load-bearing source is accessible or paywalled/inaccessible — accessible gaps are Phase 5's recovery targets.
  • What the Foundry adds — the empirical referee/gate the pair implies (the doer hands off; the audit judges) that the bioSkills SKILL.md states as flat prose but cannot trace (per content/research/projects/bioskills.md).
  • Where bioSkills leads — credit honestly (CLI version-compat rigor, coverage, embedded stats); the doer's operational gaps are exactly where bioSkills leads today. Don't overclaim; a shared strength is a similarity, not our edge.

You then write it to content/research/experiments/ingest-<skill-slug>/comparison.md, matching the voice of the existing content/research/experiments/ notes.

Phase 5 — close gaps with open-access surrogates (subagent → you write guidance + spawn clean-context summarizers)

Phase 4's GAP taxonomy sorts each gap — including the doer's operational gaps (exact command, version pin, param default), whose natural surrogate is the tool's own author-written vignette / man-page. Before hunting anything externally, the retrieval subagent re-applies the Phase 1 reuse triage to the gap residue against the current corpus (now including the Phase-2 notes): a gap may already be reuse-existing or re-summarize-existing, needing no external search — flag those for the orchestrator. Only facts truly absent from the corpus and blocked on a paywalled / inaccessible primary reach the surrogate hunt. Gaps labeled convention, not citable are NOT hunted — a convention has no primary to recover; the label is the answer. If nothing survives the triage as a paywalled-and-absent fact, skip this phase and say so.

Spawn one retrieval subagent (or one per gap cluster if the gaps are many/disjoint). It returns a report, writes nothing. Give it the gap list with, per gap, the specific fact the gap needs (the load-bearing sentence / number / procedure) — not the SKILL.md and not the skill's own citations (those may be the confabulations the probe exists to catch; hunt by fact-needed, not by the skill's reference list). Its job:

  1. For each target gap, search open-access surrogates that carry the missing content citably: OA reviews, package vignettes (especially author-written — they faithfully mirror the tool's own framework), man/help pages, free or CC-licensed textbooks, tutorials.
  2. Per candidate surrogate, return <collection>/<id>, full citation + URL, license posture, and a disposition:
    • recommend — accessible license, faithfully carries the fact → draft its guidance.md (attention-directing, not conclusions — same contract as Phase 1).
    • hold — carries the fact but routing is unresolved (e.g. a CC-licensed book — still gated on the books-path reconciliation; do NOT /summarize-source it yet).
    • still-open — no accessible surrogate closes it; the gap needs the primary's full text (the exact crux sentence / its own original numbers). Say so plainly; never fake-close.
  3. Provenance of each recovered fact — whose analysis is it. A review's restatement, a vignette's re-analysis of someone else's data, and the primary's own original numbers are three different things. Label which for every fact. This is what blocks laundering.
  4. Surface contradictions, don't smooth them. If a surrogate conflicts with the fact as the gap states it (or with a memory-gloss that entered an upstream decomposition), flag the conflict explicitly — a surrogate pointing the opposite way is method-validation, the highest-value output, not noise. Do not resolve it by picking a side from memory.

You then: write content/research/experiments/ingest-<skill-slug>/gap-closing.md (the work-list — per gap: closed-by-surrogate / held / still-open, with the attribution note and any conflict called out), and write the guidance.md for each recommend surrogate. Then, exactly as Phase 2, spawn a clean-context summarizer per recommend (blind to SKILL.md and our framing) to write its content/research/<collection>/<id>/index.md. Hold and still-open items are reported, not ingested.

Do not re-run Phase 3. The candidate pair (doer + audit) measured what recovered from the original note set; re-blind-assembling either Mold against surrogate-enriched notes would contaminate that measurement. Gap-closing enriches the corpus for the eventual human-authored Molds and records what newly recovers (including which doer operational gaps a vignette/man-page closes, moving the pair toward runnable) — it does not re-open the probe. Record closure status in gap-closing.md; leave the Phase-3 candidates as-is.

Phase 6 — report

Summarize to the user: skill ingested; sources written (new/reused/re-summarized counts) with paths; candidate-doer + candidate-audit + comparison paths; for BOTH molds the sharpest recovered-traceably win and the sharpest gap (the doer's procedure-recoverability finding and the audit's validity-recoverability finding are separate results — report both). Then the gap-closing result: surrogates ingested (recommend), plus the held and still-open gaps and any conflict the retrieval pass surfaced. Note runnability honestly: a blind doer is runnable only once its operational gaps are closed from citable surrogates (tool vignettes/man-pages) — never from the SKILL.md or memory; say which gaps still block a runnable do-then-audit pass. Note this staged nothing into content/ and authored no real Mold. Do not commit unless asked. Then list any unresolved questions concisely.

Guardrails recap

  • Both assemblers are blind to the SKILL.md (doer AND audit); summarizers are blind to everything but their source + guidance. Contaminate any and the recoverability claim is worthless.
  • Conventions are labeled, never cited. hypothesis-evidence references carry a verification.
  • Candidate doer and audit stay in content/research/experiments/, never content/molds/, until a human authors them.
  • Reuse existing notes; don't re-ingest what content/research/ already holds.
  • Surrogate attribution (Phase 5): a surrogate is cited as itself, never laundered into a citation of the paywalled primary it substitutes for. Label whose analysis each recovered fact is.
  • Surface conflicts, don't smooth them (Phase 5): a surrogate that contradicts a gap's stated fact is a find, not an error — flag it.
  • Gap-closing doesn't re-open the probe (Phase 5): never re-blind-assemble the Mold after ingesting surrogates; it would contaminate the recoverability measurement.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz/download' --output '.skill-downloads/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz/SKILL.md.part' && mv '.skill-downloads/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz/SKILL.md.part' '.skill-downloads/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Write, Edit, Bash, WebFetch, WebSearch, Agent

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/recover-a-bioskills-skill-md-into-the-foundry-mrzxurmz/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills