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/select-build-targetnpx skills add nullhack/temple8 --skill select-build-targetgit 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.00022 | $0.00367 |
| Opus 5 | $0.00011 | $0.00183 |
| Sonnet 5 | $0.00004 | $0.00073 |
| Haiku 4.5 | $0.00002 | $0.00037 |
Grade A, and why
select-build-target 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
Select Build Target
- Load [[software-craft/tdd]], [[software-craft/docstring-lifecycle]], [[software-craft/git-conventions]] — the cycle, the docstring-free-source rule, and the branch model. Ensure the build runs on
feature/<session_id>: if absent, branch it off dev (git checkout -b feature/<session_id> dev); if it exists (resumed cycle), check it out. The contract surface was committed to dev at plan, so the branch starts from it. - Discover the backlog: collect tests carrying the pending marker (
uv run pytest --collect-only -m pending -q). Map each pending test to the source module it exercises. - Pick the lowest-layer contract that still has pending tests — layer order is dependency order, so a module is built only after the modules it imports are built.
- IF a shared or foundation module (shared data types with no dedicated external-boundary test of its own) is needed THEN pull it in and build it alongside the first contract that depends on it; record both.
- Treat the pending marker — not the presence of the source .py — as what makes a contract selectable: a reworked contract re-enters the queue even when its .py already exists. IF no pending tests remain anywhere THEN the system is built.
- IF the target module's .py already exists (rework) THEN strip it:
uv run python scripts/strip_docstrings.py <package>/<module>.py. Skip if absent (new contract). - Skim the target's .pyi and its tests for context, not the whole project.
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 · 15 lines · 22 tokens per session scan A 3a3a0d1f8284
select-build-target is a skill published in the GitHub repository nullhack/temple8 (11 stars, last pushed 27d ago), licensed MIT. It adds 22 tokens to every session and 367 once invoked, about $0.0001 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
uv-mcp
Manage Python projects and environments with uv (Rust-based pip/poetry/pyenv replacement). Use in Python projects (pyproject.toml, uv.lock, or .py files) when dependency management, virtual environments, package installation, script execution, or Python version management is needed. Prefers the uv-mcp tools (run…
plan_approve
Approve implementation plan and transition to plan-ready status.
ha-merge-queue
Finds open Home Assistant pull requests that are genuinely ready to merge, checking CI, the merge-gate statuses, code-owner approval, merge conflicts, requested changes and unresolved review threads. Use when looking for PRs to merge, doing merge-queue triage, or asking for "quick wins" from the open PR backlog.
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.
setup-matt-pocock-skills
Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
to-issues
Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices.