publish-specimen

publish-specimen is a skill for Claude Code from dylanroscover/Embody. It costs 88 tokens per session (3,121 once invoked), scanned A, original, MIT.

A release procedure for publishing an approved Specimen from a development lab to the embody.tools Collection. A Specimen is a curated item with its prompt, image, and supporting data used by that collection.

In plain words
What is it for?
Use it to export a Specimen, build its site data, run local and end-to-end checks, commit the changes, open and merge a pull request, and deploy and synchronize the live collection.
Why use it?
Publishing involves generated files, checks, a pull request, deployment, and production data synchronization, so skipping a step can leave the live collection incomplete or unverified. The procedure defines the order and approval gates.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

Good fit Use it to export a Specimen, build its site data, run local and end-to-end checks, commit the changes, open and merge a pull request, and deploy and synchronize the live collection.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dylanroscover/embody/publish-specimen
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add dylanroscover/Embody --skill publish-specimen
Clone the repo
git clone --depth 1 https://github.com/dylanroscover/Embody

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for publish-specimen

README.md
[![agentmods](https://agentmods.dev/badge/skills/dylanroscover/embody/publish-specimen/github.svg)](https://agentmods.dev/skills/dylanroscover/embody/publish-specimen)
Your own site
<a href="https://agentmods.dev/skills/dylanroscover/embody/publish-specimen"><img src="https://agentmods.dev/badge/skills/dylanroscover/embody/publish-specimen/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for publish-specimen

Your own site · 80×15
<a href="https://agentmods.dev/skills/dylanroscover/embody/publish-specimen"><img src="https://agentmods.dev/badge/skills/dylanroscover/embody/publish-specimen.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,121 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00088 $0.03121
Opus 5.5 $0.00035 $0.01248
Sonnet 5.5 $0.00018 $0.00624
Haiku 4.5 $0.00009 $0.00312

Measured today against content hash 10aaf2d2440a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

publish-specimen scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s https://embody.tools/api/specimens/<slug>/tdn | sha256sum
.claude/skills/publish-specimen/SKILL.md · 217 lines

How it starts

The opening of the file, as written. The whole thing — 217 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Publish a Specimen to the Collection

Embody dev only (no shipped template counterpart). /specimen-authoring gets a network to the bar; this skill takes an approved one live on https://embody.tools/collection with nothing done by hand on a laptop against production. Every step below has been run end to end (tile-zoom-type, 2026-10-17); do them in order and do not skip the gates.

The pipeline in one screen

/specimen_lab/<name>  --export-->  specimens/<category>/<slug>.tdxn (+ .prompt.md, .jpg)
                                   specimens/manifest.json  (curation source of truth)
          build-specimen-data.py -> seed.sql, first-party-sync.sql, first-party-plan.sql,
                                   fixtures/specimens.json, fixtures/specimen-graphs.ts,
                                   scripts/.seed-blobs.manifest.json  (all GENERATED)
commit on dev -> PR -> merge to main -> Platform CI:
   build-and-test (astro check, build, scanner tests) -> e2e (local D1/R2 seeded from specimens/)
   -> deploy (D1 migrations, wrangler deploy = Worker with the bundled fixtures)
   -> sync-specimens (R2 blobs by sha256, first-party-sync.sql into production D1,
                      live verification of /api/specimens/<slug>/tdn and /thumbnail)

The Worker carries the cards; D1 holds the rows; R2 holds the .tdxn and the cover under their sha256. All three must land, and only sync-specimens lands the last two. Blobs are content-addressed, the sync is gated on a difference, so every stage is idempotent: re-running never harms production.

0. Gates before anything is exported

  • The COMP lives at /specimen_lab/<name> with name == slug.replace('-', '_') (the save-time publisher dev/specimen_publish.py resolves it that way) and terminates in an Out TOP named out1.
  • It clears the /specimen-authoring bar and the user has looked at it and said it is good. Publishing is the user's call, every time.
  • get_op_errors(recurse=True) is clean; get_op_performance is acceptable.
  • Every expression is a pure value expression. The community-paste sandbox (Collection/safe_import.py) neutralizes anything else to a constant, and a first-party Specimen is pasted through that same path by anyone who clicks "embody it". Allowed: parameter reads, absTime, math.*, Par.eval(), arithmetic, comparisons, ternaries, min/max/int/len/.... Not allowed: lambdas, comprehensions, op() chains with method calls, f-strings. Check before exporting:
    sc = op.Embody.op('Collection/scanner').module
    bad = [(o.name, p.name) for o in [comp] + comp.findChildren()
           for p in o.pars() if p.mode == ParMode.EXPRESSION and p.expr
           and not sc.is_pure_value_expression(p.expr)]
    
    Rewrite with helper read-only parameters until bad is empty.

Read the full file on GitHub · 217 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 217 lines · 0 tokens per session scan A 10aaf2d2440a

Subscribe to this mod's changes

publish-specimen is a skill published in the GitHub repository dylanroscover/Embody (203 stars, last pushed yesterday), licensed MIT. It adds 88 tokens to every session and 3,121 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-18.

Related

Other skills, from other repositories

ganju-cli

Write, test, deploy and debug Ganju custom tools (Functions) with the ganju CLI and the @ganju/sdk handler API. Use this whenever the user works in a folder with a ganju.json, imports @ganju/sdk or defineTool, mentions @ganju/cli or any ganju command (init, link, build, test, deploy, logs, versions, rollback, secret…

MontoyaAndres/ganju · 148 tokens

amazon aurora dsql

Deprecated compatibility redirect for Aurora DSQL guidance. Use when a request concerns DSQL, Aurora DSQL, distributed SQL, DSQL schemas, migrations, queries, authentication, performance, or application development.

awslabs/mcp · 46 tokens

debug

This skill should be used when the user runs /touchdesigner:debug or asks to debug, investigate, or find TouchDesigner node errors — trigger phrases include "debug my TouchDesigner project", "why is this node broken", "find errors in TD", "investigate node errors", "what's wrong with /project1/geo1", or "fix this…

8beeeaaat/touchdesigner-mcp · 79 tokens

servicenow-cicd-devops

ServiceNow release-engineering surface — CI/CD app install/scan/rollback, DevOps change-control and artifact registration, update-set create/preview/commit/back-out, source-control apply/import, plugin activate/rollback, and ATF test-suite runs via the servicenow-api MCP server. Use when the agent must deploy or roll…

Knuckles-Team/servicenow-api · 185 tokens

morning-scan

The pre-open and first-hour routine for IDX — session state, movers, a scan over a universe, and a catalyst check on the leaders. Use when the user asks what is moving today, for a morning briefing, or what to watch.

INo-xious/stockbit-mcp · 54 tokens

distributed postgres

Deprecated compatibility redirect for Aurora DSQL guidance. Use when a request concerns DSQL, Aurora DSQL, distributed SQL, DSQL schemas, migrations, queries, authentication, performance, or application development.

awslabs/mcp · 43 tokens