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 skills/eyalbpm/sessiondeck/releasenpx skills add eyalBPM/SessionDeck --skill releasegit clone --depth 1 https://github.com/eyalBPM/SessionDeckWhat 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.00060 | $0.01369 |
| Opus 5 | $0.00030 | $0.00685 |
| Sonnet 5 | $0.00012 | $0.00274 |
| Haiku 4.5 | $0.00006 | $0.00137 |
Grade A, and why
release 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 yesterday.
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 — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Releasing SessionDeck
release.ps1 takes committed code to a published GitHub release in one command. The
<Version> in SessionDeck.csproj is the single source of truth — the script derives
the tag, the zip name and the release title from it.
.\release.ps1 -DryRun # everything except the sync-commit and the actual release
.\release.ps1 # the real thing
Always do a -DryRun first. It exercises every guard, the publish, the tests and the
packaging, so a failure surfaces before anything is pushed.
The release policy
Exactly one release on GitHub — always the current version. Releases here are frequent, and every one carries a self-contained ~58MB zip; keeping them would pile up downloads nobody wants. So every existing release is deleted on each run, whatever its version line.
Three things used to die together. Only one of them was clutter, so now they part ways:
| Kept? | Why | |
|---|---|---|
| The zip of an old version | deleted | This is the clutter. Rebuildable in minutes. |
| Its tag | kept | The only way back to an exact past build, and invisible on the Releases page. Rollback = git checkout v0.9.4 + publish. |
| Its notes | kept, in CHANGELOG.md |
A page that gets deleted cannot hold history. |
Consequences worth knowing:
- The notes baseline is the newest tag below the version being released, not the newest release. Under the old release-derived baseline every replacement destroyed its own baseline, so the notes shrank on each patch (v0.9.4 said "since v0.9.3" with 5 commits; v0.9.5 said "since v0.9.4" with 2, and everything before it was gone).
release.ps1prepends the new section toCHANGELOG.mdand commits it before the push, so the tagghcreates already points at a commit that documents itself. The file needs its<!-- new releases are inserted directly below this line -->marker — the script blocks if it's missing.- The release is always
--latest. There is no version-line arithmetic left. - A downloadable zip exists only for the current version. If someone needs an older build, check out its tag and publish.
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.
- yesterday First seen · 106 lines · 60 tokens per session scan A cb7539abd204
release is a skill published in the GitHub repository eyalBPM/SessionDeck (1 stars, last pushed 23d ago), licensed MIT. It adds 60 tokens to every session and 1,369 once invoked, about $0.0003 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 skills, from other repositories
chart
Use when the user asks to visualize data with charts, graphs, or plots using the chart tool (bar, line, scatter, pie, time series, etc.).
reverse-engineering-tools
Guide for reverse engineering protected games and anti-cheat components across user mode, kernel mode, and hypervisor-aware environments. Use this skill when analyzing drivers, IOCTL protocols, callback registration, injected-code artifacts, integrity checks, protected binaries, or debugging security-sensitive game…
ultracite
Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects. Use when: (1) Setting up or initializing Ultracite in a project (ultracite init), (2) Running linting or formatting commands (check, fix, doctor), (3) Writing or reviewing JS/TS code in a project that uses Ultracite — to…
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
yt-dlp-music-downloads
Download YouTube playlists into the Navidrome music library.
flutter-app
Bootstrap a new Flutter mobile app with clean architecture, Riverpod, FVM-pinned SDK, current packages, and no deprecated APIs. Use when the user wants to start, scaffold, or set up a new Flutter app, a cross-platform mobile app, an Android or iOS app in Dart, or asks to "create a new flutter app". Handles BYOK LLM…