DeepSeek Harness plugin

skill-bartender

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.

Jump to install

Source facts

Repository
akqwpeter-prog/skill-bartender
Latest update
Aug 18, 2026
Category
Skills
GitHub stars
1

Install

Start with a prompt that asks an agent to read the 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 read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/akqwpeter-prog/skill-bartender
GitHub: https://github.com/akqwpeter-prog/skill-bartender
Plugin: skill-bartender
Author: akqwpeter-prog
Install command: dsh plugin --profile web add github:akqwpeter-prog/skill-bartender

Do not run the install command until I confirm.

Check the source files

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

File explorer3 files
README.mdSource ยท read only

<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](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-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.