arkaos 2.5.3 → 2.7.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.5.3
1
+ 2.7.0
@@ -58,6 +58,10 @@ enforcement_levels:
58
58
  rule: "ArkaOS instructions override runtime defaults"
59
59
  enforcement: "ArkaOS context injected with highest priority"
60
60
 
61
+ - id: context-verification
62
+ rule: "Orchestrators must confirm understanding, ask clarifying questions, and challenge assumptions before executing any task"
63
+ enforcement: "Pre-execution gate — restate request, ask at least 1 clarifying question, apply devil's advocate to at least 1 assumption"
64
+
61
65
  quality_gate:
62
66
  description: "Mandatory pre-delivery review. Nothing ships without APPROVED verdict."
63
67
  trigger: "After the last execution phase, before delivery to user"
@@ -105,6 +109,10 @@ enforcement_levels:
105
109
  rule: "Key decisions persisted in agent memory files"
106
110
  enforcement: "Post-execution hook saves decisions to agent MEMORY.md"
107
111
 
112
+ - id: workflow-standard
113
+ rule: "All ecosystem skills must follow the standard 7-phase workflow defined in config/standards/ecosystem-workflow.md"
114
+ enforcement: "Ecosystem SKILL.md files must reference or implement all 7 phases"
115
+
108
116
  should:
109
117
  description: "Best practices. Encouraged but not enforced."
110
118
  rules:
@@ -18,6 +18,56 @@ for v1_path in "${V1_PATHS[@]}"; do
18
18
  fi
19
19
  done
20
20
 
21
+ # ─── Sync Version Detection ────────────────────────────────────────────
22
+ SYNC_STATE="$HOME/.arkaos/sync-state.json"
23
+ ARKAOS_VERSION_FILE="$HOME/.arkaos/.repo-path"
24
+
25
+ if [ -f "$ARKAOS_VERSION_FILE" ]; then
26
+ _REPO_PATH=$(cat "$ARKAOS_VERSION_FILE")
27
+ if [ -f "$_REPO_PATH/VERSION" ]; then
28
+ _CURRENT_VERSION=$(cat "$_REPO_PATH/VERSION")
29
+ elif [ -f "$_REPO_PATH/package.json" ]; then
30
+ _CURRENT_VERSION=$(python3 -c "import json; print(json.load(open('$_REPO_PATH/package.json'))['version'])" 2>/dev/null || echo "")
31
+ fi
32
+
33
+ if [ -n "${_CURRENT_VERSION:-}" ]; then
34
+ if [ -f "$SYNC_STATE" ]; then
35
+ _SYNCED_VERSION=$(python3 -c "import json; print(json.load(open('$SYNC_STATE'))['version'])" 2>/dev/null || echo "none")
36
+ else
37
+ _SYNCED_VERSION="none"
38
+ fi
39
+
40
+ if [ "$_CURRENT_VERSION" != "$_SYNCED_VERSION" ]; then
41
+ _SYNC_NOTICE="[arka:update-available] ArkaOS v${_CURRENT_VERSION} installed (synced: ${_SYNCED_VERSION}). Run /arka update to sync all projects. "
42
+ fi
43
+ fi
44
+ fi
45
+
46
+ # ─── Session Greeting ───────────────────────────────────────────────────
47
+ _SESSION_MARKER="/tmp/arkaos-session-$$"
48
+ if [ ! -f "$_SESSION_MARKER" ] && [ ! -f "/tmp/arkaos-greeted-today" ]; then
49
+ touch "$_SESSION_MARKER"
50
+ touch "/tmp/arkaos-greeted-today"
51
+
52
+ _GREETING_NAME=""
53
+ _GREETING_COMPANY=""
54
+ _GREETING_VERSION=""
55
+
56
+ if [ -f "$HOME/.arkaos/profile.json" ] && command -v python3 &>/dev/null; then
57
+ _GREETING_NAME=$(python3 -c "import json; p=json.load(open('$HOME/.arkaos/profile.json')); print(p.get('name', p.get('role', 'founder')))" 2>/dev/null)
58
+ _GREETING_COMPANY=$(python3 -c "import json; print(json.load(open('$HOME/.arkaos/profile.json')).get('company', ''))" 2>/dev/null)
59
+ fi
60
+
61
+ if [ -f "$HOME/.arkaos/.repo-path" ]; then
62
+ _GR_REPO=$(cat "$HOME/.arkaos/.repo-path")
63
+ if [ -f "$_GR_REPO/VERSION" ]; then
64
+ _GREETING_VERSION=$(cat "$_GR_REPO/VERSION")
65
+ fi
66
+ fi
67
+
68
+ _ARKA_GREETING="[arka:greeting] _ ____ _ __ _ ___ ____ / \\ | _ \\| |/ / / \\ / _ \\/ ___| / _ \\ | |_) | ' / / _ \\| | | \\___ \\ / ___ \\| _ <| . \\ / ___ \\ |_| |___) | /_/ \\_\\_| \\_\\_|\\_\\/_/ \\_\\___/|____/ Welcome back, ${_GREETING_NAME:-founder} (${_GREETING_COMPANY:-WizardingCode}). ArkaOS v${_GREETING_VERSION:-2.x} ready. Type /arka help or just describe what you need. "
69
+ fi
70
+
21
71
  # ─── Performance Timing ──────────────────────────────────────────────────
22
72
  _HOOK_START_NS=$(date +%s%N 2>/dev/null || echo "0")
23
73
  _hook_ms() {
@@ -103,7 +153,7 @@ if [ -z "$python_result" ]; then
103
153
  fi
104
154
 
105
155
  # ─── Output ──────────────────────────────────────────────────────────────
106
- echo "{\"additionalContext\": \"$python_result\"}"
156
+ echo "{\"additionalContext\": \"${_ARKA_GREETING:-}${_SYNC_NOTICE:-}$python_result\"}"
107
157
 
108
158
  # ─── Metrics ─────────────────────────────────────────────────────────────
109
159
  elapsed=$(_hook_ms)
@@ -0,0 +1,60 @@
1
+ # ArkaOS -- Standard Ecosystem Workflow
2
+
3
+ > All ecosystem skills MUST follow this workflow. No exceptions.
4
+ > This is referenced by all ecosystem SKILL.md files.
5
+
6
+ ## Phase 1: Context Loading
7
+
8
+ - Read ecosystem registry (`~/.claude/skills/arka/knowledge/ecosystems.json`)
9
+ - Read project descriptor(s) for affected project(s)
10
+ - Read project CLAUDE.md if it exists
11
+ - Check git status and current branch
12
+ - Load relevant memory from claude-mem
13
+
14
+ ## Phase 2: Context Verification (NON-NEGOTIABLE)
15
+
16
+ - Restate the request to confirm understanding
17
+ - Ask at least 1 clarifying question about scope or intent
18
+ - Challenge at least 1 assumption (devil's advocate)
19
+ - Search memory/knowledge base for prior related work
20
+ - Only proceed after user confirms understanding
21
+
22
+ ## Phase 3: Analysis & Planning
23
+
24
+ - Identify affected projects within the ecosystem
25
+ - Determine which squad roles are needed
26
+ - Assess complexity (simple/medium/complex)
27
+ - Create execution plan with specific steps
28
+
29
+ ## Phase 4: Plan Presentation & Approval
30
+
31
+ - Present the plan to the user with:
32
+ - Affected files/projects
33
+ - Squad roles assigned
34
+ - Estimated scope (small/medium/large)
35
+ - Risks or concerns
36
+ - Wait for explicit user approval
37
+ - Options: Approve / Modify / Cancel
38
+
39
+ ## Phase 5: Execution
40
+
41
+ - Create feature branch (NON-NEGOTIABLE for code changes)
42
+ - Use worktree isolation for multi-file changes
43
+ - Squad agents execute in their domain
44
+ - Follow TDD where applicable
45
+ - Commit frequently with conventional commit messages
46
+
47
+ ## Phase 6: Quality Gate (NON-NEGOTIABLE)
48
+
49
+ - **Marta** (CQO) orchestrates the review
50
+ - **Eduardo** (Copy Director) reviews all text output
51
+ - **Francisca** (Tech/UX Director) reviews all code and technical output
52
+ - Verdict: APPROVED or REJECTED
53
+ - REJECTED -> return to Phase 5 with specific feedback
54
+ - APPROVED -> proceed to Phase 7
55
+
56
+ ## Phase 7: Documentation & Report
57
+
58
+ - Update Obsidian vault with deliverables
59
+ - Present final report to user
60
+ - Include: what was done, files changed, tests run, next steps
@@ -135,6 +135,20 @@ export async function update() {
135
135
  writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
136
136
  console.log(" ✓ Manifest updated");
137
137
 
138
+ // Reset sync state to trigger /arka update on next session
139
+ const syncStatePath = join(installDir, "sync-state.json");
140
+ const syncState = {
141
+ version: "pending-sync",
142
+ last_sync: null,
143
+ projects_synced: 0,
144
+ skills_synced: 0,
145
+ errors: [],
146
+ core_updated_to: VERSION,
147
+ core_updated_at: new Date().toISOString()
148
+ };
149
+ writeFileSync(syncStatePath, JSON.stringify(syncState, null, 2));
150
+ console.log(" ✓ Sync state reset (run /arka update to sync projects)");
151
+
138
152
  console.log(`
139
153
  ╔══════════════════════════════════════════╗
140
154
  ║ ArkaOS updated to v${VERSION} ║
@@ -146,6 +160,6 @@ export async function update() {
146
160
  Projects: ${profile.projectsDir || "not set"}
147
161
  Vault: ${profile.vaultPath || "not set"}
148
162
 
149
- Run 'npx arkaos doctor' to verify.
163
+ Run /arka update in Claude Code to sync all projects.
150
164
  `);
151
165
  }
@@ -116,10 +116,10 @@
116
116
  "id": "coo",
117
117
  "display_name": "Sofia",
118
118
  "role": "COO",
119
- "department": "operations",
119
+ "department": "ops",
120
120
  "tier": 0,
121
121
  "disc": { "primary": "S", "secondary": "C", "combination": "S+C", "label": "Supporter-Analyst" },
122
- "file": "departments/operations/agents/coo.md",
122
+ "file": "departments/ops/agents/ops-lead.yaml",
123
123
  "memory_path": "~/.claude/agent-memory/arka-coo/MEMORY.md",
124
124
  "key_authority": ["veto", "approve_operations", "cross_department"]
125
125
  },
@@ -138,10 +138,10 @@
138
138
  "id": "ecommerce-manager",
139
139
  "display_name": "Ricardo",
140
140
  "role": "E-commerce Manager",
141
- "department": "ecommerce",
141
+ "department": "ecom",
142
142
  "tier": 1,
143
143
  "disc": { "primary": "D", "secondary": "I", "combination": "D+I", "label": "Driver-Inspirer" },
144
- "file": "departments/ecommerce/agents/ecommerce-manager.md",
144
+ "file": "departments/ecom/agents/ecom-director.yaml",
145
145
  "memory_path": "~/.claude/agent-memory/arka-ecommerce-manager/MEMORY.md",
146
146
  "key_authority": ["manage_store", "pricing_decisions"]
147
147
  },
@@ -160,10 +160,10 @@
160
160
  "id": "knowledge-curator",
161
161
  "display_name": "Clara",
162
162
  "role": "Knowledge Curator",
163
- "department": "knowledge",
163
+ "department": "kb",
164
164
  "tier": 1,
165
165
  "disc": { "primary": "S", "secondary": "C", "combination": "S+C", "label": "Supporter-Analyst" },
166
- "file": "departments/knowledge/agents/knowledge-curator.md",
166
+ "file": "departments/kb/agents/knowledge-curator.yaml",
167
167
  "memory_path": "~/.claude/agent-memory/arka-knowledge-curator/MEMORY.md",
168
168
  "key_authority": ["manage_knowledge", "create_personas"]
169
169
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "2.5.3",
3
+ "version": "2.7.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.5.3"
3
+ version = "2.7.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"}
@@ -1,363 +0,0 @@
1
- ---
2
- name: ecom
3
- description: >
4
- E-commerce department. Full store audits with 5 parallel agents (UX, SEO, performance,
5
- content, conversion), product listing optimization, pricing strategy analysis, store launch
6
- plans, e-commerce ad campaigns, competitor analysis, e-commerce SEO audits, automated email
7
- flows (cart abandonment, post-purchase, win-back), and store performance reports. Integrates
8
- with Shopify MCP for direct product/order/customer management. All output saved to Obsidian.
9
- Use when user says "ecom", "store", "product", "shop", "shopify", "ecommerce", "e-commerce",
10
- "sales", "conversion", "pricing", "catalog", "inventory", "cart", "checkout", "listing",
11
- or any online store task.
12
- ---
13
-
14
- # E-commerce Department — ARKA OS
15
-
16
- Store management, product optimization, and e-commerce growth.
17
-
18
- ## Universal Workflow (7-Phase — NON-NEGOTIABLE)
19
-
20
- Every e-commerce command follows this workflow. No exceptions. No shortcuts.
21
-
22
- ### Phase 0: BRIEF (Ricardo)
23
- - Clarify the request: store data, objective, current metrics, constraints
24
- - Load store context via Shopify MCP or WebFetch
25
- - Save brief to Obsidian: `WizardingCode/Ecommerce/Briefs/BRIEF-<slug>.md`
26
- - **Gate:** Brief confirmed by user before proceeding
27
-
28
- ### Phase 1: CHALLENGE & RESEARCH (Tomas — Strategy + Helena — CFO)
29
- - Tomas: market positioning, competitor analysis, strategic angle
30
- - Helena: financial viability, margin impact, ROI projection
31
- - Challenge assumptions: "Data shows X, are you sure about Y?"
32
- - Research benchmarks and competitor pricing
33
- - Present findings and alternatives to user
34
- - **Gate:** User approves the approach
35
-
36
- ### Phase 2: PLANNING (Ricardo)
37
- - Define strategy with supporting data
38
- - Create TODO list with `TaskCreate` (one task per deliverable)
39
- - For pricing: define 3 scenarios (conservative, realistic, aggressive)
40
- - For products: define optimization priorities
41
-
42
- ### Phase 3: EXECUTION (Ricardo)
43
- - Execute the approved plan
44
- - Product optimization: copy, SEO, variants, attributes
45
- - Pricing: competitor-informed, margin-validated
46
- - Tasks executed ONE AT A TIME, each validated before the next
47
-
48
- ### Phase 4: SELF-CRITIQUE (Ricardo)
49
- - Do the data support the recommendations?
50
- - Are all product attributes correct for the category? (NO WiFi on shoes)
51
- - Are margins positive in all scenarios?
52
- - Does the copy follow human-writing standards?
53
-
54
- ### Phase 5: SUPERVISION (Helena — CFO)
55
- - Financial impact review: margins, ROI, cash flow impact
56
- - Data validation: are the numbers correct and consistent?
57
- - **Gate:** Helena approves or sends back to Phase 3
58
-
59
- ### Phase 6: QUALITY GATE (Marta — CQO)
60
- - Marta dispatches Eduardo (copy review) + Francisca (data/technical review)
61
- - Eduardo: product copy quality, descriptions, email campaigns
62
- - Francisca: data integrity (attributes match category), Shopify push validation, pricing consistency
63
- - Marta aggregates verdict:
64
- - **APPROVED** → Proceed to Phase 7
65
- - **REJECTED** → Exact issue list, return to Phase 3
66
- - **NO OUTPUT REACHES THE USER WITHOUT MARTA'S APPROVAL**
67
-
68
- ### Phase 7: DELIVERY (Ricardo)
69
- - Apply via Shopify MCP (only if user approved push)
70
- - Save to Obsidian: `WizardingCode/Ecommerce/<type>/`
71
- - Report with before/after metrics where applicable
72
- - Report what was delivered vs. what was in the brief
73
-
74
- ### Visibility (NON-NEGOTIABLE)
75
- Every phase transition is announced to the user:
76
- - "📋 Phase 0: Loading store context and creating brief..."
77
- - "🔍 Phase 1: Tomas and Helena challenging the approach..."
78
- - "💰 Phase 5: Helena reviewing financial impact..."
79
- - "🔒 Phase 6: Quality Gate — Eduardo + Francisca reviewing..."
80
- - "✅ Phase 6: APPROVED by Marta. Proceeding to delivery."
81
-
82
- ## Commands
83
-
84
- | Command | Description |
85
- |---------|-------------|
86
- | `/ecom audit <url>` | Full store audit (5 agents) |
87
- | `/ecom product <description>` | Create optimized product listing |
88
- | `/ecom pricing <product>` | Pricing strategy analysis |
89
- | `/ecom launch <store>` | New store launch plan |
90
- | `/ecom ads <product>` | E-commerce ad campaigns |
91
- | `/ecom competitors <url>` | Competitive e-commerce analysis |
92
- | `/ecom seo <url>` | E-commerce SEO audit |
93
- | `/ecom email <type>` | E-commerce email flows (cart, post-purchase, win-back) |
94
- | `/ecom report <store>` | Store performance report |
95
-
96
- ## Obsidian Output
97
-
98
- All e-commerce output goes to the Obsidian vault at `{{OBSIDIAN_VAULT}}`:
99
-
100
- | Content Type | Vault Path |
101
- |-------------|-----------|
102
- | Store audits | `WizardingCode/Ecommerce/Audits/<date> <store>.md` |
103
- | Product analyses | `WizardingCode/Ecommerce/Products/<name>.md` |
104
- | Competitor research | `WizardingCode/Ecommerce/Competitors/<date> <name>.md` |
105
- | Launch plans | `WizardingCode/Ecommerce/Launches/<store>.md` |
106
- | Performance reports | `WizardingCode/Ecommerce/Reports/<date> <store>.md` |
107
-
108
- **Obsidian format:**
109
- ```markdown
110
- ---
111
- type: report
112
- department: ecommerce
113
- title: "<title>"
114
- date_created: <YYYY-MM-DD>
115
- tags:
116
- - "report"
117
- - "ecommerce"
118
- - "<specific-tag>"
119
- ---
120
- ```
121
-
122
- All files use wikilinks `[[]]` for cross-references and kebab-case tags.
123
-
124
- ## Workflows
125
-
126
- ### /ecom audit <url>
127
-
128
- **Step 1: Fetch Store Data**
129
- - Use WebFetch to crawl the store URL
130
- - Capture homepage, key product pages, cart, checkout flow
131
-
132
- **Step 2: Run 5 Parallel Audit Agents**
133
-
134
- Launch these agents simultaneously:
135
-
136
- **Agent 1: UX Auditor**
137
- - Navigation and information architecture
138
- - Mobile responsiveness
139
- - Page load perception
140
- - Cart and checkout friction
141
- - Search and filtering usability
142
-
143
- **Agent 2: SEO Auditor**
144
- - Title tags, meta descriptions, heading structure
145
- - Product page SEO (schema markup, alt text, URLs)
146
- - Internal linking and site structure
147
- - Collection/category page optimization
148
- - Technical SEO (canonical URLs, sitemap, robots.txt)
149
-
150
- **Agent 3: Performance Auditor**
151
- - Page load speed indicators
152
- - Image optimization assessment
153
- - Third-party script overhead
154
- - Core Web Vitals estimation
155
- - Mobile performance
156
-
157
- **Agent 4: Content Auditor**
158
- - Product descriptions (quality, length, persuasion)
159
- - Product photography assessment
160
- - Trust signals (reviews, badges, guarantees)
161
- - Brand consistency across pages
162
- - Copy effectiveness (headlines, CTAs)
163
-
164
- **Agent 5: Conversion Auditor**
165
- - Call-to-action clarity and placement
166
- - Social proof visibility
167
- - Urgency/scarcity elements
168
- - Upsell and cross-sell opportunities
169
- - Abandoned cart recovery signals
170
- - Email capture strategy
171
-
172
- **Step 3: Synthesize Results**
173
- - Combine all 5 agent reports
174
- - Prioritize findings by impact (high/medium/low)
175
- - Create actionable recommendations with estimated effort
176
-
177
- **Step 4: Save to Obsidian**
178
-
179
- **File:** `WizardingCode/Ecommerce/Audits/<YYYY-MM-DD> <store>.md`
180
- ```markdown
181
- ---
182
- type: audit
183
- department: ecommerce
184
- title: "<store> — E-commerce Audit"
185
- url: "<url>"
186
- date_created: <YYYY-MM-DD>
187
- tags:
188
- - "audit"
189
- - "ecommerce"
190
- ---
191
-
192
- # <store> — E-commerce Audit
193
-
194
- ## Executive Summary
195
- [Top 3-5 findings and overall score]
196
-
197
- ## UX Analysis
198
- [Agent 1 findings]
199
-
200
- ## SEO Analysis
201
- [Agent 2 findings]
202
-
203
- ## Performance Analysis
204
- [Agent 3 findings]
205
-
206
- ## Content Analysis
207
- [Agent 4 findings]
208
-
209
- ## Conversion Analysis
210
- [Agent 5 findings]
211
-
212
- ## Priority Actions
213
- | # | Action | Impact | Effort | Category |
214
- |---|--------|--------|--------|----------|
215
- | 1 | [action] | High | [effort] | [category] |
216
-
217
- ---
218
- *Part of the [[WizardingCode MOC]]*
219
- ```
220
-
221
- **Step 5: Report**
222
- ```
223
- ═══ ARKA ECOM — Store Audit Complete ═══
224
- Store: <store>
225
- URL: <url>
226
- Issues: <count> (High: X, Medium: Y, Low: Z)
227
- Top action: <highest impact recommendation>
228
- Obsidian: WizardingCode/Ecommerce/Audits/<date> <store>.md
229
- ═════════════════════════════════════════
230
- ```
231
-
232
- ### /ecom product <description>
233
-
234
- **Step 1: Research**
235
- - Understand the product from the description
236
- - If URL provided, use WebFetch to analyze the current listing
237
- - If Shopify MCP available, pull existing product data
238
-
239
- **Step 2: Optimize Product Listing**
240
- - Title: SEO-optimized, keyword-rich, clear benefit
241
- - Description: Problem → Solution → Benefits → Features → CTA
242
- - Bullet points: Feature → Benefit format
243
- - SEO tags: Primary keyword, long-tail variants, related terms
244
- - Meta description: 155 chars, keyword-included, click-worthy
245
-
246
- **Step 3: Generate Variants**
247
- - 3 title options (SEO vs. emotional vs. benefit-led)
248
- - Short description (50 words) and long description (200+ words)
249
- - Suggested collections/categories
250
- - Cross-sell and upsell suggestions
251
-
252
- **Step 4: Save to Obsidian**
253
-
254
- **File:** `WizardingCode/Ecommerce/Products/<name>.md`
255
- ```markdown
256
- ---
257
- type: product
258
- department: ecommerce
259
- title: "<product name>"
260
- date_created: <YYYY-MM-DD>
261
- tags:
262
- - "product"
263
- - "ecommerce"
264
- ---
265
-
266
- # <product name>
267
-
268
- ## Optimized Listing
269
- ### Title Options
270
- 1. [SEO-focused]
271
- 2. [Emotion-focused]
272
- 3. [Benefit-focused]
273
-
274
- ### Description
275
- [Optimized product description]
276
-
277
- ### Bullet Points
278
- - [Feature → Benefit]
279
-
280
- ### SEO
281
- - Primary keyword: [keyword]
282
- - Tags: [list]
283
- - Meta description: [155 chars]
284
-
285
- ### Upsell/Cross-sell
286
- - [Suggestions]
287
-
288
- ---
289
- *Part of the [[WizardingCode MOC]]*
290
- ```
291
-
292
- **Step 5: Apply via Shopify MCP**
293
- - If Shopify MCP is available and user confirms, push the optimized listing directly
294
-
295
- ### /ecom pricing <product>
296
-
297
- **Step 1: Gather Product Data**
298
- - Current price (if exists)
299
- - Cost of goods / margin
300
- - Product category and positioning
301
-
302
- **Step 2: Competitor Analysis**
303
- - Use WebFetch to research 3-5 competitor prices for similar products
304
- - Map price range: budget → mid-range → premium
305
-
306
- **Step 3: Pricing Strategy**
307
- - Calculate margin at different price points
308
- - Apply psychological pricing (charm pricing, anchoring, decoy)
309
- - Consider bundling opportunities
310
- - Evaluate penetration vs. skimming strategy
311
-
312
- **Step 4: Generate Recommendation**
313
-
314
- **File:** `WizardingCode/Ecommerce/Products/<product>-pricing.md`
315
- ```markdown
316
- ---
317
- type: pricing-analysis
318
- department: ecommerce
319
- title: "<product> — Pricing Strategy"
320
- date_created: <YYYY-MM-DD>
321
- tags:
322
- - "pricing"
323
- - "ecommerce"
324
- ---
325
-
326
- # <product> — Pricing Strategy
327
-
328
- ## Competitor Landscape
329
- | Competitor | Product | Price | Positioning |
330
- |-----------|---------|-------|-------------|
331
- | [name] | [product] | [price] | [budget/mid/premium] |
332
-
333
- ## Margin Analysis
334
- | Price Point | Margin | Margin % | Notes |
335
- |------------|--------|----------|-------|
336
- | [price] | [margin] | [%] | [note] |
337
-
338
- ## Recommendation
339
- - **Recommended price:** [price]
340
- - **Strategy:** [penetration/skimming/competitive]
341
- - **Rationale:** [why this price wins]
342
-
343
- ## Psychological Pricing
344
- - [Techniques to apply]
345
-
346
- ## Bundle Opportunities
347
- - [Bundle suggestions with margin impact]
348
-
349
- ---
350
- *Part of the [[WizardingCode MOC]]*
351
- ```
352
-
353
- ## MCP Integration
354
-
355
- Uses Shopify MCP when available for:
356
- - Product management (get-products, get-collections)
357
- - Order management (get-orders, get-order)
358
- - Customer management (get-customers, tag-customer)
359
- - Discount creation (create-discount)
360
- - Store info (get-shop-details)
361
-
362
- ---
363
- *All output: `WizardingCode/Ecommerce/` — Part of the [[WizardingCode MOC]]*