umbel: Skill for Claude Code

.claude/skills/tend-discover/SKILL.md

tend-discover is a skill for Claude Code from jahala/umbel. It costs 72 tokens per session (3,829 once invoked), scanned A, original, MIT.

A one-time codebase-mapping skill that examines an existing project and creates feature records describing what is already built. A feature record can include its checks, catalog details, user types, and journey stages.

In plain words
What is it for?
Use it to answer what features exist, map an existing codebase, and create documentation files for later positioning, brainstorming, or verification.
Why use it?
It gives an undocumented project an initial feature map based on its routes, modules, tests, and public code interfaces.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

This is jahala/umbel's own configuration. It tells Claude Code how to work on umbel itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything umbel configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/jahala/umbel/master/.claude/skills/tend-discover/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/jahala/umbel

Made for: Claude Code.

Wrote 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.

agentmods badge for tend-discover

README.md
[![agentmods](https://agentmods.dev/badge/skills/jahala/umbel/tend-discover/github.svg)](https://agentmods.dev/skills/jahala/umbel/tend-discover)
Your own site
<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.

agentmods 80×15 button for tend-discover

Your own site · 80×15
<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>
Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,829 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00072 $0.03829
Opus 5 $0.00036 $0.01914
Sonnet 5 $0.00014 $0.00766
Haiku 4.5 $0.00007 $0.00383

Measured 10d ago against content hash 23176e91e73d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

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 10d 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.

.claude/skills/tend-discover/SKILL.md · 284 lines

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 position plants ICPs/Jobs and /tend brainstorm / /tend change anchors 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 (via tend_update_catalog)
  • docs/tend/features/<id>.tend.html - one feature polyglot per discovered surface (via tend_create_feature then tend_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.html files 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. Default validates: what if it tests behavior; validates: where if 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 propose integration_level: integration (or e2e if 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 integration or e2e checks. Tests that import only the unit under test and call its function directly (no boundaries) are evidence for unit checks.
  • Set both dependencies (technical blockers) and enables (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 set status: "verified" - that requires audit.result === 'pass' with real evidence per check. Discover only claims the code exists; tend-audit confirms it works.
  • After completion: tell the user to run /tend audit to verify discovered checks against real evidence; surface any inferred-from-mock or (needs real verification) checks as the priority targets.

Read the full file on GitHub · 284 lines

Changes

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.

  1. 10d ago First seen · 284 lines · 72 tokens per session scan A 23176e91e73d

Subscribe to this mod's changes

tend-discover is a skill published in the GitHub repository jahala/umbel (2 stars, last pushed 4d ago), licensed MIT. It adds 72 tokens to every session and 3,829 once invoked, about $0.0004 per session on Opus 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.