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 vynazevedo/first-plan --skill lens-genericgit clone --depth 1 https://github.com/vynazevedo/first-planWrote 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/vynazevedo/first-plan/lens-generic)<a href="https://agentmods.dev/skills/vynazevedo/first-plan/lens-generic"><img src="https://agentmods.dev/badge/skills/vynazevedo/first-plan/lens-generic.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.1 | $0.00072 | $0.00669 |
| Opus 5 | $0.00036 | $0.00334 |
| Sonnet 5 | $0.00014 | $0.00134 |
| Haiku 4.5 | $0.00007 | $0.00067 |
Grade A, and why
first-plan-lens-generic 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 8d 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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Lens Generic
Fallback aplicado quando nenhuma lens específica casa. Confidence base é menor (max 0.7) para refletir incerteza.
Heurística por extensão
| Extensão | Stack provável |
|---|---|
.ex / .exs |
Elixir |
.erl / .hrl |
Erlang |
.hs |
Haskell |
.ml / .mli |
OCaml |
.zig |
Zig |
.nim |
Nim |
.cr |
Crystal |
.jl |
Julia |
.lua |
Lua |
.r / .R |
R |
.scala / .sbt |
Scala |
.clj / .cljs |
Clojure |
.fs / .fsi |
F# |
.kt (sem build.gradle) |
Kotlin script |
.dart (sem pubspec) |
Dart standalone |
Algoritmo
- Detectar linguagem dominante por extensão majoritária no projeto
- Identificar manifesto se houver (Mix.exs, dune-project, stack.yaml, Project.toml, etc)
- Inferir framework dominante por imports/uses comuns na linguagem
- Aplicar contrato comum com confidence reduzida
Contrato comum (mesmo das lenses específicas)
Mesmo sem conhecer detalhes da linguagem, extrair:
Estrutura
- Entry point (main file ou bin/)
- Pastas top-level com >5 arquivos
- Padrões de naming de arquivos
Errors
- Como erros são representados? (excepções, Result, tagged tuples, etc)
- Há padrão consistente?
Testing
- Há pasta de testes?
- Qual o framework (procurar em deps/manifest)?
Logging
- Há lib de log identificável?
DI / composition
- Onde objetos / processos são compostos?
Observabilidade
- Há instrumentação visível?
Confidence
- Max 0.7 (vs 0.9 das lenses específicas)
- Min 0.4 quando estrutura é caótica ou identificação fica ambígua
Quando criar lens específica
Se o usuário rodar Discovery múltiplas vezes em projetos da mesma stack rara, vale criar lens-<stack>/SKILL.md específica. Sinais:
- Confidence consistentemente baixa em projetos da mesma stack
- Padrões idiomáticos não capturados
- Findings importantes ficando sub-representados
Output
Padrão, com nota explícita em cada arquivo do .first-plan/:
Esta seção foi gerada via lens-generic (fallback). Confidence reduzida. Considere criar lens específica para esta stack se o projeto for recorrente.
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.
- 8d ago First seen · 80 lines · 72 tokens per session scan A 9eb74f6feee2
first-plan-lens-generic is a skill published in the GitHub repository vynazevedo/first-plan (23 stars, last pushed 14d ago), licensed MIT. It adds 72 tokens to every session and 669 once invoked, about $0.0004 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-30.
Other skills, from other repositories
RecallMax
Enhances AI memory capabilities with long-context support.
agent-memory
Persistent memory system for AI coding agents. Use when you need to save facts about the user, store interaction preferences, log session events, or search previously saved memories. Triggers on remembering, saving context, recalling past decisions, or when the user says "remember this". Also use proactively when the…
snip
You are an expert at writing declarative YAML filters for snip, a CLI proxy that reduces LLM token consumption by filtering shell output.
migrate
Migrate an application with hardcoded LLM prompts to a full LaunchDarkly AgentControl implementation in five stages: audit the code, wrap the call, move the tools, add tracking, attach evaluators. Use when the user wants to externalize model/prompt configuration, move from direct provider calls (OpenAI, Anthropic…
lookdev
When the user says "lookdev" (or asks to tune/dial/iterate on the look of something, OR to review/edit/annotate a blog post, doc, copy, or media), stand up a local interactive studio — live controls (sliders, pickers, drag handles) for visual params, OR direct inline editing + highlight + margin comments + media…
agentphone
Get your AI agent a real US/Canada phone number in one API call. Make voice calls, send and receive SMS, and hold actual conversations — all via API.