Borrowing it
Nothing to install: this file belongs to IgorWarzocha/howaboua-pi-stuff. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/IgorWarzocha/howaboua-pi-stuff/main/.pi/skills/pi-stuff-free-model-smoke/SKILL.mdgit clone --depth 1 https://github.com/IgorWarzocha/howaboua-pi-stuffWrote 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/igorwarzocha/howaboua-pi-stuff/pi-stuff-free-model-smoke)<a href="https://agentmods.dev/skills/igorwarzocha/howaboua-pi-stuff/pi-stuff-free-model-smoke"><img src="https://agentmods.dev/badge/skills/igorwarzocha/howaboua-pi-stuff/pi-stuff-free-model-smoke/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/igorwarzocha/howaboua-pi-stuff/pi-stuff-free-model-smoke"><img src="https://agentmods.dev/badge/skills/igorwarzocha/howaboua-pi-stuff/pi-stuff-free-model-smoke.svg" alt="Reviewed on agentmods" width="80" 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.00025 | $0.00935 |
| Opus 5.5 | $0.00010 | $0.00374 |
| Sonnet 5.5 | $0.00005 | $0.00187 |
| Haiku 4.5 | $0.00003 | $0.00093 |
Grade A, and why
pi-stuff-free-model-smoke 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 — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Check current OpenRouter stealth and preview models first, then other free tool-capable models. Select a concrete model ID for reproducible tests. Do not retain a preferred model list: free routes disappear and capabilities change.
Find a usable route
Use https://openrouter.ai/api/v1:
GET /models: inspectdata[], includingid,pricing,supported_parameters, context and output limits. Require explicit numeric zero for prompt and completion prices andtoolssupport. Missing prices are unknown, not zero. Check any other charges relevant to the request.GET /models/{author}/{slug}/endpoints: inspectdata.endpoints[]for current providers, prices and required parameters. Preserve the model's suffix, including:free. An empty endpoint list is not a usable route, even if a marketing page still exists.- Authenticated
GET /key: record onlydata.limit,limit_remaining,usage,is_free_tierandfree_model_daily_requestswhen present, before and after the probe. The credit ceiling and daily request allowance are separate. Treat counters as reported snapshots, not guaranteed capacity or immediate accounting. Rate limits and account policy can still block requests.
Send Authorization: Bearer <key> from an in-memory credential. Never print headers, auth objects or the complete key response. Use only disposable test content.
For POST /chat/completions, constrain routing in the request body:
{"provider":{"require_parameters":true,"max_price":{"prompt":0,"completion":0}}}
Keep paid models and billable add-ons out of the request. A spend ceiling is not permission to use it. Do not add a paid fallback when free endpoints fail.
Prove the tool round-trip through Pi
Use the installed public ModelRuntime export from @earendil-works/pi-coding-agent. The repo dependency is suitable for a host probe. A sandbox must use its candidate's runtime and authorised guest credentials.
await ModelRuntime.create()uses Pi's configured credential store. If skipping initial refresh, callawait runtime.getAvailable("openrouter")before judging availability. An uninitialised auth snapshot can look unconfigured.- Select the exact model from that result.
await runtime.getAuth("openrouter")suppliesauth.apiKeyfor metadata requests. Never log the returned object. - Use
runtime.completeSimple(model, { messages, tools }, options)with a short output budget and an abort timeout. ItsonPayloadcallback can return the payload with the routing constraint above. Preserve other request fields. - Supply a lookup tool for an opaque value, with one required key argument. Ask the model to call it. Require a real
toolCallwith the expected name and valid arguments. - Generate a fresh nonce after that call. Append the assistant response and a Pi
toolResultwith the matchingtoolCallId,toolName, text content, timestamp andisError: false. Complete again. Require the answer to contain the nonce, not to equal an exact formatting template.
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 · 47 lines · 25 tokens per session scan A dd07604ccb21
pi-stuff-free-model-smoke is a skill published in the GitHub repository IgorWarzocha/howaboua-pi-stuff (402 stars, last pushed yesterday), licensed MIT. It adds 25 tokens to every session and 935 once invoked, about $0.0001 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-10-16.
Other skills, from other repositories
cli-eval
Create and run evaluation suites, watch live benchmark progress, view scorecards, compare model performance, and integrate eval runs with CI workflows from the CLI.
model-merging
Merge multiple fine-tuned models using mergekit to combine capabilities without retraining. Use when creating specialized models by blending domain-specific expertise (math + coding + chat), improving performance beyond single models, or experimenting rapidly with model variants. Covers SLERP, TIES-Merging, DARE, Task…
dummy-dataset
Generate realistic dummy datasets for testing with customizable columns, constraints, and output formats (CSV, JSON, SQL, Python script). Use when creating test data, building mock datasets, or generating sample data for development and demos.
darwinian-evolver
Evolve prompts/regex/SQL/code with Imbue's evolution loop.
bad-case-to-dpo
A guide to turning failed production agent runs into training and evaluation data. It explains how to find the first mistake, create preference examples for DPO (Direct Preference Optimization), and check that a fix does not damage other tasks.
validate
Validate Semantica pipelines, extraction quality, graph schemas, and ontology consistency. Returns structured error/warning checklists. Uses PipelineValidator, PipelineBuilder.validatepipeline(), GraphValidator, and OntologyValidator. Sub-commands: pipeline, step, dependencies, extraction, graph, ontology, performance.