forge-orkes 0.3.9 → 0.3.10
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/package.json +1 -1
- package/template/.claude/agents/executor.md +37 -50
- package/template/.claude/agents/planner.md +33 -41
- package/template/.claude/agents/researcher.md +24 -26
- package/template/.claude/agents/reviewer.md +45 -53
- package/template/.claude/agents/verifier.md +30 -50
- package/template/.claude/skills/architecting/SKILL.md +32 -46
- package/template/.claude/skills/beads-integration/SKILL.md +27 -43
- package/template/.claude/skills/debugging/SKILL.md +34 -35
- package/template/.claude/skills/designing/SKILL.md +33 -52
- package/template/.claude/skills/discussing/SKILL.md +139 -180
- package/template/.claude/skills/executing/SKILL.md +85 -157
- package/template/.claude/skills/forge/SKILL.md +98 -142
- package/template/.claude/skills/initializing/SKILL.md +104 -144
- package/template/.claude/skills/planning/SKILL.md +65 -67
- package/template/.claude/skills/quick-tasking/SKILL.md +25 -31
- package/template/.claude/skills/researching/SKILL.md +22 -32
- package/template/.claude/skills/reviewing/SKILL.md +133 -164
- package/template/.claude/skills/securing/SKILL.md +19 -19
- package/template/.claude/skills/upgrading/SKILL.md +19 -27
- package/template/.claude/skills/verifying/SKILL.md +52 -80
|
@@ -1,92 +1,76 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: designing
|
|
3
|
-
description: "
|
|
3
|
+
description: "Build consistent, accessible UIs using the project's design system. Reads config from .forge/project.yml and component mappings from .forge/design-system.md."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Designing
|
|
7
7
|
|
|
8
|
-
Build consistent, accessible UIs by using the project's design system, not fighting it.
|
|
9
|
-
|
|
10
8
|
## Step 1: Load Design System Config
|
|
11
9
|
|
|
12
|
-
Read the project's design system configuration:
|
|
13
|
-
|
|
14
10
|
```
|
|
15
11
|
Read: .forge/project.yml → design_system section
|
|
16
12
|
Read: .forge/design-system.md (component mapping table)
|
|
17
13
|
```
|
|
18
14
|
|
|
19
|
-
If neither exists,
|
|
20
|
-
- *"This project doesn't have a design system configured. Would you like to set one up now, or proceed without design system enforcement?"*
|
|
15
|
+
If neither exists, ask the user: set one up now, or proceed without design system enforcement?
|
|
21
16
|
|
|
22
|
-
If `design_system.library` is `none`, skip component enforcement
|
|
17
|
+
If `design_system.library` is `none`, skip component enforcement. Focus on accessibility, responsiveness, and loading states.
|
|
23
18
|
|
|
24
19
|
## Step 2: Component Mapping
|
|
25
20
|
|
|
26
|
-
The
|
|
21
|
+
The mapping table in `.forge/design-system.md` is the source of truth — maps UI needs to library components.
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
1. Look up the UI need
|
|
30
|
-
2. Use the mapped component with
|
|
31
|
-
3. If
|
|
23
|
+
For every UI element:
|
|
24
|
+
1. Look up the UI need in the mapping table
|
|
25
|
+
2. Use the mapped component with documented props
|
|
26
|
+
3. If unmapped → check library docs → add to the table
|
|
32
27
|
|
|
33
|
-
**Never build custom HTML/CSS for patterns the design system provides.**
|
|
28
|
+
**Never build custom HTML/CSS for patterns the design system provides.**
|
|
34
29
|
|
|
35
30
|
## Step 3: Style Rules
|
|
36
31
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
1. **Use the design system's tokens, NOT custom CSS values**
|
|
32
|
+
1. **Design system tokens, not custom CSS values**
|
|
40
33
|
- Read `design_system.theme_approach` from project.yml
|
|
41
34
|
- Bad: `style={{color: '#3B82F6', padding: '12px'}}`
|
|
42
|
-
- Good:
|
|
35
|
+
- Good: Library utility classes or theme tokens
|
|
43
36
|
|
|
44
|
-
2. **
|
|
37
|
+
2. **Design system components, not raw HTML**
|
|
45
38
|
- Bad: `<table><thead><tr><th>` for data display
|
|
46
|
-
- Good:
|
|
47
|
-
- Bad: `<div className="modal-overlay">` with absolute positioning
|
|
48
|
-
- Good: The library's dialog/modal component
|
|
39
|
+
- Good: Library's table/data grid component
|
|
49
40
|
|
|
50
|
-
3. **
|
|
51
|
-
- Read `design_system.icon_set` from project.yml
|
|
52
|
-
- Use only icons from this set for consistency
|
|
41
|
+
3. **Configured icon set only** — read `design_system.icon_set` from project.yml
|
|
53
42
|
|
|
54
|
-
4. **
|
|
55
|
-
- Read `design_system.layout_system` from project.yml
|
|
56
|
-
- Use its grid/flex utilities for responsive layouts
|
|
57
|
-
- Never hardcode pixel widths for responsive layouts
|
|
43
|
+
4. **Configured layout system** — read `design_system.layout_system` from project.yml. Never hardcode pixel widths for responsive layouts.
|
|
58
44
|
|
|
59
|
-
5. **Theme
|
|
60
|
-
- Override theme variables in the designated theme config
|
|
61
|
-
- Never scatter theme overrides across component files
|
|
45
|
+
5. **Theme overrides in theme files, not inline** — never scatter overrides across component files
|
|
62
46
|
|
|
63
47
|
## Step 4: General Design Principles
|
|
64
48
|
|
|
65
|
-
|
|
49
|
+
Apply regardless of design system choice.
|
|
66
50
|
|
|
67
51
|
### Accessibility
|
|
68
52
|
- Every interactive element needs a label (visible or `aria-label`)
|
|
69
|
-
- Color is never the only indicator
|
|
53
|
+
- Color is never the only indicator — pair with icons
|
|
70
54
|
- Keyboard navigation works for all interactive elements
|
|
71
|
-
- Focus indicators
|
|
72
|
-
-
|
|
55
|
+
- Focus indicators visible
|
|
56
|
+
- Design system components handle a11y by default — don't override
|
|
73
57
|
|
|
74
58
|
### Responsive Design
|
|
75
59
|
- Mobile-first: design for small screens, enhance for large
|
|
76
60
|
- Use the layout system's breakpoints
|
|
77
|
-
- Test at 320px, 768px, 1024px, 1440px
|
|
78
|
-
- Tables
|
|
61
|
+
- Test at 320px, 768px, 1024px, 1440px
|
|
62
|
+
- Tables scroll horizontally on mobile
|
|
79
63
|
|
|
80
64
|
### Loading States
|
|
81
|
-
-
|
|
82
|
-
-
|
|
65
|
+
- Show loading indicators for all async operations
|
|
66
|
+
- Skeleton loaders or spinners during data fetch
|
|
83
67
|
- Disable submit buttons while processing
|
|
84
68
|
|
|
85
69
|
### Form Patterns
|
|
86
|
-
- Labels above inputs
|
|
87
|
-
- Validation messages
|
|
88
|
-
- Submit buttons show loading state
|
|
89
|
-
-
|
|
70
|
+
- Labels above inputs (better for mobile and a11y)
|
|
71
|
+
- Validation messages near the relevant field
|
|
72
|
+
- Submit buttons show loading state
|
|
73
|
+
- Use the design system's form components
|
|
90
74
|
|
|
91
75
|
## Step 5: Output Checklist
|
|
92
76
|
|
|
@@ -96,15 +80,13 @@ These apply regardless of which design system is used (or if none is used).
|
|
|
96
80
|
- [ ] Configured icon set used for all icons
|
|
97
81
|
- [ ] Responsive layout using configured layout system
|
|
98
82
|
- [ ] Keyboard navigation works
|
|
99
|
-
- [ ] Loading states
|
|
83
|
+
- [ ] Loading states for all async operations
|
|
100
84
|
- [ ] Forms use proper labels and validation messages
|
|
101
85
|
|
|
102
86
|
## Creating a New Design System Config
|
|
103
87
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
1. **Research the library**: Use `researching` skill to pull component docs
|
|
107
|
-
2. **Build the mapping table**: Create `.forge/design-system.md` with this structure:
|
|
88
|
+
1. Research the library via the `researching` skill
|
|
89
|
+
2. Build `.forge/design-system.md`:
|
|
108
90
|
|
|
109
91
|
```markdown
|
|
110
92
|
# Design System: {Library Name}
|
|
@@ -118,7 +100,6 @@ Docs: {docs_url}
|
|
|
118
100
|
| Data table | `<ComponentName>` | `prop1`, `prop2` | `<ComponentName prop1={val} />` |
|
|
119
101
|
| Modal | ... | ... | ... |
|
|
120
102
|
| Dropdown | ... | ... | ... |
|
|
121
|
-
| ... | ... | ... | ... |
|
|
122
103
|
|
|
123
104
|
## Style Rules
|
|
124
105
|
|
|
@@ -129,6 +110,6 @@ Docs: {docs_url}
|
|
|
129
110
|
{How to use icons from the configured icon set}
|
|
130
111
|
```
|
|
131
112
|
|
|
132
|
-
3.
|
|
113
|
+
3. Present the mapping to the user for validation
|
|
133
114
|
|
|
134
|
-
Example configs
|
|
115
|
+
Example configs in `.forge/templates/design-systems/`.
|