@skilly-hand/skilly-hand 0.10.4 → 0.11.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 +17 -1
- package/README.md +1 -1
- package/catalog/README.md +2 -1
- package/catalog/catalog-index.json +2 -1
- package/catalog/skills/frontend-design/SKILL.md +0 -20
- package/catalog/skills/project-teacher/SKILL.md +143 -0
- package/catalog/skills/project-teacher/manifest.json +24 -0
- package/catalog/skills/{life-guard → review-rangers}/SKILL.md +3 -18
- package/catalog/skills/{life-guard → review-rangers}/manifest.json +2 -2
- package/catalog/skills/skill-creator/SKILL.md +13 -13
- package/catalog/skills/skill-creator/assets/SKILL-TEMPLATE.md +1 -19
- package/package.json +1 -1
- /package/catalog/skills/{life-guard → review-rangers}/assets/committee-member-template.md +0 -0
- /package/catalog/skills/{life-guard → review-rangers}/assets/safety-guard-template.md +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,22 @@ All notable changes to this project are documented in this file.
|
|
|
16
16
|
### Removed
|
|
17
17
|
- _None._
|
|
18
18
|
|
|
19
|
+
## [0.10.5] - 2026-04-04
|
|
20
|
+
[View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.10.5)
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- _None._
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- Renamed portable skill `life-guard` to `review-rangers` across manifests, tests, docs, and AGENTS routing output.
|
|
27
|
+
- Standardized skill instruction structure so metadata is defined in `manifest.json` (removed YAML front matter from `SKILL.md` files and updated skill-creator guidance/templates).
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
- _None._
|
|
31
|
+
|
|
32
|
+
### Removed
|
|
33
|
+
- _None._
|
|
34
|
+
|
|
19
35
|
## [0.10.4] - 2026-04-04
|
|
20
36
|
[View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.10.4)
|
|
21
37
|
|
|
@@ -132,7 +148,7 @@ All notable changes to this project are documented in this file.
|
|
|
132
148
|
|
|
133
149
|
### Added
|
|
134
150
|
- Added portable skill `frontend-design` for project-aware UI component design that enforces stack detection before any design work.
|
|
135
|
-
- Added portable skill `
|
|
151
|
+
- Added portable skill `review-rangers` for multi-perspective code and decision review using a committee + domain expert safety guard pattern.
|
|
136
152
|
- Added portable skill `test-driven-development` for guiding the RED → GREEN → REFACTOR TDD cycle.
|
|
137
153
|
|
|
138
154
|
### Changed
|
package/README.md
CHANGED
package/catalog/README.md
CHANGED
|
@@ -9,8 +9,9 @@ Published portable skills consumed by the `skilly-hand` CLI.
|
|
|
9
9
|
| `angular-guidelines` | Guide Angular code generation and review using latest stable Angular verification and modern framework best practices. | angular, frontend, workflow, best-practices | all |
|
|
10
10
|
| `figma-mcp-0to1` | Guide users from Figma MCP installation and authentication through first canvas creation, with function-level tool coverage and operational recovery patterns. | figma, mcp, workflow, design | all |
|
|
11
11
|
| `frontend-design` | Project-aware frontend design skill that detects the existing tech stack, UI libraries, CSS variables, and design tokens before proposing any UI work. | frontend, design, workflow, ui | all |
|
|
12
|
-
| `
|
|
12
|
+
| `project-teacher` | Scan the active project and teach any concept, code path, or decision using verified information, interactive questions, and simple explanations. | core, workflow, education | all |
|
|
13
13
|
| `react-guidelines` | Guide React code generation and review using latest stable React verification and modern framework best practices. | react, frontend, workflow, best-practices | all |
|
|
14
|
+
| `review-rangers` | Review code, decisions, and artifacts through a multi-perspective committee and a domain expert safety guard, then synthesize a structured verdict. | core, workflow, review, quality | all |
|
|
14
15
|
| `skill-creator` | Create and standardize AI skills with reusable structure, metadata rules, and templates. | core, workflow, authoring | all |
|
|
15
16
|
| `spec-driven-development` | Plan, execute, and verify multi-step work through versioned specs with small, testable tasks. | core, workflow, planning | all |
|
|
16
17
|
| `test-driven-development` | 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. | testing, workflow, quality, core | all |
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: frontend-design
|
|
3
|
-
description: >
|
|
4
|
-
Project-aware frontend design skill that detects the existing tech stack, UI libraries,
|
|
5
|
-
CSS variables, and design tokens before proposing any UI work. Never invents design
|
|
6
|
-
decisions — reads the project first, confirms with the user, then designs.
|
|
7
|
-
Trigger: user asks to build, design, style, or update any UI component, page, or visual element in a frontend project.
|
|
8
|
-
metadata:
|
|
9
|
-
author: skilly-hand
|
|
10
|
-
last-edit: 2026-04-04
|
|
11
|
-
license: Apache-2.0
|
|
12
|
-
version: "1.0.0"
|
|
13
|
-
changelog: "initial release; prevents AI slop design by enforcing project-aware stack detection before any design work; affects all frontend design and styling tasks"
|
|
14
|
-
auto-invoke: "design a component, create a UI, style this page, build a frontend, update the layout"
|
|
15
|
-
allowed-tools: Read, Grep, Glob, Bash, Edit, Write
|
|
16
|
-
allowed-modes:
|
|
17
|
-
- stack-detector # Scan the project for tech stack, UI libs, CSS vars, and design tokens
|
|
18
|
-
- component-designer # Design and implement components following the confirmed project stack
|
|
19
|
-
---
|
|
20
|
-
|
|
21
1
|
# Frontend Design Guide
|
|
22
2
|
|
|
23
3
|
## When to Use
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Project Teacher Guide
|
|
2
|
+
|
|
3
|
+
## When to Use
|
|
4
|
+
|
|
5
|
+
Use this skill when:
|
|
6
|
+
|
|
7
|
+
- The user asks to explain, understand, or clarify anything — code, architecture, decisions, or concepts.
|
|
8
|
+
- The user asks "what is", "why does", "how does", "what happens when", or similar questions.
|
|
9
|
+
- Clarification is needed during an SDD planning session before writing a spec.
|
|
10
|
+
- A concept needs to be broken down into simpler terms before implementation begins.
|
|
11
|
+
- The user wants to understand the reasoning or history behind a decision in the codebase.
|
|
12
|
+
|
|
13
|
+
Do not use this skill for:
|
|
14
|
+
|
|
15
|
+
- Writing, generating, or modifying code.
|
|
16
|
+
- Creating specs, plans, or implementation tasks.
|
|
17
|
+
- Running tests or build commands.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Core Teaching Loop
|
|
22
|
+
|
|
23
|
+
Every explanation follows this 4-step loop:
|
|
24
|
+
|
|
25
|
+
1. **Scan** — Read the relevant parts of the project before answering.
|
|
26
|
+
2. **Clarify** — Ask 1–2 targeted questions to understand what the user already knows and what depth they need.
|
|
27
|
+
3. **Explain** — Deliver the explanation using verified facts, citing file paths where relevant.
|
|
28
|
+
4. **Check Understanding** — Ask if the explanation landed or if any part needs to go deeper.
|
|
29
|
+
|
|
30
|
+
Never skip the Scan step. Never state something as fact without verifying it in the code first.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Scan Protocol
|
|
35
|
+
|
|
36
|
+
Before answering any question, scan the project:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
1. Identify the entry points (e.g., index.ts, main.ts, App.tsx, package.json).
|
|
40
|
+
2. Find the files most relevant to the question (use Glob + Grep).
|
|
41
|
+
3. Read the relevant sections — functions, imports, config, comments.
|
|
42
|
+
4. Note the actual behavior, not assumed behavior.
|
|
43
|
+
5. Only then compose the explanation.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Scan rules:
|
|
47
|
+
|
|
48
|
+
- Never explain from memory alone; always verify against the current code.
|
|
49
|
+
- If the answer requires understanding a dependency, read it or look it up.
|
|
50
|
+
- If the codebase contradicts a general best practice, explain what the code actually does.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Interaction Patterns
|
|
55
|
+
|
|
56
|
+
Before explaining, ask 1–2 focused questions to calibrate:
|
|
57
|
+
|
|
58
|
+
| Situation | Question to Ask |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| Unclear what level of detail is needed | "Would you like a quick overview or a deeper walkthrough?" |
|
|
61
|
+
| Unclear what the user already knows | "Are you familiar with [concept X], or should I start from scratch?" |
|
|
62
|
+
| Multiple possible angles | "Are you more interested in how it works internally or why it was designed this way?" |
|
|
63
|
+
| SDD context | "Is this to clarify requirements before writing a spec, or to understand existing behavior?" |
|
|
64
|
+
|
|
65
|
+
Rules:
|
|
66
|
+
|
|
67
|
+
- Ask at most 2 questions before explaining — do not interrogate.
|
|
68
|
+
- If the question is already crystal clear, skip directly to explanation.
|
|
69
|
+
- After explaining, always close with: "Does this make sense, or would you like me to go deeper on any part?"
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Explanation Modes
|
|
74
|
+
|
|
75
|
+
Choose the mode that fits the question and the user's answer to your calibration questions:
|
|
76
|
+
|
|
77
|
+
| Mode | When to Use | Format |
|
|
78
|
+
| --- | --- | --- |
|
|
79
|
+
| **Quick Overview** | User wants orientation, not depth | 3–5 bullet points + 1 example |
|
|
80
|
+
| **Deep Dive** | User wants to fully understand | Step-by-step prose + code references + file:line citations |
|
|
81
|
+
| **Analogy** | Abstract or unfamiliar concept | Real-world comparison + 1 short code example |
|
|
82
|
+
| **Trace-Through** | User wants to follow execution | Numbered steps tracing the code path from trigger to outcome |
|
|
83
|
+
|
|
84
|
+
Mix modes when helpful — for example, start with an Analogy then transition to a Trace-Through for complex topics.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Decision Tree
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
What kind of question is this?
|
|
92
|
+
|
|
93
|
+
"What is X?" or "What does X do?"
|
|
94
|
+
-> Quick Overview or Deep Dive based on user preference
|
|
95
|
+
|
|
96
|
+
"Why does X work this way?" or "Why was X chosen?"
|
|
97
|
+
-> Deep Dive + cite relevant code comments, config, or git context if available
|
|
98
|
+
|
|
99
|
+
"How does X flow / execute / work internally?"
|
|
100
|
+
-> Trace-Through mode
|
|
101
|
+
|
|
102
|
+
"I don't understand X at all"
|
|
103
|
+
-> Analogy first, then offer a follow-up Trace-Through
|
|
104
|
+
|
|
105
|
+
Clarifying requirements before writing a spec?
|
|
106
|
+
-> Deep Dive focused on constraints and behavior; hand off to spec-driven-development when done
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## SDD Companion Rules
|
|
112
|
+
|
|
113
|
+
When `project-teacher` is invoked during a `spec-driven-development` session:
|
|
114
|
+
|
|
115
|
+
1. Pause the SDD workflow to answer the clarifying question.
|
|
116
|
+
2. Use Deep Dive or Trace-Through — shallow answers during planning create bad specs.
|
|
117
|
+
3. After explaining, summarize what was clarified in one sentence the user can paste directly into the spec's `Why` or `Constraints` section.
|
|
118
|
+
4. Return control to the SDD workflow explicitly: "Ready to continue with the spec?"
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Quality Rules
|
|
123
|
+
|
|
124
|
+
- **Only state verified facts.** If you haven't read the file, don't claim to know what it does.
|
|
125
|
+
- **Cite sources.** Reference `file.ts:42` or `config/settings.json` when making specific claims.
|
|
126
|
+
- **Separate fact from inference.** If you're reasoning about intent rather than reading it directly, say so: "Based on the code, it looks like..." vs. "The code does...".
|
|
127
|
+
- **No hallucinated APIs.** If an external API or library behavior is in question, use WebFetch or WebSearch to verify before explaining.
|
|
128
|
+
- **Keep it simple by default.** Use plain language first. Introduce jargon only when it adds precision, and always define it when you do.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Commands
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Find entry points to scan
|
|
136
|
+
ls package.json tsconfig.json src/index.* src/main.* src/App.*
|
|
137
|
+
|
|
138
|
+
# Search for a concept across the project
|
|
139
|
+
grep -r "conceptName" src/ --include="*.ts" -l
|
|
140
|
+
|
|
141
|
+
# Read a specific file section
|
|
142
|
+
cat -n src/path/to/file.ts | head -60
|
|
143
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "project-teacher",
|
|
3
|
+
"title": "Project Teacher",
|
|
4
|
+
"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.",
|
|
5
|
+
"portable": true,
|
|
6
|
+
"tags": ["core", "workflow", "education"],
|
|
7
|
+
"detectors": ["always"],
|
|
8
|
+
"detectionTriggers": ["always"],
|
|
9
|
+
"installsFor": ["all"],
|
|
10
|
+
"agentSupport": ["codex", "claude", "cursor", "gemini", "copilot", "antigravity", "windsurf", "trae"],
|
|
11
|
+
"skillMetadata": {
|
|
12
|
+
"author": "skilly-hand",
|
|
13
|
+
"last-edit": "2026-04-04",
|
|
14
|
+
"license": "Apache-2.0",
|
|
15
|
+
"version": "1.0.0",
|
|
16
|
+
"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",
|
|
17
|
+
"auto-invoke": "User needs to understand, explain, or learn about any aspect of the project or codebase",
|
|
18
|
+
"allowed-tools": ["Read", "Glob", "Grep", "Bash", "WebFetch", "WebSearch"]
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
{ "path": "SKILL.md", "kind": "instruction" }
|
|
22
|
+
],
|
|
23
|
+
"dependencies": []
|
|
24
|
+
}
|
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
name: life-guard
|
|
3
|
-
description: >
|
|
4
|
-
Review code, decisions, and artifacts through a multi-perspective committee and a domain expert safety guard, then synthesize a structured verdict.
|
|
5
|
-
Trigger: Reviewing code, decisions, pull requests, APIs, architecture, or any artifact that benefits from adversarial multi-perspective evaluation.
|
|
6
|
-
metadata:
|
|
7
|
-
author: skilly-hand
|
|
8
|
-
last-edit: 2026-04-04
|
|
9
|
-
license: Apache-2.0
|
|
10
|
-
version: "1.0.0"
|
|
11
|
-
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"
|
|
12
|
-
auto-invoke: "Reviewing code, decisions, or artifacts where adversarial multi-perspective evaluation adds value"
|
|
13
|
-
allowed-tools: Read, Grep, Glob, Bash, Task, SubAgent
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Life-Guard Guide
|
|
1
|
+
# Review Rangers Guide
|
|
17
2
|
|
|
18
3
|
## When to Use
|
|
19
4
|
|
|
@@ -166,10 +151,10 @@ Does committee majority agree the target is sound?
|
|
|
166
151
|
|
|
167
152
|
```bash
|
|
168
153
|
# Reference committee member template when constructing agent prompts
|
|
169
|
-
cat .skilly-hand/catalog/
|
|
154
|
+
cat .skilly-hand/catalog/review-rangers/assets/committee-member-template.md
|
|
170
155
|
|
|
171
156
|
# Reference safety guard template when constructing agent prompts
|
|
172
|
-
cat .skilly-hand/catalog/
|
|
157
|
+
cat .skilly-hand/catalog/review-rangers/assets/safety-guard-template.md
|
|
173
158
|
```
|
|
174
159
|
|
|
175
160
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "
|
|
3
|
-
"title": "
|
|
2
|
+
"id": "review-rangers",
|
|
3
|
+
"title": "Review Rangers",
|
|
4
4
|
"description": "Review code, decisions, and artifacts through a multi-perspective committee and a domain expert safety guard, then synthesize a structured verdict.",
|
|
5
5
|
"portable": true,
|
|
6
6
|
"tags": ["core", "workflow", "review", "quality"],
|
|
@@ -72,20 +72,20 @@ Generic skill needs {product-name} info? -> Add references/ pointing to {produ
|
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
75
|
-
##
|
|
75
|
+
## Manifest Metadata Fields
|
|
76
76
|
|
|
77
77
|
| Field | Required | Format | Description |
|
|
78
78
|
|-------|----------|--------|-------------|
|
|
79
|
-
| `
|
|
80
|
-
| `description` | Yes |
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `allowed-tools` | Yes |
|
|
88
|
-
| `allowed-modes` | Optional |
|
|
79
|
+
| `id` | Yes | `lowercase-hyphens` | Skill identifier |
|
|
80
|
+
| `description` | Yes | String | What skill does plus explicit `Trigger: ...` clause for AI recognition |
|
|
81
|
+
| `skillMetadata.author` | Yes | String | Always `skilly-hand` |
|
|
82
|
+
| `skillMetadata.last-edit` | Yes | ISO 8601 date | Format: `YYYY-MM-DD` (e.g., `2026-03-21`) |
|
|
83
|
+
| `skillMetadata.license` | Yes | String | Always `Apache-2.0` for `skilly-hand` |
|
|
84
|
+
| `skillMetadata.version` | Yes | Semantic version | Format: `"X.Y.Z"` as string |
|
|
85
|
+
| `skillMetadata.changelog` | Yes | Structured text | Format: `"<what changed>; <why it matters>; <where it affects>"` |
|
|
86
|
+
| `skillMetadata.auto-invoke` | Yes | String | Explicit trigger condition (e.g., `"When auditing, reviewing, or validating an existing skill"`) |
|
|
87
|
+
| `skillMetadata.allowed-tools` | Yes | String list | All tools this skill can invoke (e.g., `Read`, `Edit`, `Write`, `SubAgent`) |
|
|
88
|
+
| `skillMetadata.allowed-modes` | Optional | String list | Use only when skill has an `agents/` folder |
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
@@ -146,7 +146,7 @@ Do:
|
|
|
146
146
|
|
|
147
147
|
Do not:
|
|
148
148
|
|
|
149
|
-
- Add a Keywords section (agent searches
|
|
149
|
+
- Add a Keywords section (agent searches manifest metadata, not body).
|
|
150
150
|
- Duplicate content from existing docs (reference instead).
|
|
151
151
|
- Include lengthy explanations when a concise rule is enough.
|
|
152
152
|
- Add troubleshooting sections when they are not essential.
|
|
@@ -161,7 +161,7 @@ Do not:
|
|
|
161
161
|
- [ ] Skill does not already exist.
|
|
162
162
|
- [ ] Pattern is reusable (not one-off).
|
|
163
163
|
- [ ] Name follows conventions.
|
|
164
|
-
- [ ]
|
|
164
|
+
- [ ] `manifest.json` includes all required metadata fields.
|
|
165
165
|
- [ ] `description` includes explicit `Trigger: ...` clause.
|
|
166
166
|
- [ ] `last-edit` uses ISO format (`YYYY-MM-DD`).
|
|
167
167
|
- [ ] `changelog` uses structured format: `what; why; where`.
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: {skill-name}
|
|
3
|
-
description: >
|
|
4
|
-
{Brief description of what this skill enables}.
|
|
5
|
-
Trigger: {When the AI should load this skill - explicit trigger condition}.
|
|
6
|
-
metadata:
|
|
7
|
-
author: skilly-hand
|
|
8
|
-
last-edit: {YYYY-MM-DD}
|
|
9
|
-
license: Apache-2.0
|
|
10
|
-
version: "1.0.0"
|
|
11
|
-
changelog: "{<what changed>; <why it matters>; <where it affects>}"
|
|
12
|
-
auto-invoke: "{Complete with a brief and specific phrase if the skill needs auto-invoke}"
|
|
13
|
-
allowed-tools: {tool1, tool2, tool3} # Examples: Read, Edit, Write, Bash, Grep, SubAgent, Task, WebFetch
|
|
14
|
-
# IMPORTANT: Only include 'allowed-modes' if your skill has an agents/ folder with sub-agents.
|
|
15
|
-
# If you don't have agents/, delete the lines below.
|
|
16
|
-
allowed-modes:
|
|
17
|
-
- {mode-name} # {Description of when this mode is used}
|
|
18
|
-
---
|
|
19
|
-
|
|
20
1
|
# {Name of the Skill} Guide
|
|
21
2
|
|
|
22
3
|
## When to Use
|
|
@@ -92,3 +73,4 @@ Otherwise -> {Default action}
|
|
|
92
73
|
## Resources
|
|
93
74
|
|
|
94
75
|
- Template assets: Place reusable templates, schemas, and examples in `assets/`.
|
|
76
|
+
- Define metadata in `manifest.json` (`id`, `description`, `skillMetadata`, `allowed-tools`, optional `allowed-modes`).
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|