DeepSeek Harness plugin

skill-bartender-mjorgin

Task-to-skill pairing with a laziness ladder and a safe install cellar. Never overpours, never serves untasted. DSH · Claude Code · Codex

Jump to install

Source facts

Repository
MJorgin/skill-bartender
Latest update
Aug 17, 2026
Category
Tools & Capabilities
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/MJorgin/skill-bartender
Plugin: skill-bartender-mjorgin
Author: MJorgin

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

<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/akqwpeter-prog/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

<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 · 简体中文

</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-bartenderTypical catalog behavior
Skills loaded per taskusually one; zero when plain tools sufficewhatever 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

CapabilityWhat it doesWhere
🪜 Laziness ladderStop at the first rung that holds: 0 no skill → 1 one skill → 2 workflow skill → 3 unsure, don't loadall platforms
🍷 Routing tableTask→skill map in references/policy.md; URL-keyed families (doc/drive/wiki/sheets/base/slides) routed by path patternall platforms
🔐 Safe cellarMissing skill: search → quarantine dir → SkillSpector scan → scripts shown to human (default deny) → explicit yes → install; source + commit hash + verdict recordedDSH, Claude Code, Codex
🧠 LearnUnused loads logged and skipped for the same task type next time; chronic no-shows get offered for removalDSH
🧪 Taste testOn 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 github:akqwpeter-prog/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:

WayHowWhen
A. Say the nameIn any session, just say "skill-bartender"One-off or first-time setup
B. Always-on routingPaste the routing table into AGENTS.mdEvery 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 (prompt

injection). SkillSpector is a filter, not a guarantee.

  • scripts/ in any skill is code — never executed without human review.
  • Human approval is mandatory for every install. No silent installs, ever.
  • This skill scans itself clean: SkillSpector 0 findings (score 0 / SAFE)

— [docs/skillspector-report.json](docs/skillspector-report.json).

  • Security policy: [SECURITY.md](SECURITY.md).

❓ FAQ

Does it auto-install missing skills? No. Every download goes to a quarantine dir, gets scanned with SkillSpector, and is copied into the skills root only after explicit human approval. A passing scan is a filter, not a guarantee — prompt injection survives static scans, so scripts are shown to the human and default-deny.

What if SkillSpector isn't installed? uv tool install git+https://github.com/NVIDIA/skillspector.git, or run the manual checklist in references/policy.md.

Does it work with Claude Code and Codex? Yes — the same SKILL.md installs on all three platforms in ~15 seconds.

How is this different from DshMarket / dsh-find-plugin / dsh-plugin-autoevo? They find, search, and auto-install plugins. skill-bartender adds the routing policy (ladder + routing table) and the quarantine-then-approve discipline. Use it alongside the ecosystem, not instead of it.

How is it evaluated? The routing policy ships with a gold-task suite: [docs/eval.md](docs/eval.md).

🎁 Examples

  • [docs/EXAMPLES.md](docs/EXAMPLES.md) — real routing cases, cellar installs, audits.
  • [docs/ROUTING-GUIDE.md](docs/ROUTING-GUIDE.md) — how to write your own task→skill rules.
  • [docs/eval.md](docs/eval.md) — gold-task suite for the routing policy.

🗺️ Layout

skill-bartender/
├── skills/
│   └── skill-bartender/
│       ├── SKILL.md             # the skill itself (one file, three platforms)
│       └── references/policy.md # user-editable routing table
├── docs/
│   ├── screenshots/how-it-works.png
│   ├── eval.md                  # gold-task suite
│   ├── EXAMPLES.md / ROUTING-GUIDE.md
│   ├── skillspector-report.json # self-scan: 0 findings
│   ├── social-preview.png       # banner (regenerate via scripts/)
│   └── lang/README_ZH.md        # 简体中文
├── scripts/
│   ├── make-banner.py           # composes docs/social-preview.png
│   ├── make-diagram.py          # composes the how-it-works diagram
│   └── validate.py              # local structure validation
├── cordis.patch.yml / index.js / package.json   # DSH bundle manifest
└── LICENSE (MIT)

🤝 Join the DSH plugin ecosystem

DeepSeek Harness developer preview is still in its testing phase for Harness developers; core plugins and base APIs will keep iterating. We look forward to exploring the upper limits of intelligence together with developers worldwide, on top of open-source, open, reusable, and composable infrastructure.

> This repo is tagged dsh-plugin and > listed in the awesome-dsh-plugin > curated list. PRs, issues and translations are welcome.

📄 License

[MIT](LICENSE). Ponytail (MIT) is referenced, not bundled — tribute in the SKILL.md.