@arthai/agents 1.0.0 → 1.0.3
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 +86 -105
- package/VERSION +1 -1
- package/bin/cli.js +11 -0
- package/compiler.sh +69 -10
- package/dist/plugins/canvas/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/canvas/{skills/planning/SKILL.md → commands/planning.md} +0 -2
- package/dist/plugins/compass/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/compass/{skills/planning/SKILL.md → commands/planning.md} +0 -2
- package/dist/plugins/counsel/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/counsel/{skills/client-discovery/SKILL.md → commands/client-discovery.md} +0 -2
- package/dist/plugins/{prime/skills/consulting/SKILL.md → counsel/commands/consulting.md} +0 -2
- package/dist/plugins/{prime/skills/deliverable-builder/SKILL.md → counsel/commands/deliverable-builder.md} +0 -2
- package/dist/plugins/counsel/{skills/engagement-tracker/SKILL.md → commands/engagement-tracker.md} +0 -2
- package/dist/plugins/{prime/skills/market-research/SKILL.md → counsel/commands/market-research.md} +0 -2
- package/dist/plugins/{prime/skills/opportunity-map/SKILL.md → counsel/commands/opportunity-map.md} +0 -2
- package/dist/plugins/{prime/skills/pitch-generator/SKILL.md → counsel/commands/pitch-generator.md} +0 -2
- package/dist/plugins/counsel/{skills/roi-calculator/SKILL.md → commands/roi-calculator.md} +0 -2
- package/dist/plugins/counsel/{skills/share/SKILL.md → commands/share.md} +0 -2
- package/dist/plugins/{prime/skills/solution-architect/SKILL.md → counsel/commands/solution-architect.md} +0 -2
- package/dist/plugins/{prime/skills/templates/SKILL.md → counsel/commands/templates.md} +0 -2
- package/dist/plugins/{prime/skills/welcome/SKILL.md → counsel/commands/welcome.md} +0 -2
- package/dist/plugins/{prime/skills/wizard/SKILL.md → counsel/commands/wizard.md} +0 -2
- package/dist/plugins/cruise/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/cruise/{skills/autopilot/SKILL.md → commands/autopilot.md} +0 -2
- package/dist/plugins/forge/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/{prime/skills/implement/SKILL.md → forge/commands/implement.md} +0 -2
- package/dist/plugins/{prime/skills/planning/SKILL.md → forge/commands/planning.md} +0 -2
- package/dist/plugins/forge/{skills/pr/SKILL.md → commands/pr.md} +0 -1
- package/dist/plugins/{prime/skills/precheck/SKILL.md → forge/commands/precheck.md} +0 -2
- package/dist/plugins/forge/{skills/qa/SKILL.md → commands/qa.md} +0 -2
- package/dist/plugins/{prime/skills/review-pr/SKILL.md → forge/commands/review-pr.md} +0 -2
- package/dist/plugins/prime/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/prime/{skills/arth/SKILL.md → commands/arth.md} +0 -2
- package/dist/plugins/prime/{skills/autopilot/SKILL.md → commands/autopilot.md} +0 -2
- package/dist/plugins/prime/{skills/calibrate/SKILL.md → commands/calibrate.md} +0 -2
- package/dist/plugins/prime/{skills/ci-fix/SKILL.md → commands/ci-fix.md} +0 -2
- package/dist/plugins/prime/{skills/client-discovery/SKILL.md → commands/client-discovery.md} +0 -2
- package/dist/plugins/{counsel/skills/consulting/SKILL.md → prime/commands/consulting.md} +0 -2
- package/dist/plugins/prime/{skills/custom-domain/SKILL.md → commands/custom-domain.md} +0 -2
- package/dist/plugins/{counsel/skills/deliverable-builder/SKILL.md → prime/commands/deliverable-builder.md} +0 -2
- package/dist/plugins/prime/{skills/discord-ops/SKILL.md → commands/discord-ops.md} +0 -1
- package/dist/plugins/prime/{skills/engagement-tracker/SKILL.md → commands/engagement-tracker.md} +0 -2
- package/dist/plugins/prime/{skills → commands}/explore.md +0 -1
- package/dist/plugins/prime/{skills/fix/SKILL.md → commands/fix.md} +0 -2
- package/dist/plugins/{forge/skills/implement/SKILL.md → prime/commands/implement.md} +0 -2
- package/dist/plugins/prime/{skills/incident/SKILL.md → commands/incident.md} +0 -2
- package/dist/plugins/prime/{skills/issue/SKILL.md → commands/issue.md} +0 -1
- package/dist/plugins/{counsel/skills/market-research/SKILL.md → prime/commands/market-research.md} +0 -2
- package/dist/plugins/{spark/skills/onboard/SKILL.md → prime/commands/onboard.md} +0 -2
- package/dist/plugins/{counsel/skills/opportunity-map/SKILL.md → prime/commands/opportunity-map.md} +0 -2
- package/dist/plugins/{counsel/skills/pitch-generator/SKILL.md → prime/commands/pitch-generator.md} +0 -2
- package/dist/plugins/{forge/skills/planning/SKILL.md → prime/commands/planning.md} +0 -2
- package/dist/plugins/prime/{skills/pr/SKILL.md → commands/pr.md} +0 -1
- package/dist/plugins/{forge/skills/precheck/SKILL.md → prime/commands/precheck.md} +0 -2
- package/dist/plugins/{prism/skills/qa-incident/SKILL.md → prime/commands/qa-incident.md} +0 -2
- package/dist/plugins/{prism/skills/qa-learn/SKILL.md → prime/commands/qa-learn.md} +0 -2
- package/dist/plugins/prime/{skills/qa/SKILL.md → commands/qa.md} +0 -2
- package/dist/plugins/{sentinel/skills/restart/SKILL.md → prime/commands/restart.md} +0 -2
- package/dist/plugins/{forge/skills/review-pr/SKILL.md → prime/commands/review-pr.md} +0 -2
- package/dist/plugins/prime/{skills/roi-calculator/SKILL.md → commands/roi-calculator.md} +0 -2
- package/dist/plugins/prime/{skills/scan/SKILL.md → commands/scan.md} +0 -2
- package/dist/plugins/prime/{skills/setup/SKILL.md → commands/setup.md} +0 -2
- package/dist/plugins/prime/{skills/share/SKILL.md → commands/share.md} +0 -2
- package/dist/plugins/{counsel/skills/solution-architect/SKILL.md → prime/commands/solution-architect.md} +0 -2
- package/dist/plugins/prime/{skills/sre/SKILL.md → commands/sre.md} +0 -2
- package/dist/plugins/prime/{skills/sync/SKILL.md → commands/sync.md} +0 -1
- package/dist/plugins/{counsel/skills/templates/SKILL.md → prime/commands/templates.md} +0 -2
- package/dist/plugins/{counsel/skills/welcome/SKILL.md → prime/commands/welcome.md} +0 -2
- package/dist/plugins/{counsel/skills/wizard/SKILL.md → prime/commands/wizard.md} +0 -2
- package/dist/plugins/prism/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/{prime/skills/qa-incident/SKILL.md → prism/commands/qa-incident.md} +0 -2
- package/dist/plugins/{prime/skills/qa-learn/SKILL.md → prism/commands/qa-learn.md} +0 -2
- package/dist/plugins/prism/{skills/qa/SKILL.md → commands/qa.md} +0 -2
- package/dist/plugins/scalpel/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/scalpel/{skills/ci-fix/SKILL.md → commands/ci-fix.md} +0 -2
- package/dist/plugins/scalpel/{skills/fix/SKILL.md → commands/fix.md} +0 -2
- package/dist/plugins/scalpel/{skills/issue/SKILL.md → commands/issue.md} +0 -1
- package/dist/plugins/sentinel/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/sentinel/{skills/incident/SKILL.md → commands/incident.md} +0 -2
- package/dist/plugins/{prime/skills/restart/SKILL.md → sentinel/commands/restart.md} +0 -2
- package/dist/plugins/sentinel/{skills/sre/SKILL.md → commands/sre.md} +0 -2
- package/dist/plugins/shield/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/spark/.claude-plugin/plugin.json +4 -2
- package/dist/plugins/spark/{skills/calibrate/SKILL.md → commands/calibrate.md} +0 -2
- package/dist/plugins/{prime/skills/onboard/SKILL.md → spark/commands/onboard.md} +0 -2
- package/dist/plugins/spark/{skills/scan/SKILL.md → commands/scan.md} +0 -2
- package/dist/plugins/spark/{skills/setup/SKILL.md → commands/setup.md} +0 -2
- package/package.json +1 -1
- package/skills/publish/SKILL.md +218 -0
package/README.md
CHANGED
|
@@ -1,123 +1,104 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @arthai/agents
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AI development toolkit for Claude Code — agents, skills, and hooks organized into installable bundles.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
~/.claude-agents/install.sh --key ARTH-XXXX-XXXX-XXXX-XXXX
|
|
8
|
+
# Install a bundle into your project
|
|
9
|
+
npx @arthai/agents install forge .
|
|
11
10
|
|
|
12
|
-
#
|
|
13
|
-
|
|
11
|
+
# Install multiple bundles
|
|
12
|
+
npx @arthai/agents install forge spark shield .
|
|
13
|
+
|
|
14
|
+
# See all available bundles
|
|
15
|
+
npx @arthai/agents list
|
|
16
|
+
|
|
17
|
+
# Show what's in a bundle
|
|
18
|
+
npx @arthai/agents info forge
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Bundles
|
|
22
|
+
|
|
23
|
+
Pick what you need. Each bundle is a self-contained set of agents, skills, and hooks.
|
|
24
|
+
|
|
25
|
+
### Development
|
|
26
|
+
|
|
27
|
+
| Bundle | Command | What you get |
|
|
28
|
+
|--------|---------|-------------|
|
|
29
|
+
| **forge** | `npx @arthai/agents install forge .` | Full dev workflow: `/planning`, `/implement`, `/qa`, `/pr`, `/precheck`, `/review-pr` + 6 agents (architect, PM, backend, frontend, QA, code-reviewer) + triage router hook |
|
|
30
|
+
| **scalpel** | `npx @arthai/agents install scalpel .` | Bug fixing: `/fix`, `/ci-fix`, `/issue` + code-reviewer agent + edit guard hook |
|
|
31
|
+
| **spark** | `npx @arthai/agents install spark .` | Project setup: `/onboard`, `/calibrate`, `/scan`, `/setup` + setup and explore agents |
|
|
32
|
+
|
|
33
|
+
### Operations
|
|
34
|
+
|
|
35
|
+
| Bundle | Command | What you get |
|
|
36
|
+
|--------|---------|-------------|
|
|
37
|
+
| **sentinel** | `npx @arthai/agents install sentinel .` | SRE + ops: `/sre`, `/incident`, `/restart` + SRE and ops agents + deploy health + git state hooks |
|
|
38
|
+
| **prism** | `npx @arthai/agents install prism .` | Deep QA: `/qa`, `/qa-learn`, `/qa-incident` + 6 QA agents (qa, e2e, domain, challenger, baseline, promoter) |
|
|
39
|
+
| **shield** | `npx @arthai/agents install shield .` | Safety guardrails: bash guard, edit guard, session bootstrap, triage router hooks (no skills — hooks only) |
|
|
40
|
+
|
|
41
|
+
### Strategy
|
|
42
|
+
|
|
43
|
+
| Bundle | Command | What you get |
|
|
44
|
+
|--------|---------|-------------|
|
|
45
|
+
| **canvas** | `npx @arthai/agents install canvas .` | Design: `/planning` + design-studio agents (think, create, critique) + frontend agent |
|
|
46
|
+
| **compass** | `npx @arthai/agents install compass .` | Product: `/planning` + PM, GTM, user researcher, content strategist agents |
|
|
47
|
+
| **counsel** | `npx @arthai/agents install counsel .` | Consulting: 13 skills (client-discovery, proposals, deliverables, ROI, etc.) + 4 consulting agents |
|
|
48
|
+
|
|
49
|
+
### Power
|
|
50
|
+
|
|
51
|
+
| Bundle | Command | What you get |
|
|
52
|
+
|--------|---------|-------------|
|
|
53
|
+
| **cruise** | `npx @arthai/agents install cruise .` | Autonomous mode: `/autopilot` — picks up issues, implements, QAs, creates PRs. Auto-installs forge + scalpel + sentinel. |
|
|
54
|
+
| **prime** | `npx @arthai/agents install prime .` | Everything. All 25 agents, 37 skills, 16 hooks. |
|
|
55
|
+
|
|
56
|
+
## Workflows
|
|
57
|
+
|
|
58
|
+
After installing, use skills in Claude Code:
|
|
59
|
+
|
|
60
|
+
**Start a new project:**
|
|
61
|
+
```
|
|
62
|
+
/onboard # get project briefing
|
|
63
|
+
/calibrate # auto-configure toolkit for your codebase
|
|
64
|
+
/planning my-feature # design the feature with architect + PM agents
|
|
65
|
+
/implement my-feature # build with parallel agent team
|
|
14
66
|
```
|
|
15
67
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
| Command | When to use |
|
|
23
|
-
|---------|-------------|
|
|
24
|
-
| `install.sh --assess .` | See what you have vs the toolkit (read-only) |
|
|
25
|
-
| `install.sh --setup .` | Change category selections |
|
|
26
|
-
| `install.sh --upgrade .` | Upgrade existing project (converts stale files) |
|
|
27
|
-
| `install.sh --convert .` | Migrate from copy-based install |
|
|
28
|
-
| `install.sh --status .` | Show what's linked/overridden/missing |
|
|
29
|
-
|
|
30
|
-
## What You Get
|
|
31
|
-
|
|
32
|
-
**18 Agents** — specialized AI workers Claude delegates to automatically:
|
|
33
|
-
|
|
34
|
-
| Tier | Model | Cost | Agents |
|
|
35
|
-
|------|-------|------|--------|
|
|
36
|
-
| Cheap | Haiku | 1x | explore-light, ops, qa-baseline-updater, qa-test-promoter |
|
|
37
|
-
| Mid | Sonnet | 10x | frontend, python-backend, sre, qa, qa-domain, qa-e2e, qa-challenger, code-reviewer, design-studio:think, design-studio:critique |
|
|
38
|
-
| Expensive | Opus | 60x | architect, product-manager, gtm-expert, design-studio:create |
|
|
39
|
-
|
|
40
|
-
**19 Skills** — invoke with `/name` in Claude Code:
|
|
41
|
-
|
|
42
|
-
| Skill | What it does |
|
|
43
|
-
|-------|-------------|
|
|
44
|
-
| `/calibrate` | Deep-learn project, recommend + install MCP servers, agents, skills, workflows, knowledge base |
|
|
45
|
-
| `/onboard` | Session start — project briefing + work prioritization |
|
|
46
|
-
| `/planning <feature>` | Spawn planning team (PM + Architect + optional Design/GTM) |
|
|
47
|
-
| `/implement <feature>` | Spawn implementation team from plan |
|
|
48
|
-
| `/pr` | QA + PR creation + post-merge cleanup |
|
|
49
|
-
| `/qa [full\|staging\|prod]` | Run QA checks at different levels |
|
|
50
|
-
| `/ci-fix [ci\|staging\|prod]` | Auto-remediate CI/CD failures (3 retries) |
|
|
51
|
-
| `/issue <title>` | GitHub issue management |
|
|
52
|
-
| `/explore <query>` | Fast codebase search (Haiku) |
|
|
53
|
-
| `/scan` | Auto-populate CLAUDE.md from codebase |
|
|
54
|
-
| `/sync` | Sync toolkit, check status, contribute back |
|
|
55
|
-
| `/restart` | Kill and restart local dev servers |
|
|
56
|
-
| `/sre <cmd>` | SRE operations: status, health, logs, debug |
|
|
57
|
-
| `/qa-incident` | Log a QA incident |
|
|
58
|
-
| `/qa-learn` | Review QA knowledge base |
|
|
59
|
-
| `/discord-ops` | Discord ChatOps reference |
|
|
60
|
-
| `/superpowers` | Advanced operations |
|
|
61
|
-
| `/autopilot [issue]` | Autonomous work loop — assess, plan, implement, QA, PR |
|
|
62
|
-
| `/railway` | Railway-specific ops (needs `--railway` flag) |
|
|
63
|
-
|
|
64
|
-
**13 Hooks** — run automatically on Claude Code events:
|
|
65
|
-
|
|
66
|
-
| Hook | Event | Purpose |
|
|
67
|
-
|------|-------|---------|
|
|
68
|
-
| triage-router.sh | UserPromptSubmit | Cost-aware routing to cheaper agents |
|
|
69
|
-
| session-bootstrap.sh | SessionStart | Compact project briefing |
|
|
70
|
-
| sync-agents.sh | SessionStart | Auto-pull repo + re-sync |
|
|
71
|
-
| pre-bash-guard.sh | PreToolUse | Blocks dangerous commands |
|
|
72
|
-
| pre-edit-guard.sh | PreToolUse | Prevents edits to protected files |
|
|
73
|
-
| pre-task-context.sh | PreToolUse | Injects CLAUDE.md into spawned agents |
|
|
74
|
-
| post-test-summary.sh | PostToolUse | Summarizes test/lint output |
|
|
75
|
-
| post-deploy-health.sh | PostToolUse | Health checks after deploys |
|
|
76
|
-
| post-edit-lint.sh | PostToolUse | Lint check after file edits |
|
|
77
|
-
| sync-worktree.sh | PostToolUse | Syncs config across worktrees |
|
|
78
|
-
| sync-railway-worktree.sh | PostToolUse | Railway worktree sync |
|
|
79
|
-
| post-git-state.sh | PostToolUse | Detects merges, resets autopilot phase |
|
|
80
|
-
| session-start.sh | SessionStart | Legacy session start |
|
|
81
|
-
|
|
82
|
-
## Install Modes
|
|
83
|
-
|
|
84
|
-
| Command | Purpose |
|
|
85
|
-
|---------|---------|
|
|
86
|
-
| `install.sh .` | Sync — create missing symlinks, skip existing files |
|
|
87
|
-
| `install.sh --init .` | Greenfield — scaffold dirs + CLAUDE.md + settings.json + sync |
|
|
88
|
-
| `install.sh --setup .` | Interactive — pick which categories to install |
|
|
89
|
-
| `install.sh --convert .` | Migrate — replace matching copies with symlinks |
|
|
90
|
-
| `install.sh --assess .` | Brownfield analysis — read-only, shows diffs |
|
|
91
|
-
| `install.sh --upgrade .` | Brownfield upgrade — interactive per-file conversion |
|
|
92
|
-
| `install.sh --status .` | Status report — what's linked, overridden, missing |
|
|
93
|
-
| `install.sh --uninstall .` | Clean removal — restore backups, remove symlinks |
|
|
94
|
-
| `install.sh --generate-config .` | Generate config from existing .claude/ contents |
|
|
95
|
-
| `install.sh --key KEY` | Store license key |
|
|
96
|
-
|
|
97
|
-
Flags: `--railway` (Railway skills), `--yes` (auto-approve upgrades), `--skip file1,file2` (exclude files)
|
|
98
|
-
|
|
99
|
-
## How It Works
|
|
100
|
-
|
|
101
|
-
Symlinks from your project to `~/.claude-agents/`. Update the repo, all projects update.
|
|
68
|
+
**Fix a bug:**
|
|
69
|
+
```
|
|
70
|
+
/fix #42 # root cause analysis + fix + regression tests
|
|
71
|
+
/ci-fix # auto-repair CI failures
|
|
72
|
+
```
|
|
102
73
|
|
|
74
|
+
**Ship code:**
|
|
103
75
|
```
|
|
104
|
-
|
|
76
|
+
/precheck # local CI in 30s
|
|
77
|
+
/qa commit # targeted QA on changed files
|
|
78
|
+
/pr # create PR with QA results
|
|
105
79
|
```
|
|
106
80
|
|
|
107
|
-
**
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
81
|
+
**Autonomous mode:**
|
|
82
|
+
```
|
|
83
|
+
/autopilot # picks up issues → implements → QAs → creates PRs
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Operations:**
|
|
87
|
+
```
|
|
88
|
+
/sre status # health check all services
|
|
89
|
+
/incident # triage + parallel diagnosis
|
|
90
|
+
/restart # restart local dev servers
|
|
91
|
+
```
|
|
111
92
|
|
|
112
|
-
##
|
|
93
|
+
## Also available as Claude Code plugin
|
|
113
94
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
95
|
+
```
|
|
96
|
+
/plugin marketplace add ArthTech-AI/arthai-marketplace
|
|
97
|
+
/plugin install forge@arthai-marketplace
|
|
98
|
+
```
|
|
117
99
|
|
|
118
100
|
## Requirements
|
|
119
101
|
|
|
120
102
|
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)
|
|
121
|
-
-
|
|
103
|
+
- Node.js 18+
|
|
122
104
|
- License key (format: `ARTH-XXXX-XXXX-XXXX-XXXX`)
|
|
123
|
-
- (Optional) [Railway CLI](https://docs.railway.app/guides/cli) for Railway skills
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.0.
|
|
1
|
+
1.0.3
|
package/bin/cli.js
CHANGED
|
@@ -268,6 +268,17 @@ function copyPlugin(sourceDir, targetPluginsDir, name) {
|
|
|
268
268
|
|
|
269
269
|
// Recursive copy
|
|
270
270
|
copyDirRecursive(sourceDir, dest);
|
|
271
|
+
|
|
272
|
+
// Register plugin in .claude/settings.local.json so Claude Code discovers it
|
|
273
|
+
const projectDir = path.resolve(targetPluginsDir, '..'); // .claude/
|
|
274
|
+
const settingsPath = path.join(projectDir, 'settings.local.json');
|
|
275
|
+
let settings = {};
|
|
276
|
+
if (fs.existsSync(settingsPath)) {
|
|
277
|
+
try { settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8')); } catch (e) { settings = {}; }
|
|
278
|
+
}
|
|
279
|
+
if (!settings.enabledPlugins) settings.enabledPlugins = {};
|
|
280
|
+
settings.enabledPlugins[`${name}@local`] = true;
|
|
281
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
271
282
|
}
|
|
272
283
|
|
|
273
284
|
function copyDirRecursive(src, dest) {
|
package/compiler.sh
CHANGED
|
@@ -153,6 +153,7 @@ for bundle_file in "${BUNDLE_FILES[@]}"; do
|
|
|
153
153
|
mkdir -p "$PLUGIN_DIR/.claude-plugin"
|
|
154
154
|
mkdir -p "$PLUGIN_DIR/agents"
|
|
155
155
|
mkdir -p "$PLUGIN_DIR/skills"
|
|
156
|
+
mkdir -p "$PLUGIN_DIR/commands"
|
|
156
157
|
mkdir -p "$PLUGIN_DIR/hooks"
|
|
157
158
|
|
|
158
159
|
# ── 1. Write plugin.json ──────────────────────────────────────────────────
|
|
@@ -163,8 +164,7 @@ for bundle_file in "${BUNDLE_FILES[@]}"; do
|
|
|
163
164
|
--arg name "$NAME" \
|
|
164
165
|
--arg description "$DESC" \
|
|
165
166
|
--arg version "$VERSION" \
|
|
166
|
-
|
|
167
|
-
'{"name": $name, "description": $description, "version": $version, "author": $author}' \
|
|
167
|
+
'{"name": $name, "description": $description, "version": $version, "author": {"name": "Arth AI"}}' \
|
|
168
168
|
> "$PLUGIN_DIR/.claude-plugin/plugin.json"
|
|
169
169
|
|
|
170
170
|
# ── 2. Determine agents/skills/hooks lists ────────────────────────────────
|
|
@@ -223,19 +223,73 @@ for bundle_file in "${BUNDLE_FILES[@]}"; do
|
|
|
223
223
|
((AGENT_COUNT++)) || true
|
|
224
224
|
done
|
|
225
225
|
|
|
226
|
-
# ── 4. Copy skills
|
|
226
|
+
# ── 4. Copy skills → commands/ (user-invocable) or skills/ (agent-invoked) ──
|
|
227
|
+
#
|
|
228
|
+
# Claude Code plugin system:
|
|
229
|
+
# commands/*.md → slash commands users type (/plugin:name)
|
|
230
|
+
# skills/*/SKILL.md → context skills Claude auto-invokes
|
|
231
|
+
#
|
|
232
|
+
# We detect user-invocable skills by checking for "user-invocable: true"
|
|
233
|
+
# in SKILL.md frontmatter. These become flat .md files in commands/.
|
|
234
|
+
# Custom frontmatter fields (user-invocable, arguments) are stripped
|
|
235
|
+
# since Claude Code doesn't recognize them.
|
|
227
236
|
|
|
228
237
|
SKILL_COUNT=0
|
|
238
|
+
CMD_COUNT=0
|
|
229
239
|
for skill_path in "${SKILL_PATHS[@]:-}"; do
|
|
230
240
|
[ -z "$skill_path" ] && continue
|
|
231
241
|
src="$SCRIPT_DIR/$skill_path"
|
|
232
|
-
if [ -d "$src" ]; then
|
|
233
|
-
#
|
|
234
|
-
|
|
235
|
-
|
|
242
|
+
if [ -d "$src" ] && [ -f "$src/SKILL.md" ]; then
|
|
243
|
+
# Check if this is a user-invocable skill → goes to commands/
|
|
244
|
+
if grep -q 'user-invocable:.*true' "$src/SKILL.md" 2>/dev/null; then
|
|
245
|
+
# Copy SKILL.md to commands/<name>.md, stripping custom fields
|
|
246
|
+
skill_name=$(basename "$src")
|
|
247
|
+
sed '/^user-invocable:/d; /^arguments:/d' "$src/SKILL.md" \
|
|
248
|
+
> "$PLUGIN_DIR/commands/$skill_name.md"
|
|
249
|
+
# Copy any supporting files (references, scripts) alongside
|
|
250
|
+
find "$src" -maxdepth 1 -not -name SKILL.md -not -name "$(basename "$src")" -not -type l -not -path "$src" | while IFS= read -r extra; do
|
|
251
|
+
if [ -d "$extra" ]; then
|
|
252
|
+
rsync -a --no-links "$extra" "$PLUGIN_DIR/commands/"
|
|
253
|
+
elif [ -f "$extra" ]; then
|
|
254
|
+
cp "$extra" "$PLUGIN_DIR/commands/"
|
|
255
|
+
fi
|
|
256
|
+
done
|
|
257
|
+
((CMD_COUNT++)) || true
|
|
258
|
+
else
|
|
259
|
+
# Agent-invoked skill → stays in skills/
|
|
260
|
+
rsync -a --no-links "$src" "$PLUGIN_DIR/skills/"
|
|
261
|
+
((SKILL_COUNT++)) || true
|
|
262
|
+
fi
|
|
263
|
+
elif [ -d "$src" ]; then
|
|
264
|
+
# Directory without SKILL.md — check for nested skills (container dir)
|
|
265
|
+
if find "$src" -mindepth 2 -name "SKILL.md" -print -quit 2>/dev/null | grep -q .; then
|
|
266
|
+
# Container dir — process each sub-skill
|
|
267
|
+
for sub_skill in "$src"/*/; do
|
|
268
|
+
[ -f "$sub_skill/SKILL.md" ] || continue
|
|
269
|
+
if grep -q 'user-invocable:.*true' "$sub_skill/SKILL.md" 2>/dev/null; then
|
|
270
|
+
sub_name=$(basename "$sub_skill")
|
|
271
|
+
sed '/^user-invocable:/d; /^arguments:/d' "$sub_skill/SKILL.md" \
|
|
272
|
+
> "$PLUGIN_DIR/commands/$sub_name.md"
|
|
273
|
+
((CMD_COUNT++)) || true
|
|
274
|
+
else
|
|
275
|
+
rsync -a --no-links "$sub_skill" "$PLUGIN_DIR/skills/"
|
|
276
|
+
((SKILL_COUNT++)) || true
|
|
277
|
+
fi
|
|
278
|
+
done
|
|
279
|
+
else
|
|
280
|
+
rsync -a --no-links "$src" "$PLUGIN_DIR/skills/"
|
|
281
|
+
((SKILL_COUNT++)) || true
|
|
282
|
+
fi
|
|
236
283
|
elif [ -f "$src" ]; then
|
|
237
|
-
|
|
238
|
-
|
|
284
|
+
# Flat .md file (e.g., explore.md)
|
|
285
|
+
if grep -q 'user-invocable:.*true' "$src" 2>/dev/null; then
|
|
286
|
+
sed '/^user-invocable:/d; /^arguments:/d' "$src" \
|
|
287
|
+
> "$PLUGIN_DIR/commands/$(basename "$src")"
|
|
288
|
+
((CMD_COUNT++)) || true
|
|
289
|
+
else
|
|
290
|
+
cp "$src" "$PLUGIN_DIR/skills/"
|
|
291
|
+
((SKILL_COUNT++)) || true
|
|
292
|
+
fi
|
|
239
293
|
else
|
|
240
294
|
echo " WARNING: Skill not found: $src" >&2
|
|
241
295
|
((ERRORS++)) || true
|
|
@@ -292,7 +346,12 @@ for bundle_file in "${BUNDLE_FILES[@]}"; do
|
|
|
292
346
|
echo "$HOOKS_JSON" | jq '.' > "$PLUGIN_DIR/hooks/hooks.json"
|
|
293
347
|
fi
|
|
294
348
|
|
|
295
|
-
|
|
349
|
+
# Remove empty directories
|
|
350
|
+
rmdir "$PLUGIN_DIR/commands" 2>/dev/null || true
|
|
351
|
+
rmdir "$PLUGIN_DIR/skills" 2>/dev/null || true
|
|
352
|
+
rmdir "$PLUGIN_DIR/hooks" 2>/dev/null || true
|
|
353
|
+
|
|
354
|
+
echo " agents=$AGENT_COUNT commands=$CMD_COUNT skills=$SKILL_COUNT hooks=$HOOK_COUNT"
|
|
296
355
|
((COMPILED++)) || true
|
|
297
356
|
done
|
|
298
357
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planning
|
|
3
3
|
description: "Spin up an adversarial planning team for a feature. Usage: /planning <feature-name> [--design] [--gtm] [--fast] [--lite] [-- <brief>]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<feature-name> <--design> <--gtm> <--fast> <--lite> <-- brief>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Planning Team Skill
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planning
|
|
3
3
|
description: "Spin up an adversarial planning team for a feature. Usage: /planning <feature-name> [--design] [--gtm] [--fast] [--lite] [-- <brief>]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<feature-name> <--design> <--gtm> <--fast> <--lite> <-- brief>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Planning Team Skill
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: consulting
|
|
3
3
|
description: "Run a full AI consulting engagement. Usage: /consulting <client-name> [--phase discovery|assess|propose|design|deliver|track] [-- <brief>]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--phase] [-- brief]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# AI Consulting Engagement Orchestrator
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: deliverable-builder
|
|
3
3
|
description: "Build client-ready consulting deliverables. Usage: /deliverable-builder <client-name> [--type final-report|status-update|board-deck|implementation-guide|training-plan|change-management|data-strategy]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--type]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Deliverable Builder Skill
|
package/dist/plugins/counsel/{skills/engagement-tracker/SKILL.md → commands/engagement-tracker.md}
RENAMED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: engagement-tracker
|
|
3
3
|
description: "Track consulting engagement progress and milestones. Usage: /engagement-tracker <client-name> [--action status|update|milestone]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--action status|update|milestone]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Engagement Tracker Skill
|
package/dist/plugins/{prime/skills/market-research/SKILL.md → counsel/commands/market-research.md}
RENAMED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: market-research
|
|
3
3
|
description: "Research industry AI adoption, competitors, and trends. Usage: /market-research <client-name> [--focus industry|competitors|trends]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--focus industry|competitors|trends]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Market Research Skill
|
package/dist/plugins/{prime/skills/pitch-generator/SKILL.md → counsel/commands/pitch-generator.md}
RENAMED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pitch-generator
|
|
3
3
|
description: "Generate consulting proposals and pitch documents. Usage: /pitch-generator <client-name> [--format proposal|exec-summary|deck-outline]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--format proposal|exec-summary|deck-outline]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Consulting Pitch & Proposal Generator
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: roi-calculator
|
|
3
3
|
description: "Calculate ROI for AI initiatives with sensitivity analysis. Usage: /roi-calculator <client-name> [--initiative <name>]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--initiative <name>]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# AI Initiative ROI Calculator
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: share
|
|
3
3
|
description: "Format plans and strategies for sharing. Adds attribution, cleans sensitive info, outputs shareable format. Usage: /share <plan-name> <--format md|slack|twitter>"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<plan-name> <--format md|slack|twitter>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Share Skill — Shareable Artifact Generator
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: solution-architect
|
|
3
3
|
description: "Design AI solutions for consulting engagements. Usage: /solution-architect <client-name> [--initiative <name>]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<client-name> [--initiative <name>]"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Solution Architect Skill
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: templates
|
|
3
3
|
description: "Generate structured deliverables from templates. Usage: /templates <type> <topic>"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<type> <topic>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
Provides structured templates for common non-engineering deliverables. Each template
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wizard
|
|
3
3
|
description: "Guided step-by-step workflows for non-engineers. Role-based flows that walk you through common tasks. Usage: /wizard <role> <step>"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<role> <step>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
Guided workflows that walk non-engineers through multi-step processes. Each workflow is designed
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: implement
|
|
3
3
|
description: "Spin up an implementation team from a plan. Usage: /implement <feature-name> [--frontend-only] [--backend-only] [--no-redteam] [--redteam-once] [--redteam-strict]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<feature-name> <--frontend-only> <--backend-only> <--no-redteam> <--redteam-once> <--redteam-strict>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Implementation Team Skill
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planning
|
|
3
3
|
description: "Spin up an adversarial planning team for a feature. Usage: /planning <feature-name> [--design] [--gtm] [--fast] [--lite] [-- <brief>]"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<feature-name> <--design> <--gtm> <--fast> <--lite> <-- brief>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# Planning Team Skill
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-pr
|
|
3
3
|
description: "Differentiated PR review — bug fix vs feature. Scope compliance, regression tests, behavior contract, knowledge base lookup. Uses built-in code review + project-specific checks. Usage: /review-pr <#N|branch> <--type bug|feature>"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
arguments: "<#N|branch> <--type bug|feature>"
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# /review-pr — Differentiated PR Review
|