# 🍸 skill-bartender
### *任务对味,技能配杯 —— 没尝过的技能不上桌。*
[](../../LICENSE)
[](https://github.com/akqwpeter-prog/skill-bartender/actions/workflows/scan.yml)
[](https://github.com/topics/dsh-plugin)
[](../skillspector-report.json)
[](../../README.md#-quick-start)
你的 agent 已经能看到技能目录(名字+一句话描述),但它常常「倒多了」:
一次加载一堆技能、加载错的那个、或漏掉那条本就编排好一切的 workflow 技能。
**skill-bartender** 就是修这件事的元技能:
- 🪜 **懒人阶梯** — 通用工具能干的零加载;恰好匹配的只加载一个;组合任务用
workflow 技能,不手工拼原子技能;拿不准就不加载。
- 🍷 **路由表** — 任务→技能映射写在 `references/policy.md`,随你改,覆盖默认规则。
- 🔐 **安全酒窖** — 需要但没装的技能:隔离区 → SkillSpector 扫描 → **人工确认**
→ 才拷进技能目录。永不自动安装。
- 🧠 **学习** — 加载了没用上的技能会被记下来,下次同类任务跳过。
- 🧪 **品鉴** — 随时审计已装技能,把含糊的描述重写成「何时用」一句话。
[为什么](#-为什么) · [能做什么](#-能做什么) · [快速开始](#-快速开始) · [效果演示](#-效果演示) · [用法](#-用法) · [安全模型](#-安全模型必读) · [FAQ](#-faq) · [示例](#-示例) · [目录结构](#-目录结构) · [许可证](#-许可证)
[**English**](../../README.md) · [**简体中文**](README_ZH.md)
---
## 🤔 为什么
大多数 agent 把技能目录当自助餐。`skill-bartender` 把它当成一家要先品鉴的吧台:
| | skill-bartender | 常规目录行为 |
|---|---|---|
| 每个任务加载的技能数 | 通常**一个**;工具能干的零加载 | 匹配到多少算多少 |
| Workflow 技能 | ✅ 优先,绝不手工拼原子技能 | ❌ 常被漏掉或手拼 |
| 拿不准匹配 | ❌ 不加载(漏判好过误判) | ⚠️ 「以防万一」先加载 |
| 安装缺失技能 | 🔐 隔离 → 扫描 → **人工批准** | ⚠️ 直接下载进技能目录 |
| 自动安装 | ❌ 设计上禁止 | ⚠️ 常常静默发生 |
| 学习 | ✅ 记下闲置加载,下次跳过 | ❌ 没有记忆 |
**为什么是「懒人阶梯」?** 加载错的技能正文会永远留在对话历史里;漏加载一次
只损失一次工具往返。最好的加载是没发生的加载(精神来源:
[ponytail](https://github.com/DietrichGebert/ponytail))。
## ✨ 能做什么
| 能力 | 做什么 | 平台 |
|---|---|---|
| 🪜 懒人阶梯 | 停在第一个站稳的阶梯:0 工具够用 → 1 单个匹配 → 2 workflow 技能 → 3 拿不准不加载 | 全平台 |
| 🍷 路由表 | `references/policy.md` 任务→技能映射;URL 家族(doc/drive/wiki/sheets/base/slides)按路径模式路由 | 全平台 |
| 🔐 安全酒窖 | 缺技能:搜索 → **隔离区** → SkillSpector 扫描 → 脚本给人看(默认拒绝)→ 明确同意 → 安装;记录来源+commit+结论 | DSH / Claude Code / Codex |
| 🧠 学习 | 闲置加载记入日志,同类任务下次跳过;长期不用的技能建议移除 | DSH |
| 🧪 品鉴 | 按需审计已装技能,把弱描述重写成触发短语(目录 500 字上限内) | 按需 |
## ⚡ 快速开始
一个文件,三个平台:
```sh
# 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/
```
或者作为 DSH bundle 安装:
```sh
dsh plugin --profile web add github:akqwpeter-prog/skill-bartender
```
然后说一次「skill-bartender」,或把路由表粘进 AGENTS.md 常驻生效。
完整示例见 [docs/EXAMPLES.md](../EXAMPLES.md)。
## 📸 效果演示
*配杯流程一图流:停在第一个站稳的阶梯;没尝过的技能绝不上桌。*