Borrowing it
Nothing to install: this file belongs to jahala/umbel. 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/jahala/umbel/master/.claude/skills/tend-discover/SKILL.mdgit clone --depth 1 https://github.com/jahala/umbelWrote 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/jahala/umbel/tend-discover)<a href="https://agentmods.dev/skills/jahala/umbel/tend-discover"><img src="https://agentmods.dev/badge/skills/jahala/umbel/tend-discover/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/jahala/umbel/tend-discover"><img src="https://agentmods.dev/badge/skills/jahala/umbel/tend-discover.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.00072 | $0.03829 |
| Opus 5.5 | $0.00029 | $0.01532 |
| Sonnet 5.5 | $0.00014 | $0.00766 |
| Haiku 4.5 | $0.00007 | $0.00383 |
Grade A, and why
tend-discover 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 2mo 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 — 284 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Discover: Existing Code -> Feature Polyglots
Owns: feature polyglot creation from observed code, plus catalog components / personas / journey phases inferred from the code.
What this skill assumes
- The codebase exists and is readable — this is a one-time bootstrap that maps existing code into tend features.
- The user accepts that discovered checks default to
validates_job: null(code carries no human-intent signal). After discovery,/tend positionplants ICPs/Jobs and/tend brainstorm//tend changeanchors checks to them. - This skill does NOT discover opportunities. Those come from human conversation (
/tend position), not from code. - After this skill, the next leverage move is
/tend position(plant the spine), then/tend audit(claim coverage feature-by-feature).
Purpose
Reverse-engineer a feature map from an existing codebase. The input is
the repo itself - routes, modules, tests, public exports - and the output
is a set of feature polyglots whose slot claims describe what exists today,
checks describe what tests already prove, and audit is empty until
/tend audit validates them.
tend-discover is a one-time bootstrap for a codebase that has no
docs/tend/ files yet. After bootstrap, new features come from
/tend brainstorm; changes to existing features go through
/tend change.
Output
docs/tend/overview.html- garden polyglot with catalog (viatend_update_catalog)docs/tend/features/<id>.tend.html- one feature polyglot per discovered surface (viatend_create_featurethentend_update_feature)
Rules
- Ask the user for choices and confirmation. Do not proceed on assumptions when intent is ambiguous.
- Ask the user to confirm the component list before creating any feature polyglots.
- All writes go through MCP - never edit
.tend.htmlfiles as text. - Checks must be assertions (checkable outcomes), not tasks.
- Infer checks from existing tests where possible; mark inferred ones explicitly with
(inferred from test)in the description. - Every inferred check carries
validates, the slot the test seems to prove. Defaultvalidates: whatif it tests behavior;validates: whereif it tests structure; ask the user when ambiguous. - Mock-aware inference. If a test mocks the function or component the check is about (e.g.,
vi.fn()returns the value the check describes; the integration boundary is stubbed), the test is not real evidence - it proves the mock returns what you told it to. When inferring a check from such a test, mark the check description with(inferred from mocked test - needs real verification)and proposeintegration_level: integration(ore2eif a runtime is involved). Do not let the test's "passing" status bias you. - Default integration_level: unit, but watch for signals. Tests that hit real DBs, real HTTP servers, real browsers, or real filesystems are evidence for
integrationore2echecks. Tests that import only the unit under test and call its function directly (no boundaries) are evidence forunitchecks. - Set both
dependencies(technical blockers) andenables(user journey edges) where discoverable from the code (import graph, route guards, redirect flows). - All discovered features default to
status: "planned"even though the code exists. Do not setstatus: "verified"- that requiresaudit.result === 'pass'with real evidence per check. Discover only claims the code exists;tend-auditconfirms it works. - After completion: tell the user to run
/tend auditto verify discovered checks against real evidence; surface any inferred-from-mock or(needs real verification)checks as the priority targets.
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.
- 2mo ago First seen · 284 lines · 72 tokens per session scan A 23176e91e73d
tend-discover is a skill published in the GitHub repository jahala/umbel (3 stars, last pushed 3d ago), licensed MIT. It adds 72 tokens to every session and 3,829 once invoked, about $0.0003 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-08-31.
Other skills, from other repositories
factory-handoff
Hand one exact agent-ready ticket to the central Factory runtime over the configured SSH forced-command boundary. Use when an operator asks to hand off an existing ticket or a prose request instead of implementing it in the current session.
ticket-spec
Turn a raw Linear Triage ticket into a fully specified ai:agent-ready one by exploring the codebase. Use when specifying, refining, or promoting tickets, or when asked why a ticket isn't dispatchable.
loci
Use when working with Loci tickets — starting, updating, and completing tickets via the loci CLI. Covers workflow, CLI commands, doc conventions, and assignee/status formats.
analyze-trade
Run one full trading cycle for one or more symbols — fetch market data via Robinhood MCP, evaluate through the deterministic core, and report what the system would do. Use when the user asks to analyze a symbol, check for setups, scan the universe, or run a trading cycle. Never places an order on its own.
critique-trade
Adversarially review a proposed trade before it is placed — challenge the thesis, hunt for the failure mode, and try to talk the system out of it. Use after analyze-trade produces an actionable signal and before any live order. Returns a verdict that can veto the trade.
review-performance
Analyze the trading journal — realized performance, which risk gates are firing, whether the strategy edge is real or noise, and what to change. Use when the user asks how the system is doing, wants a post-mortem, or asks whether to go live.