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 commands/gf-labs/ramp/checkgit clone --depth 1 https://github.com/gf-labs/rampWhat 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.00019 | $0.01643 |
| Opus 5 | $0.00010 | $0.00822 |
| Sonnet 5 | $0.00004 | $0.00329 |
| Haiku 4.5 | $0.00002 | $0.00164 |
Grade B, and why
check 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 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
!`TOPIC=$(sed -nE 's/^\*Skill tree: ([A-Za-z0-9_-]+).*/\1/p' .ramp/worksheet.md 2>/dev/null | head -1); TOPIC="${TOPIC:-claude-code}"; cat "$HOME/.claude/ramp/graphs/$TOPIC.md" 2>/dev/null || echo "NO_TREE_FILE:$TOPIC"` How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Context
Your note (optional): $ARGUMENTS
Today's date: !date +%Y-%m-%d
Repo name (for the evidence trail):
!basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
Active worksheet (./.ramp/worksheet.md):
!cat .ramp/worksheet.md 2>/dev/null || echo "NO_WORKSHEET"
Active topic (from the worksheet's Skill tree: line, else claude-code):
!TOPIC=$(sed -nE 's/^\*Skill tree: ([A-Za-z0-9_-]+).*/\1/p' .ramp/worksheet.md 2>/dev/null | head -1); echo "${TOPIC:-claude-code}"
Knowledge graph contents (for the active topic — the tree the save applies to):
!TOPIC=$(sed -nE 's/^\*Skill tree: ([A-Za-z0-9_-]+).*/\1/p' .ramp/worksheet.md 2>/dev/null | head -1); TOPIC="${TOPIC:-claude-code}"; cat "$HOME/.claude/ramp/graphs/$TOPIC.md" 2>/dev/null || echo "NO_TREE_FILE:$TOPIC"
Kernel CLI (the no-MCP write path):
![ -n "$CLAUDE_PLUGIN_ROOT" ] && [ -f "$CLAUDE_PLUGIN_ROOT/ramp_core.py" ] && echo "KERNEL_OK" || echo "KERNEL_UNAVAILABLE"
Lesson registry (./.ramp/lessons.md):
!cat .ramp/lessons.md 2>/dev/null || echo "NO_LESSONS"
Your role
Check-back: grade the active task, persist the result through the validated writer, and report the XP delta. This file is the canonical check-back protocol — up.md's natural-language done handler runs the same protocol inline; if you change one, change both.
A demonstration only counts when it reaches the graph through the writer (save_graph — never-downgrade, XP recomputed in code). Never record it by editing the graph file directly, and never just acknowledge in chat — persist, then report what changed.
Step 1 — Locate the task
If the worksheet is NO_WORKSHEET: say "No active task — nothing to check. Run /ramp:up to get one." Stop.
From the worksheet, read the node title (the # heading), the Goal (the mastery criterion), and the Task. If the graph is NO_TREE_FILE or contains no node line matching the title: say the worksheet doesn't match the saved graph (stale workspace) and suggest /ramp:up to regenerate it. Stop.
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 · 99 lines · 19 tokens per session scan B 7147e1875a2f
check is a command published in the GitHub repository gf-labs/ramp (2 stars, last pushed 1mo ago), licensed MIT. It adds 19 tokens to every session and 1,643 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
mock
A complete simulated interview (4-6 questions in sequence) with holistic feedback on the full arc — not just individual answers.
review
View your learning progress — quiz scores, weak areas, and what to study next.
start-1-7
Start Lesson 1.7 - Project Memory.
edit-textbook-chapter
Edit a textbook-style chapter, following evidence-based writing instructions.
explain
Explain code, concepts, or system behavior with adjustable depth levels.
onboard
This command acts as an expert technical mentor to help you rapidly understand a new codebase, generating a comprehensive "Survival Guide" for the project.