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 The-Artificer-of-Ciphers-LLC/skills-from-the-artificer --skill greenspuns-tenth-rulegit clone --depth 1 https://github.com/The-Artificer-of-Ciphers-LLC/skills-from-the-artificerWrote 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/the-artificer-of-ciphers-llc/skills-from-the-artificer/greenspuns-tenth-rule)<a href="https://agentmods.dev/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/greenspuns-tenth-rule"><img src="https://agentmods.dev/badge/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/greenspuns-tenth-rule/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/the-artificer-of-ciphers-llc/skills-from-the-artificer/greenspuns-tenth-rule"><img src="https://agentmods.dev/badge/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/greenspuns-tenth-rule.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.00112 | $0.00798 |
| Opus 5 | $0.00056 | $0.00399 |
| Sonnet 5 | $0.00022 | $0.00160 |
| Haiku 4.5 | $0.00011 | $0.00080 |
Grade A, and why
greenspuns-tenth-rule 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 12d 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 — 48 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Greenspun's Tenth Rule
"Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp." — Philip Greenspun
The core idea
When a program grows complex enough, developers eventually need features that their current language or framework doesn't easily provide: dynamic dispatch, higher-order functions, user-configurable behavior, extensibility hooks. Rather than adopting a language or tool that has these features natively, they build them from scratch — usually badly, incompletely, and without realizing that's what they're doing.
The result is a half-implemented, poorly-documented programming language or runtime lurking inside a codebase that was never meant to host one.
What this looks like in practice
- A configuration file format that has grown conditionals, loops, and variables → you've built a scripting language
- A "template engine" with logic, iteration, and state → you've built a programming language
- A rules engine with complex precedence and side effects → you've built an interpreter
- A workflow system with retries, timeouts, and branching → you've built a runtime
- A plugin system with dynamic loading and lifecycle hooks → you've built a module system
The key tell: these systems are always informal (undocumented), incomplete (missing features that users keep requesting), buggy (edge cases not handled), and slow (performance not considered in the original design).
Why it happens
Engineers solve the immediate problem in front of them. The first version is simple and reasonable: "we just need a config flag." Then "the flag needs to be conditional." Then "we need to reuse this condition elsewhere." Then "we need a way to script this." Nobody decided to build a language — they just kept solving the next problem.
What to do about it
Recognize the pattern early. When you find yourself adding "variables" or "conditionals" to a config file, stop and ask: are we building a language? If yes — do it on purpose, with proper tooling.
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.
- 12d ago First seen · 48 lines · 112 tokens per session scan A 3d32e54b0b55
greenspuns-tenth-rule is a skill published in the GitHub repository The-Artificer-of-Ciphers-LLC/skills-from-the-artificer (4 stars, last pushed 10d ago), licensed MIT. It adds 112 tokens to every session and 798 once invoked, about $0.0006 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
best-practices
Apply modern web development best practices for security, compatibility, and code quality. Use when asked to "apply best practices", "security audit", "modernize code", "code quality review", or "check for vulnerabilities".
resolve-pr-comments
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR…
review-code
Review code for bugs, security vulnerabilities, API misuse, consistency issues, simplicity problems, or test coverage gaps by running internal reviews and a peer review in parallel and returning combined findings. Single-concern with a type argument, or full review with no argument. Use when the user asks to "review…
assess-technical-debt
Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, and architecture rot. Ranks findings by impact and refactor effort into a report at .turbo/technical-debt.md. Use when the user asks to "assess technical debt", "find technical debt", "review technical…
map-codebase
Deep architecture report that fans out parallel inspections across different aspects of the codebase (structure, tech stack, APIs, patterns, data flow, dependencies, testing) and synthesizes findings into a comprehensive document at .turbo/codebase-map.md and .turbo/codebase-map.html. Use when the user asks to "map…
peer-review
Run an independent peer review via Codex. Use when the user asks to "peer review", "peer review my code", "peer review my plan", "get a second opinion", or "independent review".