skilldrop-cli 0.8.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/agents/README.md +22 -0
- package/bin/skilldrop.js +39 -1
- package/model-routing.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ npx skilldrop-cli list # sre-oncall, stakehold
|
|
|
14
14
|
|
|
15
15
|
Originally scoped to solution architects, now broadly useful to PMs, founders, consultants, engineering leaders, exec assistants — anyone who turns ideas into stakeholder-ready artifacts.
|
|
16
16
|
|
|
17
|
+
Every skill is a plain `SKILL.md` folder — the [**Agent Skills open standard**](https://agentskills.io) Anthropic ratified — so the same folder runs unchanged in Claude.ai, Claude Code, the Claude Agent SDK, Cursor, Kiro, Codex, Copilot, Antigravity, and anything else that reads the format. Portable by construction: no runtime, no platform, no lock-in.
|
|
18
|
+
|
|
17
19
|
**Why skilldrop over heavier agent platforms:** every skill is a plain folder (`SKILL.md` + `manifest.json` + supporting files) and installs by *copy, never transformation* — what runs in your IDE is byte-identical to what's reviewed in this repo. The flat layout doubles as an open catalog contract: [any repo shaped like this one](#third-party-catalogs--publish-your-own-skills-through-the-same-cli) is installable through the same CLI. Skills are *opinionated* — each ships a quality bar, anti-patterns, and acceptance evals, so the output is an artifact, not a vibe.
|
|
18
20
|
|
|
19
21
|
## How skilldrop works
|
|
@@ -259,6 +261,7 @@ npx skilldrop-cli install --pack sre-oncall --ide kiro # .kiro/skills — Kiro
|
|
|
259
261
|
npx skilldrop-cli install adr-generator --dest .agents/skills # Codex + Copilot CLI (see below)
|
|
260
262
|
npx skilldrop-cli agents # the reviewer subagents
|
|
261
263
|
npx skilldrop-cli install --agent devils-advocate # -> ~/.claude/agents/ (RFC-0012)
|
|
264
|
+
npx skilldrop-cli install --panel review # the whole review fleet: 3 subagents + the pre-merge-review orchestrator (RFC-0020)
|
|
262
265
|
npx skilldrop-cli outdated && npx skilldrop-cli update # skills improve; cp -R never tells you
|
|
263
266
|
npx skilldrop-cli list | skilldrop info <skill> | skilldrop packs | skilldrop uninstall <skill>
|
|
264
267
|
```
|
package/agents/README.md
CHANGED
|
@@ -26,6 +26,28 @@ npx skilldrop-cli install --agent devils-advocate --ide kiro # .kiro/agents/*.
|
|
|
26
26
|
|
|
27
27
|
They are deliberately **split, not merged.** A single "review my code" agent dilutes all three — bug-hunting, craft, and exploitability pull in different directions. Run them as separate passes; together they are the reviewer panel [`feature-implement-loop`](../skills/feature-implement-loop/SKILL.md) drives after each generation round. `devils-advocate` here is the subagent form of the [`devils-advocate` skill](../skills/devils-advocate/SKILL.md); same persona, packaged for a tool's native agent slot instead of on-demand skill invocation.
|
|
28
28
|
|
|
29
|
+
## Fire them as a panel
|
|
30
|
+
|
|
31
|
+
The three reviewers are meant to run **together** on a change. Install the whole fleet in one command:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx skilldrop-cli install --panel review # 3 subagents + the pre-merge-review orchestrator -> ~/.claude/
|
|
35
|
+
npx skilldrop-cli install --panel review --project # .claude/ (shared with the repo)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The [`pre-merge-review`](../skills/pre-merge-review/SKILL.md) skill is the **portable orchestrator** — it dispatches the three as **parallel subagents** where the tool has a native subagent runner, and sweeps the lenses inline otherwise. The orchestration lives in the *skill* (portable); the reviewers are *native subagents* (per-tool):
|
|
39
|
+
|
|
40
|
+
| Tool | How the panel fires in parallel |
|
|
41
|
+
|---|---|
|
|
42
|
+
| **Claude Code** | Native parallel subagents — `pre-merge-review` fires all three at once. `--panel review` installs both halves. |
|
|
43
|
+
| **Kiro** | Native subagents — `--panel review --ide kiro` installs both halves. |
|
|
44
|
+
| **Codex** | Multi-agent runner — install the agents (`--agent … --ide codex`) + the skill; Codex runs the fleet in parallel (confirm the invocation against your Codex version). |
|
|
45
|
+
| **Antigravity** | Lead → specialist delegation — install the agents (`--agent … --ide antigravity`) + the skill; the lead agent delegates to the three, each in its own context. |
|
|
46
|
+
| **Copilot** | Agents install (`--agent … --ide copilot`); the skill drives them — sequentially unless your Copilot build exposes parallel subagents. |
|
|
47
|
+
| **Cursor** | No agent format — `pre-merge-review` sweeps the three lenses inline (no subagents). |
|
|
48
|
+
|
|
49
|
+
Designing your own fleet? Use [`subagent-design`](../skills/subagent-design/SKILL.md) — the reviewer panel is its "judge panel" topology.
|
|
50
|
+
|
|
29
51
|
## Installing an agent into your tool
|
|
30
52
|
|
|
31
53
|
### Claude Code (native subagents)
|
package/bin/skilldrop.js
CHANGED
|
@@ -20,6 +20,16 @@ const BUNDLED = "bundled";
|
|
|
20
20
|
// Neutral hook vocabulary (RFC-0006). Kept in sync with validate.py's HOOK_EVENTS.
|
|
21
21
|
const HOOK_EVENTS = ["session-start", "pre-commit-review", "on-demand"];
|
|
22
22
|
|
|
23
|
+
// Panels (RFC-0020): a named bundle of reviewer subagents + the orchestrator skill that fires
|
|
24
|
+
// them in parallel. `install --panel <name>` installs the whole fleet in one command.
|
|
25
|
+
const PANELS = {
|
|
26
|
+
review: {
|
|
27
|
+
agents: ["devils-advocate", "security-reviewer", "code-quality"],
|
|
28
|
+
skill: "pre-merge-review",
|
|
29
|
+
blurb: "correctness + security + craft reviewers, fired in parallel by pre-merge-review",
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
23
33
|
const HELP = `skilldrop — portable AI-agent skills for Claude Code, Cursor, Kiro, and more
|
|
24
34
|
|
|
25
35
|
Usage:
|
|
@@ -31,6 +41,8 @@ Usage:
|
|
|
31
41
|
skilldrop install --pack <name> install a whole pack
|
|
32
42
|
skilldrop install --all install every skill in the catalog
|
|
33
43
|
skilldrop install --agent <name...> install reviewer subagents (RFC-0012)
|
|
44
|
+
skilldrop install --panel review install the review panel — the 3 reviewer subagents +
|
|
45
|
+
the pre-merge-review orchestrator that fires them (RFC-0020)
|
|
34
46
|
skilldrop update re-copy installed skills whose version changed
|
|
35
47
|
skilldrop outdated show installed vs current versions, change nothing
|
|
36
48
|
skilldrop uninstall <skill...> remove skills (and wiring files this tool wrote)
|
|
@@ -74,7 +86,7 @@ function parseArgs(argv) {
|
|
|
74
86
|
const out = { _: [], flags: {} };
|
|
75
87
|
for (let i = 0; i < argv.length; i++) {
|
|
76
88
|
const a = argv[i];
|
|
77
|
-
if (a === "--pack" || a === "--ide" || a === "--dest" || a === "--from") out.flags[a.slice(2)] = argv[++i];
|
|
89
|
+
if (a === "--pack" || a === "--ide" || a === "--dest" || a === "--from" || a === "--panel") out.flags[a.slice(2)] = argv[++i];
|
|
78
90
|
else if (a.startsWith("--")) out.flags[a.slice(2)] = true;
|
|
79
91
|
else out._.push(a);
|
|
80
92
|
}
|
|
@@ -567,7 +579,33 @@ function copyOne(cat, s, dest, ide, l, notes) {
|
|
|
567
579
|
return m;
|
|
568
580
|
}
|
|
569
581
|
|
|
582
|
+
/* Install a whole review panel — the reviewer subagents + the orchestrator skill — in one
|
|
583
|
+
command (RFC-0020). Needs a target with BOTH a subagent and a skill format, so it accepts
|
|
584
|
+
the default (Claude Code), --project, --ide kiro, or --dest; other IDEs install the halves
|
|
585
|
+
separately. Delegates to installAgents + install so every existing safety/craft gate applies. */
|
|
586
|
+
function installPanel(args) {
|
|
587
|
+
const name = args.flags.panel;
|
|
588
|
+
const p = PANELS[name];
|
|
589
|
+
if (!p) die(`unknown panel '${name}' — available: ${Object.keys(PANELS).join(", ")}`);
|
|
590
|
+
const ide = args.flags.ide;
|
|
591
|
+
if (ide && ide !== "kiro" && !args.flags.dest)
|
|
592
|
+
die(`--panel installs subagents + the orchestrator skill together, so it needs a target with both formats:\n` +
|
|
593
|
+
` (default | --project) Claude Code, --ide kiro, or --dest <dir>.\n` +
|
|
594
|
+
` For ${ide}: install the agents (skilldrop install --agent ${p.agents.join(" ")} --ide ${ide}) ` +
|
|
595
|
+
`and the skill (skilldrop install ${p.skill} --ide ${ide}) separately.`);
|
|
596
|
+
const flags = Object.assign({}, args.flags);
|
|
597
|
+
delete flags.panel;
|
|
598
|
+
console.log(`Installing the '${name}' panel — ${p.agents.length} reviewer subagents + the ${p.skill} orchestrator skill.\n`);
|
|
599
|
+
installAgents({ _: p.agents.slice(), flags: Object.assign({}, flags, { agent: true }) });
|
|
600
|
+
console.log("");
|
|
601
|
+
install({ _: [p.skill], flags });
|
|
602
|
+
console.log(`\nPanel installed. Fire it with the ${p.skill} skill — e.g. "run a pre-merge review on this change".`);
|
|
603
|
+
console.log(`It dispatches the three subagents in parallel where your tool has native subagents (Claude Code today;`);
|
|
604
|
+
console.log(`Codex / Antigravity multi-agent runners), and sweeps the lenses inline otherwise. Per-tool: agents/README.md.`);
|
|
605
|
+
}
|
|
606
|
+
|
|
570
607
|
function install(args) {
|
|
608
|
+
if (args.flags.panel) return installPanel(args);
|
|
571
609
|
if (args.flags.agent) return installAgents(args);
|
|
572
610
|
const cat = resolveCatalog(args.flags.from);
|
|
573
611
|
let names = expandNames(args, cat);
|
package/model-routing.json
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"label": "Claude Code (Anthropic)",
|
|
22
22
|
"models": {
|
|
23
23
|
"light": "claude-haiku-4-5-20251001",
|
|
24
|
-
"standard": "claude-sonnet-
|
|
25
|
-
"heavy": "claude-opus-
|
|
24
|
+
"standard": "claude-sonnet-5",
|
|
25
|
+
"heavy": "claude-opus-5"
|
|
26
26
|
},
|
|
27
27
|
"select_via": "`/model <model-id>` in the session, or hand the skill to the model-router agent for automatic dispatch.",
|
|
28
28
|
"automation": ".claude/agents/model-router.md"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skilldrop-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Portable AI-agent skills for the deliverables knowledge workers ship \u2014 diagrams, ADRs, PRDs, runbooks, decks, reviews \u2014 installable into Claude Code, Cursor, Kiro, and any IDE that takes custom instructions. One command per skill or per role-based pack.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Sanjay Ananthanarayan",
|