agentic-skill-mill 1.0.9 → 1.0.11

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.
@@ -20,7 +20,7 @@ Skills (what to do) CLI Companion (tools to do it with)
20
20
  skill/fragments/*.md src/core/*.ts
21
21
  | |
22
22
  v v
23
- compiled/ (7 IDE formats) dist/ (npm -> npx or global CLI)
23
+ compiled/ (5 IDE formats) dist/ (npm -> npx or global CLI)
24
24
  | |
25
25
  +---------> Agent <----------+
26
26
  ^
@@ -45,7 +45,9 @@ Skills (what to do) CLI Companion (tools to do it with)
45
45
  - `src/errors/types.ts` — Typed error hierarchy (AppError, NotFoundError, etc.)
46
46
  - `src/cache/cache-manager.ts` — Two-tier cache (memory + disk) with TTL
47
47
 
48
- **The local installer** (`install-local.sh`) builds the CLI, compiles skills, and copies compiled outputs to IDE-specific directories (~/.claude/skills, ~/.cursor/rules, etc.) with marker-based stale file cleanup. The bootstrap installer is hosted at `https://agenticskillmill.com/install.sh` (source: `site/install.sh`) and is also bundled in the npm package as `install.sh`. It installs the npm utility first, then delegates to `install-local.sh --skills-only`. Local installer functions use `set -e` for fail-fast behavior. Any function that uses an early-exit guard (`[[ -d ... ]] || return`, `[[ -z ... ]] && return`) **must** use `return 0`, never bare `return`. Bare `return` inherits the exit code of the last command, which for a failed conditional test is 1 -- and `set -e` treats that as a script-terminating failure with no error message.
48
+ **Local installers:** Every project ships a single cross-platform `install.js` (Node.js).
49
+
50
+ **The installer** (`install.js`) builds the CLI, compiles skills, and copies compiled outputs to IDE-specific directories (~/.claude/skills, ~/.cursor/rules, etc.) with marker-based stale file cleanup. The bootstrap installer is hosted at `https://agenticskillmill.com/install.sh` and bundled in the npm package. It installs the npm utility first, then delegates to `node install.js --skills-only`.
49
51
 
50
52
  ### Key files to modify when augmenting a project
51
53
 
@@ -53,8 +55,8 @@ Skills (what to do) CLI Companion (tools to do it with)
53
55
  |------|---------|
54
56
  | Add a CLI command | `src/core/<name>.ts`, `src/cli/commands/<name>.ts`, `src/cli/index.ts`, `src/index.ts` |
55
57
  | Add a fragment | `skill/fragments/<category>/<name>.md`, `skill/build/manifest.json`, skill source |
56
- | Add a skill | `skill/skills/<name>/<name>.md`, `skill/build/manifest.json`, `install-local.sh` SKILLS array |
57
- | Change installer behavior | `install.sh` (repo root) then copy to `site/install.sh` |
58
+ | Add a skill | `skill/skills/<name>/<name>.md`, `skill/build/manifest.json` |
59
+ | Change installer behavior | `install.js`, then copy to `site/install.sh` and `site/install.ps1` |
58
60
  | Update the landing page | `site/index.html`, `site/style.css` |
59
61
  | Change CI secrets or workflow | `.github/workflows/release.yml` or `deploy-pages.yml`, repo settings |
60
62
  | Rename the project | See the rename workflow |
@@ -65,27 +67,31 @@ Skills (what to do) CLI Companion (tools to do it with)
65
67
 
66
68
  ### Distribution model
67
69
 
68
- The project is published to npmjs as a public package and hosted at `https://agenticskillmill.com`. There are three ways users consume it:
70
+ The project is published to npmjs as a public package and hosted at `https://agenticskillmill.com`.
71
+
72
+ **Remote install (no clone):** Every project hosts `site/install.sh` and `site/install.ps1` bootstrap scripts served via GitHub Pages. Non-npm projects use a clone-to-temp pattern instead of `npm install -g`.
73
+
74
+ There are multiple ways users consume it:
69
75
 
70
76
  | Method | Command | Who uses it |
71
77
  |--------|---------|-------------|
72
- | Remote install (no clone) | `bash <(curl -fsSL https://agenticskillmill.com/install.sh) --all` | End users who want skills installed into their IDE tools |
78
+ | Remote install (bash) | `bash <(curl -fsSL https://<domain>/install.sh)` | End users on Linux/macOS |
79
+ | Remote install (PowerShell) | `irm https://<domain>/install.ps1 \| iex` | End users on Windows |
73
80
  | npx (no install) | `npx --yes agentic-skill-mill@latest <command>` | Users running CLI commands without global install |
74
- | Local development | `git clone` then `bash install-local.sh --all` | Contributors working on the project itself |
81
+ | Local development | `git clone` then `node install.js --all` | Contributors working on the project itself |
75
82
 
76
- ### Two installer scripts
83
+ ### One unified installer
77
84
 
78
- **`install-local.sh`** is the full local installer. It runs from a cloned repo and handles:
79
- - `npm install` + `npm run build` + `npm run compile`
80
- - `npm link` to make `skillmill` available globally
85
+ **`install.js`** is a single cross-platform Node.js installer that replaces the old shell/PowerShell split:
86
+ - Runs `npm install` + `npm run build` + `npm run compile` + `npm link`
81
87
  - Copies compiled skill outputs to IDE-specific directories (~/.claude/skills, ~/.cursor/rules, etc.)
82
88
  - Supports `--skills-only` (skip build, just copy), `--uninstall`, `--compile-only`, and per-tool flags (`--cursor`, `--claude`, etc.)
83
89
  - Auto-detects installed tools when no flags are provided
84
90
 
85
- **`install.sh`** is the remote bootstrap installer. It is hosted at `https://agenticskillmill.com/install.sh` (source: `site/install.sh`) and bundled in the npm package. It:
91
+ **`site/install.sh`** is the remote bootstrap installer. It is hosted at `https://agenticskillmill.com/install.sh` (source: `site/install.sh`) and bundled in the npm package. It:
86
92
  1. Runs `npm install -g agentic-skill-mill@latest`
87
- 2. Locates `install-local.sh` inside the globally installed package
88
- 3. Delegates to `install-local.sh --skills-only` with the user's flags
93
+ 2. Locates `install.js` inside the globally installed package
94
+ 3. Delegates to `node install.js --skills-only` with the user's flags
89
95
 
90
96
  Both scripts respect environment overrides `SKILLMILL_PACKAGE_NAME` and `SKILLMILL_PACKAGE_VERSION`.
91
97
 
@@ -96,11 +102,10 @@ The `files` array in `package.json` controls what ships to npm:
96
102
  | Entry | Purpose |
97
103
  |-------|---------|
98
104
  | `dist` | Compiled TypeScript CLI and library |
99
- | `compiled` | Pre-compiled skill outputs for all 7 IDE targets |
105
+ | `compiled` | Pre-compiled skill outputs for all 5 IDE targets |
100
106
  | `skill` | Skill sources, fragments, compiler, and manifest |
101
107
  | `README.md` | Package documentation |
102
- | `install.sh` | Bootstrap installer (bundled for remote delegation) |
103
- | `install-local.sh` | Full local installer (used by bootstrap in --skills-only mode) |
108
+ | `install.js` | Unified cross-platform installer |
104
109
 
105
110
  The `bin` field maps `skillmill` to `dist/cli/index.js`, so `npx agentic-skill-mill` and global install both expose the `skillmill` command.
106
111
 
@@ -128,16 +133,17 @@ Static site served via GitHub Pages at `https://agenticskillmill.com`:
128
133
  | `site/index.html` | Landing page with architecture, CLI commands, and install instructions |
129
134
  | `site/style.css` | Site styles |
130
135
  | `site/install.sh` | Bootstrap installer served at `https://agenticskillmill.com/install.sh` |
136
+ | `site/install.ps1` | PowerShell bootstrap installer served at `https://agenticskillmill.com/install.ps1` |
131
137
 
132
- When updating the bootstrap installer logic, edit `install.sh` at the repo root and copy it to `site/install.sh` to keep both in sync. The release workflow publishes the repo-root copy to npm; the Pages workflow serves the site copy to the domain.
138
+ When updating the bootstrap installer logic, edit `install.sh` and `install.ps1` at the repo root and copy them to `site/install.sh` and `site/install.ps1` to keep both in sync. The release workflow publishes the repo-root copies to npm; the Pages workflow serves the site copies to the domain.
133
139
 
134
140
  ### Modifying distribution touchpoints
135
141
 
136
142
  | Change | Files to update |
137
143
  |--------|----------------|
138
- | Add a new skill | `install-local.sh` SKILLS array, `skill/build/manifest.json` |
139
- | Change package name | `package.json` name + bin, `install.sh` default, `site/install.sh` default, `install-local.sh` PROJECT_NAME + CLI_BIN_NAME + MANAGED_MARKER, `site/index.html`, README |
140
- | Change bootstrap behavior | `install.sh` (repo root), then copy to `site/install.sh` |
144
+ | Add a new skill | `skill/build/manifest.json` |
145
+ | Change package name | `package.json` name + bin, `site/install.sh` default, `install.js` PROJECT_NAME + CLI_BIN_NAME, `site/index.html`, README |
146
+ | Change bootstrap behavior | `install.js`, then copy to `site/install.sh` and `site/install.ps1` |
141
147
  | Add a GitHub Actions secret | Repo settings, document in README |
142
148
  | Update domain | `site/CNAME`, README, skill source, architecture fragment |
143
149
 
@@ -412,8 +418,7 @@ Direct content or more includes.
412
418
  Then register it:
413
419
 
414
420
  1. Add the skill entry to `skill/build/manifest.json` with its source path and fragment dependencies
415
- 2. Add the skill name to the `SKILLS` array in `install-local.sh`
416
- 3. Compile: `npm run compile`
421
+ 2. Compile: `npm run compile`
417
422
 
418
423
  ### Step 8: If Renaming the Project
419
424
 
@@ -441,9 +446,9 @@ When the project, skill, or CLI needs a new name, update all touchpoints in one
441
446
 
442
447
  4. **Compiler marker** (`skill/build/compile.mjs`) -- update the `MANAGED_BY` constant
443
448
 
444
- 5. **Local installer** (`install-local.sh`) -- update `PROJECT_NAME`, `CLI_BIN_NAME`, `MANAGED_MARKER`, `SKILLS` array
449
+ 5. **Installer** (`install.js`) -- update `PROJECT_NAME`, `CLI_BIN_NAME`, constants
445
450
 
446
- 6. **Bootstrap installer** (`install.sh`) -- update the default `PACKAGE_NAME`, then copy to `site/install.sh`
451
+ 6. **Bootstrap installer** (`site/install.sh`) -- update the default `PACKAGE_NAME`
447
452
 
448
453
  7. **Package metadata** (`package.json`) -- update `name`, `bin` key, and `description`
449
454
 
@@ -481,7 +486,7 @@ After any change, run the full verification sequence:
481
486
 
482
487
  ```bash
483
488
  npm run build # TypeScript CLI compiles cleanly
484
- npm run compile # Skills compile to all 7 IDE targets
489
+ npm run compile # Skills compile to 5 IDE targets
485
490
  npm run compile:validate # Cross-validates manifest vs source includes
486
491
  npx --yes agentic-skill-mill@latest --help # CLI command surface works via npx
487
492
  ```
@@ -130,7 +130,6 @@ More content.
130
130
  ],
131
131
  instructions: [
132
132
  `Add skill entry to skill/build/manifest.json`,
133
- `Add "${name}" to the SKILLS array in install-local.sh`,
134
133
  `Run: npm run compile`,
135
134
  ],
136
135
  warnings,
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/core/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/core/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA4B9C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,gBAAgB;IAChB,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,4BAA4B,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,kCAAkC,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,CAAC,uCAAuC,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACzF,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjE,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7E;YACE,MAAM,IAAI,QAAQ,CAAC,2BAA2B,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,QAAkB;IAC1E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,oBAAoB,MAAM;;;;mBAI7B,MAAM;;;;wBAID,KAAK,aAAa,MAAM,qBAAqB,MAAM;;;;;;;CAO1E,CAAC;IAEA,MAAM,cAAc,GAAG,YAAY,KAAK,UAAU,MAAM,iBAAiB,MAAM,6BAA6B,IAAI;;mBAE/F,MAAM,0BAA0B,MAAM;;;;wBAIjC,KAAK;aAChB,MAAM;aACN,MAAM;WACR,KAAK;;;;CAIf,CAAC;IAEA,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,wCAAwC,IAAI,KAAK,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,oDAAoD,IAAI,KAAK,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,YAAY,IAAI,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,oBAAoB,IAAI,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE;SACnF;QACD,YAAY,EAAE;YACZ,wCAAwC;YACxC,yCAAyC;YACzC,gDAAgD,IAAI,SAAS;SAC9D;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,GAAW,EAAE,WAA+B,EAAE,QAAkB;IACzG,MAAM,IAAI,GAAG,WAAW,IAAI,yBAAyB,IAAI,gBAAgB,CAAC;IAE1E,MAAM,YAAY,GAAG;QACf,IAAI;gBACI,IAAI;;;IAGhB,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE;;EAEtD,IAAI;;;;;;;;;;;;;CAaL,CAAC;IAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,gDAAgD,IAAI,GAAG,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,gBAAgB,IAAI,IAAI,IAAI,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;SACrF;QACD,YAAY,EAAE;YACZ,8CAA8C;YAC9C,sBAAsB;SACvB;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAW,EAAE,QAAgB,EAAE,QAAkB;IAC7F,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,+CAA+C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE;;kBAEnE,IAAI;CACrB,CAAC;IAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,4CAA4C,QAAQ,IAAI,IAAI,KAAK,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,QAAQ,IAAI,IAAI,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC/F;QACD,YAAY,EAAE;YACZ,6CAA6C,QAAQ,IAAI,IAAI,OAAO;YACpE,8DAA8D;YAC9D,sBAAsB;SACvB;QACD,QAAQ;KACT,CAAC;AACJ,CAAC"}