@slamb2k/mad-skills 2.0.20 → 2.0.22
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/.claude-plugin/plugin.json +1 -1
- package/hooks/lib/banner.cjs +11 -8
- package/package.json +2 -2
- package/skills/manifest.json +2 -2
- package/skills/speccy/SKILL.md +27 -5
package/hooks/lib/banner.cjs
CHANGED
|
@@ -4,13 +4,16 @@ const config = require('./config.cjs');
|
|
|
4
4
|
|
|
5
5
|
// prettier-ignore
|
|
6
6
|
const BANNER_LINES = [
|
|
7
|
-
'
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
'
|
|
7
|
+
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::',
|
|
8
|
+
":::::'##::::'##::::'###::::'########::::::'######::'##:::'##:'####:'##:::::::'##::::::::'######::::::::",
|
|
9
|
+
"::::: ###::'###:::'## ##::: ##.... ##::::'##... ##: ##::'##::. ##:: ##::::::: ##:::::::'##... ##:::::::",
|
|
10
|
+
"::::: ####'####::'##:. ##:: ##:::: ##:::: ##:::..:: ##:'##:::: ##:: ##::::::: ##::::::: ##:::..::::::::",
|
|
11
|
+
"::::: ## ### ##:'##:::. ##: ##:::: ##::::. ######:: #####::::: ##:: ##::::::: ##:::::::. ######::::::::",
|
|
12
|
+
"::::: ##. #: ##: #########: ##:::: ##:::::..... ##: ##. ##:::: ##:: ##::::::: ##::::::::..... ##:::::::",
|
|
13
|
+
"::::: ##:.:: ##: ##.... ##: ##:::: ##::::'##::: ##: ##:. ##::: ##:: ##::::::: ##:::::::'##::: ##:::::::",
|
|
14
|
+
"::::: ##:::: ##: ##:::: ##: ########:::::. ######:: ##::. ##:'####: ########: ########:. ######::::::::",
|
|
15
|
+
"::::::..:::::..::..:::::..::........:::::::......:::..::::..::....::........::........:::......:::::::::",
|
|
16
|
+
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::',
|
|
14
17
|
];
|
|
15
18
|
|
|
16
19
|
const SEPARATOR = '\u2500'.repeat(70);
|
|
@@ -24,4 +27,4 @@ function getBanner() {
|
|
|
24
27
|
].join('\n');
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
module.exports = { getBanner, BANNER_MARKER: '
|
|
30
|
+
module.exports = { getBanner, BANNER_MARKER: '::::::::::::::::::::' };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slamb2k/mad-skills",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Claude Code skills collection —
|
|
3
|
+
"version": "2.0.22",
|
|
4
|
+
"description": "Claude Code skills collection — full lifecycle development tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
package/skills/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-03-10T03:
|
|
2
|
+
"generated": "2026-03-10T03:55:21.711Z",
|
|
3
3
|
"count": 10,
|
|
4
4
|
"skills": [
|
|
5
5
|
{
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"name": "speccy",
|
|
87
87
|
"directory": "speccy",
|
|
88
88
|
"description": "Deep-dive interview skill for creating comprehensive specifications. Reviews existing code and docs, then interviews the user through multiple rounds of targeted questions covering technical implementation, UI/UX, concerns, and tradeoffs. Produces a structured spec via create-specification. Use when starting a new feature, system, or major change that needs a spec.",
|
|
89
|
-
"lines":
|
|
89
|
+
"lines": 232,
|
|
90
90
|
"hasScripts": false,
|
|
91
91
|
"hasReferences": true,
|
|
92
92
|
"hasAssets": false,
|
package/skills/speccy/SKILL.md
CHANGED
|
@@ -179,7 +179,7 @@ Once the interview is complete and decisions are confirmed:
|
|
|
179
179
|
|
|
180
180
|
---
|
|
181
181
|
|
|
182
|
-
## Output
|
|
182
|
+
## Output & Handoff
|
|
183
183
|
|
|
184
184
|
After the spec is created, report to the user:
|
|
185
185
|
|
|
@@ -201,9 +201,31 @@ After the spec is created, report to the user:
|
|
|
201
201
|
│ 🔗 Links
|
|
202
202
|
│ Spec: {spec file path}
|
|
203
203
|
│
|
|
204
|
-
│ ⚡ Next steps
|
|
205
|
-
│ 1. Review the spec: {path}
|
|
206
|
-
│ 2. Run /build {spec path} to implement
|
|
207
|
-
│
|
|
208
204
|
└─────────────────────────────────────────────────
|
|
209
205
|
```
|
|
206
|
+
|
|
207
|
+
Then **immediately** ask the user via AskUserQuestion:
|
|
208
|
+
|
|
209
|
+
Question: "Spec written to {spec file path}. Ready to build?"
|
|
210
|
+
Options:
|
|
211
|
+
- "Build now (Recommended)" — invoke `/build` with the spec file
|
|
212
|
+
- "Review first" — stop here so the user can review the spec before building
|
|
213
|
+
- "Done" — stop here, no build
|
|
214
|
+
|
|
215
|
+
If the user selects **"Build now"**:
|
|
216
|
+
1. Invoke `/build` using the Skill tool:
|
|
217
|
+
```
|
|
218
|
+
Skill(skill: "build", args: "{spec file path}")
|
|
219
|
+
```
|
|
220
|
+
2. `/build` will read the spec file via Plan Resolution and execute the full
|
|
221
|
+
pipeline. **Do not** attempt to implement the spec yourself — always
|
|
222
|
+
delegate to `/build`.
|
|
223
|
+
|
|
224
|
+
If the user selects **"Review first"** or **"Done"**, stop and display:
|
|
225
|
+
```
|
|
226
|
+
⚡ To build later, run: /build {spec file path}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**IMPORTANT:** After generating the spec, do NOT enter plan mode, do NOT
|
|
230
|
+
start implementing directly, and do NOT offer to execute the plan yourself.
|
|
231
|
+
The only path to implementation is through `/build`.
|