Vai al contenuto principale
A

skill-bartender

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

Installazione

dsh plugin --profile web add github:akqwpeter-prog/skill-bartender

README

skill-bartender โ€” task-to-skill pairing for DeepSeek Harness

๐Ÿธ skill-bartender

Mix the right skill cocktail for every task โ€” and never pour an untasted bottle.

License: MIT SkillSpector CI DeepSeek Harness Self-scan Laziness ladder Platforms Docs


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 ยท What you get ยท Quick start ยท See it in action ยท Usage ยท Security model ยท FAQ ยท Examples ยท Layout ยท License

English ยท ็ฎ€ไฝ“ไธญๆ–‡


๐Ÿค” 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.

๐Ÿ“ธ See it in action

The pour flow in one picture: stop at the first rung that holds, and never install without a taste test.

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)

๐Ÿš€ 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.
  • Security policy: 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.

๐ŸŽ Examples

๐Ÿ—บ๏ธ 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. Ponytail (MIT) is referenced, not bundled โ€” tribute in the SKILL.md.

Plugin correlati