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/curtisthe/three-pillars-plugin/tp-design-completenpx skills add CurtisThe/three-pillars-plugin --skill tp-design-completegit clone --depth 1 https://github.com/CurtisThe/three-pillars-pluginWrote 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/curtisthe/three-pillars-plugin/tp-design-complete)<a href="https://agentmods.dev/skills/curtisthe/three-pillars-plugin/tp-design-complete"><img src="https://agentmods.dev/badge/skills/curtisthe/three-pillars-plugin/tp-design-complete.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 | $0.00052 | $0.07792 |
| Opus 5 | $0.00026 | $0.03896 |
| Sonnet 5 | $0.00010 | $0.01558 |
| Haiku 4.5 | $0.00005 | $0.00779 |
Grade A, and why
tp-design-complete 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 5d 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 — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Design Complete
Mark a finished design as complete, archive it out of the active designs directory, and clean up session state.
Argument: {design-name} (required) — must match an existing directory under three-pillars-docs/tp-designs/.
Steps
- Run first-run preflight per skills/_shared/first-run.md.
0a. Run cwd preflight per skills/_shared/cwd-preflight.md: python3 "$TP_ROOT"/skills/_shared/cwd_preflight.py {design-name}. Exit 3 → stop and show the cd fix. Exit 0 → continue.
- Validate the design name per
skills/_shared/validate-name.md. - Resolve the design directory:
three-pillars-docs/tp-designs/{design-name}/. If it doesn't exist, tell the user and stop. - Check if
-learnhas been run (hard-blocks unless--skip-learnwas passed): Determine whether this is a spike (hasspike-results.md) or a full design (hasimplementation-audit.md).- For spikes: Check if the
product_roadmap.mdDesign Inventory table has been updated with the spike's verdict (GO/PARTIAL/NO-GO). If not, refuse to proceed:Refusing to complete:
/tp-spike-learnhasn't been run yet — the Design Inventory doesn't carry a GO/PARTIAL/NO-GO verdict. That step propagates findings into project docs and scans for affected downstream designs; skipping it leaves the roadmap silently stale. Run/tp-spike-learn {design-name}first, then re-invoke this skill. If you have a specific reason to skip (e.g., the spike was a one-off scratchpad with no roadmap presence), re-invoke with--skip-learn. - For full designs: Check if the
product_roadmap.mdDesign Inventory status reflects completion. If it still says "Designed" or "Pending", refuse to proceed:Refusing to complete:
/tp-design-learnhasn't been run yet — the Design Inventory status is still "Designed" / "Pending" / "Implementing". That step propagates implementation results intoproduct_roadmap.md,architecture.md, andknown_issues.md, updates the Design Inventory status, and scans for affected sibling designs. Skipping it causes the roadmap to drift silently across the completion boundary. Run/tp-design-learn {design-name}first, then re-invoke this skill. If you have a specific reason to skip — legacy designs that pre-date this rule, or designs where learn was run out-of-band and the roadmap status is intentionally stale — re-invoke with--skip-learn. --skip-learnescape hatch: If the user passed--skip-learn, log a one-line notice (Proceeding without learn per --skip-learn flag) and continue. The flag exists for legacy designs and well-understood out-of-band cases; it must not become the default workflow. Do not silently treat absence-of-flag as override.
- For spikes: Check if the
- Show a summary of what will happen:
- The completion date that will be stamped (today's date,
YYYY-MM-DD) - Whether
handoff.mdexists and will be archived (banner added) - The destination:
three-pillars-docs/completed-tp-designs/{design-name}/ - The current branch and the base branch — after archival, a commit will be made on the current branch and (if the current branch is not the base) a PR back to base will be offered
- The completion date that will be stamped (today's date,
- Ask for confirmation before proceeding. A simple "Complete this design?" is enough.
- On confirmation, execute these steps in order:
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/detect_parent.py 5.6 KB runs code
- scripts/test_design_complete_archive_guard.py 7.2 KB runs code
- scripts/test_design_complete_skill_md.py 21 KB runs code
- scripts/test_detect_parent.py 16 KB runs code
- scripts/test_verify_archive_staged_dangling.py 6.6 KB runs code
- scripts/test_verify_archive_staged.py 5.0 KB runs code
- scripts/verify_archive_staged.py 9.2 KB runs code
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.
- 5d ago First seen · 215 lines · 52 tokens per session scan A c5812f954737
tp-design-complete is a skill published in the GitHub repository CurtisThe/three-pillars-plugin (4 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 52 tokens to every session and 7,792 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
engram-testing-coverage
TDD and coverage standards for Engram. Trigger: When implementing behavior changes in any package.
tdd
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
strict-tdd
Strict RED->GREEN->REFACTOR test-driven development with enforcement. Never write production code before a failing test. Atomic commits per TDD cycle.
tdd
This skill should be used when the user wants to implement features or fix bugs using test-driven development. Enforces the RED-GREEN-REFACTOR cycle with vertical slicing, context isolation between test writing and implementation, human checkpoints, and auto-test feedback loops. Uses multi-agent orchestration with the…
conductor-implement
Execute tasks from a track's implementation plan following TDD workflow.
mobiai-mobile-tdd
You MUST use this before writing any implementation code for a mobile feature, bug fix, refactor, or behavior change. Tests come before implementation — no exceptions.