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/bruno-rv/premium-presentations/present-prgit clone --depth 1 https://github.com/bruno-rv/premium-presentationsWrote 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/bruno-rv/premium-presentations/present-pr)<a href="https://agentmods.dev/commands/bruno-rv/premium-presentations/present-pr"><img src="https://agentmods.dev/badge/commands/bruno-rv/premium-presentations/present-pr.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.00017 | $0.01679 |
| Opus 5 | $0.00009 | $0.00839 |
| Sonnet 5 | $0.00003 | $0.00336 |
| Haiku 4.5 | $0.00002 | $0.00168 |
Grade A, and why
present-pr 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 5d 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 — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Turn the current branch's PR (or commit range) into a deck_doctor-green
premium deck grounded in the real diff — no invented content, no placeholder
slides. This funnels into the existing premium-presentations skill
pipeline verbatim: new-deck.sh → spec → generate → deck_doctor.py. Do
not emit slides directly and do not bypass the spec contract.
0. Set provider paths
Claude Code keeps the installed plugin immutable. Capture its bundled skill
from CLAUDE_PLUGIN_ROOT, and write every generated artifact beneath the
active project in CLAUDE_PROJECT_DIR:
plugin_root="${CLAUDE_PLUGIN_ROOT}"
if [ -z "$plugin_root" ]; then
echo "present-pr: CLAUDE_PLUGIN_ROOT is required" >&2
exit 1
fi
skill_root="$plugin_root/skills/premium-presentations"
project_root="${CLAUDE_PROJECT_DIR}"
if [ -z "$project_root" ]; then
echo "present-pr: CLAUDE_PROJECT_DIR is required" >&2
exit 1
fi
deck_root="$project_root/assets/decks"
themes_css="$project_root/assets/shared/premium-themes.css"
if [ ! -f "$themes_css" ]; then
themes_css="$skill_root/assets/shared/premium-themes.css"
fi
cd "$project_root"
The cd is deliberately after both roots are captured. All subsequent
commands use these absolute paths; do not substitute cwd-relative
skills/premium-presentations paths.
1. Determine the base ref
Resolve one base commit and reuse it for every diff/log below — never
inline a literal main in the git commands themselves, since main may
not exist locally (worktrees, orphan branches, shallow clones).
resolve_base() {
# 1. Explicit argument always wins.
if [ -n "$1" ]; then
echo "$1"
return 0
fi
# 2. Real PR ancestry: where this branch forked from main.
local fork_point
fork_point="$(git merge-base --fork-point main HEAD 2>/dev/null)"
if [ -n "$fork_point" ]; then
echo "$fork_point"
return 0
fi
# 3. main exists locally and actually diverges from HEAD (not just a
# missing fork-point cache entry, e.g. a shallow clone).
if git show-ref --verify --quiet refs/heads/main; then
local mb head
mb="$(git merge-base main HEAD 2>/dev/null)"
head="$(git rev-parse HEAD)"
if [ -n "$mb" ] && [ "$mb" != "$head" ]; then
echo "$mb"
return 0
fi
fi
# 4. No usable main (orphan branch, worktree without main, or HEAD==main):
# the same synthetic stand-in the skill's own test fixtures use.
if git rev-parse --verify --quiet HEAD~3 >/dev/null 2>&1; then
echo "HEAD~3"
return 0
fi
# 5. History too short even for HEAD~3 (shallow clone, brand-new repo):
# fall back to the root commit, or fail loudly rather than guess.
local root
root="$(git rev-list --max-parents=0 HEAD 2>/dev/null | tail -1)"
if [ -n "$root" ] && [ "$root" != "$(git rev-parse HEAD)" ]; then
echo "$root"
return 0
fi
echo "present-pr: cannot resolve a comparison base — no main branch, no fork-point, and fewer than 3 commits of history. Pass an explicit base ref: /present-pr <base>" >&2
return 1
}
base="$(resolve_base "$1")" || exit 1
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.
- 5d ago First seen · 174 lines · 17 tokens per session scan A a0eea8bb7a5c
present-pr is a command published in the GitHub repository bruno-rv/premium-presentations (3 stars, last pushed today), licensed MIT. It adds 17 tokens to every session and 1,679 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
video
Records a pitch deck to WebM (Playwright recordVideo).
export
Export a pitch deck to PPTX, video, and/or speaker notes in one command.
morph-deck
Generate launch-video-style React presentations with shared-layout (FLIP) morph transitions. Subcommands: new, iterate, render, pptx, video, export. Use when the user asks for a pitch deck, launch video, demo storyboard, or any cinematic presentation.
pptx
Export the active morph-deck deck to PowerPoint .pptx with Morph transitions.
learn
Force claude-smart to extract learnings from this session now.
init
Install the formatters this repository needs, with every command visible before it runs.