skill-bartender

skillnpmMIT

Task-to-skill pairing meta-skill with a laziness ladder for minimal loading, a user-editable routing table, and a quarantine, SkillSpector scan, human-approval install flow.

下载量 / Downloads
409

Install

dsh plugin --profile web add skill-bartender

Sandbox test

This plugin has not been tested yet. Submit a test →

README

<div align="center">

<img src="docs/social-preview.png" alt="skill-bartender — task-to-skill pairing for DeepSeek Harness" width="100%">

<br>

🍸 skill-bartender

Mix the right skill cocktail for every task — and never pour an untasted bottle.

![License: MIT](LICENSE)

![SkillSpector CI](https://github.com/MJorgin/skill-bartender/actions/workflows/scan.yml)

![DeepSeek Harness](https://github.com/topics/dsh-plugin)

![Self-scan](docs/skillspector-report.json)

![Laziness ladder](README.md#-why)

![Platforms](README.md#-quick-start)

![Docs](docs/lang/README_ZH.md)

<br>

Your agent already sees a catalog of skill names and descriptions — but it

over-pours: loads too many skills, loads the wrong ones, or misses the one

workflow skill that composes the task. skill-bartender is the meta-skill

that fixes the pour:

  • 🪜 Laziness ladder — zero skills when plain tools suffice; one skill

when one matches; workflow over hand-composed atomics; unsure → don't load.

  • 🍷 Routing table — a user-editable task→skill map (references/policy.md)

that overrides the defaults.

  • 🔐 Safe cellar — a needed skill missing? Quarantine → SkillSpector scan

→ explicit human approval → install. Never auto-installs.

  • 🧠 Learn — loaded-but-unused skills get logged and skipped next time.
  • 🧪 Taste test — audit installed skills and rewrite weak descriptions

into "when-to-use" sentences.

[Why](#-why) · [What you get](#-what-you-get) · [Quick start](#-quick-start) · [See it in action](#-see-it-in-action) · [Usage](#-usage) · [Security model](#-security-model-read-this) · [FAQ](#-faq) · [Examples](#-examples) · [Layout](#-layout) · [License](#-license)

[English](README.md) · [简体中文](docs/lang/README_ZH.md)

</div>


🤔 Why

Most agents treat the skill catalog as an all-you-can-eat buffet. skill-bartender

treats it as a bar with a taste test:

· skill-bartender · Typical catalog behavior

Skills loaded per task · usually one; zero when plain tools suffice · whatever matches, however many

Workflow skills · ✅ preferred — never hand-assemble atomics · ❌ often missed or hand-composed

Unsure about a match · ❌ don't load (miss beats false pour) · ⚠️ loads "just in case"

Installing a missing skill · 🔐 quarantine → scan → human approval · ⚠️ downloads straight into the skills dir

Auto-install · ❌ never, by design · ⚠️ often silent

Learns from unused loads · ✅ logged, skipped next time · ❌ no memory

Why the "laziness ladder"? A wrong skill body stays in conversation

history forever; a missed load only costs one tool round-trip. The best load

is the load never made (spirit: ponytail).

✨ What you get

Capability · What it does · Where

🪜 Laziness ladder · Stop at the first rung that holds: 0 no skill → 1 one skill → 2 workflow skill → 3 unsure, don't load · all platforms

🍷 Routing table · Task→skill map in references/policy.md; URL-keyed families (doc/drive/wiki/sheets/base/slides) routed by path pattern · all platforms

🔐 Safe cellar · Missing skill: search → quarantine dir → SkillSpector scan → scripts shown to human (default deny) → explicit yes → install; source + commit hash + verdict recorded · DSH, Claude Code, Codex

🧠 Learn · Unused loads logged and skipped for the same task type next time; chronic no-shows get offered for removal · DSH

🧪 Taste test · On request: list installed skills, rewrite weak descriptions into trigger-phrase form (under the 500-char catalog cap) · on request

⚡ Quick start

One file, three platforms:

# DeepSeek Harness
mkdir -p ~/.dsh/skills/skill-bartender
cp skills/skill-bartender/SKILL.md ~/.dsh/skills/skill-bartender/
cp -r skills/skill-bartender/references ~/.dsh/skills/skill-bartender/

# Claude Code
mkdir -p ~/.claude/skills/skill-bartender
cp skills/skill-bartender/SKILL.md ~/.claude/skills/skill-bartender/

# Codex
mkdir -p ~/.codex/skills/skill-bartender
cp skills/skill-bartender/SKILL.md ~/.codex/skills/skill-bartender/

Or install as a DeepSeek Harness bundle:

dsh plugin --profile web add skill-bartender

Or straight from GitHub: dsh plugin --profile web add github:MJorgin/skill-bartender.

Then say "skill-bartender" once, or paste the routing table into your

AGENTS.md for always-on routing. Full examples: [docs/EXAMPLES.md](docs/EXAMPLES.md).

📸 See it in action

*The pour flow in one picture: stop at the first rung that holds, and never

install without a taste test.*

<img src="docs/screenshots/how-it-works.png" alt="How the pour works: laziness ladder (0 plain tools, 1 one match, 2 workflow, 3 unsure) plus the safe cellar (quarantine → SkillSpector scan → human approval → install)" width="100%">

🚀 Usage

Four ways to use it:

Way · How · When

A. Say the name · In any session, just say "skill-bartender" · One-off or first-time setup

B. Always-on routing · Paste the routing table into AGENTS.md · Every task routes through the ladder

C. Request a pour · "Which skill fits this task?" · Choosing among skills

D. Cellar audit · "Audit my installed skills" · Taste test: weak descriptions get rewritten

skill-bartender must itself be loaded once (user gesture or task match) —

it never self-triggers, and never pre-loads "just in case".

🔐 Security model (read this)

  • Skills are instructions, and instructions can be adversarial (promp

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::2,最后更新 2026-10-30

Links

GitHub · Homepage · npm

Same category