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/nullhack/temple8/refresh-cyclenpx skills add nullhack/temple8 --skill refresh-cyclegit clone --depth 1 https://github.com/nullhack/temple8What 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.00039 | $0.00609 |
| Opus 5 | $0.00019 | $0.00304 |
| Sonnet 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 2d 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.
- 2d 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 27d ago), licensed MIT. It adds 39 tokens to every session and 609 once invoked, about $0.0002 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
load-github-action-thread
Download retained Codex GitHub Action thread artifacts and load their rollout history into the local Codex app. Use when asked to open, load, import, resume, or inspect a Codex automation thread from a GitHub Actions run or a related GitHub issue or pull request.
test-generator
Generate pytest test cases for Python functions and classes.
python-binance
Help developers use the python-binance library for trading on Binance. Use when code imports binance, references Client/AsyncClient, or asks about Binance API trading, market data, websockets, or account management.
itx:execute
Execute the plan for an issue (parent or subtask).
clawctl
Know the clawctl CLI and manage your Clawrium fleet (hosts, agents, providers, channels, integrations, skills, secrets).
create-playwright
Record a browser-session demo (MP4) using Playwright via a replay-first compile pipeline. A YAML spec drives the driver script, the recording, and the ElevenLabs voiceover — mirrors create-vhs for browser flows.