Tooling Watch — 2026-08-28
This report exists in English only.
Beat: publicly available, usable-now developer artifacts — tools/skills/MCPs we can ADOPT instead of build. Not news (ai-watch), not model releases (model-watch), not research (Sol). Run by code-eth, weekly. Reads first: watchlist.md · Apps/app-architecture_roadmap.md · eth-memory/shared/intelligence-board.md.
The lead is a hole in our own house, not a repo. GitHub's trending list this week is dominated by one shape — agent skills: obra/superpowers (278,747★), mattpocock/skills (239,424★), addyosmani/agent-skills (90,348★), plus Google's. All MIT, all the same idea: a procedure as a loadable file that arrives when its trigger fires, instead of prose the agent has to remember to go read.
I ran ls .claude/skills/ in this house. The directory does not exist. Meanwhile Continuity/wake-audit.md is 392 lines of numbered procedure, and Continuity/the-loop.md is 50 — both invoked by a sentence in CLAUDE.md asking me to remember them (rules 5 and 6). This is the house's oldest failure mode with a name on it, and the harness has shipped the fix for months.
WATCHLIST
Open: none. Tenth consecutive edition with an empty Open section. Per 21.08 the standing ask is retired and does not come back — curiosity is the radar's job, not hers. The list stays an optional drop-box.
WATCH entries (frontier radar — nothing to install, nothing proposed). Both carried unchanged; each has one dated tell, and neither tell has fired:
- Thermodynamic / probabilistic computing (Extropic, Normal Computing) — tell: first third-party benchmark on real silicon. Not seen.
- Neuromorphic spiking MCUs (Innatera Pulsar) — tell: an independent power measurement vs. Cortex-M55 + Ethos-U55 on the same always-on task. Not seen.
I did not go hunting for these this week beyond confirming no tell fired; they live on ai-watch's frontier item, not here.
FINDING #1 — .claude/skills/: the house's procedures are prose, and the format for making them loadable is already under our feet
- Reference implementations, all MIT, all API-key-free and network-free:
obra/superpowers— https://github.com/obra/superpowers · 278,747★ / 24,950f · created 2025-10-09 · pushed 2026-08-19 · Shell · 329 open issues. 17 skills; a full TDD/worktree/review methodology; installs per-harness as a plugin, no global system modification; optional telemetry (a logo fetch carrying version), off viaSUPE…REDACTED.addyosmani/agent-skills— https://github.com/addyosmani/agent-skills · 90,348★ / 9,662f · created 2026-02-15 · pushed 2026-08-27 · 121 open issues. 24 skills over DEFINE → PLAN → BUILD → VERIFY → REVIEW → SHIP. Self-contained markdown, no backend. Selective install:npx skills add addyosmani/agent-skills --skill <name>.- (All figures from the GitHub API this run, not from a blog post.)
WHAT: a skill is a SKILL.md — a named procedure with steps, inputs, exit criteria — that the harness surfaces when its trigger matches, rather than a document someone has to decide to open.
WHY US, and this is the whole finding: our procedural law is real, written, and good — and it is stored in the one format that depends on my memory to fire.
| Procedure | Where it lives | How it currently fires |
|---|---|---|
| Wake audit | Continuity/wake-audit.md, 392 lines |
CLAUDE.md rule 6 asks me to read it after a compaction wake |
| The loop (≥3 non-builder angles) | Continuity/the-loop.md, 50 lines |
CLAUDE.md rule 5 asks me to run it after a consequential delivery |
| Monthly inventory, cap-coadă | Continuity/audit-2026-08-05/ |
rule 12.5 — "datoria de a-l RULA e a mea, nu a reminder-ului" |
Rule 12.5 says that last line out loud: the duty to run it is mine, not the reminder's. That is an accurate description of a mechanism that has already failed — the monthly inventory exists because an audit found a mesh stale for a month. A skill does not make me virtuous, but it changes when the procedure is in front of me from "if I remember" to "when the trigger fires."
FRONT-LOADED, before this gets oversold:
- Skills are LOADED, not ENFORCED. I fetched both repos and asked directly:
addyosmani/agent-skillsdocumentation does not state that step order is algorithmically enforced — it relies on agent discipline.superpowersclaims it "checks for relevant skills before any task," which is a prompt-level claim, not a gate. This house's only real enforcement is the iron:gate.py(Stop) andpretool_recidive.py(PreToolUse). Skills sit beside those, they do not replace them, and anything that must not happen twice belongs inrecidive.json, not in aSKILL.md. - Do not install their methodologies. Superpowers' spine is brainstorm → worktree → 2-5 minute tasks → RED-GREEN-REFACTOR → PR. This house's spine is initiate, don't react · one deliverable at a time · verify before claiming · the loop. Importing a foreign discipline over ours would be exactly the thing rule 12 warns about, in reverse. The adoptable artifact is the FORMAT, not their content.
superpowersphones home by default (logo fetch with version). If any of it is ever read, the env var goes in first.
Verdict: ADOPT-CANDIDATE, scoped tightly (counts 1 of ≤3). Owner: Eth-Code. Not "install superpowers." The spike is: create .claude/skills/ and convert the two procedures that already exist and already have triggers — wake-audit and the-loop — into SKILL.md files that point back at the Continuity docs as their body, so the mother-file stays the single source (rule of FACTS.md maintenance: change the mother first). One evening. Reversible: it is a directory of markdown in our own repo, no dependency, no service, nothing outside the tree. Her eyes not needed (rule 4 — internal, reproducible, no external surface).
FINDING #2 — eugeniughelbur/obsidian-second-brain: the search gap I killed last week, answered a second time — for a vault shaped like ours
- Repo: https://github.com/eugeniughelbur/obsidian-second-brain · MIT · 4,228★ / 526f · created 2026-03-24 · pushed 2026-08-27 · Python · 11 open issues. GitHub API, this run.
WHAT: persistent memory for Claude Code and 7 other CLI agents (Codex, Gemini CLI, OpenCode, Hermes, Pi, Grok Bot, generic .agents/skills/), stored as plain markdown in an Obsidian vault — not in a database that owns your files. 45 commands: capture/daily/task/person/find/recap/review, synthesis and "…REDACTED" plus an optional research tier. Keyword search is the default and needs no model, no key, and works offline; semantic search is opt-in via local Ollama or an OpenAI-compatible endpoint, and falls back to keyword when the embedding backend is unreachable. No SQLite — the vault stays flat markdown. No telemetry documented.
WHY US: the house is an Obsidian vault — .obsidian/ sits at the repo root with app.json, appearance.json, core-plugins.json, workspace.json tracked in git — holding 3,794 markdown files. And last week I formally killed the bespoke search_memory section-return patch under my own rule, naming fellowgeek/mcp-memory as the reference implementation to lift from. This is the second independent MIT answer to the same gap in eight days, and unlike the first it is built for exactly our shape: markdown-first, offline-first, vault-native, degrading to keyword instead of dying when the model is absent. That degradation property is the one our own searchFiles() should have had.
FRONT-LOADED — the same failure mode as Graft last week, so I checked before writing a word:
- It writes outside the vault. The classic install clones to
~/.claude/skills/obsidian-second-brain/, symlinks or copies slash commands into~/.claude/commands/, writes global config into~/.claude/settings.json, and logs to~/.research-toolkit/usage.log.~/.claude/settings.jsonis load-bearing in this house — the hooks, the feed, the frânghia watcher, instance coordination. Nothing touches it unread. Per-project override via.claude/settings.jsonexists and is the only acceptable route. - 45 commands is a foreign nervous system, not a feature. We already have daily, capture, review, person and task organs — they are called
anchors-active.md,corectii.md,log-treasures.md,commitments.md, and they carry five months of law. Installing a second set of verbs over the same vault is how two systems start disagreeing about what happened. - The research tier is metered third-party API (Grok ~$0.05/call, Perplexity ~$0.02–0.50/call). We killed a metered social-signal collector on 07-17 on exactly this ground. Not adopted; core vault commands need none of it.
Verdict: ADOPT-CANDIDATE, read-only spike (counts 2 of ≤3). Owner: Eth-Code. The question is narrow and worth an evening: read how it does keyw…REDACTED over a flat vault, and whether its retrieval alone can be pointed at ours without importing its 45 verbs or its global config. If the answer is no, that is a clean SKIP and the search_memory trigger from last week stands unchanged — the next time a room gets a useless search_memory result and says so. Not installed in this run: an unattended task does not write to ~/.claude/settings.json.
NOT A CANDIDATE — named so nobody re-surfaces it as new
huangruiteng/loopx— https://github.com/huangruiteng/loopx · Apache-2.0 · 5,243★ / 469f · created 2026-05-31 · pushed 2026-08-28 · Python. A long-horizon agent control plane: durable goals and verifiable handoffs across Codex, Claude Code and other harnesses. Adjacent to our instance coordination (Wake→Claim→Work→Log→Release, live since 06-10 on eth-state + the PreToolUse hook) — but that organ works, is ours, and is already wired to the feed and the board. Recorded as vocabulary. No adoption path proposed. Third slot deliberately left unspent.- Home Assistant MCP servers (the "MCP for our needs" search: home automation / voice / robotics / Pi). The public answer is mature and well-trodden — several HA↔Claude MCP bridges, Pi-as-HA-server guides. It does not apply yet: we do not run Home Assistant. Filed as the obvious first brick if house automation ever starts, so that the 2030 house does not get a bespoke build where a standard exists (rule 12). Nothing to do today.
CARRY-FORWARD — verified in the tree this run, and the honest answer is: nothing moved
Checked by reading the files and git log --all, not remembered.
- DSH spike (
npx @deepseek-ai/dsh web+ readpackages/mcp) — NOT started. Grepped the whole tree:deepseek-harnessappears only in the intelligence board and in this beat's own session log. No throwaway folder, no notes. - Graft
--dry-run— NOT run. No.graft/anywhere, nothing named graft in~/.codex/or.claude/. Untouched. cisco-ai-defense/mcp-scannerstatic pass — NOT run. Still not on PATH. Third week of the same sentence.denoland/celldspike — NOT started.celldappears only in the board.git log --all --since=2026-08-21shows master only — a week of ai-watch, doctrine measurements, the rope's new guard, and the Seby thread, but nothing here.search_memory— dead as a bespoke build, as decided. Re-readeth-memory-server/memory-server.js:searchFiles()at line 70 is unchanged, still["noyau_eth.md", "journal_actif.md", "playbook_eth.md"]with no enclosing-section return. This is correct — it was killed on 08-21, not deferred. Its trigger is a room complaining, and no room has.- bodymiscale/openScale numeric cross-check — still open, SIX weeks, still the oldest item on this beat.
Embodiment/anvelopa/protocol-efort.mdstill ends the revision rule with "Rămâne de făcut." Still the only thing that would put a real error bar on "metabolic age 61."
The 09-11 clock (set 08-14) stands unchanged for items 3 and 4. Two more editions. If both are still un-started on 2026-09-11, they get shelved the way Grok Build did, with the reason written down — and I will not have earned the right to be surprised.
Bottom line
Ten candidates carried across five weeks, and this week the tree says none of them moved. DSH, Graft, mcp-scanner, celld — four spikes, all sized, none started, and the sizing itself is now the habit I warned about on 08-21 when I killed the search_memory patch for exactly that. So the honest reading of this edition is that the beat is finding well and converting badly, and the finding at the top of the file is a plausible reason: a procedure that lives as prose and fires by my remembering it is the same shape as a spike that lives in a report and fires by my choosing it.
Which is why Finding #1 is deliberately the smallest thing on the page — no dependency, no service, no third-party content, a directory of markdown inside our own repo — and why the third candidate slot is left unspent. .claude/skills/ has existed here the whole time and is empty, while 442 lines of the house's own procedure sit in a folder waiting to be remembered.
Finding #2 is the same gap answered twice in eight days by two different MIT projects, and the second one is vault-shaped: markdown-first, offline-first, keyword-by-default, degrading gracefully instead of failing. Its happy-path install writes into ~/.claude/settings.json, which in this house is load-bearing — so it is a read, not an install, exactly as Graft was.
Next run: (1) does .claude/skills/ exist with wake-audit and the-loop in it — yes or no, no third answer; (2) obsidian-second-brain read, or plainly untouched; (3) mcp-scanner and (4) celld, two weeks from the 09-11 shelf; (5) the bodymiscale cross-check, seven weeks, still the oldest thing here.