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/conectlens/lenserfight/cli-developernpx skills add conectlens/lenserfight --skill cli-developergit clone --depth 1 https://github.com/conectlens/lenserfightWhat 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.00038 | $0.00895 |
| Opus 5 | $0.00019 | $0.00447 |
| Sonnet 5 | $0.00008 | $0.00179 |
| Haiku 4.5 | $0.00004 | $0.00089 |
Grade A, and why
cli-developer 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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Work on the LenserFight CLI (lf).
Scope
- Source:
apps/cli/src/** - Commands:
apps/cli/src/commands/*.ts - Utilities:
apps/cli/src/utils/(api, output, auth, auth-recovery, ansi, error-reporter, profiles, supabase-client, automation-objects, battle-stream-broadcaster, local-battle-engine, local-battle-paths, local-battle-storage) - Libraries:
apps/cli/src/lib/(exec-context, safety, telemetry, redact, onboarding, combine-seeds, command-inventory) - TUI:
apps/cli/src/tui/(dashboard.ts+tui/ink/— first-party dashboard, defaultlfbehavior;runtime-telemetry— shared withlf top) - Adapters:
apps/cli/src/adapters/
CLI Structure
src/main.ts— entry point, usesdefineCommand+runMainfrom citty; binary name islenserfight/lf- Each command file exports a
defineCommand(...)default and is lazy-imported inmain.ts src/utils/api.ts—callRpc+handleError; all Supabase RPC calls go through heresrc/utils/output.ts—printTable,printJson,truncate; uses consola for loggingsrc/utils/auth.ts+src/utils/supabase-client.ts— auth and Supabase clientsrc/utils/ansi.ts— ANSI helperAand symbolssymsrc/lib/exec-context.ts—setExecContext/getExecContextfor--local/--debugflagssrc/lib/safety/—assertSafefor input validationsrc/lib/telemetry.ts— telemetry adapter
Command pattern
import { defineCommand } from 'citty';
import consola from 'consola';
import { callRpc, handleError } from '../utils/api';
import { printTable, printJson } from '../utils/output';
const subCommand = defineCommand({
meta: { name: 'list', description: 'List items.' },
args: {
json: { type: 'boolean', default: false, description: 'Output as JSON' },
},
async run({ args }) {
try {
const data = await callRpc('fn_example', {});
if (args.json) printJson(data);
else printTable(['ID', 'Name'], data.map((r) => [r.id, r.name]));
} catch (err) {
handleError(err);
}
},
});
export default defineCommand({
meta: { name: 'example', description: 'Example group.' },
subCommands: { list: subCommand },
});
What ships with it
2 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 · 86 lines · 38 tokens per session scan A 29b895869891
cli-developer is a skill published in the GitHub repository conectlens/lenserfight (18 stars, last pushed 22d ago), licensed MIT. It adds 38 tokens to every session and 895 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-08-30.
Other skills, from other repositories
managed-pentesting-with-strix
Run a managed pentest of a web app or API through the app.strix.ai REST API — no local Docker, LLM key, or install needed. Create an API token, register domain/repository assets, launch and poll scans, triage vulnerabilities, export SARIF, download PDF/DOCX pentest reports for SOC 2 and other compliance evidence…
api-security-testing
Security-test a REST, GraphQL, or gRPC API with Strix — autonomous agents that enumerate endpoints from an OpenAPI/GraphQL schema (or by crawling), then actually exploit the API-specific vulnerability classes in the OWASP API Security Top 10 (2023) — broken object-level authorization (BOLA/IDOR), broken object…
fix-security-vulnerabilities-with-strix
Fix security vulnerabilities found by a Strix pentest (open-source CLI or app.strix.ai cloud) — triage by severity, patch the root cause rather than the symptom, and re-run Strix to prove each fix actually closes the exploit. Handles injection, XSS, SSRF, broken access control, IDOR, and other validated findings. Use…
owasp-top-10-testing
Test an application against the OWASP Top 10 with Strix — autonomous AI agents that attempt real exploits for each category of the current OWASP Top 10:2025 (broken access control including SSRF, security misconfiguration, software supply chain failures, cryptographic failures, injection, insecure design…
find-security-vulnerabilities-in-code
Find security vulnerabilities in a codebase or repository with Strix — a white-box AI security review that reads your source, reasons about the actual data flow and authorization model, then exploits what it finds in a live sandbox so every reported issue has a working proof-of-concept instead of a noisy…
web-app-penetration-testing
Pentest a web app or website end to end — black-box testing of a live URL, staging environment, or local dev server that finds and exploits real vulnerabilities (auth bypass, broken access control, IDOR, injection, XSS, SSRF, business logic) and proves each one with a working proof-of-concept instead of a signature…