Skip to content

feat: skills — user-authored on-demand instruction bundles#11

Merged
DoyleDev merged 2 commits into
mainfrom
feat/skills
May 19, 2026
Merged

feat: skills — user-authored on-demand instruction bundles#11
DoyleDev merged 2 commits into
mainfrom
feat/skills

Conversation

@DoyleDev
Copy link
Copy Markdown
Collaborator

Summary

Adds first-class skills support using Anthropic's progressive-disclosure pattern, but executed locally through the Databricks AI Gateway so it works across every model (Claude / GPT / Gemini / Llama / Qwen / custom endpoints) — no beta headers or sandboxed containers required.

How it works

  1. At chat time, an `<available_skills>` block is injected into the system prompt listing each enabled skill's slug + one-line description.
  2. The model sees the manifest. When relevant, it calls the new built-in `load_skill(slug)` tool.
  3. The renderer reads the corresponding `SKILL.md` from disk and returns its body as the tool result. The model now has the full instructions for its next turn.

Discovery

  • `~/.mason/skills//SKILL.md` — user-authored, edited in Settings
  • `~/.ai-dev-kit/repo/databricks-skills//SKILL.md` — auto-discovered, read-only

Forward-compatible with ai-dev-kit's planned skills-only releases; existing MCP path continues to work in parallel.

UI

  • Settings → Skills: list discovered skills with source / description / enable toggle. `+ New Skill` opens an editor with name + description + markdown body. Edit/delete on user skills only. Auto-load toggle mirrors the MCP tools pattern.
  • `+` icon → Skills: modal mirroring the Tools modal — quick per-skill enable/disable with grouped source + counter.

Persistence

  • `~/.mason/config/skills.json` — `{ disabledSkills: [], autoLoadSkills: true }`
  • Anthropic-compatible format (YAML frontmatter `name` / `description` + markdown body), so user-authored skills are portable.

Bumps to 1.4.0 — meaningful new surface area, not just a patch.

Test plan

  • Create a skill via Settings → Skills → + New Skill. Verify it lands at `~/.mason/skills//SKILL.md` with frontmatter.
  • Toggle the skill off, verify the LLM no longer sees it (check `<available_skills>` block isn't there).
  • Send a message that matches the skill's description, verify the model calls `load_skill` and the tool result contains the body.
  • Edit an existing user skill, save, verify changes persist.
  • Delete a user skill, verify the directory is removed.
  • With ai-dev-kit installed, verify its ~30 skills show up under "ai-dev-kit" source and are read-only.
  • `+` → Skills modal: quick toggle works, counter reflects.
  • Escape closes Skills modal and editor.
  • Try with Sonnet, Opus, GPT, Gemini — same behavior.

This pull request and its description were written by Isaac.

DoyleDev added 2 commits May 19, 2026 11:45
…ostic

Adds first-class support for skills using Anthropic's progressive-disclosure
pattern, but executed locally through the Databricks AI Gateway so it works
across every model (Claude / GPT / Gemini / Llama / Qwen / custom).

How it works:
- At chat time, an <available_skills> block is injected into the system
  prompt listing each enabled skill's slug + one-line description.
- The model sees the manifest and, when relevant, calls the new built-in
  load_skill(slug) tool. The renderer reads the corresponding SKILL.md
  body from disk and returns it as the tool result. The model then has
  the full instructions for its next turn.
- No beta headers, no Anthropic-specific path, no sandboxed container —
  just regular function tools that every chat-capable model supports.

Discovery:
- ~/.mason/skills/<slug>/SKILL.md — user-authored, edited in Settings
- ~/.ai-dev-kit/repo/databricks-skills/<slug>/SKILL.md — auto-discovered,
  read-only. Forward-compatible with ai-dev-kit's planned skills-only
  releases; the existing MCP path continues to work in parallel.

UI:
- Settings → Skills: list discovered skills with source, description,
  enable toggle. + New Skill opens an editor modal (name, description,
  markdown body). Edit and delete are user-skill-only. Auto-load toggle
  mirrors the MCP tools pattern.
- + icon → Skills: modal mirroring the Tools modal — quick enable/disable
  per skill, grouped by source, with counter.

Persistence:
- ~/.mason/config/skills.json: { disabledSkills: [], autoLoadSkills: true }

Format is Anthropic-compatible (YAML frontmatter with name + description,
then markdown body), so user-authored skills are portable to other clients.

Bumps to 1.4.0 since this is a meaningful new surface.

Co-authored-by: Isaac
Co-authored-by: Isaac
@DoyleDev DoyleDev merged commit 8c4716f into main May 19, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant