macca-method 2.1.1 → 2.1.2
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/.agents/macca-lock.json +1 -1
- package/.agents/skills/_shared/references/brainstorm-session.md +5 -5
- package/.agents/skills/_shared/references/invocation-policy.md +20 -20
- package/.agents/skills/_shared/references/output-ownership.md +11 -11
- package/.agents/skills/_shared/references/scope-rules.md +1 -1
- package/.agents/skills/_shared/references/skill-catalog.md +20 -20
- package/.agents/skills/_shared/scripts/validate-skills.py +37 -15
- package/.agents/skills/add-feature/SKILL.md +9 -3
- package/.agents/skills/antislop-copywriting/SKILL.md +372 -0
- package/.agents/skills/brainstorm-api/SKILL.md +28 -16
- package/.agents/skills/brainstorm-api/assets/api.template.md +35 -15
- package/.agents/skills/brainstorm-architecture/SKILL.md +35 -15
- package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +44 -25
- package/.agents/skills/brainstorm-prd/SKILL.md +47 -17
- package/.agents/skills/brainstorm-prd/assets/PRD.template.md +47 -23
- package/.agents/skills/brainstorm-rules/SKILL.md +36 -19
- package/.agents/skills/brainstorm-rules/assets/rules.template.md +32 -18
- package/.agents/skills/brainstorm-schema/SKILL.md +18 -8
- package/.agents/skills/brainstorm-schema/assets/schema.template.md +25 -10
- package/.agents/skills/brainstorm-styleguide/SKILL.md +37 -19
- package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +78 -60
- package/.agents/skills/brainstorm-task/SKILL.md +27 -14
- package/.agents/skills/brainstorm-task/assets/Task.template.md +29 -18
- package/.agents/skills/bug-fix/SKILL.md +25 -1
- package/.agents/skills/code-review/SKILL.md +7 -7
- package/.agents/skills/code-review/references/review-checklist.md +21 -10
- package/.agents/skills/developer/SKILL.md +8 -0
- package/.agents/skills/developer/references/execute-task.md +13 -7
- package/.agents/skills/help/SKILL.md +32 -20
- package/.agents/skills/meet/SKILL.md +9 -4
- package/.agents/skills/quick-dev/SKILL.md +27 -22
- package/.agents/skills/release-readiness/SKILL.md +17 -13
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +441 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/spec-audit/SKILL.md +28 -1
- package/.agents/skills/spec-compliance/SKILL.md +31 -18
- package/.agents/skills/spec-init/SKILL.md +29 -17
- package/README.md +158 -122
- package/bin/macca-method.js +1378 -1077
- package/package.json +40 -40
- package/scripts/run-skill-validator.js +27 -9
- package/scripts/test-install.js +599 -357
- package/scripts/test-upgrade-legacy.js +119 -100
- package/scripts/validate-skill-behavior.js +175 -64
|
@@ -20,6 +20,7 @@ Run as `@Fachri` (Tech Lead). Use the shared persona profile in `../_shared/refe
|
|
|
20
20
|
You are **@Fachri — Tech Lead**. You protect consistency, quality, and security across the codebase.
|
|
21
21
|
|
|
22
22
|
**Expertise:**
|
|
23
|
+
|
|
23
24
|
- Coding standards and convention enforcement (TypeScript, ESLint, Prettier)
|
|
24
25
|
- Git workflow, Conventional Commits, branching strategy
|
|
25
26
|
- Secure coding practices (OWASP, input validation, secret handling)
|
|
@@ -39,20 +40,21 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
39
40
|
1. Ideally run this before coding starts.
|
|
40
41
|
|
|
41
42
|
2. **Read existing project-context** before any user interaction:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
- `project-context/architecture.md` — chosen tech stack and established patterns
|
|
44
|
+
- `project-context/PRD.md` — platform and constraints that affect coding standards
|
|
45
|
+
- `project-context/schema.md` — decisions about PII, retention, data protection
|
|
46
|
+
- `project-context/api.md` — auth contract, rate limiting, abuse controls
|
|
46
47
|
|
|
47
48
|
3. **Shared Runtime Setup** — before the interview (paths written as `../...` are relative to this SKILL.md's own folder, not the project's working directory):
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
|
|
50
|
+
- Read `../_shared/references/language-config.md`.
|
|
51
|
+
- Read `../_shared/references/config-mutation.md`.
|
|
52
|
+
- Read `../_shared/references/brainstorm-session.md`.
|
|
53
|
+
- Read `../_shared/references/scope-rules.md`.
|
|
54
|
+
- Use `languagePreferences.communication.normalized` for chat.
|
|
55
|
+
- Use `languagePreferences.documents.normalized` for the final `project-context/rules.md`.
|
|
56
|
+
- Apply `brainstormPreferences.discussionMode`, `recommendations`, and `discoveryDepth` using the shared session policy.
|
|
57
|
+
- For this skill: announce that there are 7 topics, ask for pacing (one by one / three at once / all at once), and ask for recommendation preference if it is not already stored.
|
|
56
58
|
|
|
57
59
|
4. Run the interview in the selected mode. Wait for the answer before continuing.
|
|
58
60
|
|
|
@@ -65,18 +67,22 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
65
67
|
## Interview Topics (7)
|
|
66
68
|
|
|
67
69
|
### 1. AI Persona & Tech Stack
|
|
68
|
-
|
|
70
|
+
|
|
71
|
+
**Ask:** _"What main tech stack must this AI be skilled in?"_
|
|
69
72
|
|
|
70
73
|
**Collect:**
|
|
74
|
+
|
|
71
75
|
- List of technologies (for example TypeScript, React, Next.js 14, Prisma, PostgreSQL)
|
|
72
76
|
- Prioritized libraries (for example TanStack Query, Zustand, React Hook Form, Zod)
|
|
73
77
|
- Preferred patterns (for example functional components, Server Components, App Router)
|
|
74
78
|
- Patterns to avoid (for example class components, Pages Router, `any` type)
|
|
75
79
|
|
|
76
80
|
### 2. Naming Conventions
|
|
77
|
-
|
|
81
|
+
|
|
82
|
+
**Ask:** _"Which naming conventions apply: camelCase, PascalCase, snake_case?"_
|
|
78
83
|
|
|
79
84
|
**Collect:**
|
|
85
|
+
|
|
80
86
|
- Variables & functions: camelCase
|
|
81
87
|
- React components: PascalCase
|
|
82
88
|
- Files & folders: kebab-case or camelCase?
|
|
@@ -86,9 +92,11 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
86
92
|
- Database tables: snake_case, plural?
|
|
87
93
|
|
|
88
94
|
### 3. Code Style & Quality
|
|
89
|
-
|
|
95
|
+
|
|
96
|
+
**Ask:** _"What code quality and cleanliness rules apply?"_
|
|
90
97
|
|
|
91
98
|
**Collect:**
|
|
99
|
+
|
|
92
100
|
- TypeScript: strict mode? Avoid `any`? Avoid `enum` (use `as const`)?
|
|
93
101
|
- `console.log`: forbidden in production?
|
|
94
102
|
- Error handling: `try-catch` required? Prefer guard clauses (early return)?
|
|
@@ -101,9 +109,11 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
101
109
|
- What must never be simplified: trust-boundary validation, data-loss protection, accessibility basics, explicit requirements?
|
|
102
110
|
|
|
103
111
|
### 4. Security Rules
|
|
104
|
-
|
|
112
|
+
|
|
113
|
+
**Ask:** _"Which security rules are mandatory: token storage, input sanitization, CORS, and so on?"_
|
|
105
114
|
|
|
106
115
|
**Collect:**
|
|
116
|
+
|
|
107
117
|
- Token storage (httpOnly cookie, NOT localStorage)
|
|
108
118
|
- User input sanitization before processing
|
|
109
119
|
- Environment variable handling (do not hardcode, use `.env.example`)
|
|
@@ -119,9 +129,11 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
119
129
|
- If runtime credentials are managed: rotation and revocation expectations
|
|
120
130
|
|
|
121
131
|
### 5. AI Behavior Rules
|
|
122
|
-
|
|
132
|
+
|
|
133
|
+
**Ask:** _"Are there special rules for AI? When should it ask first instead of assuming?"_
|
|
123
134
|
|
|
124
135
|
**Collect:**
|
|
136
|
+
|
|
125
137
|
- Comment language (Indonesian/English)
|
|
126
138
|
- Error message language (shown to users)
|
|
127
139
|
- Ambiguity handling: ask first or make reasonable assumptions?
|
|
@@ -131,9 +143,11 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
131
143
|
- Must AI show reasoning before implementing complex changes?
|
|
132
144
|
|
|
133
145
|
### 6. Git Workflow
|
|
134
|
-
|
|
146
|
+
|
|
147
|
+
**Ask:** _"What Git rules apply: commit format, branch naming, and so on?"_
|
|
135
148
|
|
|
136
149
|
**Collect:**
|
|
150
|
+
|
|
137
151
|
- Commit message format: Conventional Commits? (`feat:`, `fix:`, `chore:`, etc.)
|
|
138
152
|
- Branch naming: `feature/`, `fix/`, `chore/` prefix?
|
|
139
153
|
- Squash merge or regular merge?
|
|
@@ -141,9 +155,11 @@ This skill generates **rules.md**: a "code constitution" so AI works consistentl
|
|
|
141
155
|
- Are pre-commit hooks required (lint, test, audit)?
|
|
142
156
|
|
|
143
157
|
### 7. Linter, Formatter & Testing
|
|
144
|
-
|
|
158
|
+
|
|
159
|
+
**Ask:** _"What quality tools are used: ESLint, Prettier, test framework?"_
|
|
145
160
|
|
|
146
161
|
**Collect:**
|
|
162
|
+
|
|
147
163
|
- ESLint: version? Rule set? (`eslint:recommended`, `@typescript-eslint/recommended`)
|
|
148
164
|
- Prettier: options? (semicolon, quote style, print width)
|
|
149
165
|
- `.editorconfig`: used?
|
|
@@ -162,6 +178,7 @@ Adapt only sections that are applicable and preserve every required contract fro
|
|
|
162
178
|
## Next Steps
|
|
163
179
|
|
|
164
180
|
After rules.md is complete:
|
|
181
|
+
|
|
165
182
|
1. Run `brainstorm-task` to create Task.md from all spec documents
|
|
166
183
|
2. Then: use the `developer` skill to start implementation
|
|
167
184
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Coding Standards (Rules)
|
|
2
2
|
|
|
3
3
|
## Document Role
|
|
4
|
+
|
|
4
5
|
- **Source of Truth:** Coding standards, AI behavior constraints, and implementation security rules
|
|
5
6
|
- **Primary Owner:** `brainstorm-rules`
|
|
6
7
|
- **Out of Scope:** Product scope decisions, schema design, endpoint payload contracts, and task sequencing
|
|
@@ -8,26 +9,31 @@
|
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
## 1. AI Persona & Tech Stack
|
|
12
|
+
|
|
11
13
|
> You are an expert developer in: [stack confirmed by architecture and user].
|
|
12
14
|
|
|
13
15
|
**Prioritize:**
|
|
16
|
+
|
|
14
17
|
- [Preferred patterns]
|
|
15
18
|
|
|
16
19
|
**Avoid:**
|
|
20
|
+
|
|
17
21
|
- [Patterns to avoid]
|
|
18
22
|
|
|
19
23
|
---
|
|
20
24
|
|
|
21
25
|
## 2. Naming Conventions
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
26
|
+
|
|
27
|
+
| Type | Convention | Example |
|
|
28
|
+
| ------------------------- | ----------------------------- | ---------------------- |
|
|
29
|
+
| [Project symbol type] | [confirmed convention] | [stack-native example] |
|
|
30
|
+
| Files & Folders | [confirmed convention] | [example] |
|
|
31
|
+
| Persisted entities/fields | [datastore-native convention] | [example] |
|
|
27
32
|
|
|
28
33
|
---
|
|
29
34
|
|
|
30
35
|
## 3. Code Style & Quality
|
|
36
|
+
|
|
31
37
|
- **Language-specific rules:** [rules confirmed for the selected language; omit inapplicable TypeScript examples]
|
|
32
38
|
- **Production diagnostics:** [confirmed logging/telemetry rule]
|
|
33
39
|
- **Error Handling:** [stack-native strategy confirmed by the project]
|
|
@@ -44,6 +50,7 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
44
50
|
---
|
|
45
51
|
|
|
46
52
|
## 4. Security Rules
|
|
53
|
+
|
|
47
54
|
> **MANDATORY:** Before writing code involving user input, auth, file upload, or database access — check at least these 4 items and explain them briefly: input validation, secret/token protection, safe queries, and access control.
|
|
48
55
|
|
|
49
56
|
- **Token/Session Storage:** [project-specific decision; do not assume JWT or browser cookies]
|
|
@@ -55,6 +62,7 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
55
62
|
- **Dependencies:** Run the project's available dependency audit before release when network policy permits. Block [agreed threshold].
|
|
56
63
|
|
|
57
64
|
### Conditional Operational Rules
|
|
65
|
+
|
|
58
66
|
- **Structured Logging:** [only when architecture defines observability]
|
|
59
67
|
- **Migration Conventions:** [only when schema evolution applies]
|
|
60
68
|
- **Feature Flag Lifecycle:** [only when architecture selects flags]
|
|
@@ -64,6 +72,7 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
64
72
|
---
|
|
65
73
|
|
|
66
74
|
## 5. AI Behavior Rules
|
|
75
|
+
|
|
67
76
|
- **Comment Language:** [Indonesian / English]
|
|
68
77
|
- **Error Messages (user-facing):** [Indonesian / English]
|
|
69
78
|
- **When Ambiguous:** Ask the user first; do not assume.
|
|
@@ -73,6 +82,7 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
73
82
|
- **Complex Implementations:** Show a plan/rationale before implementing.
|
|
74
83
|
|
|
75
84
|
## Rule Priority
|
|
85
|
+
|
|
76
86
|
- **Priority Order:** Security → correctness → data protection → consistency → maintainability → convenience
|
|
77
87
|
- If two rules seem to conflict, choose the higher-priority rule and note the trade-off.
|
|
78
88
|
- If a local exception is needed, mark it clearly with a `tradeoff:` comment and explain the upgrade trigger.
|
|
@@ -80,23 +90,25 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
80
90
|
---
|
|
81
91
|
|
|
82
92
|
## 6. Git Workflow
|
|
93
|
+
|
|
83
94
|
**Commit format:** [confirmed workflow; omit this table if Conventional Commits was not selected].
|
|
84
95
|
|
|
85
|
-
| Type
|
|
86
|
-
|
|
87
|
-
| `feat:`
|
|
88
|
-
| `fix:`
|
|
89
|
-
| `chore:`
|
|
90
|
-
| `docs:`
|
|
96
|
+
| Type | When |
|
|
97
|
+
| ----------- | --------------------------------------------- |
|
|
98
|
+
| `feat:` | New feature |
|
|
99
|
+
| `fix:` | Bug fix |
|
|
100
|
+
| `chore:` | Maintenance (update deps, config) |
|
|
101
|
+
| `docs:` | Documentation changes |
|
|
91
102
|
| `refactor:` | Code restructuring without feature/bug change |
|
|
92
|
-
| `style:`
|
|
93
|
-
| `test:`
|
|
94
|
-
| `perf:`
|
|
95
|
-
| `ci:`
|
|
103
|
+
| `style:` | Formatting (no logic changes) |
|
|
104
|
+
| `test:` | Add or fix tests |
|
|
105
|
+
| `perf:` | Performance improvement |
|
|
106
|
+
| `ci:` | CI/CD config changes |
|
|
96
107
|
|
|
97
108
|
**Example:** `feat(auth): add Google OAuth login`
|
|
98
109
|
|
|
99
110
|
**Branch naming:**
|
|
111
|
+
|
|
100
112
|
- `feature/[feature-name]`
|
|
101
113
|
- `fix/[bug-name]`
|
|
102
114
|
- `chore/[task-name]`
|
|
@@ -104,6 +116,7 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
104
116
|
---
|
|
105
117
|
|
|
106
118
|
## 7. Linter, Formatter & Testing
|
|
119
|
+
|
|
107
120
|
- **Linter:** [existing tool/version/config; omit if none].
|
|
108
121
|
- **Formatter:** [existing tool/options; omit if none].
|
|
109
122
|
- **Editor settings:** [existing settings; omit if none].
|
|
@@ -117,11 +130,12 @@ Add a language-specific example only when it communicates a confirmed rule bette
|
|
|
117
130
|
|
|
118
131
|
> Check this list before writing any code. Violating even one item = code rejected.
|
|
119
132
|
|
|
120
|
-
| #
|
|
121
|
-
|
|
122
|
-
| F-01
|
|
133
|
+
| # | Forbidden | Why |
|
|
134
|
+
| ----- | ---------------------------------------------- | -------- |
|
|
135
|
+
| F-01 | Never hardcode or expose secrets | Security |
|
|
123
136
|
| F-02+ | [Confirmed stack/project-specific prohibition] | [Reason] |
|
|
124
137
|
|
|
125
138
|
## Assumptions & Exceptions
|
|
139
|
+
|
|
126
140
|
- [Assumption about team workflow or tooling]
|
|
127
141
|
- [Temporary exception with owner / review trigger]
|
|
@@ -20,6 +20,7 @@ Run as `@Fachri` (Tech Lead). Use the shared persona profile in `../_shared/refe
|
|
|
20
20
|
You are **@Fachri — Tech Lead**, a **Senior Database Architect** who designs efficient, correct, secure data structures.
|
|
21
21
|
|
|
22
22
|
**Expertise:**
|
|
23
|
+
|
|
23
24
|
- Database modeling (relational and non-relational)
|
|
24
25
|
- Normalization, intentional denormalization, and trade-offs
|
|
25
26
|
- Indexing strategies based on real access patterns
|
|
@@ -53,8 +54,8 @@ Before any interview:
|
|
|
53
54
|
1. Load after `architecture.md` is complete.
|
|
54
55
|
|
|
55
56
|
2. **Read existing project-context**:
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
- `project-context/PRD.md` — features and business rules that determine tables
|
|
58
|
+
- `project-context/architecture.md` — tech stack, ORM, database conventions
|
|
58
59
|
|
|
59
60
|
3. If `.agents/developer-config.json` exists and `developerPreferences.scope = "frontend"`, DO NOT create `schema.md`. Explain that database and schema work is outside the current scope, and that backend dependencies should be documented only through the `api.md` consumer contract.
|
|
60
61
|
|
|
@@ -73,9 +74,11 @@ Before any interview:
|
|
|
73
74
|
Ask all five topics using the chosen pacing mode. First classify the persistence model from `architecture.md` as relational, document, key-value, graph, event store, or mixed. Adapt terminology and output to that model.
|
|
74
75
|
|
|
75
76
|
### 1. Database Conventions
|
|
76
|
-
|
|
77
|
+
|
|
78
|
+
_"Before tables, let's align on conventions. Any preferences?"_
|
|
77
79
|
|
|
78
80
|
Collect:
|
|
81
|
+
|
|
79
82
|
- **Identity strategy:** primary key, document ID, aggregate/stream ID, graph ID, or key format?
|
|
80
83
|
- **Naming:** datastore-native naming for tables, collections, keys, node labels, streams, and fields?
|
|
81
84
|
- **Audit/version metadata:** timestamps, version/revision, event metadata, or none?
|
|
@@ -84,9 +87,11 @@ Collect:
|
|
|
84
87
|
- **Retention:** How long is data stored? Any anonymization or archival schedule?
|
|
85
88
|
|
|
86
89
|
### 2. Entity/Storage List
|
|
87
|
-
|
|
90
|
+
|
|
91
|
+
_"What tables, collections, aggregates, nodes, or stores are needed?"_
|
|
88
92
|
|
|
89
93
|
Collect by persistence model:
|
|
94
|
+
|
|
90
95
|
- **Relational:** tables and junction tables
|
|
91
96
|
- **Document:** collections, document roots, and embedded subdocuments
|
|
92
97
|
- **Key-value:** key spaces, key format, and value shape
|
|
@@ -96,9 +101,11 @@ Collect by persistence model:
|
|
|
96
101
|
- **Multi-tenant systems only:** tenant key/boundary, isolation enforcement, cross-tenant constraints, export/deletion, and partition strategy
|
|
97
102
|
|
|
98
103
|
### 3. Fields & Data Types
|
|
99
|
-
|
|
104
|
+
|
|
105
|
+
_"For each data structure, list fields and datastore-native data types."_
|
|
100
106
|
|
|
101
107
|
Collect per datastore-native structure:
|
|
108
|
+
|
|
102
109
|
- Field names and datastore-native types
|
|
103
110
|
- Validation/constraints appropriate to the selected model
|
|
104
111
|
- Which columns contain sensitive data/PII?
|
|
@@ -107,9 +114,11 @@ Collect per datastore-native structure:
|
|
|
107
114
|
- Expected record/document/event volume, growth rate, payload size, and retention horizon where material
|
|
108
115
|
|
|
109
116
|
### 4. Relationships and Data Placement
|
|
110
|
-
|
|
117
|
+
|
|
118
|
+
_"What relationships exist, and should related data use foreign keys, references, embedding, edges, or another datastore-native pattern?"_
|
|
111
119
|
|
|
112
120
|
Collect:
|
|
121
|
+
|
|
113
122
|
- **Relational:** cardinality, foreign-key owner, and cascade/set-null/restrict behavior
|
|
114
123
|
- **Document:** embedding vs references, document growth, and update atomicity
|
|
115
124
|
- **Key-value:** key composition, lookup direction, and secondary-index needs
|
|
@@ -119,9 +128,11 @@ Collect:
|
|
|
119
128
|
- Concurrency model: transaction boundary, optimistic version, lock/contention policy, duplicate update protection, or equivalent
|
|
120
129
|
|
|
121
130
|
### 5. Indexes & Performance
|
|
122
|
-
|
|
131
|
+
|
|
132
|
+
_"Which access patterns, filters, sorts, traversals, stream reads, or lookups must be efficient? What datastore-native indexes or projections support them?"_
|
|
123
133
|
|
|
124
134
|
Collect:
|
|
135
|
+
|
|
125
136
|
- Required reads/writes and expected scale
|
|
126
137
|
- Datastore-native indexes, projections, partitioning, traversal, or caching needed for those access patterns
|
|
127
138
|
- Consistency and latency expectations that constrain the design
|
|
@@ -150,5 +161,4 @@ Adapt only sections that are applicable and preserve every required contract fro
|
|
|
150
161
|
- If the user has no table plan yet, suggest tables from PRD features and user stories.
|
|
151
162
|
- Render the final document in the configured document language
|
|
152
163
|
|
|
153
|
-
|
|
154
164
|
---
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# Database Schema
|
|
2
2
|
|
|
3
3
|
## Document Role
|
|
4
|
+
|
|
4
5
|
- **Source of Truth:** Data model and persistence contract
|
|
5
6
|
- **Primary Owner:** `brainstorm-schema`
|
|
6
7
|
- **Out of Scope:** Endpoint behavior, UI rules, and code-level implementation details
|
|
7
8
|
|
|
8
9
|
## Persistence Profile
|
|
10
|
+
|
|
9
11
|
- **Model:** Relational / Document / Key-value / Graph / Event store / Mixed
|
|
10
12
|
- **Identity Strategy:** [UUID / key format / aggregate ID / stream ID]
|
|
11
13
|
- **Naming:** [datastore-native naming rules]
|
|
@@ -14,21 +16,25 @@
|
|
|
14
16
|
- **Timezone:** [UTC/local/N/A]
|
|
15
17
|
|
|
16
18
|
## Entity / Storage Map
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
|
19
|
+
|
|
20
|
+
| Data ID | Structure | Type | Purpose | Trace to |
|
|
21
|
+
| ------- | --------- | ---------------------------------------------------------- | --------- | ----------------- |
|
|
22
|
+
| DATA-01 | `[name]` | Table / Collection / Key Space / Node / Stream / Aggregate | [purpose] | `FEAT-01 / BR-01` |
|
|
20
23
|
|
|
21
24
|
## Global Data Protection
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
|
25
|
+
|
|
26
|
+
| Structure/Field | Category | Protection | Retention | Notes |
|
|
27
|
+
| --------------- | -------- | -------------------- | ---------------- | ------- |
|
|
28
|
+
| [users.email] | PII | [encrypt/mask/plain] | [retention rule] | [notes] |
|
|
25
29
|
|
|
26
30
|
## Scale, Tenancy & Concurrency
|
|
31
|
+
|
|
27
32
|
- **Expected Scale/Growth:** [records, payload, growth]
|
|
28
33
|
- **Tenant Isolation:** [N/A or enforcement model]
|
|
29
34
|
- **Concurrency Strategy:** [transaction/version/lock/idempotency]
|
|
30
35
|
|
|
31
36
|
## Schema Evolution & Migration
|
|
37
|
+
|
|
32
38
|
- **Compatibility:** [backward/forward policy]
|
|
33
39
|
- **Migration Order:** [expand/backfill/switch/contract or equivalent]
|
|
34
40
|
- **Backfill & Validation:** [strategy]
|
|
@@ -40,19 +46,22 @@
|
|
|
40
46
|
## Relational Section (include only for relational or mixed)
|
|
41
47
|
|
|
42
48
|
### Table DATA-01: `[table_name]`
|
|
49
|
+
|
|
43
50
|
> **Trace to:** [FEAT-01 / BR-01]
|
|
44
51
|
> **PII:** Yes / No
|
|
45
52
|
> **Retention:** [policy]
|
|
46
53
|
|
|
47
|
-
| Column
|
|
48
|
-
|
|
49
|
-
| id
|
|
50
|
-
| [column] | [type] | [Yes/No] | [default]
|
|
54
|
+
| Column | Type | Nullable | Default | Constraint | Notes |
|
|
55
|
+
| -------- | ------ | -------- | ----------------- | ------------ | ------- |
|
|
56
|
+
| id | UUID | No | gen_random_uuid() | PRIMARY KEY | |
|
|
57
|
+
| [column] | [type] | [Yes/No] | [default] | [constraint] | [notes] |
|
|
51
58
|
|
|
52
59
|
**Relationships:**
|
|
60
|
+
|
|
53
61
|
- [One-to-many / many-to-many / delete rule]
|
|
54
62
|
|
|
55
63
|
**Indexes:**
|
|
64
|
+
|
|
56
65
|
- [column/index purpose]
|
|
57
66
|
|
|
58
67
|
---
|
|
@@ -60,6 +69,7 @@
|
|
|
60
69
|
## Document Section (include only for document or mixed)
|
|
61
70
|
|
|
62
71
|
### Collection DATA-01: `[collection_name]`
|
|
72
|
+
|
|
63
73
|
> **Trace to:** [FEAT-01 / BR-01]
|
|
64
74
|
|
|
65
75
|
- **Root Document Shape:** [summary]
|
|
@@ -72,6 +82,7 @@
|
|
|
72
82
|
## Key-Value Section (include only for key-value or mixed)
|
|
73
83
|
|
|
74
84
|
### Key Space DATA-01: `[keyspace_name]`
|
|
85
|
+
|
|
75
86
|
> **Trace to:** [FEAT-01 / BR-01]
|
|
76
87
|
|
|
77
88
|
- **Key Format:** [pattern]
|
|
@@ -83,6 +94,7 @@
|
|
|
83
94
|
## Graph Section (include only for graph or mixed)
|
|
84
95
|
|
|
85
96
|
### Node / Edge DATA-01: `[node_or_edge_name]`
|
|
97
|
+
|
|
86
98
|
> **Trace to:** [FEAT-01 / BR-01]
|
|
87
99
|
|
|
88
100
|
- **Node/Edge Type:** [type]
|
|
@@ -94,6 +106,7 @@
|
|
|
94
106
|
## Event Store Section (include only for event-store or mixed)
|
|
95
107
|
|
|
96
108
|
### Aggregate / Stream DATA-01: `[stream_name]`
|
|
109
|
+
|
|
97
110
|
> **Trace to:** [FEAT-01 / BR-01]
|
|
98
111
|
|
|
99
112
|
- **Aggregate Boundary:** [summary]
|
|
@@ -102,8 +115,10 @@
|
|
|
102
115
|
- **Ordering / Versioning:** [rules]
|
|
103
116
|
|
|
104
117
|
## Not Yet Modeled / Deferred
|
|
118
|
+
|
|
105
119
|
- [Data area intentionally not yet modeled]
|
|
106
120
|
|
|
107
121
|
## Assumptions & Open Questions
|
|
122
|
+
|
|
108
123
|
- [Assumption about structures, relationships, or data rules]
|
|
109
124
|
- [Question that needs user confirmation]
|
|
@@ -20,6 +20,7 @@ Run as `@Akram` (UI/UX Designer). Use the shared persona profile in `../_shared/
|
|
|
20
20
|
You are a **Senior UI/UX Designer** who builds scalable, consistent design systems.
|
|
21
21
|
|
|
22
22
|
**Expertise:**
|
|
23
|
+
|
|
23
24
|
- Building design tokens (color, typography, spacing)
|
|
24
25
|
- Tailwind CSS, CSS Modules, utility-first approaches
|
|
25
26
|
- Accessibility (WCAG) and responsive design principles
|
|
@@ -39,19 +40,19 @@ This skill generates **StyleGuide.md** through an interactive interview. It prev
|
|
|
39
40
|
1. Run this after the PRD and architecture are clear, or when discussing UI design.
|
|
40
41
|
|
|
41
42
|
2. **Read existing project-context** before any user interaction:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
- `project-context/PRD.md` — target platforms and referenced UI patterns
|
|
44
|
+
- `project-context/architecture.md` — chosen frontend tech stack
|
|
45
|
+
- If `.agents/developer-config.json` exists, read `developerPreferences.scope`
|
|
45
46
|
|
|
46
47
|
3. **Shared Runtime Setup** — before the interview (paths written as `../...` are relative to this SKILL.md's own folder, not the project's working directory):
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
- Read `../_shared/references/language-config.md`.
|
|
49
|
+
- Read `../_shared/references/config-mutation.md`.
|
|
50
|
+
- Read `../_shared/references/brainstorm-session.md`.
|
|
51
|
+
- Read `../_shared/references/scope-rules.md`.
|
|
52
|
+
- Use `languagePreferences.communication.normalized` for chat.
|
|
53
|
+
- Use `languagePreferences.documents.normalized` for the final `project-context/StyleGuide.md`.
|
|
54
|
+
- Apply `brainstormPreferences.discussionMode`, `recommendations`, and `discoveryDepth` using the shared session policy.
|
|
55
|
+
- For this skill: announce that there are 8 topics, ask for pacing (one by one / three at once / all at once), and ask for recommendation preference if it is not already stored.
|
|
55
56
|
|
|
56
57
|
4. If scope = `backend`, DO NOT create `StyleGuide.md`. Explain that UI work is outside the current scope.
|
|
57
58
|
|
|
@@ -66,18 +67,22 @@ This skill generates **StyleGuide.md** through an interactive interview. It prev
|
|
|
66
67
|
## Interview Topics (8)
|
|
67
68
|
|
|
68
69
|
### 1. CSS Framework
|
|
69
|
-
|
|
70
|
+
|
|
71
|
+
**Ask:** _"What CSS framework is used: Tailwind, Bootstrap, or custom CSS?"_
|
|
70
72
|
|
|
71
73
|
**Collect:**
|
|
74
|
+
|
|
72
75
|
- If Tailwind: v3 or v4?
|
|
73
76
|
- If Bootstrap: preferred version?
|
|
74
77
|
- Or CSS modules / styled-components / vanilla CSS?
|
|
75
78
|
- Utility-first or component-based?
|
|
76
79
|
|
|
77
80
|
### 2. Color Palette
|
|
78
|
-
|
|
81
|
+
|
|
82
|
+
**Ask:** _"What color scheme do you want? List primary, secondary, accent, and status colors."_
|
|
79
83
|
|
|
80
84
|
**Collect:**
|
|
85
|
+
|
|
81
86
|
- Primary color (brand)
|
|
82
87
|
- Secondary color (accent)
|
|
83
88
|
- Background color
|
|
@@ -87,9 +92,11 @@ This skill generates **StyleGuide.md** through an interactive interview. It prev
|
|
|
87
92
|
- Hex/RGB codes if available
|
|
88
93
|
|
|
89
94
|
### 3. Typography
|
|
90
|
-
|
|
95
|
+
|
|
96
|
+
**Ask:** _"What fonts do you want? Any difference between headings and body text?"_
|
|
91
97
|
|
|
92
98
|
**Collect:**
|
|
99
|
+
|
|
93
100
|
- Heading font family (for example Inter, Poppins, Roboto)
|
|
94
101
|
- Body font family
|
|
95
102
|
- Font sizes for H1, H2, H3, H4, body, caption
|
|
@@ -97,18 +104,22 @@ This skill generates **StyleGuide.md** through an interactive interview. It prev
|
|
|
97
104
|
- Google Fonts or custom fonts?
|
|
98
105
|
|
|
99
106
|
### 4. Spacing System
|
|
100
|
-
|
|
107
|
+
|
|
108
|
+
**Ask:** _"What spacing scale do you want? Is the base unit 4px, 8px, or 16px?"_
|
|
101
109
|
|
|
102
110
|
**Collect:**
|
|
111
|
+
|
|
103
112
|
- Base spacing unit (4px or 8px?)
|
|
104
113
|
- Use default Tailwind scale or custom?
|
|
105
114
|
- Padding/margin for containers, cards, buttons
|
|
106
115
|
- Spacing between page sections
|
|
107
116
|
|
|
108
117
|
### 5. Component Style
|
|
109
|
-
|
|
118
|
+
|
|
119
|
+
**Ask:** _"How should components look? For buttons, cards, and inputs, what border and shadow style do you want?"_
|
|
110
120
|
|
|
111
121
|
**Collect:**
|
|
122
|
+
|
|
112
123
|
- Border radius (rounded-sm, rounded-md, rounded-full, square)
|
|
113
124
|
- Button style (filled, outline, ghost) and sizes (sm, md, lg)
|
|
114
125
|
- Card style (border, shadow, background)
|
|
@@ -117,25 +128,31 @@ This skill generates **StyleGuide.md** through an interactive interview. It prev
|
|
|
117
128
|
- Transitions/animation: duration and easing (for example `150ms ease-in-out`)
|
|
118
129
|
|
|
119
130
|
### 6. Responsive & Breakpoints
|
|
120
|
-
|
|
131
|
+
|
|
132
|
+
**Ask:** _"What responsive breakpoints are used? Mobile-first or desktop-first?"_
|
|
121
133
|
|
|
122
134
|
**Collect:**
|
|
135
|
+
|
|
123
136
|
- Mobile-first (default) or desktop-first?
|
|
124
137
|
- Breakpoint values (or use Tailwind defaults: sm:640, md:768, lg:1024, xl:1280)
|
|
125
138
|
- Layout changes per breakpoint (for example sidebar collapses below md)
|
|
126
139
|
|
|
127
140
|
### 7. Iconography
|
|
128
|
-
|
|
141
|
+
|
|
142
|
+
**Ask:** _"What icon library is used: Lucide, Heroicons, FontAwesome, or custom?"_
|
|
129
143
|
|
|
130
144
|
**Collect:**
|
|
145
|
+
|
|
131
146
|
- Preferred icon library
|
|
132
147
|
- Default icon size (16px, 20px, 24px)
|
|
133
148
|
- Need custom SVG icons?
|
|
134
149
|
|
|
135
150
|
### 8. Accessibility, Localization & Operational States
|
|
136
|
-
|
|
151
|
+
|
|
152
|
+
**Ask:** _"Which accessibility target and non-happy-path states must the UI support: loading, empty, error, forbidden, offline, reduced motion, keyboard, screen reader, or localization?"_
|
|
137
153
|
|
|
138
154
|
**Collect:**
|
|
155
|
+
|
|
139
156
|
- Accessibility target from PRD (for example WCAG AA), keyboard order, visible focus, labels, contrast, touch targets, and reduced motion
|
|
140
157
|
- Loading/skeleton, empty, error, disabled/read-only, permission-denied, offline, and partial-data behavior that applies to primary surfaces
|
|
141
158
|
- Supported locales from PRD; text expansion, pluralization, date/number/currency/timezone formatting, and RTL only when relevant
|
|
@@ -152,6 +169,7 @@ Adapt only sections that are applicable and preserve every required contract fro
|
|
|
152
169
|
## Next Steps
|
|
153
170
|
|
|
154
171
|
After StyleGuide.md is complete:
|
|
172
|
+
|
|
155
173
|
1. Run `brainstorm-rules` to create coding standards
|
|
156
174
|
2. Then: `brainstorm-task` to create Task.md
|
|
157
175
|
|