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 nullhack/temple8 --skill refresh-cyclegit clone --depth 1 https://github.com/nullhack/temple8Wrote 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/nullhack/temple8/refresh-cycle)<a href="https://agentmods.dev/skills/nullhack/temple8/refresh-cycle"><img src="https://agentmods.dev/badge/skills/nullhack/temple8/refresh-cycle/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/nullhack/temple8/refresh-cycle"><img src="https://agentmods.dev/badge/skills/nullhack/temple8/refresh-cycle.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.00039 | $0.00609 |
| Opus 5.5 | $0.00016 | $0.00244 |
| Sonnet 5.5 | $0.00008 | $0.00122 |
| Haiku 4.5 | $0.00004 | $0.00061 |
Grade A, and why
refresh-cycle 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 1mo 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.
What it actually says
Refresh Cycle
- Load [[methodology/simplicity-discipline]], [[software-craft/git-conventions]] — the derived-view rule and the commit form. You close the cycle; the next discovery pass inherits what you write.
- Regenerate the living specification. Render
docs/state.mdfrom.templates/docs/state.md.template, substituting<name>,<version>(frompyproject.toml),<YYYY-MM-DD>, and<session_id>. Derive every field from the truth — the current test.pyi/.py, pending marks (uv run pytest --collect-only -m pending -q), cassettes, migrations, anddocs/glossary.md— never from prose or memory. The contract-index intent column is read from each test body; the composition and data-flow lines are read from the e2e path the tests express. This file is a derived view; when prose and a test disagree, the test wins. Never hand-edit it. - Summarize the carry-over cache files. Rewrite each of
.cache/<session_id>/interview-notes.md,.cache/<session_id>/external-contracts.md,.cache/<session_id>/data-model.md, and.cache/<session_id>/journal.mdas a ~1000-word summary of this cycle — the decisions made, the contracts built, the gaps closed, the escalations resolved. Preserve the headers each template carries so the next pass appends in the right place; replace the body with the distilled record. Transient per-pass files (build-target.md,probe-target.md,probe-research.md) are NOT summarized — they are regenerated by the next pass. - Regenerate docstrings. Author faithful prose for every module, class, and public function/method across
<package>/**/*.py— never a mechanical restatement of the signature; the why of an architectural decision lives in an ADR, not a docstring. Source only, never tests. Then runtask lint-merge(ruff check --extend-select SIM,RUF . && ruff format .). Commit on dev asdocs: regenerate docstrings + format. - Strip all
.pydocstrings. Runuv run python scripts/strip_docstrings.py $(find <package> tests -name '*.py' -type f)(many files, in place, line-range only; the glob skips.pyi). Commit on dev aschore: strip docstrings for next dev cycle. - Assert the gate evidence:
spec-regenerated=true,cache-summarized=true,docstrings-regenerated=true,docstrings-stripped=true.
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.
- 1mo ago First seen · 14 lines · 39 tokens per session scan A 84a9736ccd94
refresh-cycle is a skill published in the GitHub repository nullhack/temple8 (11 stars, last pushed 29d ago), licensed MIT. It adds 39 tokens to every session and 609 once invoked, about $0.0002 per session on Opus 5.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
agentic-test-audit
Audit a pytest suite: surviving mutants and untested code, flaky, order-dependent and slow tests, and removal candidates checked on held-out mutants. Report-only.
agentic-verify
Check that a Python change is caught by tests: run every mutant of the changed lines and write tests until they catch them. Reports evidence instead of a diff to read.
test-generator
Generate pytest test cases for Python functions and classes.
python
Use when the task is Python itself, in any framework or none: PEP 695 generics, mypy --strict typing, dataclass/Protocol/TypedDict/Enum choices, asyncio.TaskGroup, stdlib idioms, src/ layout + pyproject.toml with uv, ruff+mypy+pytest gate. NOT a FastAPI/ASGI service (that is fastapi), NOT a deep pytest suite (that is…
tdd
Drive a red → green → refactor cycle for the active task.
uv-workflow
Use when a coding agent needs to run Python code, modules, one-liners, tools, tests, or standalone scripts through uv, or create and maintain PEP 723 scripts with uv init/add/remove --script. Avoid direct python/python3 shell entrypoints.