@skilly-hand/skilly-hand 0.25.3 → 0.26.1

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/catalog/README.md +4 -3
  3. package/catalog/catalog-index.json +1 -0
  4. package/catalog/skills/angular-guidelines/SKILL.md +44 -8
  5. package/catalog/skills/angular-guidelines/agents/angular-tester.md +13 -3
  6. package/catalog/skills/angular-guidelines/agents/component-creator.md +13 -0
  7. package/catalog/skills/angular-guidelines/agents/performance-reviewer.md +62 -0
  8. package/catalog/skills/angular-guidelines/manifest.json +9 -7
  9. package/catalog/skills/frontend-design/SKILL.md +20 -11
  10. package/catalog/skills/frontend-design/agents/critique.md +190 -0
  11. package/catalog/skills/frontend-design/agents/motion-designer.md +18 -1
  12. package/catalog/skills/frontend-design/manifest.json +17 -8
  13. package/catalog/skills/gsap-animation/SKILL.md +149 -0
  14. package/catalog/skills/gsap-animation/manifest.json +30 -0
  15. package/catalog/skills/gsap-animation/references/core-patterns.md +61 -0
  16. package/catalog/skills/gsap-animation/references/official-source-map.md +31 -0
  17. package/catalog/skills/gsap-animation/references/performance-accessibility.md +61 -0
  18. package/catalog/skills/gsap-animation/references/plugin-selection.md +42 -0
  19. package/catalog/skills/gsap-animation/references/react-patterns.md +59 -0
  20. package/catalog/skills/gsap-animation/references/scrolltrigger-patterns.md +61 -0
  21. package/catalog/skills/react-guidelines/SKILL.md +32 -7
  22. package/catalog/skills/react-guidelines/agents/component-creator.md +12 -0
  23. package/catalog/skills/react-guidelines/agents/performance-reviewer.md +55 -0
  24. package/catalog/skills/react-guidelines/agents/react-tester.md +11 -0
  25. package/catalog/skills/react-guidelines/manifest.json +9 -7
  26. package/package.json +1 -1
  27. package/packages/catalog/package.json +1 -1
  28. package/packages/cli/package.json +1 -1
  29. package/packages/core/package.json +1 -1
  30. package/packages/core/src/index.js +25 -2
  31. package/packages/detectors/package.json +1 -1
  32. package/packages/detectors/src/index.js +9 -0
package/CHANGELOG.md CHANGED
@@ -16,6 +16,38 @@ All notable changes to this project are documented in this file.
16
16
  ### Removed
17
17
  - _None._
18
18
 
19
+ ## [0.26.1] - 2026-05-03
20
+ [View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.26.1)
21
+
22
+ ### Added
23
+ - Added portable `gsap-animation` skill with official-source GSAP guidance for timelines, ScrollTrigger, React `useGSAP`, plugin selection, performance, cleanup, and reduced-motion patterns.
24
+ - Added GSAP project detection so installs recommend `gsap-animation` when `gsap` or `@gsap/react` is present.
25
+
26
+ ### Changed
27
+ - Updated `frontend-design` to route advanced motion work through `gsap-animation` and include the new critique workflow in catalog metadata.
28
+ - Updated selected skill installation to include portable skill dependencies automatically.
29
+
30
+ ### Fixed
31
+ - _None._
32
+
33
+ ### Removed
34
+ - _None._
35
+
36
+ ## [0.26.0] - 2026-05-01
37
+ [View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.26.0)
38
+
39
+ ### Added
40
+ - Added dedicated performance-reviewer modes for the Angular and React guideline skills.
41
+
42
+ ### Changed
43
+ - Expanded Angular and React guideline routing, review checklists, and catalog descriptions for performance optimization workflows.
44
+
45
+ ### Fixed
46
+ - _None._
47
+
48
+ ### Removed
49
+ - _None._
50
+
19
51
  ## [0.25.3] - 2026-05-01
