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 +1 -1
- package/config/constitution.yaml +8 -0
- package/config/hooks/user-prompt-submit-v2.sh +51 -1
- package/config/standards/ecosystem-workflow.md +60 -0
- package/installer/update.js +15 -1
- package/knowledge/agents-registry.json +6 -6
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/departments/ecommerce/SKILL.md +0 -363
- package/departments/ecommerce/agents/ecommerce-manager.md +0 -91
- package/departments/knowledge/SKILL.md +0 -474
- package/departments/knowledge/agents/knowledge-curator.md +0 -89
- package/departments/operations/SKILL.md +0 -422
- package/departments/operations/agents/coo.md +0 -88
- /package/departments/{knowledge → kb}/scripts/kb-check-capabilities.sh +0 -0
- /package/departments/{knowledge → kb}/scripts/kb-cleanup.sh +0 -0
- /package/departments/{knowledge → kb}/scripts/kb-queue.sh +0 -0
- /package/departments/{knowledge → kb}/scripts/kb-status.sh +0 -0
- /package/departments/{knowledge → kb}/scripts/kb-worker.sh +0 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.7.0
|
package/config/constitution.yaml
CHANGED
|
@@ -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
|
package/installer/update.js
CHANGED
|
@@ -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
|
|
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": "
|
|
119
|
+
"department": "ops",
|
|
120
120
|
"tier": 0,
|
|
121
121
|
"disc": { "primary": "S", "secondary": "C", "combination": "S+C", "label": "Supporter-Analyst" },
|
|
122
|
-
"file": "departments/
|
|
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": "
|
|
141
|
+
"department": "ecom",
|
|
142
142
|
"tier": 1,
|
|
143
143
|
"disc": { "primary": "D", "secondary": "I", "combination": "D+I", "label": "Driver-Inspirer" },
|
|
144
|
-
"file": "departments/
|
|
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": "
|
|
163
|
+
"department": "kb",
|
|
164
164
|
"tier": 1,
|
|
165
165
|
"disc": { "primary": "S", "secondary": "C", "combination": "S+C", "label": "Supporter-Analyst" },
|
|
166
|
-
"file": "departments/
|
|
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
package/pyproject.toml
CHANGED
|
@@ -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]]*
|