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 skills add harebeats/cannonball --skill kit-montargit clone --depth 1 https://github.com/harebeats/cannonballWrote 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/harebeats/cannonball/kit-montar)<a href="https://agentmods.dev/skills/harebeats/cannonball/kit-montar"><img src="https://agentmods.dev/badge/skills/harebeats/cannonball/kit-montar/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/harebeats/cannonball/kit-montar"><img src="https://agentmods.dev/badge/skills/harebeats/cannonball/kit-montar.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 17 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium MCP Rug Pull · line 547 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00245 | $0.12292 |
| Opus 5.5 | $0.00098 | $0.04917 |
| Sonnet 5.5 | $0.00049 | $0.02458 |
| Haiku 4.5 | $0.00024 | $0.01229 |
Grade A, and why
kit-montar 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 1mo 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 — 960 lines — stays where its author put it; the contents beside it link to each section on GitHub.
kit-montar — site novo a partir do acervo
Antes de qualquer comando: resolva o SKILL_DIR
Todo comando abaixo roda um script que viaja junto desta skill, em
SKILL_DIR/scripts/. Defina SKILL_DIR como o caminho absoluto da pasta que
contém ESTE SKILL.md que você acabou de ler — o seu harness informou esse caminho
no resultado da leitura. Funciona em qualquer hospedeiro, sem depender de variável
de ambiente de nenhum agente específico:
~/.claude/plugins/cache/cannonball/cannonball/<v>/skills/<nome>/SKILL.md
~/.codex/skills/<nome>/SKILL.md
~/.gemini/skills/<nome>/SKILL.md
~/.agents/skills/<nome>/SKILL.md
Em todos, SKILL_DIR é a pasta do SKILL.md, e SKILL_DIR/scripts/ está ao lado.
A regra que governa esta skill: o acervo vem primeiro. Gerar do zero é o último recurso, não o primeiro — o que está no acervo já rodou, código novo é aposta.
0. Veja o que o acervo tem hoje
O acervo é do usuário e muda a cada ingestão. Antes de qualquer pergunta:
python "${SKILL_DIR}/scripts/perfil.py"
Ele diz quantas peças existem, de que famílias, em que stacks, que setores cobre e onde estão as lacunas. É o que decide se esta conversa é uma montagem a partir do acervo ou uma construção do zero.
Ele termina com um bloco POR ONDE SEGUIR que muda conforme o acervo. Numa instalação nova ele manda vincular a pasta antes de qualquer ingestão — repasse ao usuário, porque esquecer isso deixa o material dele no lugar errado:
python "${SKILL_DIR}/scripts/vincular.py" --para "<pasta do usuário>"
Acervo vazio não invalida a skill. O fluxo continua igual — briefing, cor,
tipografia, hero, plano, construção — só que sem peça para reaproveitar. No fim,
ofereça guardar com /kit-ingerir: a próxima montagem do mesmo setor já começa
adiantada. É assim que o acervo cresce, e cada peça guardada melhora todas as skills
de uma vez.
0.1. Pergunte a stack — sempre, e antes de escolher peça
A stack decide quais peças são elegíveis e se haverá conversão. Perguntar depois de escolher significa refazer o trabalho.
What ships with it
52 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.
- references/fundamentos-visuais.md 19 KB
- references/getlayers.md 8.5 KB
- references/higgsfield.md 4.6 KB
- references/motionsites-genjutsu-designdna.md 7.0 KB
- references/stack-animacao.md 7.1 KB
- references/stack-webgl-react.md 13 KB
- scripts/armadilhas.py 4.8 KB runs code
- scripts/assets.py 4.8 KB runs code
- scripts/buscar.py 9.4 KB runs code
- scripts/caminhos.py 6.4 KB runs code
- scripts/capturar.py 19 KB runs code
- scripts/cor.py 11 KB runs code
- scripts/curar.py 12 KB runs code
- scripts/fontes_licenca.json 19 KB
- scripts/indexar.py 10 KB runs code
- scripts/ingerir_design.py 6.7 KB runs code
- scripts/ingerir_mcp.py 7.6 KB runs code
- scripts/ingerir_projeto.py 10 KB runs code
- scripts/ingerir_registro.py 5.1 KB runs code
- scripts/ingerir.py 5.4 KB runs code
- scripts/lote.py 5.5 KB runs code
- scripts/normalizar.py 10.0 KB runs code
- scripts/painel.py 20 KB runs code
- scripts/perfil.py 10 KB runs code
- scripts/publicar.py 12 KB runs code
- scripts/receita.py 4.8 KB runs code
- scripts/relocalizar.py 6.0 KB runs code
- scripts/sinonimos.json 7.6 KB
- scripts/tags_funcao.py 5.8 KB runs code
- scripts/test_sinonimos.py 1.8 KB runs code
- scripts/tipo.py 22 KB runs code
- scripts/vincular.py 5.0 KB runs code
- seed/acervo/index.json 18 KB
- seed/acervo/ui/kit-agendamento/armadilhas.json 4.1 KB
- seed/acervo/ui/kit-agendamento/codigo/agendamento.css 8.0 KB
- seed/acervo/ui/kit-agendamento/codigo/Agendamento.tsx 13 KB
- seed/acervo/ui/kit-agendamento/codigo/regras.ts 4.8 KB runs code
- seed/acervo/ui/kit-agendamento/codigo/useAgendamento.ts 4.0 KB runs code
- seed/acervo/ui/kit-agendamento/item.json 1.7 KB
- seed/acervo/ui/kit-agendamento/README.md 6.2 KB
- seed/acervo/ui/kit-calendario/armadilhas.json 798 B
- seed/acervo/ui/kit-calendario/codigo/calendario.css 5.4 KB
- seed/acervo/ui/kit-calendario/codigo/Calendario.tsx 7.7 KB
- seed/acervo/ui/kit-calendario/codigo/useCalendario.ts 4.1 KB runs code
- seed/acervo/ui/kit-calendario/item.json 1.4 KB
- seed/acervo/ui/kit-calendario/README.md 3.9 KB
- seed/acervo/ui/kit-mapa/armadilhas.json 747 B
- seed/acervo/ui/kit-mapa/codigo/mapa.css 5.3 KB
- seed/acervo/ui/kit-mapa/codigo/Mapa.tsx 4.7 KB
- seed/acervo/ui/kit-mapa/item.json 1.6 KB
- seed/acervo/ui/kit-mapa/README.md 4.3 KB
- seed/LEIA.md 905 B
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.
- 1mo ago Changed · +37 lines · -19 tokens per session 5306601e5de1
- 1mo ago First seen · 923 lines · 264 tokens per session scan A ffab415fd7b5
kit-montar is a skill published in the GitHub repository harebeats/cannonball (12 stars, last pushed 1mo ago), licensed MIT. It adds 245 tokens to every session and 12,292 once invoked, about $0.0010 per session on Opus 5.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
extract-design
Extract the full design language from any website URL. Produces 8 output files including AI-optimized markdown, visual HTML preview, Tailwind config, React theme, shadcn/ui theme, Figma variables, W3C design tokens, and CSS variables. Also runs WCAG accessibility scoring. Use when user says 'extract design', 'get…
designlang-tokens
Use when styling UI for cal.com — references the extracted design system tokens instead of inventing colors, spacing, or typography.
omd-apply
A skill that applies a project's DESIGN.md file as visual and brand guidance for interface work. It covers components, colors, fonts, layout, copy, motion, and visual assets.
accessibility-per-component
Audit one design system component's accessibility against WCAG 2.2 AA: keyboard, screen reader, contrast, focus, ARIA, target size. Trigger: a11y audit, is this accessible, WCAG check, screen reader support, keyboard navigation check. Not for page- or product-wide audits.
figma-variable-audit
Audit Figma variable collections: tier mapping, naming, alias chains, modes, orphans; can fix in place with Figma Console MCP. Triggers: audit my Figma variables, review variable collections, Figma variable health. For token files in code use token-audit.
theme-audit
Audit theme parity: tokens missing or unchanged per theme, component tokens bypassing semantics, contrast within each theme, resolver contexts, theme-switch regressions. Triggers: dark mode audit, theme coverage, brand variant parity. For general token structure use token-audit.