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 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);
@@ -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-4-6",
25
- "heavy": "claude-opus-4-8"
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.8.4",
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",