skill
Create and discover agent skills with structured entries. Use natural-language queries to surface relevant procedures, references, patterns, and lessons. Record outcomes to track effectiveness.
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).
EXAMPLES:
skill(action="define", skill_id="workflow.git.commit_clean", body="Before commit: run pytest, run lint, write a clear " "subject + body. Never include co-authored-by unless asked.", skill_type="procedure", applies_to=["git", "release"])
skill(action="surface", query="how to commit cleanly")
skill(action="outcome", skill_id="workflow.git.commit_clean", succeeded=True, note="caught a flake8 issue pre-push")
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 |