Borrowing it
Nothing to install: this file belongs to ljchang/mecha. 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/ljchang/mecha/main/.claude/skills/update/SKILL.mdgit clone --depth 1 https://github.com/ljchang/mechaWrote 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/ljchang/mecha/update)<a href="https://agentmods.dev/skills/ljchang/mecha/update"><img src="https://agentmods.dev/badge/skills/ljchang/mecha/update/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/ljchang/mecha/update"><img src="https://agentmods.dev/badge/skills/ljchang/mecha/update.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 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 Data Exfiltration · line 28 Code scans file system directories looking for sensitive files. This could be reconnaissance for credential theft.Fix: Remove unnecessary filesystem scanning. If file access is needed, use explicit, scoped paths. Avoid reading ~/.ssh, ~/.aws, or credential directories.
- medium Rogue Agent · line 127 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 560 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
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.00070 | $0.11549 |
| Opus 5.5 | $0.00028 | $0.04620 |
| Sonnet 5.5 | $0.00014 | $0.02310 |
| Haiku 4.5 | $0.00007 | $0.01155 |
Grade A, and why
update scanned grade A with 1 finding 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 21d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
checked: `curl -s -o /dev/null -w '%{http_code} %{content_type}\n' How it starts
The opening of the file, as written. The whole thing — 783 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Updating everything
There is no single command, and that is the whole problem. "Update" names six independent surfaces on two machines from three repositories, each with its own version line. Every one of them can be stale while the others are current, and none of them complain.
The failure this skill exists to prevent, from 2026-08-15: mecha 0.1.4 was
tagged, pushed, and published to crates.io, and the services were restarted —
and mecha --version still said 0.1.3 afterwards, because nothing had run
cargo install. Four surfaces were stale at once that day: the installed
binaries, mecha-triggers (left out of the restart), the benchmark's musl
binary (eight days old, so a benchmark would have measured old code and
reported it as new), and the factory client.
The one rule
Verify the running thing, never the repo.
A tag proves a commit exists. A green CI run proves it compiles. git log
proves someone wrote it. None of them prove that the bytes executing on this
machine contain it. Ask the process what it is, not the source tree:
mecha --version, ls -l ~/.cargo/bin/, /proc/<pid>/exe.
Three specific confusions worth naming, because each one has actually happened:
- A release is not an install. Tagging and publishing changes crates.io,
not
~/.cargo/bin. - A restart is not a reinstall.
systemctl restartre-executes the same file on disk. Restarting before installing accomplishes nothing. - A debug build is not the one that runs. Both mecha's MCP config and the benchmark point at release paths.
The six surfaces
Work them in this order — later ones depend on earlier ones.
1. Installed binaries (~/.cargo/bin)
From ~/Github/mecha:
cargo install --path mecha-cli --locked --force # mecha
cargo install --path mecha-mail --locked --force # mecha-mail, mecha-google, mecha-outlook
And the graph, from ~/Github/mecha-graph — installed with mecha since
2026-08-16, because ~/.mecha/config.toml runs ~/.cargo/bin/mecha-graph-mcp,
not a repo path.
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.
- 21d ago Changed · +2 lines f9e13d6e3963
- 1mo ago Changed · +13 lines 16c37292ce33
- 1mo ago Changed · +30 lines 7e7a77b4fab0
- 1mo ago Changed · +32 lines 6d69939abf10
- 1mo ago Changed · +41 lines abe80c6de6c6
- 1mo ago Changed · +12 lines 3d3f65db9a4e
- 1mo ago Changed · +6 lines 27323f1ce1ed
- 1mo ago Changed · +5 lines 5661db032c19
- 1mo ago Changed · +17 lines b8d55329a53f
- 1mo ago First seen · 625 lines · 70 tokens per session scan A 2fdd86e00999
update is a skill published in the GitHub repository ljchang/mecha (7 stars, last pushed today), licensed MIT. It adds 70 tokens to every session and 11,549 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
update compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| updateljchang/mecha | Skill | 7 | today | MIT | A | 70 | Claude Code |
| api-interface-designMohitGoyal09/AgentForge | Skill | 65 | 17d ago | MIT | A | 23 | Claude Code, Codex |
| exploreMohitGoyal09/AgentForge | Skill | 65 | 17d ago | MIT | A | 15 | Claude Code, Codex |
| continuum-tools-mcpshyftlabs/continuum | Skill | 84 | 1mo ago | Apache-2.0 | A | 94 | Claude Code |
| continuum-handoffsshyftlabs/continuum | Skill | 84 | 1mo ago | Apache-2.0 | A | 98 | Claude Code |
| continuum-llm-providersshyftlabs/continuum | Skill | 84 | 1mo ago | Apache-2.0 | A | 105 | Claude Code |
| continuum-testingshyftlabs/continuum | Skill | 84 | 1mo ago | Apache-2.0 | A | 80 | Claude Code |