skill
Define, surface, and record outcomes for structured skills in a shared catalog, enabling agents to discover and improve procedures.
Instructions
Substrate-native agent skill catalog — define, surface, record outcomes.
Skills are structured catalog entries (skill_id, applies_to, body,
type) — different from loose how-to memories (use procedure for those).
Writes go to the skill_substrate namespace so every yantrikdb consumer
(this MCP, yantrikdb-hermes-plugin, Lane B SDK, WisePick) sees the same
catalog.
Schema-validated at write time:
skill_id: lowercase dot-separated segments, e.g. "workflow.git.commit_clean"
body: 50–5000 chars
applies_to: 1–10 lowercase_underscore identifiers (no hyphens)
skill_type: one of procedure | reference | lesson | pattern | rule
ACTIONS:
"define": Create a skill (needs skill_id, body, skill_type, applies_to).
"surface": Find relevant skills (needs query). Returns ranked by score.
"outcome": Append a use outcome (needs skill_id, succeeded).
"get": Fetch a single skill by id.
"list": Catalog browse (filter by applies_to / skill_type).
EXAMPLE: skill(action="define", skill_id="workflow.git.commit_clean", body="Before commit: run pytest + lint...", skill_type="procedure", applies_to=["git", "release"]) — then surface(query=...) before similar work, and outcome(skill_id=..., succeeded=True/False) after using one.
Args: action: "define", "surface", "outcome", "get", "list". skill_id: Dot-separated id (for define/get/outcome). body: Skill body, 50–5000 chars (for define). skill_type: procedure|reference|lesson|pattern|rule (for define). applies_to: Non-empty identifier list ≤10 entries (for define; optional filter for surface/list). triggers: Optional list of trigger phrases (for define). on_conflict: "reject" (default) or "replace" if skill_id exists. version: Optional semver-shaped version string. supersedes: Optional skill_id this one replaces. query: Natural-language search (for surface). top_k: Max results for surface. succeeded: Outcome boolean (for outcome). note: Optional outcome note. limit: Max results for list.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| note | No | ||
| limit | No | ||
| query | No | ||
| top_k | No | ||
| action | Yes | ||
| version | No | ||
| skill_id | No | ||
| triggers | No | ||
| succeeded | No | ||
| applies_to | No | ||
| skill_type | No | procedure | |
| supersedes | No | ||
| on_conflict | No | reject |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |