arkaos 2.49.0 → 2.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.49.0
1
+ 2.51.0
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: brand/design-system
3
3
  description: >
4
- Design system specification: tokens, atoms, molecules, organisms, templates.
4
+ Production design system specification: tokens, atoms, molecules, organisms,
5
+ templates, and pages — with WCAG AA conformance and Storybook export contract.
5
6
  allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
6
7
  ---
7
8
 
@@ -21,12 +22,183 @@ does not replace the vault.
21
22
 
22
23
  # Design System — `/brand design-system`
23
24
 
24
- > **Agent:** Sofia D. (UX Designer) | **Framework:** Atomic Design (Brad Frost) + Design Tokens
25
+ > **Lead:** Sofia D. (UX Designer) + Isabel (Visual Designer) | **Framework:** Atomic Design (Brad Frost) + Design Tokens + WCAG 2.2 AA
25
26
 
26
- ## What It Does
27
+ ## What ships
27
28
 
28
- Design system specification: tokens, atoms, molecules, organisms, templates.
29
+ A production design system in 5 deliverables:
29
30
 
30
- ## Output
31
+ 1. **`design-tokens.json`** — semantic token layer
32
+ 2. **Component catalog** — atoms → molecules → organisms → templates → pages
33
+ 3. **WCAG 2.2 AA conformance report** — pass / waiver per component
34
+ 4. **Storybook story stubs** — one story per component, ready to drop into Storybook
35
+ 5. **Integration guide** — how to wire the system into a Vue/React/Vanilla project
31
36
 
32
- Design system spec with token definitions, component catalog, and usage guidelines
37
+ ## Token JSON schema
38
+
39
+ The token system has a **two-layer architecture**: raw primitives + semantic aliases. Semantic tokens reference primitives; surfaces reference semantic tokens. Never reference primitives directly in components.
40
+
41
+ ```json
42
+ {
43
+ "$schema": "https://design-tokens.github.io/community-group/format/",
44
+ "primitive": {
45
+ "color": {
46
+ "neutral": {
47
+ "0": { "$value": "#FFFFFF", "$type": "color" },
48
+ "50": { "$value": "#FAFAFA", "$type": "color" },
49
+ "100": { "$value": "#F4F4F5", "$type": "color" },
50
+ "900": { "$value": "#18181B", "$type": "color" },
51
+ "1000":{ "$value": "#0A0A0A", "$type": "color" }
52
+ },
53
+ "accent": {
54
+ "500": { "$value": "#00FF88", "$type": "color" }
55
+ }
56
+ },
57
+ "size": {
58
+ "0": { "$value": "0", "$type": "dimension" },
59
+ "1": { "$value": "4px", "$type": "dimension" },
60
+ "2": { "$value": "8px", "$type": "dimension" },
61
+ "4": { "$value": "16px", "$type": "dimension" }
62
+ }
63
+ },
64
+ "semantic": {
65
+ "color": {
66
+ "background": { "$value": "{primitive.color.neutral.1000}", "$type": "color" },
67
+ "surface": { "$value": "{primitive.color.neutral.900}", "$type": "color" },
68
+ "text": { "$value": "{primitive.color.neutral.50}", "$type": "color" },
69
+ "accent": { "$value": "{primitive.color.accent.500}", "$type": "color" }
70
+ },
71
+ "space": {
72
+ "compact": { "$value": "{primitive.size.2}", "$type": "dimension" },
73
+ "default": { "$value": "{primitive.size.4}", "$type": "dimension" },
74
+ "generous": { "$value": "{primitive.size.6}", "$type": "dimension" }
75
+ },
76
+ "radius": { "$value": "{primitive.size.2}", "$type": "dimension" },
77
+ "motion": {
78
+ "duration": {
79
+ "fast": { "$value": "150ms", "$type": "duration" },
80
+ "base": { "$value": "250ms", "$type": "duration" },
81
+ "slow": { "$value": "400ms", "$type": "duration" }
82
+ },
83
+ "easing": {
84
+ "standard": { "$value": "cubic-bezier(0.4, 0, 0.2, 1)", "$type": "cubicBezier" }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ ```
90
+
91
+ Required token groups: `color`, `space`, `typography`, `radius`, `elevation`, `motion`, `border`. Each group must have at minimum 3 semantic tokens. Primitives are reusable; semantics are intentional.
92
+
93
+ ## Atomic Design 5-Level Component Manifest
94
+
95
+ Each component is documented with: name, level, props, slots, accessibility notes, Storybook story stub.
96
+
97
+ ### Level 1 — Atoms (10-15 required)
98
+ Indivisible UI primitives. Examples:
99
+
100
+ | Component | Props | A11y notes |
101
+ |---|---|---|
102
+ | Button | `variant` (primary/secondary/ghost), `size`, `disabled`, `loading` | role=button, aria-busy on loading, keyboard-actionable |
103
+ | Input | `type`, `value`, `placeholder`, `disabled`, `invalid` | aria-invalid on invalid, aria-describedby for error |
104
+ | Label | `htmlFor`, `required` | explicit for association required |
105
+ | Icon | `name`, `size`, `decorative` | role=img + aria-label OR aria-hidden when decorative |
106
+ | Avatar | `src`, `alt`, `fallback`, `size` | alt required unless decorative |
107
+ | Badge | `variant`, `count` | aria-live polite when count changes |
108
+ | Spinner | `size`, `label` | role=status + aria-label |
109
+ | Switch | `checked`, `disabled` | role=switch + aria-checked |
110
+ | Checkbox | `checked`, `indeterminate`, `disabled` | aria-checked tri-state support |
111
+ | Link | `href`, `external`, `variant` | rel=noopener for external |
112
+
113
+ ### Level 2 — Molecules (8-12 required)
114
+ Composed pairs of atoms with one task focus. Examples:
115
+
116
+ | Component | Composes | A11y notes |
117
+ |---|---|---|
118
+ | FormField | Label + Input + ErrorMessage | aria-describedby chain |
119
+ | SearchBar | Input + Button + Icon | role=search, aria-label on form |
120
+ | Card | Heading + Body + optional Footer | semantic landmark when standalone |
121
+ | NavItem | Icon + Label + (Badge) | aria-current when active |
122
+ | Tab | Label + (Icon) + (Badge) | role=tab, aria-selected |
123
+ | Toast | Icon + Body + DismissButton | role=status or alert, dismissible |
124
+ | Tooltip | Anchor + Content | aria-describedby on anchor |
125
+ | Breadcrumb | Link[] + separator | nav landmark, aria-current on last |
126
+
127
+ ### Level 3 — Organisms (6-10 required)
128
+ Complete sections of UI. Examples:
129
+
130
+ | Component | Composes | A11y notes |
131
+ |---|---|---|
132
+ | NavBar | Logo + NavItem[] + Avatar | nav landmark, skip-link target |
133
+ | HeroSection | Heading + Body + CTA + (Media) | one h1 per page rule |
134
+ | CardGrid | Card[] with layout | role=list when semantic, gap-aware |
135
+ | Dialog | Header + Body + Footer + FocusTrap | role=dialog, aria-labelledby, focus trap |
136
+ | DataTable | Header + Row[] with sort/filter | proper th scope, aria-sort |
137
+ | Sidebar | NavItem[] + collapse | nav landmark, persisted state |
138
+ | EmptyState | Icon + Heading + Body + (CTA) | role=region |
139
+
140
+ ### Level 4 — Templates (3-5 required)
141
+ Page-level layouts with content slots. Examples: DashboardTemplate, ContentTemplate, MarketingTemplate, AuthTemplate, SettingsTemplate.
142
+
143
+ ### Level 5 — Pages (2-3 required, production examples)
144
+ Production-ready pages with real content. Examples: LandingPage, DashboardHome, SettingsAccount.
145
+
146
+ ## WCAG 2.2 AA Gates
147
+
148
+ Every component must pass:
149
+
150
+ | Criterion | Check | Tool |
151
+ |---|---|---|
152
+ | 1.4.3 Contrast (Minimum) | Body text ≥ 4.5:1 against background; large text ≥ 3:1 | manual + axe |
153
+ | 1.4.11 Non-text Contrast | UI components and graphical objects ≥ 3:1 against adjacent colors | manual + axe |
154
+ | 2.1.1 Keyboard | All functionality available via keyboard | manual |
155
+ | 2.4.7 Focus Visible | Visible focus indicator on all interactive elements | manual |
156
+ | 2.5.8 Target Size (Minimum) | Pointer targets ≥ 24×24 CSS pixels | manual |
157
+ | 4.1.2 Name, Role, Value | All UI components expose accessible name and role to AT | axe + screen reader |
158
+ | 4.1.3 Status Messages | Status updates announced without focus change | screen reader |
159
+
160
+ Components failing any criterion either remediate or document a **permanent waiver** with concrete user-impact rationale. Waivers require Quality Gate approval.
161
+
162
+ ## Storybook Export Contract
163
+
164
+ Each component must ship one `.stories.{ts,mdx}` file with:
165
+
166
+ - **Default** story — props at defaults, single state visible
167
+ - **AllVariants** story — every variant prop combination
168
+ - **Interactive** story — controls (Storybook args) exposed for every prop
169
+ - **A11y** story — screen-reader narration sample + keyboard nav sequence
170
+
171
+ Story stubs use the CSF3 format:
172
+
173
+ ```typescript
174
+ import type { Meta, StoryObj } from '@storybook/react';
175
+ import { Button } from './Button';
176
+
177
+ const meta: Meta<typeof Button> = {
178
+ component: Button,
179
+ parameters: { a11y: { test: 'error' } },
180
+ argTypes: {
181
+ variant: { control: 'select', options: ['primary', 'secondary', 'ghost'] },
182
+ size: { control: 'select', options: ['sm', 'md', 'lg'] },
183
+ disabled: { control: 'boolean' },
184
+ },
185
+ };
186
+ export default meta;
187
+
188
+ type Story = StoryObj<typeof Button>;
189
+ export const Default: Story = { args: { variant: 'primary', size: 'md' } };
190
+ export const AllVariants: Story = { /* render all variants in a grid */ };
191
+ ```
192
+
193
+ ## Integration Guide (delivery artifact)
194
+
195
+ A standalone markdown explaining:
196
+ - How to install token files (CSS variables / JSON / Tailwind config)
197
+ - How to import components in Vue / React / Vanilla
198
+ - How to extend the system (adding tokens, adding components, namespacing)
199
+ - How to run the WCAG audit locally (`npx axe-core --tags wcag2aa`)
200
+ - How to update Storybook stories when components change
201
+
202
+ ## Output → Obsidian: `WizardingCode/Brand/DesignSystems/<project>-<date>/`
203
+
204
+ Delivers: `design-tokens.json` + component catalog (markdown with screenshots / mermaid hierarchy) + WCAG report + Storybook stubs + integration guide.
@@ -40,12 +40,51 @@ does not replace the vault.
40
40
 
41
41
  1. **Gather** — Collect all brand assets: website, social, packaging, internal docs
42
42
  2. **Map** — Fill each of the 7 elements with what currently exists
43
- 3. **Score** — Rate each element: Strong (3), Present (2), Weak (1), Missing (0)
44
- 4. **Gaps** — Identify missing or weak elements
45
- 5. **Recommend** — Specific actions to strengthen each weak element
46
- 6. **Benchmark** — Compare against competitors' Primal Codes
43
+ 3. **Score** — Apply the per-element rubric below (3 points each across 7 elements = 21 total)
44
+ 4. **Gaps** — Identify weak elements and the specific sub-criterion that failed
45
+ 5. **Recommend** — Specific remediation per gap, ranked by leverage
46
+ 6. **Benchmark** — Compare against 3-5 competitors' Primal Codes
47
47
 
48
- ## Scoring
48
+ ## Per-Element Scoring Rubric (3 sub-criteria each)
49
+
50
+ Each element is scored 0-3. Mark each sub-criterion present (1) or absent (0); sum to the element score.
51
+
52
+ ### 1. Creation Story (max 3)
53
+ - [ ] **Origin moment is named** — a specific event, year, person, or pain point that triggered the brand
54
+ - [ ] **Consistency across surfaces** — the same story appears on About page, founder bio, key talks
55
+ - [ ] **Emotional anchor present** — a stakes-laden tension the founder needed to resolve
56
+
57
+ ### 2. Creed (max 3)
58
+ - [ ] **Belief is stated, not implied** — explicit "we believe…" or "we exist because…" sentence
59
+ - [ ] **Belief has a counter-position** — the creed names what it rejects, not just what it affirms
60
+ - [ ] **Belief shapes product decisions** — at least one shipped feature can be traced to the creed
61
+
62
+ ### 3. Icons (max 3)
63
+ - [ ] **Symbol is consistent** — same logo / mark across all primary surfaces
64
+ - [ ] **Symbol carries meaning** — the mark is decoded by users (Apple = bite, Nike = motion)
65
+ - [ ] **Sub-icons reinforce** — secondary visual language (palette, type, photography style) supports the primary symbol
66
+
67
+ ### 4. Rituals (max 3)
68
+ - [ ] **Repeated user action defines the brand** — unboxing, onboarding, daily check-in, signature gesture
69
+ - [ ] **The ritual is named or recognizable** — users can describe the ritual back without prompting
70
+ - [ ] **The ritual is protected** — the brand resists altering it; the ritual has loadbearing weight
71
+
72
+ ### 5. Non-Adherents (max 3)
73
+ - [ ] **Opposition is named** — competitors, mindsets, or status-quo positions explicitly called out
74
+ - [ ] **Identity is sharpened by contrast** — what the brand REFUSES is as clear as what it offers
75
+ - [ ] **Tribal lines are visible to outsiders** — adopting the brand signals belonging in a recognizable in-group
76
+
77
+ ### 6. Sacred Lexicon (max 3)
78
+ - [ ] **3+ proprietary terms in active use** — words coined or claimed by the brand that customers repeat
79
+ - [ ] **Vocabulary is taught** — onboarding, docs, or messaging explicitly introduce the lexicon
80
+ - [ ] **Outsiders cannot fake fluency** — using the lexicon correctly signals real adherence
81
+
82
+ ### 7. Leader (max 3)
83
+ - [ ] **A named human embodies the brand** — founder, CEO, public face with personal voice
84
+ - [ ] **Leader carries the creed** — public statements consistently align with the brand's belief
85
+ - [ ] **Leader is accessible** — direct contact channel exists (writing, podcast, social presence, AMAs)
86
+
87
+ ## 21-Point Index
49
88
 
50
89
  | Score | Rating | Meaning |
51
90
  |-------|--------|---------|
@@ -54,4 +93,38 @@ does not replace the vault.
54
93
  | 10-13 | Developing | Foundation exists, significant gaps |
55
94
  | 0-9 | Underdeveloped | Major brand building needed |
56
95
 
96
+ ## Evidence Citation Contract
97
+
98
+ Every per-criterion score MUST cite specific asset evidence. Format:
99
+
100
+ ```
101
+ Creation Story (2/3)
102
+ ✓ Origin moment named — "Founded 2018 in a coffee shop after the third
103
+ failed deploy" (About page, 2nd paragraph)
104
+ ✓ Consistency across surfaces — same story on About + founder LinkedIn
105
+ + S2 podcast appearance
106
+ ✗ Emotional anchor present — origin reads as biography, no stakes-laden
107
+ tension. Suggested remediation: rewrite to surface the cost of the
108
+ problem (what was at risk if this didn't exist).
109
+ ```
110
+
111
+ A score without evidence is a score without weight. Self-critique phase rejects any unjustified marks.
112
+
113
+ ## Competitor Benchmark Template
114
+
115
+ For each of 3-5 competitors, complete the same 21-point rubric and compute relative position:
116
+
117
+ ```
118
+ | Brand | Creation | Creed | Icons | Rituals | Non-Adherents | Lexicon | Leader | Total |
119
+ |-------|----------|-------|-------|---------|---------------|---------|--------|-------|
120
+ | Ours | 2 | 3 | 2 | 1 | 0 | 2 | 3 | 13/21 |
121
+ | CompA | 3 | 3 | 3 | 3 | 2 | 3 | 2 | 19/21 |
122
+ | CompB | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 9/21 |
123
+ | CompC | 2 | 2 | 3 | 2 | 2 | 2 | 1 | 14/21 |
124
+ ```
125
+
126
+ Output **strategic gaps** (where we trail the leader) vs **deliberate non-positions** (where we choose not to compete). Mark each gap with leverage rating: high / medium / low — to be ranked into the remediation plan.
127
+
57
128
  ## Output → Obsidian: `WizardingCode/Brand/Audits/PRIMAL-AUDIT-<brand>-<date>.md`
129
+
130
+ Includes: per-element scoring with citations, 21-point index, competitor benchmark, ranked remediation plan with leverage ratings, and concrete next-7-days actions for the top 3 gaps.
@@ -0,0 +1,118 @@
1
+ id: brand-audit
2
+ name: Brand Audit
3
+ description: Diagnose an existing brand against the 7 Primal Code elements with competitor benchmark
4
+ department: brand
5
+ tier: enterprise
6
+ command: "/brand audit"
7
+ requires_branch: false
8
+ requires_spec: false
9
+ quality_gate_required: true
10
+
11
+ phases:
12
+ - id: brief
13
+ name: Audit Brief
14
+ description: Define brand under audit, audience, competitors to benchmark against
15
+ agents:
16
+ - agent_id: brand-director-valentina
17
+ role: Frame audit scope, identify the 3-5 competitor brands for benchmark
18
+ gate:
19
+ type: user_approval
20
+ description: User confirms brand-under-audit and competitor set
21
+
22
+ - id: asset-gather
23
+ name: Asset Gathering
24
+ description: Collect all live brand assets (logo, palette, type, voice samples, taglines, web/social proof points)
25
+ agents:
26
+ - agent_id: brand-director-valentina
27
+ role: Catalog the brand surface area, flag missing assets
28
+ - agent_id: visual-designer-isabel
29
+ role: Extract visual tokens from existing materials
30
+ parallel: true
31
+ gate:
32
+ type: auto
33
+ outputs:
34
+ - type: document
35
+ format: markdown
36
+ obsidian_path: "WizardingCode/Brand/Audits/Assets/"
37
+ description: Asset inventory with file references
38
+
39
+ - id: seven-element-mapping
40
+ name: Primal 7-Element Mapping
41
+ description: Score each Primal element (Creation Story, Creed, Icons, Rituals, Sacred Words, Non-Believers, Leader) against evidence
42
+ agents:
43
+ - agent_id: brand-strategist-mateus
44
+ role: Score Creation Story, Creed, Sacred Words, Non-Believers, Leader against asset evidence
45
+ parallel: true
46
+ - agent_id: ux-designer-sofia-d
47
+ role: Score Icons and Rituals against UI/interaction evidence
48
+ parallel: true
49
+ gate:
50
+ type: auto
51
+
52
+ - id: scoring
53
+ name: 21-Point Scoring
54
+ description: Aggregate per-element scores into a 21-point Primal Code Index (3 points per element across 7 elements)
55
+ agents:
56
+ - agent_id: brand-strategist-mateus
57
+ role: Compute the 21-point Primal Code Index, identify gaps
58
+ gate:
59
+ type: user_approval
60
+ description: User reviews the 21-point scoring before benchmark phase
61
+ outputs:
62
+ - type: document
63
+ format: markdown
64
+ obsidian_path: "WizardingCode/Brand/Audits/Scoring/"
65
+ description: 21-point Primal Code Index with per-element evidence
66
+
67
+ - id: competitor-benchmark
68
+ name: Competitor Benchmark
69
+ description: Run the same 21-point scoring on 3-5 competitor brands; compute relative position
70
+ agents:
71
+ - agent_id: brand-strategist-mateus
72
+ role: Benchmark competitor scores, compute relative position
73
+ - agent_id: strategy-director-tomas
74
+ role: Strategic context — which gaps are wins to close, which are deliberate non-positions
75
+ parallel: true
76
+ gate:
77
+ type: user_approval
78
+ description: User approves the benchmark results before remediation ranking
79
+
80
+ - id: self-critique
81
+ name: Self-Critique
82
+ description: Stress-test the audit — are scores defensible by evidence? Are gaps actionable?
83
+ agents:
84
+ - agent_id: brand-director-valentina
85
+ role: Verify each score has a concrete asset citation, each gap has a measurable target
86
+ gate:
87
+ type: auto
88
+
89
+ - id: quality-gate
90
+ name: Quality Gate
91
+ model_override: opus
92
+ description: Mandatory quality review
93
+ agents:
94
+ - agent_id: cqo-marta
95
+ role: Orchestrate quality review
96
+ - agent_id: copy-director-eduardo
97
+ role: Audit prose quality, no clichés, defensible scoring language
98
+ parallel: true
99
+ - agent_id: tech-director-francisca
100
+ role: Visual evidence completeness, accessibility findings, file format integrity
101
+ parallel: true
102
+ gate:
103
+ type: quality_gate
104
+ required_verdict: APPROVED
105
+
106
+ - id: delivery
107
+ name: Audit Report & Recommendations
108
+ description: Compile audit report with ranked remediation recommendations
109
+ agents:
110
+ - agent_id: brand-director-valentina
111
+ role: Compile audit report — 21-point index, gap analysis, ranked remediation plan
112
+ gate:
113
+ type: auto
114
+ outputs:
115
+ - type: document
116
+ format: markdown
117
+ obsidian_path: "WizardingCode/Brand/Audits/"
118
+ description: Complete brand audit with 21-point index + competitor benchmark + ranked recommendations
@@ -0,0 +1,122 @@
1
+ id: brand-design-system
2
+ name: Design System Specification
3
+ description: Production design system from tokens to Storybook components (Atomic Design + WCAG AA)
4
+ department: brand
5
+ tier: enterprise
6
+ command: "/brand design-system"
7
+ requires_branch: false
8
+ requires_spec: false
9
+ quality_gate_required: true
10
+
11
+ phases:
12
+ - id: brief
13
+ name: Design System Brief
14
+ description: Define product surface, platforms, accessibility floor, integration target
15
+ agents:
16
+ - agent_id: brand-director-valentina
17
+ role: Frame system scope (web / mobile / multi-product), confirm accessibility floor (WCAG AA minimum)
18
+ gate:
19
+ type: user_approval
20
+ description: User confirms scope, platforms, and accessibility floor
21
+
22
+ - id: token-design
23
+ name: Token Design
24
+ description: Define design tokens (color, typography, spacing, radius, elevation, motion) as JSON
25
+ agents:
26
+ - agent_id: visual-designer-isabel
27
+ role: Color palette with semantic tokens, typography scale, spacing rhythm, radius/elevation/motion tokens
28
+ gate:
29
+ type: user_approval
30
+ description: User approves the token system before component build
31
+ outputs:
32
+ - type: document
33
+ format: json
34
+ obsidian_path: "WizardingCode/Brand/DesignSystems/Tokens/"
35
+ description: design-tokens.json with full semantic layer
36
+
37
+ - id: atom-molecule-organism
38
+ name: Atom, Molecule, Organism
39
+ description: Build the lower three Atomic Design levels — primitives, composed pairs, complete sections
40
+ agents:
41
+ - agent_id: ux-designer-sofia-d
42
+ role: Atoms (button, input, label, icon), molecules (form field, card header, nav item)
43
+ parallel: true
44
+ - agent_id: visual-designer-isabel
45
+ role: Organisms (nav bar, hero, card grid, dialog) with token application
46
+ parallel: true
47
+ gate:
48
+ type: auto
49
+
50
+ - id: template-page
51
+ name: Templates & Pages
52
+ description: Complete Atomic Design — page templates with content placeholders, plus 2-3 production page examples
53
+ agents:
54
+ - agent_id: ux-designer-sofia-d
55
+ role: Page templates (landing, dashboard, settings, empty state)
56
+ - agent_id: visual-designer-isabel
57
+ role: Production page examples with real content
58
+ parallel: true
59
+ gate:
60
+ type: user_approval
61
+ description: User approves the template set before accessibility audit
62
+
63
+ - id: accessibility-audit
64
+ name: WCAG AA Audit
65
+ description: Full WCAG 2.2 AA audit on every component — contrast, focus, semantics, ARIA, keyboard
66
+ agents:
67
+ - agent_id: wcag-auditor
68
+ role: WCAG 2.2 AA conformance audit on every atom/molecule/organism/template
69
+ - agent_id: ux-designer-sofia-d
70
+ role: Remediate failures, document permanent waivers with rationale
71
+ parallel: true
72
+ gate:
73
+ type: user_approval
74
+ description: User approves the conformance report (zero AA failures required)
75
+ outputs:
76
+ - type: document
77
+ format: markdown
78
+ obsidian_path: "WizardingCode/Brand/DesignSystems/Accessibility/"
79
+ description: WCAG AA conformance report — every component pass/waiver
80
+
81
+ - id: self-critique
82
+ name: Self-Critique
83
+ description: Stress-test the system — naming consistency, token coverage, scale integrity, edge-case components
84
+ agents:
85
+ - agent_id: brand-director-valentina
86
+ role: Verify naming consistency, token coverage, scale integrity, edge-case components
87
+ gate:
88
+ type: auto
89
+
90
+ - id: quality-gate
91
+ name: Quality Gate
92
+ model_override: opus
93
+ description: Mandatory quality review
94
+ agents:
95
+ - agent_id: cqo-marta
96
+ role: Orchestrate quality review
97
+ - agent_id: copy-director-eduardo
98
+ role: Component naming, prop names, docstring clarity, no AI clichés in copy
99
+ parallel: true
100
+ - agent_id: tech-director-francisca
101
+ role: Token schema integrity, accessibility compliance, Storybook contract correctness
102
+ parallel: true
103
+ gate:
104
+ type: quality_gate
105
+ required_verdict: APPROVED
106
+
107
+ - id: delivery
108
+ name: Design System Delivery
109
+ description: Compile the design system — tokens JSON + component catalog + WCAG report + Storybook story stubs
110
+ agents:
111
+ - agent_id: brand-director-valentina
112
+ role: Compile the design system package and write the integration guide
113
+ - agent_id: shadcn-padronizer
114
+ role: Optional shadcn/ui alignment for code-side parity
115
+ optional: true
116
+ gate:
117
+ type: auto
118
+ outputs:
119
+ - type: document
120
+ format: markdown
121
+ obsidian_path: "WizardingCode/Brand/DesignSystems/"
122
+ description: Complete design system — design-tokens.json + component catalog + accessibility report + Storybook stubs + integration guide
@@ -1,7 +1,9 @@
1
1
  ---
2
2
  name: saas/gtm-strategy
3
3
  description: >
4
- Go-to-market strategy for SaaS: motion selection, ICP, channel mix, launch plan.
4
+ Cross-departmental go-to-market strategy: ICP, positioning, motion selection,
5
+ channel mix, 90-day execution plan. Orchestrates SaaS + Strategy + Marketing
6
+ + Sales + Landing.
5
7
  allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
6
8
  ---
7
9
 
@@ -19,14 +21,138 @@ treat them as your default source. External research supplements, it
19
21
  does not replace the vault.
20
22
  <!-- arka:kb-first-prefix end -->
21
23
 
22
- # Gtm Strategy — `/saas gtm <product>`
24
+ # GTM Strategy — `/saas gtm <product>`
23
25
 
24
- > **Agent:** Tiago (SaaS Strategist) | **Framework:** MOVE Framework (Sangram Vajre) + 6 GTM Motions
26
+ > **Lead:** Tiago (SaaS Strategist) | **Cross-dept:** Tomas (Strategy) + Mateus (Brand) + Luna (Marketing) + Miguel (Sales) + Ines (Landing) | **Framework:** MOVE (Sangram Vajre) + Onlyness + AARRR
25
27
 
26
- ## What It Does
28
+ ## What ships
27
29
 
