@cubis/foundry 0.3.69 → 0.3.71
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/dist/cli/core.js +95 -2
- package/dist/cli/core.js.map +1 -1
- package/dist/cli/init/execute.js +6 -4
- package/dist/cli/init/execute.js.map +1 -1
- package/dist/cli/init/prompts.js +5 -0
- package/dist/cli/init/prompts.js.map +1 -1
- package/mcp/src/cbxConfig/index.ts +6 -1
- package/mcp/src/cbxConfig/serviceConfig.ts +38 -3
- package/mcp/src/cbxConfig/types.ts +6 -0
- package/mcp/src/gateway/config.ts +69 -8
- package/mcp/src/gateway/manager.ts +17 -6
- package/mcp/src/gateway/types.ts +1 -1
- package/mcp/src/server.ts +7 -3
- package/mcp/src/tools/playwrightGetStatus.ts +60 -0
- package/mcp/src/tools/registry.test.ts +26 -8
- package/mcp/src/tools/registry.ts +27 -1
- package/mcp/src/upstream/passthrough.ts +29 -5
- package/package.json +1 -1
- package/src/cli/core.ts +100 -5
- package/src/cli/init/execute.ts +14 -5
- package/src/cli/init/prompts.ts +5 -0
- package/src/cli/init/types.ts +1 -1
- package/workflows/powers/ask-questions-if-underspecified/SKILL.md +51 -3
- package/workflows/powers/behavioral-modes/SKILL.md +100 -9
- package/workflows/skills/agent-design/SKILL.md +198 -0
- package/workflows/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/skills/deep-research/SKILL.md +25 -20
- package/workflows/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/skills/frontend-design/SKILL.md +37 -32
- package/workflows/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/skills/generated/skill-audit.json +11 -2
- package/workflows/skills/generated/skill-catalog.json +842 -107
- package/workflows/skills/playwright-e2e/SKILL.md +21 -5
- package/workflows/skills/playwright-e2e/references/locator-trace-flake-checklist.md +28 -0
- package/workflows/skills/skills_index.json +803 -100
- package/workflows/workflows/agent-environment-setup/manifest.json +65 -9
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/backend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/code-archaeologist.md +7 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/database-architect.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/debugger.md +7 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/devops-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/documentation-writer.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/frontend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/game-developer.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/mobile-developer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/orchestrator.md +8 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/penetration-tester.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/performance-optimizer.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/product-manager.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/project-planner.md +8 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/qa-automation-engineer.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/researcher.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/security-auditor.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/seo-specialist.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/sre-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/test-engineer.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/validator.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/vercel-expert.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/rules/GEMINI.md +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/backend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/code-archaeologist.md +7 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/database-architect.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/debugger.md +7 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/devops-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/documentation-writer.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/frontend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/game-developer.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/mobile-developer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/orchestrator.md +8 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/penetration-tester.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/performance-optimizer.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/product-manager.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/project-planner.md +8 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/qa-automation-engineer.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/researcher.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/security-auditor.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/seo-specialist.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/sre-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/test-engineer.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/validator.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/vercel-expert.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/rules/CLAUDE.md +77 -63
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/SKILL.md +198 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/playwright-e2e/SKILL.md +21 -5
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/playwright-e2e/references/locator-trace-flake-checklist.md +28 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/skills_index.json +803 -100
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/backend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/code-archaeologist.md +7 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/database-architect.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/debugger.md +7 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/devops-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/documentation-writer.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/frontend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/game-developer.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/mobile-developer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/orchestrator.md +8 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/penetration-tester.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/performance-optimizer.md +4 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/product-manager.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/project-planner.md +8 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/qa-automation-engineer.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/researcher.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/security-auditor.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/seo-specialist.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/sre-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/test-engineer.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/validator.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/vercel-expert.md +1 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/rules/AGENTS.md +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/backend-specialist.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/code-archaeologist.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/database-architect.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/debugger.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/devops-engineer.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/documentation-writer.md +3 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/frontend-specialist.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/mobile-developer.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/orchestrator.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/penetration-tester.md +3 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/performance-optimizer.md +3 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/project-planner.md +6 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/researcher.md +3 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/security-auditor.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/sre-engineer.md +5 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/test-engineer.md +3 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/copilot-instructions.md +87 -82
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/SKILL.md +197 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/playwright-e2e/SKILL.md +21 -5
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/playwright-e2e/references/locator-trace-flake-checklist.md +28 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +803 -100
- package/workflows/workflows/agent-environment-setup/shared/agents/backend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/code-archaeologist.md +7 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/database-architect.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/debugger.md +7 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/devops-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/documentation-writer.md +4 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/frontend-specialist.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/game-developer.md +1 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/mobile-developer.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/orchestrator.md +8 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/penetration-tester.md +4 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/performance-optimizer.md +4 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/product-manager.md +1 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/project-planner.md +8 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/qa-automation-engineer.md +1 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/researcher.md +5 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/security-auditor.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/seo-specialist.md +1 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/sre-engineer.md +6 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/test-engineer.md +5 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/validator.md +1 -0
- package/workflows/workflows/agent-environment-setup/shared/agents/vercel-expert.md +1 -0
- package/workflows/workflows/agent-environment-setup/shared/rules/STEERING.md +27 -4
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/antigravity.md +18 -3
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/claude.md +12 -4
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/codex.md +12 -2
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/copilot.md +13 -3
- package/workflows/skills/react-best-practices/docs/AGENTS.md +0 -2934
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/react-best-practices/docs/AGENTS.md +0 -2934
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/AGENTS.md +0 -25
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/react-best-practices/docs/AGENTS.md +0 -2934
|
@@ -1,15 +1,80 @@
|
|
|
1
1
|
# Multi-Round Research Loop
|
|
2
2
|
|
|
3
|
-
Load this when the research task is broad, unstable, or likely to have conflicting public sources.
|
|
3
|
+
Load this when the research task is broad, unstable, contested, or likely to have conflicting public sources — or when the user explicitly asks for deep or latest research.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## The Core Principle
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
Your job is to find what is _missing_, not just summarize the first page of results. Stop when remaining uncertainty is low-impact or explicitly reported back to the user.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## The Loop
|
|
12
|
+
|
|
13
|
+
### Round 1: Define and search broadly
|
|
14
|
+
|
|
15
|
+
1. **Narrow the question** — State the most specific version of what you're trying to find. Vague questions produce vague results.
|
|
16
|
+
2. **Search** — Run initial queries across the most likely sources (official docs, engineering blogs, GitHub repos, research papers as appropriate).
|
|
17
|
+
3. **Record gaps** — What did this pass _not_ answer? What's contradictory? What's suspiciously absent?
|
|
18
|
+
|
|
19
|
+
### Round 2: Target the gaps
|
|
20
|
+
|
|
21
|
+
4. **Search directly for the missing facts** — Use specific, targeted queries (not broad topic queries). Prefer: official docs > primary source blog > authoritative community reference > general article.
|
|
22
|
+
5. **Search for contradictions** — If two sources disagree, search specifically for why. Age, version differences, and context often explain it.
|
|
23
|
+
6. **Seek counterexamples** — Actively search for "X doesn't work", "X is wrong", "problems with X" — not just confirmation.
|
|
24
|
+
|
|
25
|
+
### Round 3: Corroborate and synthesize
|
|
26
|
+
|
|
27
|
+
7. **Cross-verify** unstable claims against at least one independent source.
|
|
28
|
+
8. **Rank sources** by directness (primary > secondary > tertiary), recency (newer > older for fast-moving topics), and authority (official > community > anecdotal).
|
|
29
|
+
9. **Write the evidence table** — Track what you found, not just conclusions:
|
|
30
|
+
|
|
31
|
+
| Fact | Source | Confidence | Open question |
|
|
32
|
+
| ------- | ------------ | ------------------- | ------------------------ |
|
|
33
|
+
| [Claim] | [URL or doc] | High / Medium / Low | [What's still uncertain] |
|
|
34
|
+
|
|
35
|
+
---
|
|
12
36
|
|
|
13
37
|
## Stop Rule
|
|
14
38
|
|
|
15
|
-
Stop
|
|
39
|
+
Stop when:
|
|
40
|
+
|
|
41
|
+
- Remaining uncertainty is low-impact (won't change the recommendation)
|
|
42
|
+
- OR the question is genuinely unresolvable from public sources (report this explicitly)
|
|
43
|
+
- OR you've completed 3 rounds without new signal (diminishing returns — report what's known and what's not)
|
|
44
|
+
|
|
45
|
+
Do NOT stop after one source when the claim is unstable, contested, or from a secondary source.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Output Format
|
|
50
|
+
|
|
51
|
+
Separate clearly:
|
|
52
|
+
|
|
53
|
+
- **Sourced facts** — you have direct evidence
|
|
54
|
+
- **Informed inference** — logically follows from evidence but not directly stated
|
|
55
|
+
- **Unresolved gaps** — you searched and didn't find it; note what's unknown
|
|
56
|
+
|
|
57
|
+
Do not present inference as fact. Do not present absence of evidence as evidence of absence.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Common Research Failure Modes
|
|
62
|
+
|
|
63
|
+
| Failure | Fix |
|
|
64
|
+
| ------------------------------------- | -------------------------------------------------- |
|
|
65
|
+
| Stopping at first result | Check at least 2-3 sources for any unstable claim |
|
|
66
|
+
| Only finding confirmation | Actively search for counterexamples and criticisms |
|
|
67
|
+
| Treating recent = correct | Cross-check recency with authority and context |
|
|
68
|
+
| Vague queries returning vague results | Restate the question as a specific, narrow query |
|
|
69
|
+
| Reporting uncertainty as fact | Use "inference" or "unknown" tags explicitly |
|
|
70
|
+
| Burying the answer in context | Lead with the finding; evidence follows |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Sub-Agent Reader Test
|
|
75
|
+
|
|
76
|
+
After completing research, if the output will be used by another agent or handed to a human without context:
|
|
77
|
+
|
|
78
|
+
- Pass the research summary to a fresh sub-agent with no conversation history
|
|
79
|
+
- Ask: "What is the main finding?", "What is still uncertain?", "What sources support the key claims?"
|
|
80
|
+
- If the fresh reader gets it wrong, the synthesis has context bleed — revise before delivery
|
|
@@ -31,9 +31,10 @@ Guide creation of distinctive, production-grade frontend interfaces that avoid g
|
|
|
31
31
|
Before writing code, ask or infer:
|
|
32
32
|
|
|
33
33
|
1. **Purpose** — What problem does this interface solve? Who uses it?
|
|
34
|
-
2. **
|
|
35
|
-
3. **
|
|
36
|
-
4. **
|
|
34
|
+
2. **Brand** — Is there an existing brand system, style guide, or named brand (e.g. "Anthropic", client guidelines, hex palette) to follow? If yes, load `references/brand-presets.md` and use `/brand` to apply it before choosing aesthetic direction.
|
|
35
|
+
3. **Tone** — If no brand system exists, pick a bold aesthetic direction: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian. There are many flavors. Pick one and commit.
|
|
36
|
+
4. **Constraints** — Technical requirements (framework, performance, a11y level, browser support).
|
|
37
|
+
5. **Differentiation** — What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
37
38
|
|
|
38
39
|
Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work — the key is intentionality, not intensity.
|
|
39
40
|
|
|
@@ -166,40 +167,42 @@ Deliver:
|
|
|
166
167
|
|
|
167
168
|
Load only what the current step needs.
|
|
168
169
|
|
|
169
|
-
| File | Load when
|
|
170
|
-
| ---------------------------------- |
|
|
171
|
-
| `references/typography.md` | Task involves font selection, type scale, font loading, or text hierarchy decisions.
|
|
172
|
-
| `references/color-and-contrast.md` | Task involves palette selection, dark mode, OKLCH color, contrast ratios, or tinted neutrals.
|
|
173
|
-
| `references/spatial-design.md` | Task involves grid systems, spacing rhythm, container queries, or layout composition.
|
|
174
|
-
| `references/motion-design.md` | Task involves animation timing, easing curves, staggered reveals, or reduced motion support.
|
|
175
|
-
| `references/interaction-design.md` | Task involves form design, focus management, loading states, or progressive disclosure patterns.
|
|
176
|
-
| `references/responsive-design.md` | Task involves mobile-first design, fluid layouts, container queries, or adaptive interfaces.
|
|
177
|
-
| `references/ux-writing.md` | Task involves button labels, error messages, empty states, or microcopy decisions.
|
|
178
|
-
| `references/ux-psychology.md` | Task involves cognitive load, decision architecture, trust building, or emotional design principles.
|
|
170
|
+
| File | Load when |
|
|
171
|
+
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
172
|
+
| `references/typography.md` | Task involves font selection, type scale, font loading, or text hierarchy decisions. |
|
|
173
|
+
| `references/color-and-contrast.md` | Task involves palette selection, dark mode, OKLCH color, contrast ratios, or tinted neutrals. |
|
|
174
|
+
| `references/spatial-design.md` | Task involves grid systems, spacing rhythm, container queries, or layout composition. |
|
|
175
|
+
| `references/motion-design.md` | Task involves animation timing, easing curves, staggered reveals, or reduced motion support. |
|
|
176
|
+
| `references/interaction-design.md` | Task involves form design, focus management, loading states, or progressive disclosure patterns. |
|
|
177
|
+
| `references/responsive-design.md` | Task involves mobile-first design, fluid layouts, container queries, or adaptive interfaces. |
|
|
178
|
+
| `references/ux-writing.md` | Task involves button labels, error messages, empty states, or microcopy decisions. |
|
|
179
|
+
| `references/ux-psychology.md` | Task involves cognitive load, decision architecture, trust building, or emotional design principles. |
|
|
180
|
+
| `references/brand-presets.md` | Task involves applying existing brand guidelines, a named brand system (e.g. Anthropic), or converting a hex palette into CSS tokens. |
|
|
179
181
|
|
|
180
182
|
## Commands
|
|
181
183
|
|
|
182
184
|
17 specialized commands for targeted design operations. Each command focuses on a specific design concern and can be applied to a whole page or a specific element.
|
|
183
185
|
|
|
184
|
-
| Command | Purpose
|
|
185
|
-
| ------------------- |
|
|
186
|
-
| `/audit` | Run technical quality checks: accessibility, performance, responsive behavior
|
|
187
|
-
| `/critique` | UX design review: hierarchy, clarity, emotional resonance, user flow
|
|
188
|
-
| `/normalize` | Align with design system standards: tokens, spacing, typography consistency
|
|
189
|
-
| `/polish` | Final pass before shipping: micro-details, alignment, visual refinement
|
|
190
|
-
| `/distill` | Strip to essence: remove unnecessary complexity, simplify without losing character
|
|
191
|
-
| `/clarify` | Improve unclear UX copy: labels, instructions, error messages, empty states
|
|
192
|
-
| `/optimize` | Performance improvements: image sizes, render-blocking, bundle impact
|
|
193
|
-
| `/harden` | Error handling, i18n readiness, edge cases, defensive UI patterns
|
|
194
|
-
| `/animate` | Add purposeful motion: transitions, micro-interactions, state changes
|
|
195
|
-
| `/colorize` | Introduce strategic color: palette refinement, accent placement, contrast fixes
|
|
196
|
-
| `/bolder` | Amplify timid designs: stronger hierarchy, more contrast, bigger gestures
|
|
197
|
-
| `/quieter` | Tone down overwhelming designs: reduce noise, increase whitespace, simplify
|
|
198
|
-
| `/delight` | Add moments of joy: easter eggs, satisfying interactions, personality
|
|
199
|
-
| `/extract` | Pull into reusable components: identify patterns, create component API
|
|
200
|
-
| `/adapt` | Adapt for different devices: responsive breakpoints, touch targets, viewport optimization
|
|
201
|
-
| `/onboard` | Design onboarding flows: first-run experience, empty states, progressive disclosure
|
|
202
|
-
| `/teach-impeccable` | One-time setup: gather project design context, save preferences for future sessions
|
|
186
|
+
| Command | Purpose |
|
|
187
|
+
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
188
|
+
| `/audit` | Run technical quality checks: accessibility, performance, responsive behavior |
|
|
189
|
+
| `/critique` | UX design review: hierarchy, clarity, emotional resonance, user flow |
|
|
190
|
+
| `/normalize` | Align with design system standards: tokens, spacing, typography consistency |
|
|
191
|
+
| `/polish` | Final pass before shipping: micro-details, alignment, visual refinement |
|
|
192
|
+
| `/distill` | Strip to essence: remove unnecessary complexity, simplify without losing character |
|
|
193
|
+
| `/clarify` | Improve unclear UX copy: labels, instructions, error messages, empty states |
|
|
194
|
+
| `/optimize` | Performance improvements: image sizes, render-blocking, bundle impact |
|
|
195
|
+
| `/harden` | Error handling, i18n readiness, edge cases, defensive UI patterns |
|
|
196
|
+
| `/animate` | Add purposeful motion: transitions, micro-interactions, state changes |
|
|
197
|
+
| `/colorize` | Introduce strategic color: palette refinement, accent placement, contrast fixes |
|
|
198
|
+
| `/bolder` | Amplify timid designs: stronger hierarchy, more contrast, bigger gestures |
|
|
199
|
+
| `/quieter` | Tone down overwhelming designs: reduce noise, increase whitespace, simplify |
|
|
200
|
+
| `/delight` | Add moments of joy: easter eggs, satisfying interactions, personality |
|
|
201
|
+
| `/extract` | Pull into reusable components: identify patterns, create component API |
|
|
202
|
+
| `/adapt` | Adapt for different devices: responsive breakpoints, touch targets, viewport optimization |
|
|
203
|
+
| `/onboard` | Design onboarding flows: first-run experience, empty states, progressive disclosure |
|
|
204
|
+
| `/teach-impeccable` | One-time setup: gather project design context, save preferences for future sessions |
|
|
205
|
+
| `/brand` | Apply or enforce a specific brand identity: convert guideline colors to CSS tokens, set typography, verify contrast |
|
|
203
206
|
|
|
204
207
|
Usage: Most commands accept an optional argument to focus on a specific area (e.g., `/audit header`, `/polish checkout-form`).
|
|
205
208
|
|
|
@@ -211,3 +214,5 @@ Usage: Most commands accept an optional argument to focus on a specific area (e.
|
|
|
211
214
|
- "/critique the checkout flow — is the hierarchy clear? Does it build trust?"
|
|
212
215
|
- "/polish the hero section before we ship."
|
|
213
216
|
- "I need a color system for a health tech app. No fintech blue, no AI purple."
|
|
217
|
+
- "/brand anthropic — apply Anthropic's brand colors and typography to this interface."
|
|
218
|
+
- "Here's our brand guide with hex values. Apply it to this dashboard — /brand"
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# /brand
|
|
2
|
+
|
|
3
|
+
Apply or enforce a specific brand identity across a frontend. Works from uploaded brand guidelines, a style guide document, hex palettes, or a named brand system.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/brand → Prompt for brand context, then apply
|
|
9
|
+
/brand anthropic → Apply Anthropic's brand system
|
|
10
|
+
/brand <hex-palette> → Build tokens from provided hex values
|
|
11
|
+
/brand <element> → Apply brand to a specific component or section
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## What It Does
|
|
15
|
+
|
|
16
|
+
Converts brand guidelines into a living CSS token system and applies it consistently across the interface. Outputs production-ready tokens plus updated component styles.
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
### 1. Gather Brand Inputs
|
|
21
|
+
|
|
22
|
+
Ask for (or detect from context):
|
|
23
|
+
|
|
24
|
+
- **Color values** — Primary, secondary, accent hex codes (or link to brand guide)
|
|
25
|
+
- **Typography** — Font families for headings and body. If not specified, choose a pairing that matches the brand's tone
|
|
26
|
+
- **Named brand** — If the user says "Anthropic", "Stripe", "Linear", "Vercel" etc., load known reference patterns from `references/brand-presets.md`
|
|
27
|
+
|
|
28
|
+
### 2. Convert to OKLCH Tokens
|
|
29
|
+
|
|
30
|
+
Translate all hex values to OKLCH for perceptual uniformity. See `references/brand-presets.md` for the full conversion workflow.
|
|
31
|
+
|
|
32
|
+
```css
|
|
33
|
+
/* Pattern: convert every color to oklch */
|
|
34
|
+
--brand-[name]: oklch(L% C H);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Build Semantic Token Layer
|
|
38
|
+
|
|
39
|
+
Map raw brand tokens to semantic roles. Never reference raw tokens directly in components:
|
|
40
|
+
|
|
41
|
+
```css
|
|
42
|
+
:root {
|
|
43
|
+
/* Surfaces */
|
|
44
|
+
--color-bg: var(--brand-surface);
|
|
45
|
+
--color-bg-subtle: var(--brand-subtle);
|
|
46
|
+
--color-bg-elevated: var(--brand-elevated);
|
|
47
|
+
|
|
48
|
+
/* Text */
|
|
49
|
+
--color-text: var(--brand-ink);
|
|
50
|
+
--color-text-muted: var(--brand-mid);
|
|
51
|
+
|
|
52
|
+
/* Interactive */
|
|
53
|
+
--color-accent: var(--brand-primary-accent);
|
|
54
|
+
--color-accent-hover: oklch(
|
|
55
|
+
from var(--brand-primary-accent) calc(l - 0.05) c h
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
/* Borders */
|
|
59
|
+
--color-border: var(--brand-subtle);
|
|
60
|
+
--color-border-focus: var(--brand-primary-accent);
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 4. Apply Typography
|
|
65
|
+
|
|
66
|
+
Set font families from brand guidelines and load them via Google Fonts or system stack:
|
|
67
|
+
|
|
68
|
+
```css
|
|
69
|
+
@import url("https://fonts.googleapis.com/css2?family=DISPLAY_FONT&family=BODY_FONT&display=swap");
|
|
70
|
+
|
|
71
|
+
:root {
|
|
72
|
+
--font-display: "Display Font", fallback, sans-serif;
|
|
73
|
+
--font-body: "Body Font", fallback, serif;
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Apply via element targeting:
|
|
78
|
+
|
|
79
|
+
- Headings, labels, buttons, nav → `var(--font-display)`
|
|
80
|
+
- Body copy, prose, descriptions → `var(--font-body)`
|
|
81
|
+
|
|
82
|
+
### 5. Output Deliverables
|
|
83
|
+
|
|
84
|
+
Deliver:
|
|
85
|
+
|
|
86
|
+
1. **Complete token file** — `tokens.css` or `:root {}` block with all brand tokens + semantic layer
|
|
87
|
+
2. **Typography setup** — Font import + application rules
|
|
88
|
+
3. **Component overrides** — Button, card, link, input, badge in brand style
|
|
89
|
+
4. **Dark mode** — Inverted/adapted token values for `prefers-color-scheme: dark`
|
|
90
|
+
5. **Usage notes** — How to swap the brand accent, where NOT to use accent color, contrast verification
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Anthropic Brand Quick-Apply
|
|
95
|
+
|
|
96
|
+
When the user requests Anthropic brand styling, use this preset directly:
|
|
97
|
+
|
|
98
|
+
```css
|
|
99
|
+
/* ========================================
|
|
100
|
+
ANTHROPIC BRAND TOKENS
|
|
101
|
+
Source: github.com/anthropics/skills
|
|
102
|
+
======================================== */
|
|
103
|
+
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap");
|
|
104
|
+
|
|
105
|
+
:root {
|
|
106
|
+
/* Neutrals */
|
|
107
|
+
--brand-ink: oklch(10.5% 0.006 85);
|
|
108
|
+
--brand-cream: oklch(98.2% 0.008 85);
|
|
109
|
+
--brand-mid: oklch(72% 0.009 85);
|
|
110
|
+
--brand-subtle: oklch(92% 0.01 85);
|
|
111
|
+
|
|
112
|
+
/* Accents */
|
|
113
|
+
--brand-orange: oklch(65% 0.145 42);
|
|
114
|
+
--brand-blue: oklch(65% 0.09 235);
|
|
115
|
+
--brand-green: oklch(57% 0.09 130);
|
|
116
|
+
|
|
117
|
+
/* Semantic layer */
|
|
118
|
+
--color-bg: var(--brand-cream);
|
|
119
|
+
--color-bg-subtle: var(--brand-subtle);
|
|
120
|
+
--color-text: var(--brand-ink);
|
|
121
|
+
--color-text-secondary: var(--brand-mid);
|
|
122
|
+
--color-accent: var(--brand-orange);
|
|
123
|
+
--color-accent-secondary: var(--brand-blue);
|
|
124
|
+
--color-border: var(--brand-subtle);
|
|
125
|
+
|
|
126
|
+
/* Typography */
|
|
127
|
+
--font-display: "Poppins", Arial, sans-serif;
|
|
128
|
+
--font-body: "Lora", Georgia, serif;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@media (prefers-color-scheme: dark) {
|
|
132
|
+
:root {
|
|
133
|
+
--color-bg: var(--brand-ink);
|
|
134
|
+
--color-bg-subtle: oklch(16% 0.008 85);
|
|
135
|
+
--color-text: var(--brand-cream);
|
|
136
|
+
--color-text-secondary: var(--brand-mid);
|
|
137
|
+
--color-border: oklch(22% 0.008 85);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Accessibility Check After Applying
|
|
145
|
+
|
|
146
|
+
After applying brand tokens, verify:
|
|
147
|
+
|
|
148
|
+
1. **Text contrast**: `--color-text` on `--color-bg` must pass WCAG AA (4.5:1 normal, 3:1 large)
|
|
149
|
+
2. **Accent on background**: `--color-accent` used as text or border must meet 3:1 minimum against its background
|
|
150
|
+
3. **Focus states**: `--color-border-focus` must be visually distinct (3:1 against surrounding colors)
|
|
151
|
+
|
|
152
|
+
For Anthropic's palette: cream `#faf9f5` on near-black `#141413` gives ~18:1 — passes AAA. Orange `#d97757` on cream gives ~3.2:1 — acceptable for large text and UI components, not for small body text.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Tone Alignment
|
|
157
|
+
|
|
158
|
+
After applying brand colors, make sure the _design choices_ match the brand character:
|
|
159
|
+
|
|
160
|
+
| Brand character | Design implication |
|
|
161
|
+
| ------------------------------------ | ---------------------------------------------------------------------------- |
|
|
162
|
+
| Warm, editorial (Anthropic) | Generous whitespace, serif body, soft borders, understated motion |
|
|
163
|
+
| Precise, minimal (Linear, Vercel) | Tight spacing, geometric sans only, sharp edges, instant transitions |
|
|
164
|
+
| Bold, consumer (Spotify, Duolingo) | Color-heavy, large type, playful shapes, expressive animation |
|
|
165
|
+
| Trustworthy, enterprise (Salesforce) | Blue-dominant, structured grids, conservative type, high information density |
|
|
166
|
+
|
|
167
|
+
Color alone doesn't make a branded interface feel right — spacing, motion, and layout personality must match.
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Brand Presets Reference
|
|
2
|
+
|
|
3
|
+
Use this reference when building interfaces that must conform to an existing brand system — whether a client-supplied style guide, a design system handoff, or a well-documented brand like Anthropic's.
|
|
4
|
+
|
|
5
|
+
## Receiving Brand Guidelines
|
|
6
|
+
|
|
7
|
+
When a user hands over brand guidelines, extract these five things before writing any code:
|
|
8
|
+
|
|
9
|
+
| Extract | Ask or infer |
|
|
10
|
+
| ------------------ | ---------------------------------------------------------------------------- |
|
|
11
|
+
| **Color palette** | What are the primary, secondary, and accent hex values? |
|
|
12
|
+
| **Neutral system** | Are neutrals warm, cool, or truly achromatic? |
|
|
13
|
+
| **Typography** | Specific font families for headings and body? Variable font available? |
|
|
14
|
+
| **Spacing DNA** | Base unit? Tight/airy preference? |
|
|
15
|
+
| **Tone** | Where on the spectrum between playful ↔ authoritative, minimal ↔ expressive? |
|
|
16
|
+
|
|
17
|
+
## Hex → OKLCH Conversion Workflow
|
|
18
|
+
|
|
19
|
+
Always convert brand hex colors to OKLCH for CSS. OKLCH gives you perceptual uniformity — colors with the same L value look equally bright, unlike hex or HSL.
|
|
20
|
+
|
|
21
|
+
```css
|
|
22
|
+
/* Conversion pattern: hex → oklch via CSS Color 4 */
|
|
23
|
+
/* Most modern browsers accept oklch() natively */
|
|
24
|
+
/* Use https://oklch.com to find values, or compute: */
|
|
25
|
+
|
|
26
|
+
/* L = perceived lightness 0–100% */
|
|
27
|
+
/* C = chroma (colorfulness) 0–0.37ish */
|
|
28
|
+
/* H = hue angle 0–360 */
|
|
29
|
+
|
|
30
|
+
/* Example: #d97757 (warm orange) */
|
|
31
|
+
--brand-orange: oklch(65% 0.145 42);
|
|
32
|
+
|
|
33
|
+
/* Example: #faf9f5 (warm cream) */
|
|
34
|
+
--brand-surface: oklch(98.2% 0.008 85);
|
|
35
|
+
|
|
36
|
+
/* Example: #141413 (warm near-black) */
|
|
37
|
+
--brand-ink: oklch(10.5% 0.006 85);
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Shorthand**: enter any hex at [oklch.com](https://oklch.com) to get the L/C/H values.
|
|
41
|
+
|
|
42
|
+
## Semantic Token Mapping
|
|
43
|
+
|
|
44
|
+
Once you have OKLCH values, map them to semantic tokens — never use raw hex or oklch values directly in components:
|
|
45
|
+
|
|
46
|
+
```css
|
|
47
|
+
:root {
|
|
48
|
+
/* --- RAW BRAND TOKENS (source of truth) --- */
|
|
49
|
+
--brand-ink: oklch(10.5% 0.006 85); /* near-black, warm */
|
|
50
|
+
--brand-surface: oklch(98.2% 0.008 85); /* cream white */
|
|
51
|
+
--brand-mid: oklch(72% 0.009 85); /* mid-range gray */
|
|
52
|
+
--brand-subtle: oklch(92% 0.01 85); /* light gray */
|
|
53
|
+
--brand-orange: oklch(65% 0.145 42); /* primary accent */
|
|
54
|
+
--brand-blue: oklch(65% 0.09 235); /* secondary accent */
|
|
55
|
+
--brand-green: oklch(57% 0.09 130); /* tertiary accent */
|
|
56
|
+
|
|
57
|
+
/* --- SEMANTIC TOKENS (what components use) --- */
|
|
58
|
+
--color-bg: var(--brand-surface);
|
|
59
|
+
--color-bg-subtle: var(--brand-subtle);
|
|
60
|
+
--color-text: var(--brand-ink);
|
|
61
|
+
--color-text-secondary: var(--brand-mid);
|
|
62
|
+
--color-accent: var(--brand-orange);
|
|
63
|
+
--color-accent-secondary: var(--brand-blue);
|
|
64
|
+
--color-accent-tertiary: var(--brand-green);
|
|
65
|
+
--color-border: var(--brand-subtle);
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Anthropic Brand System
|
|
70
|
+
|
|
71
|
+
Anthropic's brand (from [anthropics/skills](https://github.com/anthropics/skills/tree/main/skills/brand-guidelines)) is a useful reference implementation. It's a warm, editorial system — earthy neutrals with bold accent contrast.
|
|
72
|
+
|
|
73
|
+
### Color Palette
|
|
74
|
+
|
|
75
|
+
```css
|
|
76
|
+
:root {
|
|
77
|
+
/* Neutrals — warm hue angle ~85 (yellow-brown direction) */
|
|
78
|
+
--anthropic-ink: oklch(10.5% 0.006 85); /* #141413 — body text, dark bg */
|
|
79
|
+
--anthropic-cream: oklch(
|
|
80
|
+
98.2% 0.008 85
|
|
81
|
+
); /* #faf9f5 — light bg, text on dark */
|
|
82
|
+
--anthropic-mid: oklch(72% 0.009 85); /* #b0aea5 — secondary text */
|
|
83
|
+
--anthropic-subtle: oklch(92% 0.01 85); /* #e8e6dc — dividers, subtle bg */
|
|
84
|
+
|
|
85
|
+
/* Accents — arranged in visual temperature order */
|
|
86
|
+
--anthropic-orange: oklch(
|
|
87
|
+
65% 0.145 42
|
|
88
|
+
); /* #d97757 — primary CTA, highlights */
|
|
89
|
+
--anthropic-blue: oklch(65% 0.09 235); /* #6a9bcc — secondary actions */
|
|
90
|
+
--anthropic-green: oklch(
|
|
91
|
+
57% 0.09 130
|
|
92
|
+
); /* #788c5d — tertiary, success states */
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Typography
|
|
97
|
+
|
|
98
|
+
```css
|
|
99
|
+
/* Load from Google Fonts */
|
|
100
|
+
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap");
|
|
101
|
+
|
|
102
|
+
:root {
|
|
103
|
+
--font-display: "Poppins", Arial, sans-serif; /* headings, nav, labels */
|
|
104
|
+
--font-body: "Lora", Georgia, serif; /* body text, long-form */
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Application rules */
|
|
108
|
+
h1,
|
|
109
|
+
h2,
|
|
110
|
+
h3,
|
|
111
|
+
h4,
|
|
112
|
+
h5,
|
|
113
|
+
h6,
|
|
114
|
+
.label,
|
|
115
|
+
.nav-item,
|
|
116
|
+
.button,
|
|
117
|
+
.badge {
|
|
118
|
+
font-family: var(--font-display);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
p,
|
|
122
|
+
blockquote,
|
|
123
|
+
.prose,
|
|
124
|
+
article {
|
|
125
|
+
font-family: var(--font-body);
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Why this pairing works**: Poppins is geometric and structured — clear, modern authority. Lora is elegant serif — warm, readable, literary. Together they balance clarity with warmth, matching Anthropic's positioning between scientific rigor and approachability.
|
|
130
|
+
|
|
131
|
+
### Spacing DNA
|
|
132
|
+
|
|
133
|
+
The brand leans into generous negative space. Use a `8px` base unit with larger gaps between major sections:
|
|
134
|
+
|
|
135
|
+
```css
|
|
136
|
+
:root {
|
|
137
|
+
--space-1: 0.5rem; /* 8px — tight groupings */
|
|
138
|
+
--space-2: 1rem; /* 16px — component padding */
|
|
139
|
+
--space-3: 1.5rem; /* 24px — between related elements */
|
|
140
|
+
--space-4: 2rem; /* 32px — section mini-gap */
|
|
141
|
+
--space-6: 3rem; /* 48px — between sections */
|
|
142
|
+
--space-8: 4rem; /* 64px — major section spacing */
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Component Patterns
|
|
147
|
+
|
|
148
|
+
```css
|
|
149
|
+
/* Card — warm border, generous padding, no shadow */
|
|
150
|
+
.card {
|
|
151
|
+
background: var(--anthropic-subtle);
|
|
152
|
+
border: 1px solid var(--anthropic-mid);
|
|
153
|
+
border-radius: 4px; /* subtle — not pill-shaped */
|
|
154
|
+
padding: var(--space-4);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Button — orange CTA */
|
|
158
|
+
.button-primary {
|
|
159
|
+
background: var(--anthropic-orange);
|
|
160
|
+
color: var(--anthropic-cream);
|
|
161
|
+
font-family: var(--font-display);
|
|
162
|
+
font-weight: 500;
|
|
163
|
+
letter-spacing: 0.01em;
|
|
164
|
+
border-radius: 4px;
|
|
165
|
+
padding: 0.625rem 1.5rem;
|
|
166
|
+
border: none;
|
|
167
|
+
}
|
|
168
|
+
.button-primary:hover {
|
|
169
|
+
background: oklch(60% 0.145 42); /* slightly darker orange */
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* Text link — uses orange, not blue */
|
|
173
|
+
a {
|
|
174
|
+
color: var(--anthropic-orange);
|
|
175
|
+
text-decoration-thickness: 1px;
|
|
176
|
+
text-underline-offset: 3px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* Code / monospace — uses ink on subtle bg */
|
|
180
|
+
code {
|
|
181
|
+
background: var(--anthropic-subtle);
|
|
182
|
+
color: var(--anthropic-ink);
|
|
183
|
+
font-size: 0.875em;
|
|
184
|
+
padding: 0.2em 0.4em;
|
|
185
|
+
border-radius: 3px;
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Dark Mode
|
|
190
|
+
|
|
191
|
+
Anthropic's palette inverts gracefully — the cream and ink swap, mid-tones pull slightly warmer:
|
|
192
|
+
|
|
193
|
+
```css
|
|
194
|
+
@media (prefers-color-scheme: dark) {
|
|
195
|
+
:root {
|
|
196
|
+
--color-bg: var(--anthropic-ink);
|
|
197
|
+
--color-bg-subtle: oklch(16% 0.008 85); /* slightly elevated */
|
|
198
|
+
--color-text: var(--anthropic-cream);
|
|
199
|
+
--color-text-secondary: var(--anthropic-mid);
|
|
200
|
+
--color-border: oklch(22% 0.008 85);
|
|
201
|
+
/* Accents stay the same — they hold on both backgrounds */
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Applying Other Brand Systems
|
|
207
|
+
|
|
208
|
+
When adapting a different brand, follow this checklist:
|
|
209
|
+
|
|
210
|
+
1. **Extract and convert** — Get all hex values, convert to oklch
|
|
211
|
+
2. **Identify neutrals** — Are they warm, cool, or pure gray? Find the hue angle
|
|
212
|
+
3. **Map the hierarchy** — Which color is dominant (60%), which secondary (30%), which accent (10%)?
|
|
213
|
+
4. **Check contrast** — Use the WCAG APCa algorithm for text contrast. oklch makes this predictable
|
|
214
|
+
5. **Find the typography voice** — Geometric sans = structured/modern; humanist sans = friendly; slab = authoritative; oldstyle serif = editorial; transitional serif = professional
|
|
215
|
+
6. **Test the mood** — Show a prototype section in brand colors. Does it _feel_ like the brand in motion, not just color?
|
|
216
|
+
|
|
217
|
+
## Common Brand Color Archetypes
|
|
218
|
+
|
|
219
|
+
| Archetype | Neutrals | Primary accent | Feeling |
|
|
220
|
+
| ------------------------------ | ----------------------- | -------------------- | --------------------------------- |
|
|
221
|
+
| **Warm editorial** (Anthropic) | Cream / warm near-black | Orange / terracotta | Thoughtful, approachable, premium |
|
|
222
|
+
| **Cool tech** | True gray / white | Electric blue / teal | Precise, efficient, modern |
|
|
223
|
+
| **Finance/enterprise** | Navy / white | Deep blue / gold | Stable, trustworthy, conservative |
|
|
224
|
+
| **Health/wellness** | Off-white / dark green | Sage green / amber | Natural, calm, nurturing |
|
|
225
|
+
| **Startup/consumer** | White / black | Bold purple or coral | Energetic, fun, accessible |
|
|
226
|
+
| **Luxury** | White / true black | Gold / burgundy | Exclusive, refined, timeless |
|
|
227
|
+
|
|
228
|
+
When working with a brand that fits these archetypes, pull from the pattern — then make one unexpected choice to give it character.
|
package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/playwright-e2e/SKILL.md
CHANGED
|
@@ -4,14 +4,14 @@ description: "Use when writing or reviewing browser end-to-end tests with Playwr
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: cubis-foundry
|
|
7
|
-
version: "
|
|
7
|
+
version: "2.0"
|
|
8
8
|
compatibility: Claude Code, Codex, GitHub Copilot
|
|
9
9
|
---
|
|
10
10
|
# Playwright E2E
|
|
11
11
|
|
|
12
12
|
## Purpose
|
|
13
13
|
|
|
14
|
-
Use when writing or reviewing browser end-to-end tests with Playwright, debugging flaky UI automation, validating auth or checkout flows, or tightening CI evidence with traces and web-first assertions.
|
|
14
|
+
Use when writing or reviewing browser end-to-end tests with Playwright, debugging flaky UI automation, validating auth or checkout flows, or tightening CI evidence with traces and web-first assertions. When Playwright MCP upstream is configured in Cubis Foundry, leverage browser automation tools for live page inspection, snapshot-based debugging, and interactive test development.
|
|
15
15
|
|
|
16
16
|
## When to Use
|
|
17
17
|
|
|
@@ -19,6 +19,7 @@ Use when writing or reviewing browser end-to-end tests with Playwright, debuggin
|
|
|
19
19
|
- Debugging flaky E2E failures, locator instability, or auth state leakage in CI.
|
|
20
20
|
- Choosing between fixtures, reusable helpers, and page-level abstractions.
|
|
21
21
|
- Reviewing traces, screenshots, videos, and network activity to isolate browser failures.
|
|
22
|
+
- Using Playwright MCP tools for live browser navigation, snapshot capture, and interactive element inspection during test development.
|
|
22
23
|
|
|
23
24
|
## Instructions
|
|
24
25
|
|
|
@@ -28,6 +29,19 @@ Use when writing or reviewing browser end-to-end tests with Playwright, debuggin
|
|
|
28
29
|
4. Use web-first assertions, traces, and network evidence before calling a test flaky.
|
|
29
30
|
5. Leave CI with artifacts that explain the failure path instead of screenshots alone.
|
|
30
31
|
|
|
32
|
+
### Playwright MCP tools
|
|
33
|
+
|
|
34
|
+
When the Playwright upstream is configured in the Cubis Foundry MCP gateway, these tool categories are available for interactive browser automation:
|
|
35
|
+
|
|
36
|
+
- **Navigation**: `browser_navigate`, `browser_go_back`, `browser_go_forward`, `browser_wait` — open pages, navigate history, wait for network idle.
|
|
37
|
+
- **Snapshots**: `browser_snapshot` — capture an accessibility-tree snapshot of the current page for element inspection and locator discovery.
|
|
38
|
+
- **Interaction**: `browser_click`, `browser_type`, `browser_select_option`, `browser_hover`, `browser_drag` — interact with page elements using accessibility refs from snapshots.
|
|
39
|
+
- **Keyboard & files**: `browser_press_key`, `browser_file_upload` — press keys or upload files.
|
|
40
|
+
- **Tabs**: `browser_tab_list`, `browser_tab_new`, `browser_tab_select`, `browser_tab_close` — manage browser tabs.
|
|
41
|
+
- **Utilities**: `browser_console_messages`, `browser_generate_playwright_test`, `browser_network_requests`, `browser_install` — read console logs, generate test code, inspect network, install browsers.
|
|
42
|
+
|
|
43
|
+
Use MCP tools during development to inspect live pages and generate locator-accurate test code. Use the Playwright test runner and CI pipeline for execution.
|
|
44
|
+
|
|
31
45
|
### Baseline standards
|
|
32
46
|
|
|
33
47
|
- Test user-visible behavior rather than component internals or CSS structure.
|
|
@@ -51,9 +65,9 @@ Provide implementation guidance, code examples, and configuration as appropriate
|
|
|
51
65
|
|
|
52
66
|
Load on demand. Do not preload all reference files.
|
|
53
67
|
|
|
54
|
-
| File
|
|
55
|
-
|
|
|
56
|
-
| `references/locator-trace-flake-checklist.md` | You need a deeper checklist for locator choice, auth setup, trace-driven debugging, retries, CI artifacts, or
|
|
68
|
+
| File | Load when |
|
|
69
|
+
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
70
|
+
| `references/locator-trace-flake-checklist.md` | You need a deeper checklist for locator choice, auth setup, trace-driven debugging, retries, CI artifacts, flake triage, or MCP workflow patterns. |
|
|
57
71
|
|
|
58
72
|
## Scripts
|
|
59
73
|
|
|
@@ -63,3 +77,5 @@ No helper scripts are required for this skill right now. Keep execution in `SKIL
|
|
|
63
77
|
|
|
64
78
|
- "Help me with playwright e2e best practices in this project"
|
|
65
79
|
- "Review my playwright e2e implementation for issues"
|
|
80
|
+
- "Use Playwright MCP to inspect the login page and generate test code"
|
|
81
|
+
- "Check playwright upstream status and available browser tools"
|