status

status is a command for Claude Code from emanzurv/quiz-me-skill. It costs 20 tokens per session (991 once invoked), scanned B, original, MIT.

A read-only command that reports the current state of a quiz gate, including its activation, difficulty, marker, streak, and open concepts.

In plain words
What is it for?
It helps check project and global settings, environment overrides, pass markers, the current streak, recorded misses, and recently reviewed concepts.
Why use it?
It lets you inspect the gate without changing its marker, miss log, or quiz state.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Part of the quiz-me plugin — 1 skill, 2 commands, 2 hooks shipped together

Good fit It helps check project and global settings, environment overrides, pass markers, the current streak, recorded misses, and recently reviewed concepts.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/emanzurv/quiz-me-skill/status
Install

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.

Clone the repo
git clone --depth 1 https://github.com/emanzurv/quiz-me-skill

Made for: Claude Code.

Or install quiz-me, the plugin that ships this one along with the rest of its 1 skill, 2 commands, 2 hooks.

Wrote 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.

agentmods badge for status

README.md
[![agentmods](https://agentmods.dev/badge/commands/emanzurv/quiz-me-skill/status.svg)](https://agentmods.dev/commands/emanzurv/quiz-me-skill/status)
Your own site
<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>
Per session 20 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 991 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 3d ago against content hash 7d522da96f15, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

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
plugins/quiz-me/commands/status.md · 70 lines

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.

  1. 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
    
  2. Resolve the effective config yourself: project keys merge over global keys, and QUIZ_ME_ENFORCE / QUIZ_ME_DIFFICULTY override both. Unset or unrecognized difficulty is normal; unset ttlMinutes is 240; 0 means no expiry.

  3. 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 with override: 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.

  4. 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 than RESOLVED. Two or more open misses in a row makes it a 🐉 boss concept.

  5. 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 enforce and difficulty — global config, project config, or environment — so a surprising level is traceable to the file that set it.

  6. 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.

Changes

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.

  1. 3d ago Changed · +5 lines 7d522da96f15
  2. 8d ago First seen · 65 lines · 20 tokens per session scan B ba9192253f84

Subscribe to this mod's changes

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.