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 skills add nicolasmelo1/software-factory --skill factory-authorgit clone --depth 1 https://github.com/nicolasmelo1/software-factoryWrote 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/nicolasmelo1/software-factory/factory-author)<a href="https://agentmods.dev/skills/nicolasmelo1/software-factory/factory-author"><img src="https://agentmods.dev/badge/skills/nicolasmelo1/software-factory/factory-author.svg" alt="Measured on agentmods" 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.00068 | $0.00918 |
| Opus 5 | $0.00034 | $0.00459 |
| Sonnet 5 | $0.00014 | $0.00184 |
| Haiku 4.5 | $0.00007 | $0.00092 |
Grade A, and why
factory-author 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 7d 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 — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
factory-author
Your output is policy and prose, never a promise to remember something. If the answer to "how do we stop this from happening again" is a sentence in a document with no check behind it, you have not finished.
When a convention keeps being re-explained
That is a rule. Write it.
sf catalog— check it does not already exist.- Write
.software-factory/rules/<name>.yaml.whyandfixare mandatory; the catalog will not load without them. Writewhyfor the person who will want to delete this rule in a year: state what goes wrong without it, not what it does. - Write the smallest repository that violates it under
.software-factory/mutations/<RULE_ID>/, with its own tiny.software-factory/policy.yamlenabling only that rule. sf fixtures, thensf verify --rule <RULE_ID>. If it does not fire, the rule is broken — fix the rule, not the fixture. A tree-sitter query that matches nothing is the easiest bug to ship here and it looks identical to a rule that works. If the rule declares queries for several languages, the fixture needs a file in each:verifyrejects a rule proven in only some of them, because three broken queries hide behind one that works.- Add the rule's section to the repository's rules document.
- If the repository already violates it:
sf ratchet --months 6. Say in the pull request how many violations were frozen and when they come due.
Choosing a layer: L0 where things live, L1 how code reads, L2 a derived artifact must not drift from its source, L3 a real actor must achieve an effect, L4 docs and plans, L5 the guardrail itself, L6 a class of defect worth hunting.
For L6, prefer wiring an existing tool over writing a rule: a toolchain rule
that asserts the scanner still runs is worth more than a bespoke check that
reimplements a fraction of it. Write a structural L6 rule only for a hazard no
tool covers — the concurrency shapes are the example, because no checker can
decide deadlock and the shapes that cause it are the decidable part.
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.
- 7d ago First seen · 76 lines · 68 tokens per session scan A 2a5c3b0bec88
factory-author is a skill published in the GitHub repository nicolasmelo1/software-factory (30 stars, last pushed yesterday), licensed MIT. It adds 68 tokens to every session and 918 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-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…