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.
git clone --depth 1 https://github.com/davet47/hashloomWrote 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/commands/davet47/hashloom/speckit.hashloom.seams)<a href="https://agentmods.dev/commands/davet47/hashloom/speckit.hashloom.seams"><img src="https://agentmods.dev/badge/commands/davet47/hashloom/speckit.hashloom.seams/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/commands/davet47/hashloom/speckit.hashloom.seams"><img src="https://agentmods.dev/badge/commands/davet47/hashloom/speckit.hashloom.seams.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.00020 | $0.01513 |
| Opus 5 | $0.00010 | $0.00757 |
| Sonnet 5 | $0.00004 | $0.00303 |
| Haiku 4.5 | $0.00002 | $0.00151 |
Grade A, and why
speckit.hashloom.seams 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 9d 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 — 158 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Draft Feature Seams as Hashloom Contracts
Turn the current feature's stable seams — the interfaces other units will
depend on — into hashloom contracts, so /speckit.implement can serve cached
verification greens for anything already proven and hard-gate everything else.
Run this after /speckit.plan and ideally before /speckit.tasks, so task
descriptions can name the seams they implement.
User Input
$ARGUMENTS
Optional: an explicit list of unit names to contract (overrides step 3's
selection), or --skip to record that this feature has no seams.
Steps
1. Resolve context
- Run
.specify/scripts/bash/check-prerequisites.sh --jsonfrom the repo root and parseFEATURE_DIR. All paths below are absolute. - Read
FEATURE_DIR/plan.md(anddata-model.md,contracts/,spec.mdwhere they exist) to understand the planned units.
2. Ensure a hashloom project exists
Run hashloom status from the repo root.
- If it succeeds, note the JSON:
dirty(units without a current green) andinferred(contracts still awaiting human review) matter later. - If it fails because there is no project (no
.hashloom/marker), runhashloom init— it scaffolds.hashloom/andcontracts/and touches nothing else. Tell the user you initialised it.
3. Choose the seams — stable seams only
Contracts are warp; code is weft. A contract belongs on a seam only when BOTH:
- other units depend on it — it is an interface, a shared type, a boundary function; and
- you expect the interface to outlive its current implementation.
Do NOT contract:
- private helpers or interiors you would happily rewrite — pinning them is the failure mode, not thoroughness;
- one-off glue with a single caller;
- anything this feature only calls but does not define or change (existing contracts already cover those seams — verify picks them up via deps).
A feature with only two or three trivial units needs no contracts at all: write an empty manifest (step 6) with a comment saying so, report that to the user, and stop. Dropping hashloom where it earns no place is correct use.
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.
- 9d ago First seen · 158 lines · 20 tokens per session scan A 7d7b0d5de28f
speckit.hashloom.seams is a command published in the GitHub repository davet47/hashloom (2 stars, last pushed 7d ago), licensed Apache-2.0. It adds 20 tokens to every session and 1,513 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-31.
Other commands, from other repositories
speckit.companion.implement
Companion implement — execute tasks.md in dependency order, then mark complete.
speckit.companion.plan
Companion plan — implementation plan with research & design artifacts.
speckit.companion.doctor
Report on a spec's run health — unfinished steps, unjournaled tasks, step bleed, drift you can judge, a step that closed having verified nothing, a step that closed without the file it promised, and why completion did not land (read-only, retroactive, never halts).
speckit.companion.living-move
Move a living spec between central and colocated storage — file, tiers, and registry together (opt-in, reversible).
speckit.companion.living-validate
Check the shape of living specs and a feature spec's deltas — a requirement with no scenario, a scenario missing WHEN or THEN, a duplicate heading, a delta pointing at nothing (opt-in, read-only, never halts).
speckit.companion.after-specify
Capture the current spec-kit step into .spec-context.json for the Companion GUI.