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/generous-corp/pulp/daw-smokenpx skills add Generous-Corp/pulp --skill daw-smokegit clone --depth 1 https://github.com/Generous-Corp/pulpWrote 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/skills/generous-corp/pulp/daw-smoke)<a href="https://agentmods.dev/skills/generous-corp/pulp/daw-smoke"><img src="https://agentmods.dev/badge/skills/generous-corp/pulp/daw-smoke.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 | $0.00037 | $0.05212 |
| Opus 5 | $0.00018 | $0.02606 |
| Sonnet 5 | $0.00007 | $0.01042 |
| Haiku 4.5 | $0.00004 | $0.00521 |
Grade A, and why
daw-smoke 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 today.
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 — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.
daw-smoke — functional reload/editor verification in a real DAW (REAPER)
Use this when you need proof that a reload / editor / format-adapter behavior
actually works inside a host, beyond what auval / pluginval /
clap-validator give (those prove scan+load, not functional behavior).
Harness: tools/testing/daw-smoke/reaper_smoke.py (+ insert_and_float.lua and
sequence_loop_seek.lua). The scraper + mode dispatch are unit-tested with no
REAPER in tools/testing/daw-smoke/test_reaper_smoke.py.
Full rules: docs/guides/daw-smoke.md. CLAUDE.md has the one-paragraph policy.
Modes (--mode, default reload)
reload— the original flow. Seed watched DSP variant A, insert+float the FX, copy variant B over the watched path, scrapeswapped DSP/reload rejected.live-plugin-swap— a live plugin-INSTANCE swap inside a Pulp host that hosts another plugin in aSignalGraph. Insert+float the host FX, write a swap request to--watched-swap-request, then scrape[live-swap] committed(PASS) vslive plugin swap refused(FAIL). The success marker is NOT logged by the core swap path —SignalGraph::prepare_swaplogs ONLY refusals. The host plugin must emit[live-swap] committeditself from itsNodeLiveSwapPolicy::on_instance_swappedobserver (that is the seam the smoke scrapes and the headless test exercises). The DAW-free, CI-runnable mirror istest/test_signal_graph_live_swap_continuity.cpp, which drives the same stage +prepare_swapcommit throughprocess()and asserts sample continuity (no dropout/xrun) across the swap block for every hosted format (VST3/AU/CLAP/ LV2). Use the REAPER mode as the local-only in-host confirmation.sequence-loop-seek— set a loop region on the REAPER timeline, play, and perform scripted seeks (into/out of the loop and across the wrap) against a plugin that embeds a sequence.sequence_loop_seek.luadrives the transport via a deferred pump (GetSet_LoopTimeRange+GetSetRepeat+OnPlayButton+SetEditCurPosseeks), handshakingFX_SHOWN→SEEKS_DONEthrough the status file. The plugin emits per-block markers[seq-loop] blk host_qn=.. seq_qn=.. active=.. jump=.. dropout=..; the scraper (analyze_seq_loop_log) asserts the sequence read position TRACKED the host playhead within--pos-tolerance-qnon every block — a free-running counter that ignores the host jump is caught as drift → FAIL. PASS requires >=1 wrap AND >=1 seek, note activity, and no dropout; otherwise INCONCLUSIVE (a SKIP/INCONCLUSIVE is never a PASS). This is the harness half of Phase-2 DoD Proof #2 — the full proof also needs the embedded-sequence plugin (Gate-5/6) and a real REAPER run. The scraper is unit-tested with synthetic logs (incl. a negative drift/dropout case), so the parse logic is proven without REAPER.editor-open— insert the plugin, open its editor, confirm it rendered. For a product whose editor is the product, neither a hot-swap nor a transport scenario applies; the only question is whether it loads in a real host and draws. This is precisely the check the format validators cannot make:auvalandclap-validatorprove a plugin scans and instantiates, never that its window comes up. AfterFX_SHOWNit waits before tearing down, because an editor that opens and then throws reports itself in the seconds after the window appears.editor-build— generate a patch from inside the host.editor-openproves the window comes up; it does not prove the product behind it works. The generator is spawned by the plugin, and an editor that draws perfectly can still fail to reach it — the standalone once did exactly that, because an app launched from Finder inherits no PATH. Nothing short of triggering a real build inside the host tests that path. The trigger is a file the shell reads (FORGE_MODULAR_TEST_PROMPT), not synthetic clicks — see the gotcha below. The verdict is the generator's own success line plus the file it names, scraped from the plugin's log; never "the click appeared to land."- All modes share the same REAPER lifecycle (
ReaperSession): fresh portable dir, temp scan path, pre-warm scan, scripted insert+float, guaranteed teardown. They differ only in what they SEED, the TRIGGER they fire once the FX is shown, and how they VERIFY the captured log. Add a mode by writing seed/trigger/verify aroundReaperSession, not by duplicating the launch plumbing.
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.
- today First seen · 310 lines · 37 tokens per session scan A c2248968a92b
daw-smoke is a skill published in the GitHub repository Generous-Corp/pulp (16 stars, last pushed today), licensed MIT. It adds 37 tokens to every session and 5,212 once invoked, about $0.0002 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-09-04.
Other skills, from other repositories
use-agent-browser-for-airi
Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts. Use when uploading and verifying contributor-supplied Live2D ZIP, VRM, or MMD ZIP/PMX/PMD files through AIRI's model selector, including onboarding bypass, format-specific import…
run-integration-tests
Build, pack, and run .NET MAUI integration tests locally. Validates templates, samples, and end-to-end scenarios using the local workload.
cli-e2e-testcase-writer
Use when adding or updating Go CLI E2E coverage for one tests/clie2e/{domain} domain of the compiled lark-cli, especially when the work requires live --help or schema exploration, scenario-based clie2e.RunCmd workflows, and per-domain coverage.md maintenance.
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
__SKILL_ID__
This fixture verifies that skill content can be written into the target sandbox and queried back immediately.
harness-test-writer
Add regression test cases to the Bifrost provider harness (the Postman collection run via make run-provider-harness-test) based on a merged PR or a GitHub issue. Fetches the PR/issue, traces the affected wire path in the codebase, checks existing harness coverage, designs cases following harness conventions, inserts…