ace-design 0.2.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.
- checksums.yaml +7 -0
- data/.ace-defaults/design/config.yml +9 -0
- data/.ace-defaults/design/contexts/app/component.md +3 -0
- data/.ace-defaults/design/contexts/app/view.md +3 -0
- data/.ace-defaults/design/contexts/app.md +3 -0
- data/.ace-defaults/design/contexts/project.md +7 -0
- data/.ace-defaults/design/contexts/site/component.md +3 -0
- data/.ace-defaults/design/contexts/site/view.md +3 -0
- data/.ace-defaults/design/contexts/site.md +3 -0
- data/.ace-defaults/design/presets/ace-vs-taste.yml +37 -0
- data/.ace-defaults/design/presets/fast.yml +18 -0
- data/.ace-defaults/design/presets/impeccable.yml +48 -0
- data/.ace-defaults/design/presets/superdesign.yml +48 -0
- data/.ace-defaults/design/presets/taste-v2.yml +46 -0
- data/.ace-defaults/design/presets/ui-ux-pro-max.yml +48 -0
- data/.ace-defaults/nav/protocols/guide-sources/ace-design.yml +8 -0
- data/.ace-defaults/nav/protocols/skill-sources/ace-design.yml +8 -0
- data/.ace-defaults/nav/protocols/tmpl-sources/ace-design.yml +8 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-design.yml +8 -0
- data/CHANGELOG.md +37 -0
- data/LICENSE +21 -0
- data/README.md +119 -0
- data/Rakefile +12 -0
- data/browser/dependencies.mjs +20 -0
- data/browser/doctor.mjs +7 -0
- data/browser/inspect.mjs +61 -0
- data/browser/package-lock.json +71 -0
- data/browser/package.json +1 -0
- data/browser/preview.mjs +35 -0
- data/browser/source.mjs +14 -0
- data/docs/contexts.md +66 -0
- data/docs/inspiration.md +28 -0
- data/docs/intent-verification.md +73 -0
- data/docs/runner.md +108 -0
- data/docs/testing.md +18 -0
- data/docs/usage.md +38 -0
- data/exe/ace-design +19 -0
- data/handbook/benchmarks/app-booking/brief.md +8 -0
- data/handbook/benchmarks/app-booking/fixtures.json +46 -0
- data/handbook/benchmarks/app-inventory/brief.md +8 -0
- data/handbook/benchmarks/app-inventory/fixtures.json +38 -0
- data/handbook/benchmarks/app-support/brief.md +8 -0
- data/handbook/benchmarks/app-support/fixtures.json +41 -0
- data/handbook/benchmarks/site-community/brief.md +8 -0
- data/handbook/benchmarks/site-community/fixtures.json +41 -0
- data/handbook/benchmarks/site-course/brief.md +8 -0
- data/handbook/benchmarks/site-course/fixtures.json +41 -0
- data/handbook/benchmarks/site-studio/brief.md +8 -0
- data/handbook/benchmarks/site-studio/fixtures.json +38 -0
- data/handbook/catalog/app/error-recovery.md +11 -0
- data/handbook/catalog/app/status-feedback.md +11 -0
- data/handbook/catalog/app/task-first-density.md +11 -0
- data/handbook/catalog/shared/automated-a11y-boundary.md +11 -0
- data/handbook/catalog/shared/bounded-exploration.md +11 -0
- data/handbook/catalog/shared/context-before-style.md +11 -0
- data/handbook/catalog/shared/contextual-cards.md +11 -0
- data/handbook/catalog/shared/focus-visible.md +11 -0
- data/handbook/catalog/shared/responsive-reflow.md +11 -0
- data/handbook/catalog/site/critique-versus-defect.md +11 -0
- data/handbook/catalog/site/purposeful-links.md +11 -0
- data/handbook/catalog/site/subject-specific-hero.md +11 -0
- data/handbook/guides/design/process.g.md +20 -0
- data/handbook/skills/as-design-app/SKILL.md +21 -0
- data/handbook/skills/as-design-app-adjust/SKILL.md +23 -0
- data/handbook/skills/as-design-app-audit/SKILL.md +23 -0
- data/handbook/skills/as-design-app-implement/SKILL.md +22 -0
- data/handbook/skills/as-design-look-for-inspiration/SKILL.md +24 -0
- data/handbook/skills/as-design-site/SKILL.md +21 -0
- data/handbook/skills/as-design-site-adjust/SKILL.md +23 -0
- data/handbook/skills/as-design-site-audit/SKILL.md +23 -0
- data/handbook/skills/as-design-site-implement/SKILL.md +22 -0
- data/handbook/templates/design/benchmark-result.template.md +14 -0
- data/handbook/templates/design/brief.template.md +12 -0
- data/handbook/templates/design/feedback.template.md +8 -0
- data/handbook/templates/design/proposal.template.md +15 -0
- data/handbook/templates/design/source-ledger.template.md +5 -0
- data/handbook/workflow-instructions/design/adjust.wf.md +51 -0
- data/handbook/workflow-instructions/design/audit.wf.md +50 -0
- data/handbook/workflow-instructions/design/explore.wf.md +51 -0
- data/handbook/workflow-instructions/design/implement.wf.md +47 -0
- data/handbook/workflow-instructions/design/look-for-inspiration.wf.md +43 -0
- data/lib/ace/design/atoms/contracts.rb +36 -0
- data/lib/ace/design/cli/commands/adjust.rb +41 -0
- data/lib/ace/design/cli/commands/doctor.rb +18 -0
- data/lib/ace/design/cli/commands/explore.rb +42 -0
- data/lib/ace/design/cli/commands/inspect.rb +21 -0
- data/lib/ace/design/cli/commands/preset.rb +32 -0
- data/lib/ace/design/cli/commands/preview.rb +21 -0
- data/lib/ace/design/cli/commands/run_commands.rb +50 -0
- data/lib/ace/design/cli/commands/validate.rb +25 -0
- data/lib/ace/design/cli.rb +79 -0
- data/lib/ace/design/molecules/adjust_prompts.rb +40 -0
- data/lib/ace/design/molecules/agent_executor.rb +28 -0
- data/lib/ace/design/molecules/artifacts.rb +94 -0
- data/lib/ace/design/molecules/catalog.rb +36 -0
- data/lib/ace/design/molecules/context_document.rb +42 -0
- data/lib/ace/design/molecules/context_repository.rb +117 -0
- data/lib/ace/design/molecules/design_context.rb +96 -0
- data/lib/ace/design/molecules/design_prompts.rb +118 -0
- data/lib/ace/design/molecules/design_source.rb +89 -0
- data/lib/ace/design/molecules/preset.rb +120 -0
- data/lib/ace/design/molecules/runtime.rb +75 -0
- data/lib/ace/design/molecules/session.rb +123 -0
- data/lib/ace/design/molecules/skill_sources.rb +71 -0
- data/lib/ace/design/organisms/adjuster.rb +211 -0
- data/lib/ace/design/organisms/design_run.rb +394 -0
- data/lib/ace/design/organisms/generator.rb +127 -0
- data/lib/ace/design/organisms/inspector.rb +50 -0
- data/lib/ace/design/version.rb +6 -0
- data/lib/ace/design.rb +40 -0
- metadata +280 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Support queue",
|
|
3
|
+
"primary_action": "Triage the next ticket",
|
|
4
|
+
"description": "Triage incoming customer tickets by priority, ownership and waiting time.",
|
|
5
|
+
"records": [
|
|
6
|
+
{
|
|
7
|
+
"id": "ticket-1042",
|
|
8
|
+
"title": "Cannot reset account password",
|
|
9
|
+
"status": "New",
|
|
10
|
+
"priority": "Urgent",
|
|
11
|
+
"customer": "Maya Chen",
|
|
12
|
+
"assignee": null,
|
|
13
|
+
"waiting_minutes": 18,
|
|
14
|
+
"channel": "Email",
|
|
15
|
+
"summary": "Reset link expires before the customer can use it."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "ticket-1043",
|
|
19
|
+
"title": "Invoice address needs correction",
|
|
20
|
+
"status": "Assigned",
|
|
21
|
+
"priority": "Normal",
|
|
22
|
+
"customer": "Alex Rivera",
|
|
23
|
+
"assignee": "Sam Patel",
|
|
24
|
+
"waiting_minutes": 45,
|
|
25
|
+
"channel": "Chat",
|
|
26
|
+
"summary": "Customer requests an updated billing address on the latest invoice."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "ticket-1044",
|
|
30
|
+
"title": "Export missing last week of records",
|
|
31
|
+
"status": "Waiting on customer",
|
|
32
|
+
"priority": "High",
|
|
33
|
+
"customer": "Jo Morgan",
|
|
34
|
+
"assignee": "Lee Kim",
|
|
35
|
+
"waiting_minutes": 120,
|
|
36
|
+
"channel": "Email",
|
|
37
|
+
"summary": "Awaiting the date range and export settings used by the customer."
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"data_notice": "Fictional benchmark data; fixed across baseline and candidate runs."
|
|
41
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Local community garden
|
|
2
|
+
Audience: people completing the primary task: join a weekend session.
|
|
3
|
+
Primary action: Join a weekend session.
|
|
4
|
+
Explore three directions: Event-led, place-led, volunteer story.
|
|
5
|
+
Use fixtures.json without changing records across variants. One language (en).
|
|
6
|
+
Scope: first screen and one following section.
|
|
7
|
+
After the initial comparison, request a less dense B while retaining its hierarchy; change only B.
|
|
8
|
+
Observe time and results; do not invent baseline or candidate measurements.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Local community garden",
|
|
3
|
+
"primary_action": "Join a weekend session",
|
|
4
|
+
"description": "Help neighbors choose a weekend garden activity and join a session.",
|
|
5
|
+
"records": [
|
|
6
|
+
{
|
|
7
|
+
"id": "planting",
|
|
8
|
+
"title": "Plant winter greens",
|
|
9
|
+
"status": "Places available",
|
|
10
|
+
"date": "2026-11-07",
|
|
11
|
+
"time": "09:00–11:00",
|
|
12
|
+
"location": "North garden beds",
|
|
13
|
+
"places_remaining": 12,
|
|
14
|
+
"activity": "Planting",
|
|
15
|
+
"experience": "Beginners welcome"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "compost",
|
|
19
|
+
"title": "Build a compost bay",
|
|
20
|
+
"status": "Few places left",
|
|
21
|
+
"date": "2026-11-07",
|
|
22
|
+
"time": "13:00–15:00",
|
|
23
|
+
"location": "Garden tool shed",
|
|
24
|
+
"places_remaining": 2,
|
|
25
|
+
"activity": "Workshop",
|
|
26
|
+
"experience": "No experience required"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "harvest",
|
|
30
|
+
"title": "Community harvest morning",
|
|
31
|
+
"status": "Full",
|
|
32
|
+
"date": "2026-11-08",
|
|
33
|
+
"time": "09:00–12:00",
|
|
34
|
+
"location": "Main garden gate",
|
|
35
|
+
"places_remaining": 0,
|
|
36
|
+
"activity": "Harvest",
|
|
37
|
+
"experience": "All ages welcome"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"data_notice": "Fictional benchmark data; fixed across baseline and candidate runs."
|
|
41
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Practical cooking course
|
|
2
|
+
Audience: people completing the primary task: choose a course.
|
|
3
|
+
Primary action: Choose a course.
|
|
4
|
+
Explore three directions: Schedule-led, instructor-led, outcome-led.
|
|
5
|
+
Use fixtures.json without changing records across variants. One language (en).
|
|
6
|
+
Scope: first screen and one following section.
|
|
7
|
+
After the initial comparison, request a less dense B while retaining its hierarchy; change only B.
|
|
8
|
+
Observe time and results; do not invent baseline or candidate measurements.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Practical cooking course",
|
|
3
|
+
"primary_action": "Choose a course",
|
|
4
|
+
"description": "Compare practical cooking courses by skill level, schedule and learning outcome.",
|
|
5
|
+
"records": [
|
|
6
|
+
{
|
|
7
|
+
"id": "weeknight",
|
|
8
|
+
"title": "Confident weeknight cooking",
|
|
9
|
+
"status": "Enrolling",
|
|
10
|
+
"level": "Beginner",
|
|
11
|
+
"sessions": 4,
|
|
12
|
+
"price_eur": 160,
|
|
13
|
+
"instructor": "Nora Silva",
|
|
14
|
+
"starts_on": "2026-11-09",
|
|
15
|
+
"outcome": "Plan and prepare three balanced weekday dinners."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "bread",
|
|
19
|
+
"title": "Bread from first principles",
|
|
20
|
+
"status": "Few places left",
|
|
21
|
+
"level": "Beginner",
|
|
22
|
+
"sessions": 3,
|
|
23
|
+
"price_eur": 135,
|
|
24
|
+
"instructor": "Eli Martin",
|
|
25
|
+
"starts_on": "2026-11-14",
|
|
26
|
+
"outcome": "Mix, shape and bake a reliable loaf at home."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "seasonal",
|
|
30
|
+
"title": "Seasonal vegetable kitchen",
|
|
31
|
+
"status": "Waitlist",
|
|
32
|
+
"level": "Intermediate",
|
|
33
|
+
"sessions": 5,
|
|
34
|
+
"price_eur": 210,
|
|
35
|
+
"instructor": "Amira Khan",
|
|
36
|
+
"starts_on": "2026-11-18",
|
|
37
|
+
"outcome": "Build satisfying vegetable dishes using seasonal produce."
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"data_notice": "Fictional benchmark data; fixed across baseline and candidate runs."
|
|
41
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Architecture studio
|
|
2
|
+
Audience: people completing the primary task: request a consultation.
|
|
3
|
+
Primary action: Request a consultation.
|
|
4
|
+
Explore three directions: Project-led gallery, editorial story, restrained portfolio.
|
|
5
|
+
Use fixtures.json without changing records across variants. One language (en).
|
|
6
|
+
Scope: first screen and one following section.
|
|
7
|
+
After the initial comparison, request a less dense B while retaining its hierarchy; change only B.
|
|
8
|
+
Observe time and results; do not invent baseline or candidate measurements.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Architecture studio",
|
|
3
|
+
"primary_action": "Request a consultation",
|
|
4
|
+
"description": "Explore architectural projects and request a consultation for a similar brief.",
|
|
5
|
+
"records": [
|
|
6
|
+
{
|
|
7
|
+
"id": "courtyard-home",
|
|
8
|
+
"title": "Courtyard house",
|
|
9
|
+
"status": "Completed",
|
|
10
|
+
"project_type": "Residential",
|
|
11
|
+
"location": "Coastal town",
|
|
12
|
+
"year": 2024,
|
|
13
|
+
"area_m2": 180,
|
|
14
|
+
"summary": "A family home organized around a shaded courtyard and natural ventilation."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "neighborhood-library",
|
|
18
|
+
"title": "Neighborhood reading room",
|
|
19
|
+
"status": "Completed",
|
|
20
|
+
"project_type": "Community",
|
|
21
|
+
"location": "City neighborhood",
|
|
22
|
+
"year": 2025,
|
|
23
|
+
"area_m2": 320,
|
|
24
|
+
"summary": "An adaptable reading room with daylight, quiet study and shared meeting space."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "workshop-reuse",
|
|
28
|
+
"title": "Workshop conversion",
|
|
29
|
+
"status": "In progress",
|
|
30
|
+
"project_type": "Adaptive reuse",
|
|
31
|
+
"location": "Former industrial district",
|
|
32
|
+
"year": 2026,
|
|
33
|
+
"area_m2": 240,
|
|
34
|
+
"summary": "A former workshop converted into flexible studios while retaining its structure."
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"data_notice": "Fictional benchmark data; fixed across baseline and candidate runs."
|
|
38
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "error-recovery"
|
|
3
|
+
surface: "app"
|
|
4
|
+
title: "Help users identify and recover from errors"
|
|
5
|
+
use_when: "Forms and failed task steps"
|
|
6
|
+
avoid_when: "Color-only errors or losing all entered data"
|
|
7
|
+
source: "https://www.w3.org/WAI/WCAG22/Understanding/error-identification.html"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Identify the affected input in text, preserve useful input and provide an actionable recovery path. Exercise a failure case in the production verification, even if exploration used a mock.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "status-feedback"
|
|
3
|
+
surface: "app"
|
|
4
|
+
title: "Expose meaningful asynchronous status"
|
|
5
|
+
use_when: "Saving, searching or loading application data"
|
|
6
|
+
avoid_when: "Silent changes that leave task outcome ambiguous"
|
|
7
|
+
source: "https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Plan loading, success, empty and error states around the primary task. Use suitable semantic status communication and avoid repeatedly interrupting users for routine updates.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "task-first-density"
|
|
3
|
+
surface: "app"
|
|
4
|
+
title: "Choose density from the task"
|
|
5
|
+
use_when: "Data-rich working screens"
|
|
6
|
+
avoid_when: "Treating a complex tool as a marketing landing page"
|
|
7
|
+
source: "https://github.com/pbakaus/impeccable/tree/6af45ac9a5eb8792f033d3242f52e99812fd91fa"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Show the information needed for the next decision. Compare a table-led, detail-led or queue-led composition using the same records. Keep secondary controls subordinate without hiding essential task context.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "automated-a11y-boundary"
|
|
3
|
+
surface: "shared"
|
|
4
|
+
title: "Combine automated and manual accessibility checks"
|
|
5
|
+
use_when: "Verifying an implemented interface"
|
|
6
|
+
avoid_when: "Claiming full accessibility from zero axe violations"
|
|
7
|
+
source: "https://playwright.dev/docs/accessibility-testing"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Use automated checks to find concrete issues, then test keyboard and the real task flow manually. Record incomplete rules and untested states. Automated checks cannot establish all usability and accessibility requirements.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "bounded-exploration"
|
|
3
|
+
surface: "shared"
|
|
4
|
+
title: "Separate exploration from production"
|
|
5
|
+
use_when: "Choosing among alternative directions"
|
|
6
|
+
avoid_when: "Shipping a disposable mockup as production"
|
|
7
|
+
source: "https://github.com/superdesigndev/superdesign-skill"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Keep the first comparison to one representative screen and shared data. After selection, deliberately switch to project architecture, actual states, accessibility and tests.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "context-before-style"
|
|
3
|
+
surface: "shared"
|
|
4
|
+
title: "Choose a direction from the subject"
|
|
5
|
+
use_when: "Starting a new visual direction"
|
|
6
|
+
avoid_when: "Treating a single fashionable aesthetic as mandatory"
|
|
7
|
+
source: "https://github.com/Leonxlnx/taste-skill/tree/f624f37a8c650b9cc550253104925efe4c8de246"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Identify subject, audience and primary action before selecting type, spacing and imagery. Compare composition and hierarchy rather than swapping accent colors. This is an original synthesis of the referenced workflow, not a claim of benchmark superiority.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "contextual-cards"
|
|
3
|
+
surface: "shared"
|
|
4
|
+
title: "Keep knowledge contextual and searchable"
|
|
5
|
+
use_when: "Reusing lessons across different products"
|
|
6
|
+
avoid_when: "Universal bans on colors, gradients or animation"
|
|
7
|
+
source: "https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/tree/56ea9cf174ed86786187daa9de0e6247cb0747e4"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Store use and avoid conditions beside each design recommendation. Search only relevant cards; a catalog is not a checklist to paste into every prompt.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "focus-visible"
|
|
3
|
+
surface: "shared"
|
|
4
|
+
title: "Keep keyboard focus visible"
|
|
5
|
+
use_when: "Interactive controls and navigation"
|
|
6
|
+
avoid_when: "Decorative elements with no interaction"
|
|
7
|
+
source: "https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Use semantic controls and a visible focus treatment. Check the actual tab sequence and ensure the focused element can be located against its background.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "responsive-reflow"
|
|
3
|
+
surface: "shared"
|
|
4
|
+
title: "Preserve meaning when content reflows"
|
|
5
|
+
use_when: "Narrow screens and larger text"
|
|
6
|
+
avoid_when: "Hiding essential actions merely to avoid overflow"
|
|
7
|
+
source: "https://www.w3.org/WAI/WCAG22/Understanding/reflow.html"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Check reading order and task completion at narrow widths. Data tables and other inherently two-dimensional content need deliberate treatment, not indiscriminate wrapping or hidden content.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "critique-versus-defect"
|
|
3
|
+
surface: "site"
|
|
4
|
+
title: "Separate design critique from verified defects"
|
|
5
|
+
use_when: "Reviewing a landing page direction"
|
|
6
|
+
avoid_when: "Calling a subjective aesthetic preference a bug"
|
|
7
|
+
source: "https://github.com/pbakaus/impeccable/tree/6af45ac9a5eb8792f033d3242f52e99812fd91fa"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Give subjective direction suggestions with rationale and tradeoffs. Attach concrete evidence to defects such as unreadable text, overflow or a broken primary action.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "purposeful-links"
|
|
3
|
+
surface: "site"
|
|
4
|
+
title: "Make navigation and CTA destinations clear"
|
|
5
|
+
use_when: "Pages with conversion and navigation actions"
|
|
6
|
+
avoid_when: "Several identical vague links with different destinations"
|
|
7
|
+
source: "https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context.html"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Label actions so their purpose is understood from their text and context. Compare how each direction leads from explanation and proof to the primary action.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "subject-specific-hero"
|
|
3
|
+
surface: "site"
|
|
4
|
+
title: "Make the first screen specific"
|
|
5
|
+
use_when: "A marketing site introducing a distinct offer"
|
|
6
|
+
avoid_when: "Generic dashboard decoration unrelated to the offer"
|
|
7
|
+
source: "https://github.com/anthropics/skills/tree/main/skills/frontend-design"
|
|
8
|
+
verified_at: "2026-10-16"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Use a clear subject, concrete headline and appropriate visual material. Let composition express the offer; do not force the same centered hero into every brief.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: guide
|
|
3
|
+
title: Design stages and evidence
|
|
4
|
+
purpose: Explain the shared site/app design process
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2026-10-16
|
|
7
|
+
last-checked: 2026-10-16
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Design stages and evidence
|
|
11
|
+
|
|
12
|
+
Exploration selects direction quickly: one brief, one fixture, three default variants, one language, targeted feedback. The ace-design runner launches one coding agent per declared preset slot, with a separate workspace and optional caller-supplied prompt. Use explore, recreate or reimagine to start a session, then revise, status, resume and select through the CLI; do not duplicate orchestration in the calling skill. Render once to catch an unusable preview; defer full reviews and production integrations.
|
|
13
|
+
|
|
14
|
+
Selection is an explicit user decision. A fixture hash binds that decision to the data seen during comparison. `ace-design validate SESSION` checks artifact structure and selection integrity; it cannot prove semantic distinctness or enforce how arbitrary JavaScript uses data. The coordinator must verify those obligations.
|
|
15
|
+
|
|
16
|
+
Engineering then uses the real project stack, data, required languages, states, tests and independent review. Browser inspection reports automatic evidence and manual gaps separately. Clean automatic checks do not certify accessibility or visual quality.
|
|
17
|
+
|
|
18
|
+
Inspiration changes are tested proposals. They do not become universal style rules and do not automatically update installed skills. Native platforms are a separate future family.
|
|
19
|
+
|
|
20
|
+
Project assumptions live in inherited `.ace-config/design/` contexts, each with defaults.md, user.md and effective design.md. The adjust skills refresh installed defaults and preserve explicit user decisions; normal generation uses a frozen effective snapshot. Views and components have distinct assumptions and output scopes. See `wfi://design/adjust`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-app
|
|
3
|
+
description: Generate preset-driven design variants with shared mock data for a web application
|
|
4
|
+
# bundle: wfi://design/explore
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash(ace-design:*)
|
|
8
|
+
- Bash(ace-bundle:*)
|
|
9
|
+
- Bash(bin/ace-design:*)
|
|
10
|
+
- Bash(bin/ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
user-invocable: true
|
|
13
|
+
argument-hint: "[brief or session or URL] [project path]"
|
|
14
|
+
source: ace-design
|
|
15
|
+
skill:
|
|
16
|
+
kind: workflow
|
|
17
|
+
execution:
|
|
18
|
+
workflow: wfi://design/explore
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
Bind `surface=app`. Load `ace-bundle wfi://design/explore` in the current project and execute the workflow with that surface binding. In the ACE repository use `bin/ace-bundle`. Choose `--kind view|component` and the appropriate `--profile`; use the matching adjust skill for project-wide preference changes. Use the CLI runner and supply per-variant extra prompts when useful. Preserve this binding throughout. This skill concerns web interfaces; native platforms use a separate future family.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-app-adjust
|
|
3
|
+
description: Personalize and refresh project design assumptions for app views and components
|
|
4
|
+
# bundle: wfi://design/adjust
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash(ace-design:*)
|
|
8
|
+
- Bash(ace-bundle:*)
|
|
9
|
+
- Bash(bin/ace-design:*)
|
|
10
|
+
- Bash(bin/ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
- Edit
|
|
13
|
+
- Write
|
|
14
|
+
user-invocable: true
|
|
15
|
+
argument-hint: "[preferences or refresh] [view|component] [context]"
|
|
16
|
+
source: ace-design
|
|
17
|
+
skill:
|
|
18
|
+
kind: workflow
|
|
19
|
+
execution:
|
|
20
|
+
workflow: wfi://design/adjust
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
Bind `surface=app`. Load `ace-bundle wfi://design/adjust` and execute it in the target project. In the ACE repository use `bin/ace-bundle` and `bin/ace-design`. Preserve the surface binding and the user's view/component scope. Use the runner to compose assumptions; do not independently overwrite generated context files, except to restore verified candidate/previous evidence during the workflow's explicit manual-edit recovery.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-app-audit
|
|
3
|
+
description: Audit design with browser and optional source evidence for a web application
|
|
4
|
+
# bundle: wfi://design/audit
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash(ace-design:*)
|
|
8
|
+
- Bash(ace-bundle:*)
|
|
9
|
+
- Bash(bin/ace-design:*)
|
|
10
|
+
- Bash(bin/ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
- Edit
|
|
13
|
+
- Write
|
|
14
|
+
user-invocable: true
|
|
15
|
+
argument-hint: "[brief or session or URL] [project path]"
|
|
16
|
+
source: ace-design
|
|
17
|
+
skill:
|
|
18
|
+
kind: workflow
|
|
19
|
+
execution:
|
|
20
|
+
workflow: wfi://design/audit
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
Bind `surface=app`. Load `ace-bundle wfi://design/audit` in the current project and execute the workflow with that surface binding. In the ACE repository use `bin/ace-bundle`. Preserve this binding when delegating. This skill concerns web interfaces; native platforms use a separate future family.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-app-implement
|
|
3
|
+
description: Implement a selected direction with production verification for a web application
|
|
4
|
+
# bundle: wfi://design/implement
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash
|
|
8
|
+
- Read
|
|
9
|
+
- Edit
|
|
10
|
+
- Write
|
|
11
|
+
- Glob
|
|
12
|
+
- Grep
|
|
13
|
+
user-invocable: true
|
|
14
|
+
argument-hint: "[brief or session or URL] [project path]"
|
|
15
|
+
source: ace-design
|
|
16
|
+
skill:
|
|
17
|
+
kind: workflow
|
|
18
|
+
execution:
|
|
19
|
+
workflow: wfi://design/implement
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
Bind `surface=app`. Load `ace-bundle wfi://design/implement` in the current project and execute the workflow with that surface binding. In the ACE repository use `bin/ace-bundle`. Preserve this binding when delegating. This skill concerns web interfaces; native platforms use a separate future family.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-look-for-inspiration
|
|
3
|
+
description: Research new design evidence and prepare a tested package change for review
|
|
4
|
+
# bundle: wfi://design/look-for-inspiration
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash
|
|
8
|
+
- Read
|
|
9
|
+
- Edit
|
|
10
|
+
- Write
|
|
11
|
+
- Glob
|
|
12
|
+
- Grep
|
|
13
|
+
- WebFetch
|
|
14
|
+
- WebSearch
|
|
15
|
+
user-invocable: true
|
|
16
|
+
argument-hint: "[--surface shared|site|app] [source checkout] [since date or revision]"
|
|
17
|
+
source: ace-design
|
|
18
|
+
skill:
|
|
19
|
+
kind: workflow
|
|
20
|
+
execution:
|
|
21
|
+
workflow: wfi://design/look-for-inspiration
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
Load `ace-bundle wfi://design/look-for-inspiration` and execute it. In the ACE repository use `bin/ace-bundle`. Produce a concrete reviewable proposal; never automatically merge or publish.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-site
|
|
3
|
+
description: Generate preset-driven design variants with shared mock data for a web site
|
|
4
|
+
# bundle: wfi://design/explore
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash(ace-design:*)
|
|
8
|
+
- Bash(ace-bundle:*)
|
|
9
|
+
- Bash(bin/ace-design:*)
|
|
10
|
+
- Bash(bin/ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
user-invocable: true
|
|
13
|
+
argument-hint: "[brief or session or URL] [project path]"
|
|
14
|
+
source: ace-design
|
|
15
|
+
skill:
|
|
16
|
+
kind: workflow
|
|
17
|
+
execution:
|
|
18
|
+
workflow: wfi://design/explore
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
Bind `surface=site`. Load `ace-bundle wfi://design/explore` in the current project and execute the workflow with that surface binding. In the ACE repository use `bin/ace-bundle`. Choose `--kind view|component` and the appropriate `--profile`; use the matching adjust skill for project-wide preference changes. Use the CLI runner and supply per-variant extra prompts when useful. Preserve this binding throughout. This skill concerns web interfaces; native platforms use a separate future family.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-site-adjust
|
|
3
|
+
description: Personalize and refresh project design assumptions for site views and components
|
|
4
|
+
# bundle: wfi://design/adjust
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash(ace-design:*)
|
|
8
|
+
- Bash(ace-bundle:*)
|
|
9
|
+
- Bash(bin/ace-design:*)
|
|
10
|
+
- Bash(bin/ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
- Edit
|
|
13
|
+
- Write
|
|
14
|
+
user-invocable: true
|
|
15
|
+
argument-hint: "[preferences or refresh] [view|component] [context]"
|
|
16
|
+
source: ace-design
|
|
17
|
+
skill:
|
|
18
|
+
kind: workflow
|
|
19
|
+
execution:
|
|
20
|
+
workflow: wfi://design/adjust
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
Bind `surface=site`. Load `ace-bundle wfi://design/adjust` and execute it in the target project. In the ACE repository use `bin/ace-bundle` and `bin/ace-design`. Preserve the surface binding and the user's view/component scope. Use the runner to compose assumptions; do not independently overwrite generated context files, except to restore verified candidate/previous evidence during the workflow's explicit manual-edit recovery.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-site-audit
|
|
3
|
+
description: Audit design with browser and optional source evidence for a web site
|
|
4
|
+
# bundle: wfi://design/audit
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash(ace-design:*)
|
|
8
|
+
- Bash(ace-bundle:*)
|
|
9
|
+
- Bash(bin/ace-design:*)
|
|
10
|
+
- Bash(bin/ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
- Edit
|
|
13
|
+
- Write
|
|
14
|
+
user-invocable: true
|
|
15
|
+
argument-hint: "[brief or session or URL] [project path]"
|
|
16
|
+
source: ace-design
|
|
17
|
+
skill:
|
|
18
|
+
kind: workflow
|
|
19
|
+
execution:
|
|
20
|
+
workflow: wfi://design/audit
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
Bind `surface=site`. Load `ace-bundle wfi://design/audit` in the current project and execute the workflow with that surface binding. In the ACE repository use `bin/ace-bundle`. Preserve this binding when delegating. This skill concerns web interfaces; native platforms use a separate future family.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-design-site-implement
|
|
3
|
+
description: Implement a selected direction with production verification for a web site
|
|
4
|
+
# bundle: wfi://design/implement
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Bash
|
|
8
|
+
- Read
|
|
9
|
+
- Edit
|
|
10
|
+
- Write
|
|
11
|
+
- Glob
|
|
12
|
+
- Grep
|
|
13
|
+
user-invocable: true
|
|
14
|
+
argument-hint: "[brief or session or URL] [project path]"
|
|
15
|
+
source: ace-design
|
|
16
|
+
skill:
|
|
17
|
+
kind: workflow
|
|
18
|
+
execution:
|
|
19
|
+
workflow: wfi://design/implement
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
Bind `surface=site`. Load `ace-bundle wfi://design/implement` in the current project and execute the workflow with that surface binding. In the ACE repository use `bin/ace-bundle`. Preserve this binding when delegating. This skill concerns web interfaces; native platforms use a separate future family.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Benchmark result
|
|
2
|
+
- Brief ID / fixture SHA-256:
|
|
3
|
+
- Baseline revision / candidate revision:
|
|
4
|
+
- Agent/model/tools and environment:
|
|
5
|
+
- Applicable guidance and excluded cases:
|
|
6
|
+
- Baseline / candidate artifact paths:
|
|
7
|
+
- Time to first comparable variants (observed):
|
|
8
|
+
- Same fixture bytes in all variants:
|
|
9
|
+
- Distinct composition and hierarchy:
|
|
10
|
+
- Feedback request / targeted edit time:
|
|
11
|
+
- Executed browser checks:
|
|
12
|
+
- Human judgment:
|
|
13
|
+
- Model judgment (not proof):
|
|
14
|
+
- Failures / unexecuted checks:
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Design brief
|
|
2
|
+
- Surface: site | app
|
|
3
|
+
- Audience:
|
|
4
|
+
- Primary action:
|
|
5
|
+
- Representative screen and following section/interaction:
|
|
6
|
+
- One exploration language:
|
|
7
|
+
- Brand constraints:
|
|
8
|
+
- Shared fixture path and assumptions:
|
|
9
|
+
- A — composition / hierarchy / type / density:
|
|
10
|
+
- B — composition / hierarchy / type / density:
|
|
11
|
+
- C — composition / hierarchy / type / density:
|
|
12
|
+
- Mocked behaviors and production follow-up:
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Inspiration proposal
|
|
2
|
+
- Status: experimental | review-pending | reviewed
|
|
3
|
+
- Sources, checked revisions/dates and licenses:
|
|
4
|
+
- Candidate and user problem:
|
|
5
|
+
- Use / avoid / surface:
|
|
6
|
+
- Exact affected files:
|
|
7
|
+
- Before / after evidence:
|
|
8
|
+
- Executed tests and results:
|
|
9
|
+
- Applicable benchmark cases and exclusions:
|
|
10
|
+
- Observed timing / data compliance / distinctness:
|
|
11
|
+
- Human feedback (separate from model judgment):
|
|
12
|
+
- Tradeoffs and rejected candidates:
|
|
13
|
+
- Independent review verdict / unresolved findings:
|
|
14
|
+
- Proposed accept or reject decision:
|
|
15
|
+
- No merge or publication performed.
|