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/emanzurv/quiz-me-skillWrote 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/emanzurv/quiz-me-skill/status)<a href="https://agentmods.dev/commands/emanzurv/quiz-me-skill/status"><img src="https://agentmods.dev/badge/commands/emanzurv/quiz-me-skill/status.svg" alt="Measured on agentmods" 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.00991 |
| Opus 5 | $0.00010 | $0.00495 |
| Sonnet 5 | $0.00004 | $0.00198 |
| Haiku 4.5 | $0.00002 | $0.00099 |
Grade B, and why
status scanned grade B 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
echo "--- config global"; cat ~/.claude/quiz-me.json 2>/dev/null What it actually says
Report the gate's state. Read-only: this command never writes a marker, never appends to the misses log, and never quizzes. Everything it needs comes from one shell call.
-
Collect the state in a single command — the same
~/.claude/quiz-me/prefix every other quiz-me write uses, so one approval covers it:r=$(git rev-parse --show-toplevel 2>/dev/null || pwd); f=~/.claude/quiz-me/"${r//\//_}" echo "root: $r" echo "--- config global"; cat ~/.claude/quiz-me.json 2>/dev/null echo "--- config project"; cat "$r"/.claude/quiz-me.json 2>/dev/null echo "--- env: enforce=${QUIZ_ME_ENFORCE:-unset} difficulty=${QUIZ_ME_DIFFICULTY:-unset}" echo "--- session: ${CLAUDE_CODE_SESSION_ID:-unset}" echo "--- markers" for m in "$f".pass "$r"/.claude/quiz-me.pass; do [ -f "$m" ] || continue s=$(stat -f %m "$m" 2>/dev/null || stat -c %Y "$m") echo "$m age=$(( ( $(date +%s) - s ) / 60 ))m content=$(cat "$m")" done echo "--- streak"; cat "$f".streak 2>/dev/null echo "--- misses"; cat "$f".misses.md 2>/dev/null echo "--- reviewed"; tail -20 "$f".reviewed.md 2>/dev/null -
Resolve the effective config yourself: project keys merge over global keys, and
QUIZ_ME_ENFORCE/QUIZ_ME_DIFFICULTYoverride both. Unset or unrecognizeddifficultyisnormal; unsetttlMinutesis240;0means no expiry. -
Decide the gate state from the markers and the TTL — open if a marker exists and its age is within
ttlMinutes, closed otherwise. A marker whose content starts withoverride:is session-scoped: open only for the session named by the id after the prefix, which the hook matches against$CLAUDE_CODE_SESSION_ID. Report it as open but unearned when that id is this session's, and as closed — override belongs to another session when it is not (an override with no id is closed for everyone). Quote the reason either way. -
Compute open concepts from the misses log by the rule in the skill: group lines by their exact
<concept>text, and a concept is open if its most recent line is a miss rather thanRESOLVED. Two or more open misses in a row makes it a 🐉 boss concept. -
Render one block. Omit rows that have nothing to say — no streak line at
0, no concepts section when everything is resolved:── QUIZ ME · STATUS ── gate 🔒 closed — no marker enforce armed (~/.claude/quiz-me.json) difficulty normal — 3 questions, 4 options, plausible distractors ttl 240m streak 3 open concepts 🐉 retry backoff missed twice, unresolved — restarts the round · cache key missed 2026-01-01 last reviewed db.js (retained), importUsers.js (fuzzy)Name the source file for
enforceanddifficulty— global config, project config, or environment — so a surprising level is traceable to the file that set it. -
Close with the one thing the state implies, in a sentence: what the next edit will do. "Next edit will be denied — 3 questions at normal, one of them on the open boss concept." Or "Marker expires in 40m; after that the next edit re-quizzes."
If enforcement is off, say so plainly and note that the skill still runs when invoked —
enforce governs the hook, not the quiz.
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 · +5 lines 7d522da96f15
- 8d ago First seen · 65 lines · 20 tokens per session scan B ba9192253f84
status is a command published in the GitHub repository emanzurv/quiz-me-skill (5 stars, last pushed today), licensed MIT. It adds 20 tokens to every session and 991 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
demo
Generate a custom SaaS product demo video from a URL, in this Claude Code session (no API key).
servo-gate
Verify the current spec / plan / diff against a named oracle from the manifest (GO / FIX / STOP).
release
Generate changelog, bump version, and create git tag.
validate
Mechanically validate the sonu plugin repo before a PR — manifest sync, YAML frontmatter, shell-fence syntax, named-source and AI-attribution scans, cross-reference integrity, skill reachability. Only meaningful inside the claude-plugins repo; in any other repo, say so and stop.
generate-report
Generate a professional HTML report from assessment results in the conversation.
data-flow-analysis
Trace how data flows through the system from input to output.