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 CurtisThe/three-pillars-plugin --skill tp-pr-iterategit 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-pr-iterate)<a href="https://agentmods.dev/skills/curtisthe/three-pillars-plugin/tp-pr-iterate"><img src="https://agentmods.dev/badge/skills/curtisthe/three-pillars-plugin/tp-pr-iterate/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/curtisthe/three-pillars-plugin/tp-pr-iterate"><img src="https://agentmods.dev/badge/skills/curtisthe/three-pillars-plugin/tp-pr-iterate.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.00085 | $0.10804 |
| Opus 5.5 | $0.00034 | $0.04322 |
| Sonnet 5.5 | $0.00017 | $0.02161 |
| Haiku 4.5 | $0.00009 | $0.01080 |
Grade A, and why
tp-pr-iterate scanned grade A with 1 finding 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 3d 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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- **No `subprocess.run(["claude", ...])` in helpers.** Same rule, same How it starts
The opening of the file, as written. The whole thing — 483 lines — stays where its author put it; the contents beside it link to each section on GitHub.
tp-pr-iterate — PR-Iteration Loop Driver
A long-running loop over a single open PR. Each iteration polls for new
review comments, classifies them, defers conflicts to a human, and calls
tp-pr-fix.run_round for the structural subset. Terminates on:
- Two-stable (the one success terminal) — in a single round both
review sources are quiet (
/code-reviewreturns[]AND no newstructuralCopilot verdicts) AND every actionable thread has been replied-and-resolved, verified against GitHub: a freshlist_review_threads(pr_url)shows zero unresolved Copilot / code-review threads. Only then is the PR human-ready. A classifier-flip (nostructuralverdicts this round) is a necessary precondition, never sufficient on its own — flipping on a stale snapshot while threads sit unresolved is the exact failure that makes a PR look "stable" when it isn't. - Idle timeout (yield to human) — no new comments for 30 minutes AND the
prior round was not
structural-present. This is a time-based yield, not a verified-stable claim:_poll_stepdoes NOT run the ground-truth zero-unresolved re-fetch (only two-stable does), so the terminal carries the[idle-timeout]transition note and leavestermination_reasonunset — consumers must treat onlytermination_reason="two-stable"as reviewed-stable. - Mid-loop human push (yield to human) — a non-
[tp-pr-fix iter-commit appeared on the branch sincelast_loop_sha. - Round budget (
round_budget.tick, every round, limits frompdw.guards.*) —budget-exhausted(blocking findings atround_cap, default 3; 2 under review-weight just-do-it; diff growth past 1.5× the round-1 baseline; test/code ratio;budget-error),cap-exhausted(wall clock, default 4h) orconvergence-failure(three consecutive blocking review rounds). - All-conflicting deferral — every comment in a round had an overlapping
line_rangewith another, so the loop couldn't proceed.
What ships with it
60 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.
- cheap-tier.md 12 KB
- convergence-rules.md 8.2 KB
- eval/comments.jsonl 52 KB
- eval/run_eval.py 7.5 KB runs code
- proof-of-review.md 11 KB
- round-topology.md 20 KB
- schemas/classified-comment.v1.json 681 B
- schemas/iterate-state.v1.json 5.1 KB
- schemas/normalized-finding.v1.json 2.8 KB
- schemas/round-tail.v1.json 2.6 KB
- scripts/angles.py 15 KB runs code
- scripts/budget_clock.py 3.4 KB runs code
- scripts/budget_extension.py 2.4 KB runs code
- scripts/classifier_judge.py 8.0 KB runs code
- scripts/context_scout.py 6.4 KB runs code
- scripts/converge_cli.py 4.6 KB runs code
- scripts/converge_rounddir.py 8.1 KB runs code
- scripts/converge.py 20 KB runs code
- scripts/evidence_complete.py 5.3 KB runs code
- scripts/finder_round.py 9.4 KB runs code
- scripts/finder_segments.py 15 KB runs code
- scripts/finding_class.py 7.1 KB runs code
- scripts/iterate_state.py 20 KB runs code
- scripts/loop_driver.py 41 KB runs code
- scripts/loop_itest.py 10 KB runs code
- scripts/origin_blame.py 6.0 KB runs code
- scripts/proof_post.py 6.5 KB runs code
- scripts/proof_reap.py 8.7 KB runs code
- scripts/proof_root_itest.py 1.5 KB runs code
- scripts/proof_root.py 8.5 KB runs code
- scripts/reproduce.py 17 KB runs code
- scripts/review_merge_dedupe.py 17 KB runs code
- scripts/review_merge.py 20 KB runs code
- scripts/review_prep_ab.py 9.4 KB runs code
- scripts/review_prep_budget.py 4.5 KB runs code
- scripts/review_prep_cli_ab.py 3.5 KB runs code
- scripts/review_prep_cli.py 16 KB runs code
- scripts/review_prep_io.py 4.0 KB runs code
- scripts/review_prep_scaffold.py 8.5 KB runs code
- scripts/review_prep.py 14 KB runs code
- scripts/review_proof.py 17 KB runs code
- scripts/round_budget.py 14 KB runs code
- scripts/round_freeze.py 11 KB runs code
- scripts/round_mix.py 6.8 KB runs code
- scripts/round_plan.py 17 KB runs code
- scripts/round_put.py 3.1 KB runs code
- scripts/round_scratch_cli.py 6.7 KB runs code
- scripts/round_scratch.py 16 KB runs code
- scripts/round_tail.py 4.1 KB runs code
- scripts/run_round_boundary.py 14 KB runs code
- scripts/run_round.py 24 KB runs code
- scripts/severity.py 2.9 KB runs code
- scripts/test_angles_fragility.py 3.5 KB runs code
- scripts/test_angles_model_policy.py 4.7 KB runs code
- scripts/test_angles_scratch_marker.py 1.2 KB runs code
- scripts/test_angles_security.py 2.2 KB runs code
- scripts/test_angles_strata.py 2.4 KB runs code
- scripts/test_angles.py 7.9 KB runs code
- scripts/test_budget_extension_reproduced.py 2.3 KB runs code
- scripts/test_budget_extension.py 2.6 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.
- 3d ago Changed · +6 lines 40cb982198bf
- 23d ago Changed · -23 lines a4aad41df2d2
- 1mo ago First seen · 500 lines · 85 tokens per session scan A 46edfe54c8fb
tp-pr-iterate is a skill published in the GitHub repository CurtisThe/three-pillars-plugin (4 stars, last pushed 4d ago), licensed Apache-2.0. It adds 85 tokens to every session and 10,804 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
code-quality-review
Checklist and method for reviewing code quality — readability, maintainability, SOLID, DRY, performance, and backward compatibility. Use when asked to review code, a diff, a branch, or a merge request for quality, or before finalizing significant changes. For GitHub PR review use the built-in /review; for…
commit
A Git workflow skill that completes a TDD cycle by committing changes after required review, tests, logs, and retrospective checks pass. Git is a version-control system that records code changes and commits.
deep-implement
Implements code from /deep-plan section files with TDD methodology, code review, and git workflow. Use when implementing plans created by /deep-plan.
code-review
A structured way to examine code changes before or during a merge. It checks both the project's coding standards and whether the change matches its requested behavior.
oss-polish
A workflow for improving an open-source project's GitHub presentation and public story. It covers the README, repository topics and description, commit history, and positioning among similar projects.
git-workflow
Perform requested Git actions while preserving user work. Triggers on "commit", "提交".