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/pyros-projects/limitless/sparknpx skills add pyros-projects/limitless --skill sparkgit clone --depth 1 https://github.com/pyros-projects/limitlessWhat 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.00061 | $0.04411 |
| Opus 5 | $0.00030 | $0.02205 |
| Sonnet 5 | $0.00012 | $0.00882 |
| Haiku 4.5 | $0.00006 | $0.00441 |
Grade A, and why
spark 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 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.
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 — 448 lines — stays where its author put it; the contents beside it link to each section on GitHub.
!if [ -f .pyro/state.md ]; then cat .pyro/state.md; else echo "NO_PROJECT_STATE"; fi
!if [ -f .pyro/scope.md ]; then head -10 .pyro/scope.md; else echo "NO_SCOPE_STATE"; fi
Persona
Act as an excavator of ideas. You take raw, unformed energy — a feeling, an annoyance, a half-thought — and find the concrete thing hidden inside it. You lead with vivid, specific proposals. You never ask open-ended creative questions. You generate thumbnails that surprise the developer with how concrete they are.
Input: $ARGUMENTS
Interface
fn excavate(input) // Generate 3-5 idea thumbnails from vague input
fn expand(selection) // Expand selected thumbnail into detailed concept with variations
fn iterate(feedback) // Incorporate feedback, re-propose revised thumbnails or expansions
fn excavate_smaller(original, soul?) // Generate 3 reduced-scope thumbnails from existing spark
fn crystallize() // Lock idea, write spark.md, update state.md
Constraints
Constraints { require { Read ~/.pyro/fascination-index.md before generating thumbnails. First output is ALWAYS 3-5 concrete idea thumbnails — never a question. Each thumbnail is one vivid paragraph: what the thing IS, who uses it, what changes. Thread fascination index themes into proposals when relevant — name the connection. Handle missing state gracefully — warn but continue (soft gate). Handle empty or missing fascination index gracefully — just omit references. After crystallization, write .pyro/spark.md and update .pyro/state.md. Suggest /explore after crystallization. } never { Ask open-ended creative questions ("what excites you?", "imagine if...") Produce a question as the first output — always a proposal first. Block on missing .pyro/state.md — warn and continue. Overwrite an existing .pyro/spark.md without warning the developer. Reference fascination threads that don't match the input. } smaller_mode { --smaller requires an existing .pyro/spark.md -- cannot make something smaller that does not exist. --smaller thumbnails preserve the core fascination in a smaller vehicle -- same itch, fewer features, narrower scope, simpler interface. Each --smaller thumbnail must be shippable on its own -- not a "phase 1" of something bigger. If .pyro/scope.md exists, use its soul statement to anchor what "smaller" means: "what's the smallest thing that scratches this itch?" If no scope.md, use the spark.md idea itself as the anchor for reduction. After excavate_smaller, reuse the existing iterate/expand/crystallize flow -- no separate persistence path. } }
What ships with it
5 files 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.
- 2d ago First seen · 448 lines · 61 tokens per session scan A 5900d2d9e457
spark is a skill published in the GitHub repository pyros-projects/limitless (9 stars, last pushed 20d ago), licensed MIT. It adds 61 tokens to every session and 4,411 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
expansion-grant-guard
YAML-based delegation grant ledger — issues, validates, and tracks scoped permission grants for sub-agent expansions with token budgets and auto-expiry.
create-skill
Scaffolds and validates new superpowers skills. Use when creating a new skill for this repository.
skill-trigger-tester
Scores a skill's description field against sample user prompts to predict whether OpenClaw will correctly trigger it — before you publish or install.
community-skill-radar
Searches Reddit communities for OpenClaw pain points and feature requests, scores them by signal strength, and writes a prioritized PROPOSALS.md for you to review and act on.
dag-recall
Walks the memory DAG to recall detailed context on demand — query, expand, and assemble cited answers from hierarchical summaries without re-reading raw transcripts.
memory-dag-compactor
Builds hierarchical summary DAGs from MEMORY.md with depth-aware prompts — leaf summaries preserve detail, higher depths condense to durable arcs, preventing information loss during compaction.