Borrowing it
Nothing to install: this file belongs to gymcoach-app/gymcoach. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/gymcoach-app/gymcoach/main/.claude/skills/write-up/SKILL.mdgit clone --depth 1 https://github.com/gymcoach-app/gymcoachWrote 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.
[](https://agentmods.dev/skills/gymcoach-app/gymcoach/write-up)<a href="https://agentmods.dev/skills/gymcoach-app/gymcoach/write-up"><img src="https://agentmods.dev/badge/skills/gymcoach-app/gymcoach/write-up/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.
<a href="https://agentmods.dev/skills/gymcoach-app/gymcoach/write-up"><img src="https://agentmods.dev/badge/skills/gymcoach-app/gymcoach/write-up.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00067 | $0.01889 |
| Opus 5.5 | $0.00027 | $0.00756 |
| Sonnet 5.5 | $0.00013 | $0.00378 |
| Haiku 4.5 | $0.00007 | $0.00189 |
Grade A, and why
write-up scanned grade A with 0 findings 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 16d ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
write-up
The tail of the pipeline and the actual growth engine. The product is the gym app; the
story - "this repo maintains itself with documented loops" - is what earns stars.
This skill keeps that story current and truthful after work ships. Read CLAUDE.md.
It writes docs and demo media only (CHANGELOG, docs/loops/*, README touch-ups,
docs/screenshots/* plus the demo-seed/recording scripts that produce them). It never
touches product code. Output is one focused docs PR via implement-issue conventions, or a
commit on an existing docs branch.
Inputs
- A set of recently merged PRs / closed issues (default: since the last CHANGELOG entry).
Find them:
gh pr list --state merged --limit 20 --json number,title,mergedAtandgit log --oneline origin/mainsince the last documented change.
What to keep current
- CHANGELOG.md - move shipped, user-facing changes into the right
Unreleasedgroup (Added / Changed / Fixed). One terse line per change, no marketing. Skip internal-only churn unless it is itself the story (loop infra often is). PRs record their entry as a fragment inchangelog.d/(lesson L47): fold the merged ones withnpx tsx automation/changelog/assemble.ts(it inserts each at the top of its section and deletes the file), then edit the result. The write-up PR is then the only PR that editsCHANGELOG.md; open PRs only add new files tochangelog.d/, so neither side conflicts. - docs/loops/ - when a new loop or skill shipped, add or update its numbered playbook entry so anyone can reproduce it. The playbook is the content; keep it honest (document what actually runs, including failure modes you hit).
- README - the features list and roadmap checkboxes are updated EVERY batch that ships a user-facing capability (operator directive 2026-06-10); other README edits only when the loop narrative changed enough to matter. Keep edits minimal and truthful.
- Demo media (same directive, refined: periodic, not per-batch). Static screenshots
(
docs/screenshots/*.png): re-shoot when a captured page (home / progress / generator / catalog) visibly changed. Recorded clips (docs/screenshots/*.gif): re-record from time to time with a staleness cap - never more than ~3 shipped feature batches of lag, and never a flagship feature missing from a clip that claims to show that flow. All tooling is in the repo: a throwaway Postgres (e.g.docker run -d --name gymcoach-demo-db ... -p 5435:5432 --tmpfs /var/lib/postgresql/data postgres:16-alpine), a local gitignored.envwithLLM_PROVIDER=demo,prisma migrate deploy+npm run db:seed+npm run seed:demo(extendscripts/seed-demo-history.tswhen a new feature needs demo data to be visible),npm run build+npx next start -p 3032, thennode scripts/screenshots.mjsandnode scripts/record.mjs <scenario>+ an ffmpeg palette GIF conversion at 320 px / 12 fps. Tear the server and container down after. The recorder (scripts/record.mjs) self-verifies - it exits non-zero and discards the clip if the page shows an error overlay / 404 / 5xx / uncaught error (lesson L12); arecord.mjsabort means the app is broken, not the script. Kill any stale next-server / free the port before recording (lesson L11). - docs/loops/lessons.md - harvest any lesson the run surfaced (a failure mode, a
surprise, a fix that should not have been needed). A lesson is only "learned" when it
graduates: if it is general, edit the relevant skill or
CLAUDE.md/charter so the behavior changes next time, then record the entry pointing at that change; otherwise mark it accepted risk. Do not just append prose - an un-acted lesson is noise. Prune/dedupe so the file stays high-signal. Seedocs/loops/09-memory-and-learning.md. - docs/loops/review-digest.md - append a dated comprehension digest: the antidote to
comprehension debt (the loop ships faster than the human reads). For the batch, list what
merged, then call out the few diffs the human should read FIRST, ranked by risk x
impact - auth/security, schema/migrations, core behavior (progression/stats), LLM prompts,
and CI/pipeline rank highest; additive UI, tests, and docs rank lowest (the skeptic + the
gate cover those). Give each priority item a
gh pr diff <n>pointer and a one-line "why read this". Keep it short - a reading list, not a re-summary; "reviewed by a sub-agent" is not "understood by the human".
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.
- 16d ago Changed · +5 lines 157089fc4b0a
- 24d ago First seen · 108 lines · 67 tokens per session scan A 721d43402455
write-up is a skill published in the GitHub repository gymcoach-app/gymcoach (169 stars, last pushed 3d ago), licensed MIT. It adds 67 tokens to every session and 1,889 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-13.
write-up compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| write-upgymcoach-app/gymcoach | Skill | 169 | 3d ago | MIT | A | 67 | Claude Code |
| byok-custom-modelStarchild-ai-agent/official-skills | Skill | 32 | 7d ago | none | A | 80 | Claude Code, Codex |
| dcf-modelNousResearch/hermes-agent | Skill | 261k | yesterday | MIT | A | 14 | Claude Code, Codex |
| hermes-agent-skill-authoringNousResearch/hermes-agent | Skill | 261k | yesterday | MIT | A | 22 | Claude Code, Codex |
| grounded-citationsNousResearch/hermes-agent | Skill | 261k | yesterday | MIT | A | 16 | Claude Code, Codex |
| systematic-debuggingNousResearch/hermes-agent | Skill | 261k | yesterday | MIT | A | 16 | Claude Code, Codex |
| mle-workflowaffaan-m/ECC | Skill | 298k | 4d ago | MIT | A | 44 | Claude Code, Codex |