28
- Go-to-market strategy for SaaS: motion selection, ICP, channel mix, launch plan.
30
+ A production GTM package in 6 deliverables, each with a named owner and a measurable target:
29
31
 
30
- ## Output
32
+ 1. **ICP profile** — firmographics + persona + pain triggers + buying signal
33
+ 2. **Positioning statement** — Onlyness frame + competitive contrast table
34
+ 3. **Motion selection** — primary + assist motion with feasibility math
35
+ 4. **Channel mix** — budget allocation across channels with AARRR baseline
36
+ 5. **90-day execution plan** — week-by-week with owners + checkpoints
37
+ 6. **Executive summary** — 1-page printable to align stakeholders
31
38
 
32
- GTM strategy doc with motion, ICP, channels, and 90-day execution plan
39
+ ## ICP Template (firmographic + persona + pain + signal)
40
+
41
+ Every ICP profile must carry these four blocks. Vagueness in any block invalidates the rest of the GTM stack.
42
+
43
+ ### Firmographics (the company shape)
44
+ - Company size (employees, ARR range)
45
+ - Industry vertical (with NAICS / SIC code if relevant)
46
+ - Geo (countries, regulatory regions)
47
+ - Tech stack signal (what they already pay for that signals readiness)
48
+ - Funding stage (bootstrapped / seed / Series A+ / public)
49
+
50
+ ### Persona (the human inside the company)
51
+ - Title and seniority
52
+ - Primary KPI they own
53
+ - Tools they use daily
54
+ - Information diet (newsletters, podcasts, communities)
55
+ - Decision authority (sole / committee / approval)
56
+
57
+ ### Pain Triggers (the moment they realise they need this)
58
+ - The specific event that surfaces the pain (new hire, missed quarter, audit, regulation change)
59
+ - The cost of not solving it (revenue at risk, hours wasted, compliance exposure)
60
+ - The status quo workaround (Excel, agencies, internal builds)
61
+
62
+ ### Buying Signal (how you find them in the wild)
63
+ - Observable behavior in the open web (job postings with specific keywords, tool reviews, talks at specific conferences)
64
+ - Account-level data signal (vendor footprint, hiring pattern, public infrastructure)
65
+ - Conversational signal (specific Slack/Discord communities, specific subreddits)
66
+
67
+ ## Onlyness Statement (positioning frame)
68
+
69
+ The Onlyness frame forces a single defensible sentence:
70
+
71
+ > **We are the only [category] that [unique mechanism] for [ICP] who want [outcome].**
72
+
73
+ Worked example:
74
+ > "We are the only AI agent orchestration system that ships behavioral compliance telemetry baked into the runtime for technical founders who want measurable governance instead of vibes-based discipline."
75
+
76
+ The statement must pass three tests:
77
+ 1. **Substitution test** — replace your name with a competitor's. Does the sentence still hold? If yes, the positioning isn't defensible.
78
+ 2. **Customer-articulation test** — would a current customer say this sentence back unprompted in roughly these words?
79
+ 3. **Mechanism test** — is "unique mechanism" a verifiable specific (a feature, a method, a metric) or marketing prose (an adjective, a vibe)?
80
+
81
+ ## 6 GTM Motions (pick primary + assist)
82
+
83
+ Each motion has a default ICP shape and a default channel mix. Mixing motions without understanding the constraints below produces zero-momentum GTM.
84
+
85
+ | Motion | Default ICP | Default Channels | Velocity | Typical CAC payback |
86
+ |---|---|---|---|---|
87
+ | **Product-Led (PLG)** | High-volume, low-ticket, self-serve adoption pattern | SEO + integrations + viral loops + product itself | Fast (weeks to first value) | 6-12 months |
88
+ | **Sales-Led (SLG)** | Enterprise, committee buying, regulated industries | Outbound + content + events + partner channel | Slow (months to close) | 12-18 months |
89
+ | **Community-Led** | High-affinity practitioners, identity-driven adoption | Owned community + open source + advocate program | Medium (compounds quarterly) | Variable (community creates own loop) |
90
+ | **Partner-Led** | Vertical specialists, complex installs, system integrator channel | Channel partnerships + reseller program + co-marketing | Slow start, faster scale | 9-18 months |
91
+ | **Inbound** | Information-seeking buyers researching solutions | SEO + content marketing + comparison content + reviews | Medium (3-6 month ramp) | 6-12 months |
92
+ | **Outbound** | Identified buyer set, account-based targeting | Cold email + cold call + LinkedIn + ABM | Fast pipeline, slow trust | 12-24 months |
93
+
94
+ The MOVE framework (Sangram Vajre): **M**arkets (who you're selling into), **O**perations (your repeatable engine), **V**elocity (deal cycle + expansion math), **E**xpansion (NRR > 110% target).
95
+
96
+ ## Channel-Motion Matrix
97
+
98
+ ```
99
+ Content/SEO Paid Community Partner Event Outbound
100
+ Product-Led ✓✓✓ ✓✓ ✓✓✓ ✓ ✓ —
101
+ Sales-Led ✓✓ ✓✓ ✓ ✓✓✓ ✓✓✓ ✓✓✓
102
+ Community-Led ✓✓✓ — ✓✓✓✓ ✓✓ ✓✓ —
103
+ Partner-Led ✓ ✓ ✓ ✓✓✓✓ ✓✓✓ ✓✓
104
+ Inbound ✓✓✓✓ ✓✓✓ ✓✓ ✓ ✓✓ —
105
+ Outbound ✓✓ ✓ ✓ ✓✓ ✓✓ ✓✓✓✓
106
+ ```
107
+
108
+ Pick exactly ONE primary channel that gets 50%+ of budget. Add at most TWO assist channels. More channels = no channel.
109
+
110
+ ## 90-Day Execution Plan Template
111
+
112
+ Plan structure (every plan must follow this shape):
113
+
114
+ ```
115
+ Week 1-2: Foundation
116
+ - [Owner] ICP doc validated with 5 customer conversations
117
+ - [Owner] Positioning statement live on homepage
118
+ - [Owner] Tracking baseline measured (current AARRR rates)
119
+
120
+ Week 3-4: Channel Activation (primary)
121
+ - [Owner] First 4 [channel-native content units] published
122
+ - [Owner] Conversion tracking live, first signals captured
123
+ - [Owner] Sales playbook v1 written for inbound responses
124
+
125
+ Week 5-8: Iteration
126
+ - [Owner] Top-funnel CAC measured, channel ROI computed
127
+ - [Owner] Pricing test A/B started
128
+ - [Owner] First 10 customer interviews completed and tagged
129
+ - [Owner] Assist channels activated based on primary signal
130
+
131
+ Week 9-12: Scale Decision
132
+ - [Owner] Channel-mix review — double down or pivot
133
+ - [Owner] First retention cohort analysis (D7, D30)
134
+ - [Owner] Next-90-day plan written based on real data
135
+ ```
136
+
137
+ Every line must have: owner name, measurable output, due date.
138
+
139
+ ## Executive Summary (1-page, mandatory output)
140
+
141
+ The full GTM package is dense. The 1-page exec summary captures:
142
+
143
+ ```
144
+ Product: [name]
145
+ ICP: [one sentence: who, where, what pain]
146
+ Positioning: [Onlyness sentence]
147
+ Primary Motion: [name + why this one]
148
+ Primary Channel: [name + 90-day budget]
149
+ North Star Metric: [the one number that, if it moves, the strategy works]
150
+ Day-90 Target: [specific number tied to North Star Metric]
151
+ Top Risk: [what would invalidate this strategy + mitigation]
152
+ ```
153
+
154
+ If the executive summary doesn't fit on one printable page, the strategy is overcomplicated.
155
+
156
+ ## Output → Obsidian: `WizardingCode/GTM/<product>-<date>/`
157
+
158
+ Delivers: ICP profile + positioning statement + motion selection + channel mix + 90-day plan + executive summary. Plus the cross-departmental review trail (Strategy + Brand + Marketing + Sales + Landing signatures from each phase gate).
@@ -0,0 +1,144 @@
1
+ id: saas-gtm-strategy
2
+ name: GTM Strategy (Cross-Departmental)
3
+ description: Full go-to-market strategy from ICP to 90-day execution plan, orchestrating SaaS + Strategy + Marketing + Sales + Landing
4
+ department: saas
5
+ tier: enterprise
6
+ command: "/saas gtm"
7
+ requires_branch: false
8
+ requires_spec: false
9
+ quality_gate_required: true
10
+
11
+ phases:
12
+ - id: brief
13
+ name: GTM Brief
14
+ description: Define product, current stage, available budget/runway, and success metric
15
+ agents:
16
+ - agent_id: saas-strategist-tiago
17
+ role: Frame product context, current ARR/MRR, runway, win condition for the launch
18
+ gate:
19
+ type: user_approval
20
+ description: User confirms product context, budget, and success metric
21
+
22
+ - id: icp-discovery
23
+ name: ICP Discovery
24
+ description: Define Ideal Customer Profile from existing user data and competitor analysis
25
+ agents:
26
+ - agent_id: strategy-director-tomas
27
+ role: ICP framework — firmographics, technographics, pain triggers, buying committee
28
+ parallel: true
29
+ - agent_id: saas-strategist-tiago
30
+ role: Current-user pattern extraction, look-alike modeling, willingness-to-pay signals
31
+ parallel: true
32
+ gate:
33
+ type: user_approval
34
+ description: User approves the ICP (firmographics + persona + pain triggers + buying signal)
35
+ outputs:
36
+ - type: document
37
+ format: markdown
38
+ obsidian_path: "WizardingCode/GTM/ICP/"
39
+ description: ICP profile with persona card, pain triggers, buying signals
40
+
41
+ - id: positioning
42
+ name: Positioning Statement
43
+ description: Position the product in the ICP's mental category using Ries/Trout template + Onlyness frame
44
+ agents:
45
+ - agent_id: brand-strategist-mateus
46
+ role: Onlyness statement (only X that Y for Z), category creation vs category capture analysis
47
+ - agent_id: strategy-director-tomas
48
+ role: Competitive contrast — 3-5 direct competitors with relative positioning
49
+ parallel: true
50
+ gate:
51
+ type: user_approval
52
+ description: User approves positioning (one-sentence + competitive contrast)
53
+ outputs:
54
+ - type: document
55
+ format: markdown
56
+ obsidian_path: "WizardingCode/GTM/Positioning/"
57
+ description: Positioning statement + competitive contrast table
58
+
59
+ - id: motion-selection
60
+ name: GTM Motion Selection
61
+ description: Pick the primary motion (PLG / SLG / community / partner / inbound / outbound) and the assist motion
62
+ agents:
63
+ - agent_id: saas-strategist-tiago
64
+ role: Apply Sangram Vajre's MOVE framework — Markets, Operations, Velocity, Expansion
65
+ - agent_id: sales-director-miguel
66
+ role: Sales motion feasibility — pipeline math, CAC payback, win-rate baseline
67
+ parallel: true
68
+ gate:
69
+ type: user_approval
70
+ description: User approves primary motion + assist motion + 90-day target velocity
71
+
72
+ - id: channel-mix
73
+ name: Channel Mix
74
+ description: Map motion to channels — content / paid / community / partnerships / events / outbound — with budget allocation
75
+ agents:
76
+ - agent_id: marketing-director-luna
77
+ role: Channel mix design with AARRR baseline, growth loop selection
78
+ - agent_id: conversion-strategist-ines
79
+ role: Landing surface design per channel (one URL per channel intent)
80
+ parallel: true
81
+ gate:
82
+ type: user_approval
83
+ description: User approves channel allocation and budget split
84
+ outputs:
85
+ - type: document
86
+ format: markdown
87
+ obsidian_path: "WizardingCode/GTM/Channels/"
88
+ description: Channel mix with budget allocation and AARRR baseline
89
+
90
+ - id: ninety-day-plan
91
+ name: 90-Day Execution Plan
92
+ description: Concrete week-by-week deliverables, owners, success metrics — first 90 days
93
+ agents:
94
+ - agent_id: saas-strategist-tiago
95
+ role: Week-by-week deliverable plan with named owners and weekly checkpoints
96
+ - agent_id: marketing-director-luna
97
+ role: Marketing-side deliverables (content cadence, paid ramp, community)
98
+ parallel: true
99
+ - agent_id: sales-director-miguel
100
+ role: Sales-side deliverables (outbound cadence, demo book rate target)
101
+ parallel: true
102
+ gate:
103
+ type: user_approval
104
+ description: User approves the 90-day plan before Quality Gate
105
+
106
+ - id: self-critique
107
+ name: Self-Critique
108
+ description: Stress-test the plan — is the motion-channel-budget triple internally consistent? Are weekly checkpoints measurable?
109
+ agents:
110
+ - agent_id: strategy-director-tomas
111
+ role: Strategic coherence check — motion ↔ ICP ↔ positioning ↔ channels alignment
112
+ gate:
113
+ type: auto
114
+
115
+ - id: quality-gate
116
+ name: Quality Gate
117
+ model_override: opus
118
+ description: Mandatory quality review
119
+ agents:
120
+ - agent_id: cqo-marta
121
+ role: Orchestrate quality review
122
+ - agent_id: copy-director-eduardo
123
+ role: ICP language, positioning prose, plan readability — no clichés
124
+ parallel: true
125
+ - agent_id: tech-director-francisca
126
+ role: Plan executability — every action has an owner, a date, a metric
127
+ parallel: true
128
+ gate:
129
+ type: quality_gate
130
+ required_verdict: APPROVED
131
+
132
+ - id: delivery
133
+ name: GTM Package Delivery
134
+ description: Compile the full GTM package and produce the 1-page executive summary
135
+ agents:
136
+ - agent_id: saas-strategist-tiago
137
+ role: Full GTM package compilation + 1-page executive summary
138
+ gate:
139
+ type: auto
140
+ outputs:
141
+ - type: document
142
+ format: markdown
143
+ obsidian_path: "WizardingCode/GTM/"
144
+ description: Complete GTM package — ICP + positioning + motion + channel mix + 90-day plan + executive summary
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "2.49.0",
3
+ "version": "2.51.0",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkaos-core"
3
- version = "2.49.0"
3
+ version = "2.51.0"
4
4
  description = "Core engine for ArkaOS — The Operating System for AI Agent Teams"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}