20
52
  [View on npm](https://www.npmjs.com/package/@skilly-hand/skilly-hand/v/0.25.3)
21
53
 
package/catalog/README.md CHANGED
@@ -6,13 +6,14 @@ Published portable skills consumed by the `skilly-hand` CLI.
6
6
  | ----- | ----------- | ---- | ------------ |
7
7
  | `accessibility-audit` | Audit web accessibility against W3C WCAG 2.2 Level AA using framework-agnostic checks, remediation patterns, and portable command-line scanning. | frontend, accessibility, workflow, quality | all |
8
8
  | `agents-root-orchestrator` | Author root AGENTS.md as a Where/What/When orchestrator that routes tasks and skill invocation clearly. | core, workflow, orchestration | all |
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 |
9
+ | `angular-guidelines` | Guide Angular code generation, review, and performance tuning using latest stable Angular verification, official Angular skill guidance, and modern framework best practices. Trigger: generating, reviewing, refactoring, or optimizing Angular code artifacts in Angular projects. | 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
- | `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. Supports greenfield projects via DESIGN.md context setup, and includes post-generation motion and visual refinement phases. | frontend, design, workflow, ui, motion, greenfield | all |
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. Supports greenfield projects via DESIGN.md context setup, post-generation critique, visual refinement, and GSAP-aware motion polish. | frontend, design, workflow, ui, motion, greenfield | all |
12
+ | `gsap-animation` | Guide GSAP animation implementation using only official GSAP documentation and the official greensock/gsap-skills source material. Trigger: implementing, reviewing, or choosing GSAP for frontend motion, timelines, ScrollTrigger, React useGSAP, JavaScript animation libraries, or advanced UI animation. | frontend, animation, motion, gsap, workflow | all |
12
13
  | `output-optimizer` | 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. | core, workflow, efficiency, communication | all |
13
14
  | `project-security` | 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. | security, workflow, quality, core | all |
14
15
  | `project-teacher` | 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. | core, workflow, education | all |
15
- | `react-guidelines` | Guide React code generation and review using latest stable React verification and modern framework best practices. | react, frontend, workflow, best-practices | all |
16
+ | `react-guidelines` | Guide React and Next.js code generation, review, and performance tuning using latest stable React verification and modern framework best practices. Trigger: generating, reviewing, refactoring, or optimizing React code artifacts in React projects. | react, frontend, workflow, best-practices | all |
16
17
  | `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 |
17
18
  | `roaster` | Challenge plans with constructive roast-style critique that exposes weak assumptions, missing angles, shallow sequencing, and unclear success criteria. Trigger: when the user proposes, requests, or evaluates a plan of any kind. | core, workflow, planning, quality | all |
18
19
  | `skill-creator` | Create and standardize AI skills with reusable structure, metadata rules, and templates. | core, workflow, authoring | all |
@@ -4,6 +4,7 @@
4
4
  "angular-guidelines",
5
5
  "figma-mcp-0to1",
6
6
  "frontend-design",
7
+ "gsap-animation",
7
8
  "output-optimizer",
8
9
  "project-security",
9
10
  "project-teacher",
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: "angular-guidelines"
3
- description: "Guide Angular code generation and review using latest stable Angular verification and modern framework best practices."
3
+ description: "Guide Angular code generation, review, and performance tuning using latest stable Angular verification, official Angular skill guidance, and modern framework best practices. Trigger: generating, reviewing, refactoring, or optimizing Angular code artifacts in Angular projects."
4
4
  skillMetadata:
5
5
  author: "skilly-hand"
6
- last-edit: "2026-04-03"
6
+ last-edit: "2026-05-01"
7
7
  license: "Apache-2.0"
8
- version: "1.1.1"
9
- 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"
10
- auto-invoke: "Generating, reviewing, or refactoring Angular code artifacts in Angular projects"
8
+ version: "1.2.0"
9
+ changelog: "Added curated official Angular skill and performance guidance with a dedicated performance-reviewer mode; improves SSR, hydration, reactivity, testing, and runtime optimization coverage; affects angular-guidelines routing, review checklists, and catalog discovery"
10
+ auto-invoke: "Generating, reviewing, refactoring, or optimizing Angular code artifacts in Angular projects"
11
11
  allowed-tools:
12
12
  - "Read"
13
13
  - "Edit"
@@ -29,6 +29,7 @@ Use this skill when:
29
29
  - You are generating Angular components, directives, pipes, services, or supporting files.
30
30
  - You are refactoring existing Angular code to current framework patterns.
31
31
  - You are reviewing Angular code quality and framework-alignment in an Angular workspace.
32
+ - You are optimizing Angular performance, SSR/hydration, reactivity/data flow, forms, routing, accessibility, or CLI-aligned generation.
32
33
 
33
34
  Do not use this skill for:
34
35
 
@@ -46,6 +47,7 @@ Choose sub-agents by intent:
46
47
  | --- | --- |
47
48
  | Create, refactor, or review Angular components | [agents/component-creator.md](agents/component-creator.md) |
48
49
  | Write or review Angular tests | [agents/angular-tester.md](agents/angular-tester.md) |
50
+ | Optimize or review Angular performance, SSR, or hydration | [agents/performance-reviewer.md](agents/performance-reviewer.md) |
49
51
 
50
52
  ---
51
53
 
@@ -53,7 +55,8 @@ Choose sub-agents by intent:
53
55
 
54
56
  1. Run latest stable Angular preflight checks.
55
57
  2. Route to the smallest matching sub-agent by task intent.
56
- 3. Apply the sub-agent checklist before finalizing generated code or review output.
58
+ 3. If the request mentions performance, SSR, hydration, routing, data fetching, bundle size, change detection, or zoneless behavior, include the performance priority checklist.
59
+ 4. Apply the sub-agent checklist before finalizing generated code or review output.
57
60
 
58
61
  ---
59
62
 
@@ -85,13 +88,34 @@ Use these defaults unless project constraints explicitly prevent them:
85
88
  | Forms | Typed reactive forms |
86
89
  | Rendering strategy | OnPush-friendly patterns and deferred/lazy rendering where appropriate |
87
90
 
88
- ### Pattern 3: Generation and Review Guardrails
91
+ ### Pattern 3: Modern Reactivity Guardrails
92
+
93
+ - Use `computed` for derived state rather than duplicating or propagating state manually.
94
+ - Avoid `effect` for state propagation; reserve it for logging, browser storage sync, non-template DOM work, canvas/chart integrations, or other non-reactive APIs.
95
+ - Use `resource` for async signal-based data when the project Angular version supports it and it fits existing data patterns.
96
+ - Use `linkedSignal` for dependent writable state when the project Angular version supports it.
97
+ - Read signals before `await` inside reactive contexts so dependencies are tracked synchronously.
98
+
99
+ ### Pattern 4: Performance Review Priority
100
+
101
+ Use this official-Angular-aligned priority order for performance review. Measure first when possible, then choose the smallest applicable optimization.
102
+
103
+ | Priority | Review Focus | Default Action |
104
+ | --- | --- | --- |
105
+ | 1 | Measurement | Use Angular DevTools or Chrome DevTools Angular profiling to identify specific load, change detection, or rendering bottlenecks. |
106
+ | 2 | Loading performance | Prefer lazy routes, `@defer` for non-critical/heavy UI, image optimization, and SSR/hydration where they improve Core Web Vitals. |
107
+ | 3 | Runtime performance | Check zoneless change detection support, slow template/lifecycle computations, OnPush-friendly state, and zone pollution from timers or third-party code. |
108
+ | 4 | SSR/hydration correctness | Avoid server/client template divergence, prefer platform-specific providers, keep per-request state out of shared providers, and use factory providers for request-specific values. |
109
+ | 5 | Advanced loading | Use incremental hydration and advanced deferrable-view strategies only when the project version and UX constraints justify them. |
110
+
111
+ ### Pattern 5: Generation and Review Guardrails
89
112
 
90
113
  - Keep generated files focused and minimal for the requested artifact.
91
114
  - Prefer framework-native patterns over custom abstractions unless required by repo conventions.
92
115
  - Call out deprecated patterns in reviewed code and suggest modern Angular replacements.
93
116
  - For component-specific work, apply [agents/component-creator.md](agents/component-creator.md).
94
117
  - For testing-specific work, apply [agents/angular-tester.md](agents/angular-tester.md).
118
+ - For performance-specific work, apply [agents/performance-reviewer.md](agents/performance-reviewer.md).
95
119
 
96
120
  ---
97
121
 
@@ -111,8 +135,12 @@ Is this a refactor task?
111
135
  NO -> Continue
112
136
 
113
137
  Is this a review task?
114
- YES -> Validate latest-stable alignment + best-practice checklist
138
+ YES -> Validate latest-stable alignment + best-practice/performance checklist
115
139
  NO -> Apply the minimal Angular guidance needed for the request
140
+
141
+ Does the task mention performance, SSR, hydration, routing, data fetching, bundles, change detection, or zoneless behavior?
142
+ YES -> Route through performance-reviewer before finalizing
143
+ NO -> Keep the existing component/test route
116
144
  ```
117
145
 
118
146
  ---
@@ -168,6 +196,7 @@ export class ProfileService {
168
196
  - Template control flow uses modern block syntax.
169
197
  - DI and forms follow modern typed Angular practices.
170
198
  - Output avoids deprecated Angular APIs unless needed for compatibility.
199
+ - Performance work follows measurement-first guidance and avoids speculative optimization.
171
200
 
172
201
  ---
173
202
 
@@ -196,3 +225,10 @@ ng update @angular/core @angular/cli
196
225
  - Angular update guide: https://angular.dev/update-guide
197
226
  - Angular blog (official releases): https://blog.angular.dev
198
227
  - Angular GitHub releases: https://github.com/angular/angular/releases
228
+ - Angular Agent Skills: https://angular.dev/ai/agent-skills
229
+ - Official Angular skills repo: https://github.com/angular/skills
230
+ - Angular style guide: https://angular.dev/style-guide
231
+ - Angular performance guide: https://angular.dev/best-practices/performance
232
+ - Angular signals guide: https://angular.dev/guide/signals
233
+ - Angular testing guide: https://angular.dev/guide/testing
234
+ - Angular HTTP testing guide: https://angular.dev/guide/http/testing
@@ -29,8 +29,11 @@ Do not use this sub-agent for:
29
29
  - Test signal and computed behavior directly when possible.
30
30
  - Test signal inputs/outputs using component instance APIs and DOM-triggered events.
31
31
  - Cover async behavior with `fakeAsync`/`tick`/`flush` or `waitForAsync`/`whenStable`.
32
- - For HTTP paths, use `HttpClientTestingModule`/`HttpTestingController` and verify requests.
32
+ - For HTTP paths, use `provideHttpClient()` before `provideHttpClientTesting()`, then verify requests with `HttpTestingController`.
33
+ - Use component DOM tests when template behavior, user interaction, or child integration matters.
34
+ - Use router testing harnesses when navigation, guards, resolvers, or routed components are the behavior under test.
33
35
  - For services, prefer explicit DI setup and clear mocking boundaries.
36
+ - Avoid assertions on incidental implementation details unless they are part of the public contract.
34
37
 
35
38
  ---
36
39
 
@@ -99,12 +102,17 @@ describe("CounterComponent", () => {
99
102
 
100
103
  ```typescript
101
104
  import { TestBed } from "@angular/core/testing";
102
- import { HttpClientTestingModule, HttpTestingController } from "@angular/common/http/testing";
105
+ import { provideHttpClient } from "@angular/common/http";
106
+ import { provideHttpClientTesting, HttpTestingController } from "@angular/common/http/testing";
103
107
 
104
108
  describe("ProfileService", () => {
105
109
  it("requests profile", () => {
106
110
  TestBed.configureTestingModule({
107
- imports: [HttpClientTestingModule]
111
+ providers: [
112
+ ProfileService,
113
+ provideHttpClient(),
114
+ provideHttpClientTesting()
115
+ ]
108
116
  });
109
117
  const service = TestBed.inject(ProfileService);
110
118
  const httpMock = TestBed.inject(HttpTestingController);
@@ -127,4 +135,6 @@ describe("ProfileService", () => {
127
135
  - Standalone Angular artifacts are tested with appropriate TestBed setup.
128
136
  - Signal/input/output behavior is asserted explicitly.
129
137
  - Async and HTTP behavior use deterministic Angular testing utilities.
138
+ - HTTP tests use provider-based setup with `provideHttpClient()` before `provideHttpClientTesting()` for new code.
139
+ - Router behavior uses harness-style tests where the workspace supports them.
130
140
  - Assertions verify user-visible behavior or contract-level outcomes, not incidental internals.
@@ -27,6 +27,18 @@ Do not use this sub-agent for:
27
27
 
28
28
  ---
29
29
 
30
+ ## Style and Reactivity Checklist
31
+
32
+ - Prefer feature-based organization and one primary Angular concept per file.
33
+ - Use `protected` for class members that are only read by the template.
34
+ - Mark Angular-managed properties `readonly`, including `input`, `model`, `output`, and query values.
35
+ - Prefer `[class]` and `[style]` bindings over `ngClass` and `ngStyle`.
36
+ - Move complex template logic into TypeScript, usually as a `computed`.
37
+ - Use `computed` for derived state and avoid `effect` for state propagation.
38
+ - Use `resource` or `linkedSignal` only when the project Angular version supports them and they fit existing data patterns.
39
+
40
+ ---
41
+
30
42
  ## Template Snippets
31
43
 
32
44
  ### Minimal Standalone Component
@@ -122,3 +134,4 @@ export class CardComponent {
122
134
  - Templates use native control flow blocks, not legacy structural directives.
123
135
  - Host interaction includes required ARIA and keyboard semantics for interactive UI.
124
136
  - Change detection and state flow are OnPush-friendly and predictable.
137
+ - Template-only members are `protected`, Angular-managed fields are `readonly`, and complex template logic is moved into `computed` values.
@@ -0,0 +1,62 @@
1
+ # Angular Performance Reviewer
2
+
3
+ ## When to Use
4
+
5
+ Use this sub-agent when:
6
+
7
+ - Reviewing or improving Angular loading, runtime, change detection, or rendering performance.
8
+ - Working on SSR, hydration, incremental hydration, `@defer`, lazy routes, image optimization, or bundle size.
9
+ - Investigating slow interactions, excessive change detection, zone pollution, slow template expressions, or lifecycle bottlenecks.
10
+
11
+ Do not use this sub-agent for:
12
+
13
+ - Pure test-only tasks without performance behavior.
14
+ - Non-Angular frontend performance work.
15
+ - Speculative rewrites where no user-visible or measured bottleneck exists.
16
+
17
+ ---
18
+
19
+ ## Priority Checklist
20
+
21
+ Work from highest signal to lowest. Stop once the request is solved; do not add unrelated optimizations.
22
+
23
+ | Priority | Focus | Checks |
24
+ | --- | --- | --- |
25
+ | 1 | Measurement | Use Angular DevTools or Chrome DevTools Angular profiling to identify load, change detection, rendering, or lifecycle bottlenecks before changing code when practical. |
26
+ | 2 | Loading performance | Prefer lazy routes for route-level splitting, `@defer` for non-critical or heavy UI, image optimization for visual content, and SSR/hydration for content-heavy or SEO-sensitive pages. |
27
+ | 3 | Runtime performance | Check zoneless change detection support, OnPush-friendly state flow, slow template expressions, expensive lifecycle hooks, and zone pollution from timers or third-party libraries. |
28
+ | 4 | SSR/hydration correctness | Keep server and client rendered content consistent, avoid browser-only conditionals in templates, use platform-specific providers, and prevent shared module/provider state from leaking across requests. |
29
+ | 5 | Advanced loading | Use incremental hydration, custom `@defer` triggers, prefetching, or worker offloading only when the project version, bottleneck, and UX constraints justify them. |
30
+
31
+ ---
32
+
33
+ ## SSR and Hydration Guardrails
34
+
35
+ - Avoid rendering different template content on server and client; mismatches can hurt hydration and layout stability.
36
+ - Use `afterNextRender` or platform-specific providers for browser-only initialization instead of template-level platform checks.
37
+ - Use factory providers for request-specific values on the server; avoid shared `useValue` objects for per-request data.
38
+ - Keep `@defer` placeholders accessible and avoid deferring initially visible content unless incremental hydration and layout constraints are handled.
39
+ - Avoid nested `@defer` blocks with identical eager triggers that cause cascading loads.
40
+
41
+ ---
42
+
43
+ ## Reactivity and Change Detection Guardrails
44
+
45
+ - Use signals and `computed` values for local derived state.
46
+ - Avoid `effect` for propagating state changes; reserve it for side effects against non-reactive APIs.
47
+ - Read signals before `await` inside reactive contexts.
48
+ - Prefer OnPush-friendly inputs and immutable data flow in zone-based apps.
49
+ - In zoneless-ready apps, avoid assumptions that depend on ZoneJS side effects.
50
+
51
+ ---
52
+
53
+ ## Review Output
54
+
55
+ When reviewing performance, report:
56
+
57
+ 1. Highest-impact issue first, tied to the priority checklist.
58
+ 2. Concrete code-level recommendation using existing project patterns.
59
+ 3. Expected user-visible or measurable benefit.
60
+ 4. Verification path: Angular DevTools, Chrome DevTools Angular profiling, bundle output, Core Web Vitals, targeted test, or existing project command.
61
+
62
+ If no meaningful performance issue is found, say so and avoid inventing speculative work.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "angular-guidelines",
3
3
  "title": "Angular Guidelines",
4
- "description": "Guide Angular code generation and review using latest stable Angular verification and modern framework best practices.",
4
+ "description": "Guide Angular code generation, review, and performance tuning using latest stable Angular verification, official Angular skill guidance, and modern framework best practices. Trigger: generating, reviewing, refactoring, or optimizing Angular code artifacts in Angular projects.",
5
5
  "portable": true,
6
6
  "tags": ["angular", "frontend", "workflow", "best-practices"],
7
7
  "detectors": ["angular"],
@@ -10,14 +10,15 @@
10
10
  "agentSupport": ["codex", "claude", "cursor", "gemini", "copilot", "antigravity", "windsurf", "trae"],
11
11
  "skillMetadata": {
12
12
  "author": "skilly-hand",
13
- "last-edit": "2026-04-03",
13
+ "last-edit": "2026-05-01",
14
14
  "license": "Apache-2.0",
15
- "version": "1.1.1",
16
- "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",
17
- "auto-invoke": "Generating, reviewing, or refactoring Angular code artifacts in Angular projects",
15
+ "version": "1.2.0",
16
+ "changelog": "Added curated official Angular skill and performance guidance with a dedicated performance-reviewer mode; improves SSR, hydration, reactivity, testing, and runtime optimization coverage; affects angular-guidelines routing, review checklists, and catalog discovery",
17
+ "auto-invoke": "Generating, reviewing, refactoring, or optimizing Angular code artifacts in Angular projects",
18
18
  "allowed-modes": [
19
19
  "component-creator",
20
- "angular-tester"
20
+ "angular-tester",
21
+ "performance-reviewer"
21
22
  ],
22
23
  "allowed-tools": [
23
24
  "Read",
@@ -35,7 +36,8 @@
35
36
  "files": [
36
37
  { "path": "SKILL.md", "kind": "instruction" },
37
38
  { "path": "agents/component-creator.md", "kind": "instruction" },
38
- { "path": "agents/angular-tester.md", "kind": "instruction" }
39
+ { "path": "agents/angular-tester.md", "kind": "instruction" },
40
+ { "path": "agents/performance-reviewer.md", "kind": "instruction" }
39
41
  ],
40
42
  "dependencies": []
41
43
  }
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: "frontend-design"
3
- 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
+ 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, post-generation critique, visual refinement, and GSAP-aware motion polish."
4
4
  skillMetadata:
5
5
  author: "skilly-hand"
6
- last-edit: "2026-04-05"
6
+ last-edit: "2026-05-03"
7
7
  license: "Apache-2.0"
8
- version: "1.1.0"
9
- 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"
10
- 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"
8
+ version: "1.3.0"
9
+ changelog: "Added GSAP-aware motion routing through gsap-animation while preserving critique workflow; improves advanced frontend animation handoffs with official-source GSAP guidance; affects frontend-design motion sequencing, metadata, and catalog dependencies"
10
+ auto-invoke: "Designing or generating UI components, pages, or layouts in a web or mobile project; setting up visual direction for a greenfield project; critiquing generated UI for AI slop; adding motion or micro-interactions to existing UI; refining or polishing generated UI output"
11
11
  allowed-tools:
12
12
  - "Read"
13
13
  - "Grep"
@@ -15,6 +15,8 @@ skillMetadata:
15
15
  - "Bash"
16
16
  - "Edit"
17
17
  - "Write"
18
+ - "Task"
19
+ - "SubAgent"
18
20
  ---
19
21
  # Frontend Design Guide
20
22
 
@@ -45,8 +47,9 @@ Always run stack detection first. Never skip to design.
45
47
  | 0 (always first) | Detect framework, UI library, CSS approach, tokens, and existing patterns | [agents/stack-detector.md](agents/stack-detector.md) |
46
48
  | 0b (if no DESIGN.md and no existing components) | Gather design intent and create DESIGN.md | [agents/design-context-setter.md](agents/design-context-setter.md) |
47
49
  | 1 (only after confirmation) | Design and implement components using confirmed stack | [agents/component-designer.md](agents/component-designer.md) |
48
- | 2 (optional) | Add motion and micro-interactions | [agents/motion-designer.md](agents/motion-designer.md) |
49
- | 3 (optional) | Evaluate quality and refine the output | [agents/visual-refiner.md](agents/visual-refiner.md) |
50
+ | 2 (mandatory after generation) | Challenge the output for AI slop, weak hierarchy, heuristic failures, and unclear product fit | [agents/critique.md](agents/critique.md) |
51
+ | 3 (after critique) | Apply visual quality refinements routed by critique | [agents/visual-refiner.md](agents/visual-refiner.md) |
52
+ | 4 (optional) | Add motion and micro-interactions, preferring GSAP handoff for advanced motion | [agents/motion-designer.md](agents/motion-designer.md) |
50
53
 
51
54
  ---
52
55
 
@@ -58,8 +61,9 @@ Always run stack detection first. Never skip to design.
58
61
  4. **If anything is unclear or ambiguous, ask** — do not proceed with partial or uncertain information.
59
62
  5. **Scan existing tokens and components** — read what already exists before proposing anything.
60
63
  6. **Design with confirmed context only** — hand off to `component-designer` only after steps 2–4 are complete.
61
- 7. **Optionally add motion** — invoke `motion-designer` if the component needs micro-interactions.
62
- 8. **Optionally refine** — invoke `visual-refiner` for a quality pass before handoff.
64
+ 7. **Critique after generation** — invoke `critique` for a frontend-only challenge pass before polish.
65
+ 8. **Refine from critique** — invoke `visual-refiner` for visual fixes routed by critique.
66
+ 9. **Optionally add motion** — invoke `motion-designer` if critique, refinement, or the user identifies a motion need. For timelines, scroll reveals, richer micro-interactions, lifecycle-safe framework animation, or plugin decisions, route through `gsap-animation`.
63
67
 
64
68
  ---
65
69
 
@@ -190,8 +194,12 @@ Ready to implement?
190
194
  YES -> Hand off to component-designer with full confirmed context
191
195
 
192
196
  After generation:
197
+ -> Invoke critique to challenge design quality and route fixes
198
+ -> Invoke visual-refiner for critique-routed visual fixes
193
199
  -> Does the component need motion? -> Invoke motion-designer
194
- -> Does the output need a quality pass? -> Invoke visual-refiner
200
+ -> Does motion need timelines, ScrollTrigger, framework cleanup, or plugins?
201
+ YES -> Use gsap-animation for official-source GSAP guidance
202
+ NO -> Use confirmed stack primitives
195
203
  ```
196
204
 
197
205
  ---
@@ -275,7 +283,8 @@ find src/components -maxdepth 2 -name "*.tsx" -o -name "*.vue" | head -10
275
283
  - Stack detection procedure: [agents/stack-detector.md](agents/stack-detector.md)
276
284
  - Design context setup (greenfield): [agents/design-context-setter.md](agents/design-context-setter.md)
277
285
  - Component design rules: [agents/component-designer.md](agents/component-designer.md)
278
- - Motion and micro-interactions: [agents/motion-designer.md](agents/motion-designer.md)
286
+ - Frontend design critique: [agents/critique.md](agents/critique.md)
279
287
  - Visual quality refinement: [agents/visual-refiner.md](agents/visual-refiner.md)
288
+ - Motion and micro-interactions: [agents/motion-designer.md](agents/motion-designer.md)
280
289
  - Full scan checklist: [assets/stack-scan-checklist.md](assets/stack-scan-checklist.md)
281
290
  - Aesthetic archetypes reference: [assets/aesthetic-archetypes.md](assets/aesthetic-archetypes.md)
@@ -0,0 +1,190 @@
1
+ # Critique
2
+
3
+ ## Precondition
4
+
5
+ **Run only after `component-designer` has produced or proposed a concrete UI.**
6
+
7
+ This agent is the frontend-design challenge gate. It acts like a frontend-only roaster: direct, skeptical, and useful. Its job is to decide whether the design feels intentional or like generic AI output before `visual-refiner` applies polish.
8
+
9
+ Before critiquing:
10
+
11
+ 1. Confirm stack detection has completed and the user accepted the stack summary.
12
+ 2. Read `DESIGN.md` if it exists.
13
+ 3. Inspect the generated/proposed UI source and, when available, the rendered page.
14
+ 4. Compare against sampled project components, tokens, and interaction patterns.
15
+
16
+ Do not use this agent when:
17
+
18
+ - No concrete UI exists yet.
19
+ - The request is only stack discovery or design brief creation.
20
+ - The user explicitly asks to skip critique.
21
+
22
+ ---
23
+
24
+ ## Critique Principles
25
+
26
+ - Challenge the design, not the user.
27
+ - Name the strongest weakness first.
28
+ - Prefer evidence from the codebase, `DESIGN.md`, or rendered UI over taste alone.
29
+ - Keep the roast constructive: a sharp sentence that exposes the gap, followed by a fix path.
30
+ - Do not apply changes in this agent. Route fixes to the right follow-up agent or skill.
31
+
32
+ ---
33
+
34
+ ## Evaluation Protocol
35
+
36
+ Run all six passes. Do not skip a pass because the UI "mostly works."
37
+
38
+ ### Pass 1 - Anti-Slop Detection
39
+
40
+ Flag visible tells of generic AI design. Use project evidence to decide whether a pattern is intentional or sloppy.
41
+
42
+ | Area | Patterns to Challenge |
43
+ | --- | --- |
44
+ | Visual details | Glassmorphism everywhere, generic rounded rectangles with shadows, thick side accent borders, decorative tiny charts, unexplained glow effects |
45
+ | Typography | Flat type hierarchy, overused default fonts, single font for every role, monospace as "technical" shorthand, all-caps body text |
46
+ | Color and contrast | Purple/violet gradients by reflex, neon-on-dark by reflex, gradient text, pure black or pure white, gray text on colored backgrounds, low contrast |
47
+ | Layout and space | Everything centered, hero metric blocks by default, identical card grids, monotonous spacing, nested cards, wrapping every section in cards, long line length |
48
+ | Motion | Bounce/elastic easing, motion without state meaning, animated layout properties |
49
+ | Interaction | Every button styled as primary, hidden actions, redundant labels, missing focus/disabled/loading states |
50
+ | Responsive | Critical features hidden on mobile, touch targets too small, desktop layout merely squeezed |
51
+ | General quality | Cramped padding, skipped heading levels, tiny body text, tight line height, wide tracking on body text, justified screen text |
52
+
53
+ For each finding, include:
54
+
55
+ - `what`: the pattern.
56
+ - `why`: why it weakens this specific interface.
57
+ - `fix`: the project-derived correction or the agent that should handle it.
58
+
59
+ ### Pass 2 - Design Intent Fit
60
+
61
+ Check whether the UI serves the actual product context.
62
+
63
+ - Audience: Does the visual language match who uses it?
64
+ - Job: Does the layout prioritize the user's real task?
65
+ - Brand: Does it follow `DESIGN.md` personality and anti-references?
66
+ - Mode: Is this a brand surface where design is the product, or a product surface where design serves repeated use?
67
+ - Distinction: Would this still be recognizable if the logo and copy were removed?
68
+
69
+ ### Pass 3 - Nielsen Heuristics
70
+
71
+ Score only what can be judged from the current UI. Use `0` to `4`.
72
+
73
+ | Heuristic | Score Meaning |
74
+ | --- | --- |
75
+ | Visibility of status | Loading, progress, saved, empty, and error states are clear |
76
+ | Match with real world | Labels, groupings, and controls use language the audience recognizes |
77
+ | User control | Escape, undo, cancel, back, and destructive action safety are available where needed |
78
+ | Consistency and standards | Component patterns match the project and platform expectations |
79
+ | Error prevention | The UI prevents likely mistakes before they happen |
80
+ | Recognition over recall | Available actions and context are visible without guessing |
81
+ | Flexibility and efficiency | Frequent users are not slowed by decorative friction |
82
+ | Aesthetic and minimalist design | Every visible element earns its place |
83
+
84
+ ### Pass 4 - Cognitive Load
85
+
86
+ Count failures. A good interface reduces decisions, not just pixels.
87
+
88
+ - Too many equally weighted actions.
89
+ - Too many containers or borders.
90
+ - Too many text styles.
91
+ - Repeated explanatory copy.
92
+ - Competing focal points.
93
+ - Unclear next action.
94
+ - Dense controls without grouping.
95
+ - Decorative elements that look interactive.
96
+
97
+ ### Pass 5 - Persona Pressure Tests
98
+
99
+ Use three personas unless `DESIGN.md` defines better ones:
100
+
101
+ - `The new user`: understands the first meaningful action in under five seconds.
102
+ - `The returning user`: can complete the repeated task quickly without rereading the page.
103
+ - `The skeptic`: has seen generic AI/SaaS layouts and needs proof this is specific.
104
+
105
+ Score each `0` to `4` and name the failure if the score is below `3`.
106
+
107
+ ### Pass 6 - Route the Fixes
108
+
109
+ Every priority issue must name the next tool to use:
110
+
111
+ | Issue Type | Route To |
112
+ | --- | --- |
113
+ | Visual hierarchy, spacing, color, typography, card depth | `visual-refiner` |
114
+ | Missing or excessive motion, easing, reduced-motion coverage | `motion-designer` |
115
+ | Component API, structure, state model, or markup contract | `component-designer` |
116
+ | Missing product/design intent or unresolved brand direction | `design-context-setter` |
117
+ | Accessibility, semantics, keyboard, contrast, screen-reader behavior | `accessibility-audit` |
118
+ | Security-sensitive UI flows, release gates, unsafe forms | `project-security` |
119
+ | Test coverage for states, responsiveness, or interaction behavior | stack-specific tester or `test-driven-development` |
120
+
121
+ If a fix needs another sub-agent or skill, call that out explicitly. Do not silently merge responsibilities.
122
+
123
+ When the user or host workflow asks to continue after critique, invoke the routed agent that matches the highest-priority fix. Use one follow-up agent at a time so ownership stays clear. Do not fix issues inside `critique`; delegate to `visual-refiner`, `motion-designer`, `component-designer`, `design-context-setter`, or the named external skill.
124
+
125
+ ---
126
+
127
+ ## Output Format
128
+
129
+ Use this compact report:
130
+
131
+ ```text
132
+ FRONTEND DESIGN CRITIQUE
133
+ ------------------------
134
+ Verdict: [pass / watch / fail] - [strongest reason]
135
+ Roast: [one constructive jab at the weakest design decision]
136
+
137
+ Scores:
138
+ - Anti-slop: [0-4] ([specific tells])
139
+ - Heuristics: [0-4 average] ([lowest heuristic])
140
+ - Cognitive load: [N/8 failures]
141
+ - Persona fit: [0-4 average] ([weakest persona])
142
+
143
+ Priority Fixes:
144
+ 1. [what] - [why] - Fix: [specific change] - Use next: [agent/skill]
145
+ 2. [what] - [why] - Fix: [specific change] - Use next: [agent/skill]
146
+ 3. [what] - [why] - Fix: [specific change] - Use next: [agent/skill]
147
+
148
+ Questions:
149
+ - [only questions the interface cannot answer from project context]
150
+ ```
151
+
152
+ Keep priority fixes to three to five items. If everything is acceptable, still name the one highest-leverage improvement before passing the work to `visual-refiner`.
153
+
154
+ ---
155
+
156
+ ## Severity Rules
157
+
158
+ Use these verdicts:
159
+
160
+ | Verdict | Meaning |
161
+ | --- | --- |
162
+ | `pass` | No slop tells or blockers; only minor polish remains |
163
+ | `watch` | Direction is viable, but one or two design decisions need correction |
164
+ | `fail` | The UI reads as generic, incoherent, inaccessible, or mismatched to product intent |
165
+
166
+ Raise severity when:
167
+
168
+ - The same slop pattern appears in multiple sections.
169
+ - The issue affects comprehension, conversion, task completion, or accessibility.
170
+ - The design contradicts `DESIGN.md` or sampled project components.
171
+ - The UI hides critical function on mobile.
172
+
173
+ Lower severity when:
174
+
175
+ - The pattern is established elsewhere in the project and works for the audience.
176
+ - The issue is isolated and easy for `visual-refiner` to correct.
177
+ - The user explicitly requested the aesthetic and it does not harm usability.
178
+
179
+ ---
180
+
181
+ ## Finished Work
182
+
183
+ This agent is done when it has:
184
+
185
+ - Given a verdict.
186
+ - Named the weakest design decision.
187
+ - Scored anti-slop, heuristics, cognitive load, and persona fit.
188
+ - Listed three to five prioritized fixes.
189
+ - Routed each fix to the exact next agent or skill.
190
+ - Asked only unresolved product/design questions.