skill-bartender
任务到技能配对元技能:懒人阶梯最小化加载、可编辑路由表、隔离-SkillSpector 扫描-人工确认的安装流程。
安装
dsh plugin --profile web add skill-bartender
沙箱测试
这个插件还没测过。提交测试 →
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.







<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)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:2,最后更新 2026-10-30