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.
npx agentmods add skills/squidbay/factory/factory-updatenpx skills add squidbay/factory --skill factory-updategit clone --depth 1 https://github.com/squidbay/factoryWhat 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 | $0.00070 | $0.01411 |
| Opus 5 | $0.00035 | $0.00705 |
| Sonnet 5 | $0.00014 | $0.00282 |
| Haiku 4.5 | $0.00007 | $0.00141 |
Grade A, and why
factory-update 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 2d 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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
factory-update — keeping your factory current, on your terms
Your office was created from the template with the template button, which means it kept no live link to the template — that's what keeps it private and fully yours. The factory-update workflow is the deliberate bridge back: on the first of each month (or whenever you run it from the Actions tab → factory-update → Run workflow), it compares your office's template-managed paths against the current template and, if anything improved, opens one pull request with the whole delta.
One first-run setup before that can happen: open Settings → Actions → General → Workflow permissions and check Allow GitHub Actions to create and approve pull requests, then Save. (The onboarding front-door version, with the failure it prevents, is onboarding/SETUP-PATH.md §E.) GitHub leaves that box unchecked on a new repo; until it's on, an update run pushes its branch and then fails at the step that opens the PR. One checkbox, once.
And a run that goes green without opening a PR isn't broken — it means your office already matches the template. Nothing to propose is the good outcome, most months.
How the "up to date?" check works
When the human asks whether the factory is current, read both of the template's version signals and take the newer one:
- Read this office's own version from the one-line file
.github/template-version.txt. - Read the template's latest release:
GET /repos/squidbay/factory/releases/latest— its tag is a version, and its notes are that update'sFROM-HQ.mdentry. - Read the template's raw one-line file:
https://raw.githubusercontent.com/squidbay/factory/main/.github/template-version.txt. - The newer of those two is the template's current version. If it's newer than this office's, an update is waiting; if they match, say "up to date" and stop. If only one signal is reachable, use it. If neither is, say so plainly — never report "up to date" from a read that failed.
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.
- 2d ago First seen · 51 lines · 70 tokens per session scan A 86d7e3442f07
factory-update is a skill published in the GitHub repository squidbay/factory (5 stars, last pushed 12d ago), licensed MIT. It adds 70 tokens to every session and 1,411 once invoked, about $0.0003 per session on Opus 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-08-31.
Other skills, from other repositories
stage-plan
How to turn "here is my material + here's the video I want" into a single, inspectable plan that spans reference images, reference videos, deterministic editing, semantic editing, generation, and composition. The output is project/plan.json — a cross-modal Edit Decision List (EDL) — which the assembler walks.…
frontend-design
Use this as the design-lead layer for VideoStudio COMPOSE work. It shapes project/composition/composition-manifest.json::artdirection and the model-authored HTML/SVG motion graphics in index.html.
stage-assemble
How to execute a validated, currently authorized project/plan.json into one finished file. Start/resume with production.status; if planapprovalcurrent is false, pass the state to gate-control and stop instead of producing or opening child gates. Walk the signed EDL; do not re-plan. Host-neutral: VideoStudio-specific…
ppt-review
Read this skill only after current officereview structural output and relevant rendered images exist. Do not use source code, a tool success flag, or the first-slide preview as a substitute for deck evidence.
ui-design-executor
Use this as UIDesigner's default execution skill. It contains the baseline design, accessibility, HTML, runtime-safety, responsive, taste, and verification rules needed by ordinary UI work. Do not load the separate system, control, taste, color, renderer, or craft skills merely to repeat these baseline rules.
ui-craft-checks
Use this comprehensive gate for formal review, QA, launch handoff, exact-fidelity inspection, high-risk complex UI, or when the fast gate exposes a deeper craft problem. Ordinary single-screen work uses ui-design-executor and its bundled validator without loading this full matrix. Pair standalone artifacts with…