@skilly-hand/skilly-hand 0.17.0 → 0.19.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/CHANGELOG.md +39 -0
- package/README.md +9 -3
- package/catalog/skills/accessibility-audit/SKILL.md +21 -0
- package/catalog/skills/agents-root-orchestrator/SKILL.md +19 -0
- package/catalog/skills/angular-guidelines/SKILL.md +21 -0
- package/catalog/skills/figma-mcp-0to1/SKILL.md +21 -0
- package/catalog/skills/frontend-design/SKILL.md +17 -0
- package/catalog/skills/output-optimizer/SKILL.md +18 -0
- package/catalog/skills/project-security/SKILL.md +19 -0
- package/catalog/skills/project-security/assets/generic-ci-security-gate.sh +1 -28
- package/catalog/skills/project-security/assets/github-actions-security-gate.yml +38 -0
- package/catalog/skills/project-security/assets/pre-commit.sample.sh +1 -1
- package/catalog/skills/project-security/assets/pre-push.sample.sh +1 -30
- package/catalog/skills/project-security/assets/run-security-check.shared.sh +33 -0
- package/catalog/skills/project-teacher/SKILL.md +17 -0
- package/catalog/skills/react-guidelines/SKILL.md +21 -0
- package/catalog/skills/review-rangers/SKILL.md +17 -0
- package/catalog/skills/skill-creator/SKILL.md +34 -0
- package/catalog/skills/skill-creator/assets/SKILL-TEMPLATE.md +6 -0
- package/catalog/skills/spec-driven-development/SKILL.md +19 -0
- package/catalog/skills/test-driven-development/SKILL.md +17 -0
- package/catalog/skills/token-optimizer/SKILL.md +18 -0
- package/package.json +6 -4
- package/packages/catalog/package.json +1 -1
- package/packages/catalog/src/index.js +400 -4
- package/packages/cli/package.json +1 -1
- package/packages/cli/src/bin.js +126 -161
- package/packages/cli/src/ink-ui.js +692 -0
- package/packages/core/package.json +1 -1
- package/packages/core/src/terminal.js +16 -5
- package/packages/core/src/ui/layout.js +193 -42
- package/packages/detectors/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,45 @@ All notable changes to this project are documented in this file.
|
|
|
16
16
|
### Removed
|
|
17
17
|
- _None._
|
|
18
18
|
|
|
19
|
+
## [0.19.0] - 2026-04-11
|
|
20
|
+
[View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.19.0)
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- Added `scripts/dependency-security-check.mjs` plus new npm script `security:deps` for strict dependency audit and outdated-package reporting.
|
|
24
|
+
- Added a full-screen Ink terminal UI for interactive CLI flows, including the new `--classic` fallback flag for plain text mode.
|
|
25
|
+
- Added dependency security report automation to the project-security GitHub Actions template (scheduled artifact workflow).
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- Updated `security:check` to run strict dependency checks in addition to secret/config scanning.
|
|
29
|
+
- Updated project-security hook/CI assets to use shared `run_security_gates` flow.
|
|
30
|
+
- Updated CLI command routing and terminal rendering to support Ink-backed interactive sessions.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- Expanded and refreshed interactive/terminal/script test coverage for the new UI and security flows.
|
|
34
|
+
|
|
35
|
+
### Removed
|
|
36
|
+
- _None._
|
|
37
|
+
|
|
38
|
+
## [0.18.0] - 2026-04-08
|
|
39
|
+
[View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.18.0)
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- Added `sync-catalog` orchestration script to compute catalog README + skill frontmatter updates up front and apply writes atomically with rollback on failure.
|
|
43
|
+
- Added `sync-skill-frontmatter` CLI script with `--check`, `--json`, and `--skill` filtering support.
|
|
44
|
+
- Added regression coverage for catalog sync rollback/idempotency and frontmatter normalization edge cases (`tests/sync-catalog.test.js`, `tests/skill-frontmatter.test.js`).
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- Updated root `catalog:sync` script to run `scripts/sync-catalog.mjs` for unified catalog synchronization.
|
|
48
|
+
- Expanded script JSON contract coverage for `sync-catalog` and `sync-skill-frontmatter` in `tests/scripts-output.test.js`.
|
|
49
|
+
- Updated catalog validation flow to verify catalog README drift through dry-run sync checks.
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- Hardened skill frontmatter parsing and verification to avoid false frontmatter detection and preserve markdown content for malformed leading YAML-like blocks.
|
|
53
|
+
- Improved catalog README sync behavior to treat CRLF/LF-equivalent content as in sync.
|
|
54
|
+
|
|
55
|
+
### Removed
|
|
56
|
+
- _None._
|
|
57
|
+
|
|
19
58
|
## [0.17.0] - 2026-04-08
|
|
20
59
|
[View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.17.0)
|
|
21
60
|
|
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
██╔════╝██║ ██╔╝██║██║ ██║ ╚██╗ ██╔╝ ██║ ██║██╔══██╗████╗ ██║██╔══██╗
|
|
6
6
|
╚█████╗ █████╔╝ ██║██║ ██║ ╚████╔╝ ███████║███████║██╔██╗ ██║██║ ██║
|
|
7
7
|
╚══██╗ ██╔═██╗ ██║██║ ██║ ╚██╔╝ ██╔══██║██╔══██║██║╚██╗██║██║ ██║
|
|
8
|
-
██████╔╝██║ ██╗██║███████╗███████╗ ██║
|
|
9
|
-
╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝ ╚═╝
|
|
8
|
+
██████╔╝██║ ██╗██║███████╗███████╗ ██║ ██║ ██║██║ ██║██║ ╚████║██████╔╝
|
|
9
|
+
╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
**Portable AI agent skills. One CLI. Every coding assistant.**
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
npx skilly-hand
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
`npx skilly-hand` opens
|
|
39
|
+
`npx skilly-hand` opens a full-screen skilly-hand terminal UI when running in a TTY.
|
|
40
40
|
|
|
41
41
|
---
|
|
42
42
|
|
|
@@ -55,6 +55,7 @@ npx skilly-hand
|
|
|
55
55
|
| Flag | Description |
|
|
56
56
|
| ---- | ----------- |
|
|
57
57
|
| `--json` | Emit machine-readable output and disable interactive prompts |
|
|
58
|
+
| `--classic` | Force plain text command mode and skip full-screen TUI |
|
|
58
59
|
| `--yes`, `-y` | Skip confirmation prompts for mutating commands (`install`, `uninstall`) |
|
|
59
60
|
| `--dry-run` | Preview install plan without writing files |
|
|
60
61
|
| `--agent`, `-a <name>` | Target a specific assistant (repeatable; e.g. `--agent claude --agent cursor`) |
|
|
@@ -100,6 +101,11 @@ See [catalog/README.md](./catalog/README.md) for generated skill metadata.
|
|
|
100
101
|
8. Smoke test after publish: `npx @skilly-hand/skilly-hand@<version> --help`.
|
|
101
102
|
9. Verify npm metadata (README render, changelog, license, executable bin).
|
|
102
103
|
|
|
104
|
+
### Security Automation
|
|
105
|
+
|
|
106
|
+
- `npm run security:check` runs repository secret/config checks plus strict dependency security checks.
|
|
107
|
+
- `npm run security:deps` runs strict dependency audit + outdated reporting only.
|
|
108
|
+
|
|
103
109
|
---
|
|
104
110
|
|
|
105
111
|
## Stack Detection
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Audit web accessibility against W3C WCAG 2.2 Level AA using framework-agnostic checks, remediation patterns, and portable command-line scanning."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-04"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Added portable WCAG 2.2 Level AA accessibility auditing skill with W3C-only references and scanner script; enables consistent web accessibility review across frameworks; affects catalog skill coverage and install plans for stacks recommending accessibility-audit"
|
|
9
|
+
auto-invoke: "Auditing, reviewing, or implementing web accessibility against WCAG 2.2 Level AA"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "WebFetch"
|
|
18
|
+
- "WebSearch"
|
|
19
|
+
- "Task"
|
|
20
|
+
- "SubAgent"
|
|
21
|
+
---
|
|
1
22
|
# Accessibility Audit Guide
|
|
2
23
|
|
|
3
24
|
## When to Use
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Author root AGENTS.md as a Where/What/When orchestrator that routes tasks and skill invocation clearly."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-03"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Added root AGENTS orchestration guidance around Where/What/When structure; improves AI task routing clarity and trigger recognition; affects root AGENTS authoring workflow"
|
|
9
|
+
auto-invoke: "Creating or updating root AGENTS.md orchestration guidance"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "Task"
|
|
18
|
+
- "SubAgent"
|
|
19
|
+
---
|
|
1
20
|
# AGENTS Root Orchestrator Guide
|
|
2
21
|
|
|
3
22
|
## When to Use
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Guide Angular code generation and review using latest stable Angular verification and modern framework best practices."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-03"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.1.1"
|
|
8
|
+
changelog: "Added allowed-modes metadata to declare angular-guidelines sub-agent routing targets; improves discoverability of component-creator and angular-tester delegation modes; affects angular-guidelines manifest metadata"
|
|
9
|
+
auto-invoke: "Generating, reviewing, or refactoring Angular code artifacts in Angular projects"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "WebFetch"
|
|
18
|
+
- "WebSearch"
|
|
19
|
+
- "Task"
|
|
20
|
+
- "SubAgent"
|
|
21
|
+
---
|
|
1
22
|
# Angular Guidelines
|
|
2
23
|
|
|
3
24
|
## When to Use
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Guide users from Figma MCP installation and authentication through first canvas creation, with function-level tool coverage and operational recovery patterns."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-03"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.1"
|
|
8
|
+
changelog: "Added allowed-modes metadata to declare figma-mcp-0to1 sub-agent routing targets; improves discoverability of install-auth, tool-function-catalog, canvas-creation-playbook, and troubleshooting-ops delegation modes; affects figma-mcp-0to1 manifest metadata"
|
|
9
|
+
auto-invoke: "Installing, configuring, or using Figma MCP from setup through first canvas creation"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "WebFetch"
|
|
18
|
+
- "WebSearch"
|
|
19
|
+
- "Task"
|
|
20
|
+
- "SubAgent"
|
|
21
|
+
---
|
|
1
22
|
# Figma MCP 0-to-1 Guide
|
|
2
23
|
|
|
3
24
|
## When to Use
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Project-aware frontend design skill that detects the existing tech stack, UI libraries, CSS variables, and design tokens before proposing any UI work. Supports greenfield projects via DESIGN.md context setup, and includes post-generation motion and visual refinement phases."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-05"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.1.0"
|
|
8
|
+
changelog: "v1.1.0: Added design-context-setter agent for greenfield/DESIGN.md workflow; added visual-refiner agent for post-generation quality evaluation; added motion-designer agent for stack-aware micro-interactions; added aesthetic-archetypes reference asset; expanded SKILL.md routing map with optional motion and refinement phases; upgraded component-designer with interaction states checklist and aesthetic principles"
|
|
9
|
+
auto-invoke: "Designing or generating UI components, pages, or layouts in a web or mobile project; setting up visual direction for a greenfield project; adding motion or micro-interactions to existing UI; refining or polishing generated UI output"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Grep"
|
|
13
|
+
- "Glob"
|
|
14
|
+
- "Bash"
|
|
15
|
+
- "Edit"
|
|
16
|
+
- "Write"
|
|
17
|
+
---
|
|
1
18
|
# Frontend Design Guide
|
|
2
19
|
|
|
3
20
|
## When to Use
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Optimize output token consumption through compact interpreter modes with controlled expansion when complexity, ambiguity, or risk requires more detail. Trigger: minimizing response verbosity while preserving clarity and correctness."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-07"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Added a new portable output compression skill with deterministic interpreter modes and guarded detail expansion; reduces response token costs while preserving safety and clarity; affects response shaping workflows and catalog routing"
|
|
9
|
+
auto-invoke: "When minimizing output verbosity or selecting compact communication modes"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "Task"
|
|
18
|
+
---
|
|
1
19
|
# Output Optimizer Guide
|
|
2
20
|
|
|
3
21
|
## When to Use
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Scan project configuration and release surfaces for leak and security risks, and enforce security gates on commit, push, and publish workflows across GitHub, GitLab, npm, pnpm, yarn, and generic CI. Trigger: validating repository security posture, preventing secret leaks, or hardening delivery pipelines."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-07"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Added portable project-security skill with commit/push/publish gating assets and CI templates; reduces secret leak and misconfiguration risk before delivery; affects catalog security workflow coverage and auto-invoke routing"
|
|
9
|
+
auto-invoke: "Scanning project configuration and delivery workflows for leaks or security issues before commit, push, or publish"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "Task"
|
|
18
|
+
- "SubAgent"
|
|
19
|
+
---
|
|
1
20
|
# Project Security Guide
|
|
2
21
|
|
|
3
22
|
## When to Use
|
|
@@ -5,32 +5,5 @@ script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
|
5
5
|
# shellcheck source=/dev/null
|
|
6
6
|
. "$script_dir/run-security-check.shared.sh"
|
|
7
7
|
|
|
8
|
-
run_supply_chain_check() {
|
|
9
|
-
if [ -f "pnpm-lock.yaml" ] && command -v pnpm >/dev/null 2>&1; then
|
|
10
|
-
if ! pnpm audit --prod; then
|
|
11
|
-
echo "[project-security] pnpm audit reported issues." >&2
|
|
12
|
-
return 1
|
|
13
|
-
fi
|
|
14
|
-
return
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
if [ -f "yarn.lock" ] && command -v yarn >/dev/null 2>&1; then
|
|
18
|
-
if ! yarn npm audit; then
|
|
19
|
-
echo "[project-security] yarn audit reported issues." >&2
|
|
20
|
-
return 1
|
|
21
|
-
fi
|
|
22
|
-
return
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
if [ -f "package-lock.json" ] && command -v npm >/dev/null 2>&1; then
|
|
26
|
-
if ! npm audit --audit-level=high; then
|
|
27
|
-
echo "[project-security] npm audit reported issues." >&2
|
|
28
|
-
return 1
|
|
29
|
-
fi
|
|
30
|
-
return
|
|
31
|
-
fi
|
|
32
|
-
}
|
|
33
|
-
|
|
34
8
|
echo "[project-security] running CI security gate..."
|
|
35
|
-
|
|
36
|
-
run_supply_chain_check
|
|
9
|
+
run_security_gates
|
|
@@ -5,6 +5,8 @@ on:
|
|
|
5
5
|
push:
|
|
6
6
|
branches:
|
|
7
7
|
- "**"
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: "23 5 * * 1"
|
|
8
10
|
release:
|
|
9
11
|
types: [published]
|
|
10
12
|
|
|
@@ -36,3 +38,39 @@ jobs:
|
|
|
36
38
|
|
|
37
39
|
- name: Run security gate
|
|
38
40
|
run: sh catalog/skills/project-security/assets/generic-ci-security-gate.sh
|
|
41
|
+
|
|
42
|
+
dependency-report:
|
|
43
|
+
if: github.event_name == 'schedule'
|
|
44
|
+
runs-on: ubuntu-24.04
|
|
45
|
+
steps:
|
|
46
|
+
- name: Checkout
|
|
47
|
+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
|
|
48
|
+
|
|
49
|
+
- name: Setup Node
|
|
50
|
+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
|
51
|
+
with:
|
|
52
|
+
node-version: "20"
|
|
53
|
+
|
|
54
|
+
- name: Install dependencies (auto-detect package manager)
|
|
55
|
+
run: |
|
|
56
|
+
corepack enable
|
|
57
|
+
if [ -f pnpm-lock.yaml ]; then
|
|
58
|
+
pnpm install --frozen-lockfile
|
|
59
|
+
elif [ -f yarn.lock ]; then
|
|
60
|
+
yarn install --immutable
|
|
61
|
+
elif [ -f package-lock.json ]; then
|
|
62
|
+
npm ci
|
|
63
|
+
elif [ -f package.json ]; then
|
|
64
|
+
echo "[project-security] missing lockfile; refusing non-deterministic install" >&2
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
- name: Generate dependency report
|
|
69
|
+
run: |
|
|
70
|
+
node scripts/dependency-security-check.mjs --json > dependency-security-report.json
|
|
71
|
+
|
|
72
|
+
- name: Upload dependency report artifact
|
|
73
|
+
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275f52d1598f
|
|
74
|
+
with:
|
|
75
|
+
name: dependency-security-report
|
|
76
|
+
path: dependency-security-report.json
|
|
@@ -5,34 +5,5 @@ script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
|
5
5
|
# shellcheck source=/dev/null
|
|
6
6
|
. "$script_dir/run-security-check.shared.sh"
|
|
7
7
|
|
|
8
|
-
run_optional_supply_chain_check() {
|
|
9
|
-
if [ -f "pnpm-lock.yaml" ] && command -v pnpm >/dev/null 2>&1; then
|
|
10
|
-
if ! pnpm audit --prod; then
|
|
11
|
-
echo "[project-security] pnpm audit reported issues." >&2
|
|
12
|
-
return 1
|
|
13
|
-
fi
|
|
14
|
-
return 0
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
if [ -f "yarn.lock" ] && command -v yarn >/dev/null 2>&1; then
|
|
18
|
-
if ! yarn npm audit; then
|
|
19
|
-
echo "[project-security] yarn audit reported issues." >&2
|
|
20
|
-
return 1
|
|
21
|
-
fi
|
|
22
|
-
return 0
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
if [ -f "package-lock.json" ] && command -v npm >/dev/null 2>&1; then
|
|
26
|
-
if ! npm audit --audit-level=high; then
|
|
27
|
-
echo "[project-security] npm audit reported issues." >&2
|
|
28
|
-
return 1
|
|
29
|
-
fi
|
|
30
|
-
return 0
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
|
-
return 0
|
|
34
|
-
}
|
|
35
|
-
|
|
36
8
|
echo "[project-security] running push gate..."
|
|
37
|
-
|
|
38
|
-
run_optional_supply_chain_check
|
|
9
|
+
run_security_gates
|
|
@@ -25,3 +25,36 @@ run_security_check() {
|
|
|
25
25
|
echo "[project-security] no security check command available." >&2
|
|
26
26
|
return 1
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
run_dependency_security_check() {
|
|
30
|
+
if [ -f "pnpm-lock.yaml" ] && command -v pnpm >/dev/null 2>&1; then
|
|
31
|
+
if pnpm run -s security:deps >/dev/null 2>&1; then
|
|
32
|
+
pnpm run -s security:deps
|
|
33
|
+
return
|
|
34
|
+
fi
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
if [ -f "yarn.lock" ] && command -v yarn >/dev/null 2>&1; then
|
|
38
|
+
if yarn -s security:deps >/dev/null 2>&1; then
|
|
39
|
+
yarn -s security:deps
|
|
40
|
+
return
|
|
41
|
+
fi
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
if [ -f "package.json" ] && command -v npm >/dev/null 2>&1; then
|
|
45
|
+
if npm run --silent security:deps >/dev/null 2>&1; then
|
|
46
|
+
npm run --silent security:deps
|
|
47
|
+
return
|
|
48
|
+
fi
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
if [ -f "scripts/dependency-security-check.mjs" ] && command -v node >/dev/null 2>&1; then
|
|
52
|
+
node scripts/dependency-security-check.mjs --strict
|
|
53
|
+
return
|
|
54
|
+
fi
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
run_security_gates() {
|
|
58
|
+
run_security_check
|
|
59
|
+
run_dependency_security_check
|
|
60
|
+
}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Scan the active project and teach any concept, code path, or decision using verified information, interactive questions, and simple explanations. Trigger: user asks to explain, understand, clarify, or learn about anything in the project or codebase."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-04"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Initial release of project-teacher skill; provides interactive, project-grounded teaching for any concept or code path; affects education and clarification workflows across all projects"
|
|
9
|
+
auto-invoke: "User needs to understand, explain, or learn about any aspect of the project or codebase"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Glob"
|
|
13
|
+
- "Grep"
|
|
14
|
+
- "Bash"
|
|
15
|
+
- "WebFetch"
|
|
16
|
+
- "WebSearch"
|
|
17
|
+
---
|
|
1
18
|
# Project Teacher Guide
|
|
2
19
|
|
|
3
20
|
## When to Use
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Guide React code generation and review using latest stable React verification and modern framework best practices."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-04"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Added new react-guidelines skill with component and testing sub-agent routing; improves React-specific generation and review consistency with latest-stable preflight checks; affects portable catalog skill discovery and React workflow guidance"
|
|
9
|
+
auto-invoke: "Generating, reviewing, or refactoring React code artifacts in React projects"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "WebFetch"
|
|
18
|
+
- "WebSearch"
|
|
19
|
+
- "Task"
|
|
20
|
+
- "SubAgent"
|
|
21
|
+
---
|
|
1
22
|
# React Guidelines
|
|
2
23
|
|
|
3
24
|
## When to Use
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Review code, decisions, and artifacts through a multi-perspective committee and a domain expert safety guard, then synthesize a structured verdict."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-04"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Added multi-perspective review skill with committee + safety guard synthesis; enables adversarial evaluation without permanent agent files; affects catalog skill coverage for review and quality workflows"
|
|
9
|
+
auto-invoke: "Reviewing code, decisions, or artifacts where adversarial multi-perspective evaluation adds value"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Grep"
|
|
13
|
+
- "Glob"
|
|
14
|
+
- "Bash"
|
|
15
|
+
- "Task"
|
|
16
|
+
- "SubAgent"
|
|
17
|
+
---
|
|
1
18
|
# Review Rangers Guide
|
|
2
19
|
|
|
3
20
|
## When to Use
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create and standardize AI skills with reusable structure, metadata rules, and templates."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-03-27"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.2.3"
|
|
8
|
+
changelog: "Metadata updated to ensure compliance with current standards; maintains skill integrity and version tracking; affects metadata section"
|
|
9
|
+
auto-invoke: "Creating a new skill"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "WebFetch"
|
|
18
|
+
- "WebSearch"
|
|
19
|
+
- "Task"
|
|
20
|
+
- "SubAgent"
|
|
21
|
+
---
|
|
1
22
|
# Skill Creator Guide
|
|
2
23
|
|
|
3
24
|
## When to Create a Skill
|
|
@@ -87,6 +108,17 @@ Generic skill needs {product-name} info? -> Add references/ pointing to {produ
|
|
|
87
108
|
| `skillMetadata.allowed-tools` | Yes | String list | All tools this skill can invoke (e.g., `Read`, `Edit`, `Write`, `SubAgent`) |
|
|
88
109
|
| `skillMetadata.allowed-modes` | Optional | String list | Use only when skill has an `agents/` folder |
|
|
89
110
|
|
|
111
|
+
### SKILL.md Frontmatter Mirroring
|
|
112
|
+
|
|
113
|
+
Top-level `SKILL.md` files now include managed YAML frontmatter mirrored from `manifest.json`.
|
|
114
|
+
|
|
115
|
+
Rules:
|
|
116
|
+
|
|
117
|
+
- `manifest.json` is the single source of truth.
|
|
118
|
+
- Mirror only `description` and `skillMetadata.{author,last-edit,license,version,changelog,auto-invoke,allowed-tools}`.
|
|
119
|
+
- Do not manually edit mirrored frontmatter in `SKILL.md`; run sync automation instead.
|
|
120
|
+
- Keep instruction body content in `SKILL.md` focused on workflow guidance.
|
|
121
|
+
|
|
90
122
|
---
|
|
91
123
|
|
|
92
124
|
## Metadata Standards
|
|
@@ -153,6 +185,7 @@ Do not:
|
|
|
153
185
|
- Use web URLs in references.
|
|
154
186
|
- Leave `changelog` empty or informal.
|
|
155
187
|
- Use non-ISO date formats.
|
|
188
|
+
- Manually drift `SKILL.md` frontmatter away from `manifest.json`.
|
|
156
189
|
|
|
157
190
|
---
|
|
158
191
|
|
|
@@ -167,6 +200,7 @@ Do not:
|
|
|
167
200
|
- [ ] `changelog` uses structured format: `what; why; where`.
|
|
168
201
|
- [ ] `allowed-modes` is present only when `agents/` exists.
|
|
169
202
|
- [ ] `allowed-tools` matches actual tool usage.
|
|
203
|
+
- [ ] `SKILL.md` frontmatter is synced from `manifest.json`.
|
|
170
204
|
- [ ] Critical patterns are clear and concise.
|
|
171
205
|
- [ ] Code examples are minimal and focused.
|
|
172
206
|
- [ ] Commands section exists with copy-paste commands.
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# {Name of the Skill} Guide
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
Managed frontmatter is mirrored from manifest.json by automation.
|
|
5
|
+
Do not hand-author frontmatter in this template.
|
|
6
|
+
-->
|
|
7
|
+
|
|
3
8
|
## When to Use
|
|
4
9
|
|
|
5
10
|
Use this skill when:
|
|
@@ -74,3 +79,4 @@ Otherwise -> {Default action}
|
|
|
74
79
|
|
|
75
80
|
- Template assets: Place reusable templates, schemas, and examples in `assets/`.
|
|
76
81
|
- Define metadata in `manifest.json` (`id`, `description`, `skillMetadata`, `allowed-tools`, optional `allowed-modes`).
|
|
82
|
+
- Run skill frontmatter sync so top-level `SKILL.md` mirrors manifest metadata.
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Plan, execute, and verify multi-step work through versioned specs with small, testable tasks."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-03"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.3"
|
|
8
|
+
changelog: "Added OpenSpec complementary support routing guidance to spec-driven-development instructions; improves planning continuity and review clarity when local SDD needs reinforcement; affects spec-driven-development SKILL guidance and manifest metadata"
|
|
9
|
+
auto-invoke: "Planning or executing feature work, bug fixes, and multi-phase implementation"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "Task"
|
|
18
|
+
- "SubAgent"
|
|
19
|
+
---
|
|
1
20
|
# Spec-Driven Development Guide
|
|
2
21
|
|
|
3
22
|
## When to Use
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Guide implementation using the RED → GREEN → REFACTOR TDD cycle: write a failing test first, write the minimum code to pass, then refactor while tests stay green."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-04"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
changelog: "Initial TDD skill ported from legacy scannlab-sdd tdd-templates; enables RED→GREEN→REFACTOR workflow across any stack; affects catalog skill coverage for test-first development"
|
|
9
|
+
auto-invoke: "Implementing features, services, or components using test-driven development (TDD) or RED→GREEN→REFACTOR cycles"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
---
|
|
1
18
|
# Test-Driven Development Guide
|
|
2
19
|
|
|
3
20
|
## When to Use
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Classify task complexity and right-size reasoning depth, context gathering, and response detail to reduce wasted tokens."
|
|
3
|
+
skillMetadata:
|
|
4
|
+
author: "skilly-hand"
|
|
5
|
+
last-edit: "2026-04-03"
|
|
6
|
+
license: "Apache-2.0"
|
|
7
|
+
version: "1.0.3"
|
|
8
|
+
changelog: "Migrated token-optimizer into portable catalog format with curated model-agnostic guidance; improves default reasoning and token-efficiency behavior across installs; affects skill discovery, auto-invoke routing, and install baseline"
|
|
9
|
+
auto-invoke: "Classifying task complexity and choosing reasoning depth/token budget"
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Read"
|
|
12
|
+
- "Edit"
|
|
13
|
+
- "Write"
|
|
14
|
+
- "Glob"
|
|
15
|
+
- "Grep"
|
|
16
|
+
- "Bash"
|
|
17
|
+
- "Task"
|
|
18
|
+
---
|
|
1
19
|
# Token Optimizer Guide
|
|
2
20
|
|
|
3
21
|
## When to Use
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skilly-hand/skilly-hand",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"license": "CC-BY-NC-4.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -26,10 +26,11 @@
|
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "node ./scripts/build-catalog-index.mjs",
|
|
28
28
|
"catalog:check": "node ./scripts/check-catalog.mjs",
|
|
29
|
-
"catalog:sync": "node ./scripts/sync-catalog
|
|
29
|
+
"catalog:sync": "node ./scripts/sync-catalog.mjs",
|
|
30
30
|
"agentic:self:sync": "node ./scripts/sync-self-agentic.mjs",
|
|
31
31
|
"test": "node --test tests/*.test.js && node ./scripts/test-in-sandbox.mjs",
|
|
32
|
-
"security:
|
|
32
|
+
"security:deps": "node ./scripts/dependency-security-check.mjs --strict",
|
|
33
|
+
"security:check": "node ./scripts/security-check.mjs --strict-deps",
|
|
33
34
|
"verify:packlist": "node ./scripts/verify-packlist.mjs",
|
|
34
35
|
"verify:versions": "node ./scripts/verify-versions.mjs",
|
|
35
36
|
"verify:publish": "npm run verify:versions && npm run security:check && npm run catalog:check && npm test && npm run verify:packlist",
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
"doctor": "node ./packages/cli/src/bin.js doctor"
|
|
47
48
|
},
|
|
48
49
|
"dependencies": {
|
|
49
|
-
"
|
|
50
|
+
"ink": "^5.2.1",
|
|
51
|
+
"react": "^18.3.1"
|
|
50
52
|
}
|
|
51
53
|
}
|