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/moq-dev/moq/start-questnpx skills add moq-dev/moq --skill start-questgit clone --depth 1 https://github.com/moq-dev/moqWhat 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.00048 | $0.00523 |
| Opus 5 | $0.00024 | $0.00262 |
| Sonnet 5 | $0.00010 | $0.00105 |
| Haiku 4.5 | $0.00005 | $0.00052 |
Grade A, and why
start-quest 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.
What it actually says
Before you begin, read quest/AGENTS.md completely.
Resolve an optional argument to a base questline directory under quest/, defaulting to quest/ itself.
Find every ready quest: one with no Required section. Questline README.mds are never executed, so exclude them:
rg --files-without-match '^## Required$' <base> --glob '*.md' --glob '!README.md' --glob '!AGENTS.md' --glob '!CLAUDE.md'
No output (rg exits 1) means the questline has no ready work; say so.
Drop candidates that are already claimed: a local or remote branch named after the quest path that is recent or has an open PR. A stale branch (old, no open PR) does not claim the quest; mention it so it can be reused or deleted. Also detect local and remote quest branches whose names are ancestors or descendants of the candidate branch. A recently moved quest may still be claimed by a branch at its former path; check the file's git history when a similar branch exists. Before creating the worktree, delete a conflicting ref only when it is confirmed stale, is not checked out, and has no unmerged commits; otherwise treat the candidate as claimed.
Order the remaining candidates by a depth-first walk of the questline tree from
the base README.md (Quests lists are priority-ordered, so the walk is too)
and offer up to the first five. Append any ready quest the walk never reached
and flag it as unlisted - that is a tree defect worth fixing.
Include any relevant higher-level context, such as the goal, parent questline, and/or what completing it unblocks.
Include each candidate's title size.
After the user chooses, read the quest and the relevant repository guides.
Decide the base branch, create a worktree on the quest's branch, and push an empty placeholder commit whose message contains a freshly generated UUID to claim it (skip the push without write access).
Never force this push. A rejected push loses the claim race; stop and choose another quest.
Start implementation when its scope is decision-complete; otherwise use $plan-quest to settle it first.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 39 lines · 48 tokens per session scan A 140e8637e5c9
start-quest is a skill published in the GitHub repository moq-dev/moq (1,486 stars, last pushed today), licensed Apache-2.0. It adds 48 tokens to every session and 523 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-02.
Other skills, from other repositories
observability-stack
Spin up StreamKit's local observability stack (skit + Prometheus + Grafana, optional speech gateway) and validate the Grafana dashboards end-to-end. Use when testing metrics/dashboards, debugging empty dashboard panels, or reproducing the speech-gateway monitoring setup locally.
testing-web-capture
End-to-end testing of the StreamKit web-capture gateway demo (examples/web-capture) with the native servo plugin. Use when verifying clip/cast endpoints, servo page rendering, or cross-session pixel isolation.
common-pitfalls
Known mistakes that coding agents frequently make in the StreamKit codebase. Use before starting any task to avoid wasted effort — covers WebSocket vs REST state, perf baselines, Bun-only tooling, SPDX headers, lint suppressions, and React.memo barriers.
testing-convert-stream-views
Testing the Convert and Stream views end-to-end in StreamKit. Use when writing or running browser-based tests for oneshot pipelines (TTS, transcription, file conversion) or dynamic MoQ stream pipelines, including marketplace plugin installation and YAML-driven UI controls.
adding-plugins
Checklist for making a StreamKit plugin official and downloadable from the registry. Use when adding a new native plugin or updating an existing one for marketplace distribution.
architecture
StreamKit crate relationships, data flow, key abstractions, and UI architecture. Use when understanding how the codebase is structured, how pipelines flow from YAML to execution, or how crates depend on each other.