You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[**security-setup**](skills/security-setup/)| 1.4.0 | high | Local pre-commit secret scans, dep checks, static analysis, gated CI |
177
-
|[**fork-upstream-sync**](skills/fork-upstream-sync/)| 1.0.3| medium | Sync a fork with upstream while keeping feature branches and open PRs mergeable |
177
+
|[**fork-upstream-sync**](skills/fork-upstream-sync/)| 1.3.2| medium | Sync a fork with upstream while keeping feature branches and open PRs mergeable |
|[**doc-manager**](skills/doc-manager/)| 2.0.1| medium | Generate/update docs to match code, cited to path:line, never invented |
223
-
|[**landing-page-generator**](skills/landing-page-generator/)| 1.2.0| high | Landing pages: marketing copy from a brief, or a README-to-landing rewrite |
224
-
|[**seo-ai-optimizer**](skills/seo-ai-optimizer/)| 1.2.1| high | Technical SEO + AI-bot directives |
222
+
|[**doc-manager**](skills/doc-manager/)| 2.0.2| medium | Generate/update docs to match code, cited to path:line, never invented |
223
+
|[**landing-page-generator**](skills/landing-page-generator/)| 1.2.1| high | Landing pages: marketing copy from a brief, or a README-to-landing rewrite |
224
+
|[**seo-ai-optimizer**](skills/seo-ai-optimizer/)| 1.2.3| high | Technical SEO + AI-bot directives |
Copy file name to clipboardExpand all lines: skills/appstore-review-checker/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
2
name: appstore-review-checker
3
-
description: "Audit iOS/macOS app projects against Apple App Store Review Guidelines to catch rejection risks before submission, with per-guideline PASS/FAIL/WARNING verdicts and fix suggestions. Don't use for Google Play/Android submissions, general code review, or post-rejection appeal drafting."
3
+
description: "Audit iOS/macOS apps against App Store Review Guidelines before submission, with evidence-backed verdicts and fixes. Don't use for Google Play, general code review, or rejection appeals."
Copy file name to clipboardExpand all lines: skills/cli-builder/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
2
name: cli-builder
3
-
description: "Build a production-quality CLI tool for any module or application. Auto-detects language, recommends CLI libraries, and follows a 5-step approval-gated workflow: Analyze, Design, Plan, Execute, Summarize. Don't use for building GUI/TUI apps, web APIs, or authoring one-off shell scripts."
3
+
description: "Build production-quality CLIs with language detection and a five-step approval-gated workflow. Use when wrapping an existing module or app. Don't use for GUI/TUI apps, web APIs, or one-off shell scripts."
Copy file name to clipboardExpand all lines: skills/diagram-generator/SKILL.md
+50-16Lines changed: 50 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: "Generate a diagram and route to the right engine — draw.io XML (
4
4
license: MIT
5
5
effort: high
6
6
metadata:
7
-
version: 1.0.0
7
+
version: 1.1.2
8
8
author: "Luong NGUYEN <luongnv89@gmail.com>"
9
9
---
10
10
@@ -27,7 +27,7 @@ Routing rules:
27
27
- The user names a format or tool ("draw.io", "diagrams.net", "Excalidraw", "whiteboard sketch") → use that engine.
28
28
- The user names an editing target ("I'll tweak it in draw.io", "import to Confluence") → **draw.io**.
29
29
- The user wants a hand-drawn / sketch / wireframe look → **Excalidraw**.
30
-
- No format signal → ask one question: "Precise and editable (draw.io) or hand-drawn sketch (Excalidraw)?" Default to **draw.io** for architecture/C4/technical diagrams and **Excalidraw** for wireframes/brainstorms if the user says "just pick".
30
+
- No format signal → ask one question: "Precise and editable (draw.io) or hand-drawn sketch (Excalidraw)?" Keep routing blocked until the user answers. Only after explicit delegation such as "just pick", "choose for me", or "use the default", choose **draw.io** for architecture/C4/technical diagrams and **Excalidraw** for wireframes/brainstorms.
31
31
- The user asks for **Mermaid**, a slide deck, or brand/marketing graphics → out of scope; say so (Mermaid is native markdown; use a presentation or design tool for the others).
32
32
33
33
## How to use
@@ -41,25 +41,59 @@ of filesystem path:
41
41
Each engine owns its full workflow, `references/`, `agents/`, and validation checks. This umbrella
42
42
stays short to protect the agent's context budget; it only routes.
43
43
44
-
## Layout
44
+
## Prerequisites
45
+
46
+
1. Confirm at least one nested engine is installed and callable.
47
+
2. Require enough diagram content to identify nodes, relationships, and intended audience; ask for
48
+
missing essentials before routing.
49
+
3. Check whether the requested output path already exists. Let the selected engine run its own
50
+
confirmation, backup, dry-run, error, and rollback safeguards before any overwrite.
51
+
52
+
If the user explicitly requested a format, tool, editing target, or aesthetic and its engine is unavailable,
53
+
stop and explain which nested skill must be installed; provide the matching command
54
+
(`asm install github:luongnv89/skills:skills/diagram-generator/drawio-generator` or
55
+
`asm install github:luongnv89/skills:skills/diagram-generator/excalidraw-generator`) and ask the user to
56
+
install it or explicitly change the requested output. Do not substitute the other engine. If no format or aesthetic was explicit, an available
57
+
engine may be offered as a fallback only after explaining the output difference and receiving user approval.
58
+
If neither engine is available, fail with an installation error and name both required skills. Never invent
59
+
XML or JSON under the wrong engine as a fallback.
60
+
61
+
## Example
62
+
63
+
```text
64
+
Input: "Draw a sketchy onboarding wireframe for mobile."
65
+
Route: excalidraw-generator
66
+
Expected output: one validated .excalidraw JSON artifact
67
+
```
45
68
46
-
This umbrella and its engines live together in one suite folder:
69
+
## Acceptance Criteria
47
70
48
-
```
49
-
skills/diagram-generator/ ← this umbrella (router)
- Exactly one engine is selected unless the user explicitly requests both formats.
74
+
- The selected engine matches the requested format, editing target, or aesthetic.
75
+
- The nested workflow reaches its Validate phase and produces its expected output artifact.
76
+
- The artifact passes the engine's structural checks; validation errors are reported, not hidden.
77
+
- Existing files are not overwritten without the selected engine's required confirmation or backup.
78
+
79
+
## Step Completion Reports
80
+
81
+
After routing, emit:
82
+
83
+
```text
84
+
◆ Route Diagram
85
+
Engine available: √ pass
86
+
Route justified: √ pass
87
+
Output validated: √ pass
88
+
Result: PASS | FAIL | PARTIAL
53
89
```
54
90
55
-
Why nested: both engines serve one intent ("make a diagram") and differ only by output format, so a
56
-
single entry point removes the "which diagram skill do I use?" decision. Each engine stays
57
-
independently installable — the installers (`install.sh`, `remote-install.sh`) discover both
58
-
top-level and nested skills. This mirrors the `website-cloner` suite convention (see README
59
-
*Suite Folders*).
91
+
Use `× fail — reason` when a check fails. Report PASS only after the nested engine's acceptance
92
+
criteria and expected result are verified.
60
93
61
94
## Edge Cases
62
95
63
96
-**User explicitly wants both formats** — generate with one engine first, then offer to regenerate the same diagram in the other.
64
-
-**Ambiguous, no answer to the routing question** — default to draw.io and note the choice; the user can ask for an Excalidraw version.
65
-
-**A nested engine is not installed** — fall back to the one that is, and note the limitation.
97
+
-**Ambiguous, no answer to the routing question** — keep routing blocked and ask the question again; silence or timeout is not approval to choose an engine. Apply the routing heuristics only when the user explicitly delegates the choice (for example, "just pick", "choose for me", or "use the default").
98
+
-**Explicitly requested engine is unavailable** — do not fall back. Report the unavailable nested skill, provide its installation guidance, and ask the user to install it or explicitly approve a different format/aesthetic.
99
+
-**No explicit format and the selected engine is unavailable** — offer the installed engine as an alternative, explain its format/aesthetic, and route only after explicit user approval.
Copy file name to clipboardExpand all lines: skills/dont-make-me-think/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
2
name: dont-make-me-think
3
-
description: "Review UI for usability issues using Steve Krug's principles and produce a scannable report. Use when asked for a usability audit, UX review, or UI feedback on screenshots, URLs, or code. Don't use for visual/brand design critique, accessibility (WCAG) audits, or backend/API review."
3
+
description: "Review UI usability using Steve Krug's principles and produce a scannable report. Use for UX audits of screenshots, URLs, or code. Don't use for brand critique, WCAG audits, or backend/API review."
0 commit comments