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 niki914/zafiro --skill termuxgit clone --depth 1 https://github.com/niki914/zafiroWrote 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/niki914/zafiro/termux)<a href="https://agentmods.dev/skills/niki914/zafiro/termux"><img src="https://agentmods.dev/badge/skills/niki914/zafiro/termux/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/niki914/zafiro/termux"><img src="https://agentmods.dev/badge/skills/niki914/zafiro/termux.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.00036 | $0.00640 |
| Opus 5.5 | $0.00014 | $0.00256 |
| Sonnet 5.5 | $0.00007 | $0.00128 |
| Haiku 4.5 | $0.00004 | $0.00064 |
Grade A, and why
termux 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 11d 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 — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Termux
Termux is a separate Android app. Zafiro cannot run anything inside it directly, so SSH is the only way in.
Connecting needs host, port, username and password. Those exist only in the user's Termux install, so the user has to supply them; until all four are known no Termux work is possible. Once known, record all of them — password included — with the memory tool.
Defaults of a normal Termux install: SSH is not installed out of the box, the server listens on 127.0.0.1:8022 (loopback is enough, no LAN IP or Wi-Fi involved), the username is what whoami prints and looks like u0_a123, password authentication is on by default and must stay on because Zafiro's SSH client cannot use a private key, and sshd is an ordinary process inside Termux that dies whenever Termux is killed — so a refused or timed-out connection usually just means Termux is no longer running.
No memory of Termux yet (never configured)
Setup happens in Termux by the user: passwd needs a real terminal, and we cannot type into Termux's terminal view. Paste this block into the reply and ask the user to run it, then report whatever Termux prints, errors included:
pkg update -y && pkg install -y openssh
passwd
whoami
sshd
pkg install provides sshd, passwd sets the login password and never echoes it, whoami prints the username, sshd starts the server. If Termux is not installed at all, the user has to install it from F-Droid and open it once first — do not install it yourself.
When the user reports the username and password, save host 127.0.0.1, port 8022 and both values to memory, then connect and confirm the login actually works before saying setup is complete. If something failed, ask for the exact error rather than guessing corrections.
Memory already has the connection details
Connect with the remembered values. If it fails, ask the user:
- Connection refused or timed out — Termux is closed and
sshdis gone. Ask whether Termux is running; if not, ask the user to open Termux and runsshd. DO NOT launch or operate anything on the device yourself unless the user asks for it. - Authentication failed — username or password is wrong. Ask the user to confirm both, then update memory.
- Termux was changed or reinstalled — username and password are new; run the setup block again and replace the old memory entries rather than keeping both.
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.
- 11d ago Changed 90cd4b5fa8d1
- 16d ago First seen · 40 lines · 36 tokens per session scan A 10cccd298ffa
termux is a skill published in the GitHub repository niki914/zafiro (263 stars, last pushed 2d ago), licensed MIT. It adds 36 tokens to every session and 640 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-01.
Other skills, from other repositories
kotlin-expert
Expert-level Kotlin development, Android, coroutines, and multiplatform. Use when the user mentions Android, coroutines, multiplatform, or JVM, or when the task involves Kotlin Fundamentals, Android Development, Kotlin Multiplatform, or Kotlin Style.
dagger-hilt-expert
Expert guidance for Dagger and Hilt dependency injection in Android. Use when implementing DI, creating modules, configuring scopes, optimizing performance, testing with Hilt, setting up multi-module architecture, using assisted injection, or debugging DI issues. Triggers on "dagger", "hilt", "dependency injection"…
android-startup-optimizer
Expert Android app startup performance optimization skill. Use when analyzing or improving Android app cold start, warm start, or hot start times. Applies to projects using Jetpack Compose, Hilt/Dagger, ContentProviders, ad SDKs, or any Android initialization bottlenecks. Triggers on phrases like "startup time", "app…
android-amplitude-sdk-expert
Expert guide for Amplitude Android SDK integration (Kotlin/Java). Use when tracking events, configuring autocapture, managing user identity, configuring batching or EU residency, implementing custom Enrichment/Destination plugins, migrating from legacy com.amplitude:android-sdk to modern…
android-leak-expert
Expert guide for detecting, profiling, and resolving memory leaks in Android apps (Java, Kotlin, Compose, JNI). Use when analyzing memory usage, profiling heap dumps, fixing out-of-memory (OOM) issues, checking Compose lifecycle flow collections, resolving WebView/Handler leaks, or configuring LeakCanary. Triggers…
compose-component-expert
Expert guide for designing, building, and optimizing reusable Jetpack Compose components. Applies 2026 best practices, Style API, slot APIs, Modifier.Node, strong skipping mode, recomposition optimization, and Detekt/Ktlint rules validation. Trigger this skill whenever the user asks about Jetpack Compose component…