azclaude-copilot 0.8.0 → 0.8.3

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.
@@ -8,8 +8,8 @@
8
8
  "plugins": [
9
9
  {
10
10
  "name": "azclaude",
11
- "description": "AZCLAUDE is a complete AI coding environment for Claude Code. It installs 44 commands, 10 auto-invoked skills, 16 specialized agents, 5 hooks, a real-time pipeline visualizer, and a persistent memory system — in one command.\n\nKey features:\n• Memory across sessions — goals.md + checkpoints injected automatically before every session\n• Self-improving loop — /reflect fixes stale CLAUDE.md rules, /reflexes learns from tool-use patterns, /evolve creates agents from git evidence\n• Autonomous copilot mode — /copilot runs a three-tier team (orchestrator → problem-architect → milestone-builder) across sessions until the product ships\n• Spec-driven workflow — /constitute writes project rules, /spec writes structured ACs, /analyze detects plan drift and ghost milestones, /blueprint traces every milestone to a spec\n• Security layer — 111-rule environment scan (/sentinel), pre-write secret blocking, pre-ship credential audit\n• Progressive levels 0–10 — start with CLAUDE.md, grow into multi-agent pipelines and self-evolving environments\n• Zero dependencies — no npm packages, no external APIs, no vector databases. Plain markdown files and Claude Code's native architecture.\n• Smart install — npx azclaude-copilot@latest auto-detects first install vs upgrade vs verify. Context-aware onboarding shows the right next command for your project state.\n\nExample use cases:\n• /setup — scan an existing project, detect stack + domain + scale, fill CLAUDE.md, generate project-specific skills and agents automatically\n• /copilot \"Build a compliance SaaS with trilingual support\" — walk away, come back to working code across multiple sessions\n• /sentinel — run a scored security audit (0–100, grade A–F) across hooks, permissions, MCP servers, agent configs, and secrets\n• /evolve — detect gaps in the environment, generate new skills and agents from git co-change evidence, report score delta (e.g. 42/100 → 68/100)\n• /constitute — write your project's constitution (non-negotiables, architectural commitments, definition of done) — gates all future AI actions\n• /analyze — cross-artifact consistency check: ghost milestones, spec vs. code drift, unplanned commits\n• /reflect — find stale, missing, or contradicting rules in CLAUDE.md and propose exact fixes\n• /debate \"REST vs GraphQL for this project\" — adversarial evidence-based decision with order-independent scoring, logged to decisions.md",
12
- "version": "0.8.0",
11
+ "description": "AZCLAUDE is a complete AI coding environment for Claude Code. It installs 46 commands, 10 auto-invoked skills, 16 specialized agents, 5 hooks, a real-time pipeline visualizer, and a persistent memory system — in one command.\n\nKey features:\n• Memory across sessions — goals.md + checkpoints injected automatically before every session\n• Self-improving loop — /reflect fixes stale CLAUDE.md rules, /reflexes learns from tool-use patterns, /evolve creates agents from git evidence\n• Autonomous copilot mode — /copilot runs a three-tier team (orchestrator → problem-architect → milestone-builder) across sessions until the product ships\n• Spec-driven workflow — /constitute writes project rules, /spec writes structured ACs, /analyze detects plan drift and ghost milestones, /blueprint traces every milestone to a spec\n• Security layer — 111-rule environment scan (/sentinel), pre-write secret blocking, pre-ship credential audit\n• Progressive levels 0–10 — start with CLAUDE.md, grow into multi-agent pipelines and self-evolving environments\n• Zero dependencies — no npm packages, no external APIs, no vector databases. Plain markdown files and Claude Code's native architecture.\n• Smart install — npx azclaude-copilot@latest auto-detects first install vs upgrade vs verify. Context-aware onboarding shows the right next command for your project state.\n\nExample use cases:\n• /setup — scan an existing project, detect stack + domain + scale, fill CLAUDE.md, generate project-specific skills and agents automatically\n• /copilot \"Build a compliance SaaS with trilingual support\" — walk away, come back to working code across multiple sessions\n• /sentinel — run a scored security audit (0–100, grade A–F) across hooks, permissions, MCP servers, agent configs, and secrets\n• /evolve — detect gaps in the environment, generate new skills and agents from git co-change evidence, report score delta (e.g. 42/100 → 68/100)\n• /constitute — write your project's constitution (non-negotiables, architectural commitments, definition of done) — gates all future AI actions\n• /analyze — cross-artifact consistency check: ghost milestones, spec vs. code drift, unplanned commits\n• /reflect — find stale, missing, or contradicting rules in CLAUDE.md and propose exact fixes\n• /debate \"REST vs GraphQL for this project\" — adversarial evidence-based decision with order-independent scoring, logged to decisions.md",
12
+ "version": "0.8.3",
13
13
  "source": {
14
14
  "source": "github",
15
15
  "repo": "haytamAroui/AZ-CLAUDE-COPILOT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "azclaude",
3
- "version": "0.8.0",
4
- "description": "AZCLAUDE is a complete AI coding environment for Claude Code. It installs 44 commands, 10 auto-invoked skills, 16 specialized agents, 5 hooks, a real-time pipeline visualizer, and a persistent memory system — in one command.\n\nKey features:\n• Memory across sessions — goals.md + checkpoints injected automatically before every session\n• Self-improving loop — /reflect fixes stale CLAUDE.md rules, /reflexes learns from tool-use patterns, /evolve creates agents from git evidence\n• Autonomous copilot mode — /copilot runs a three-tier team (orchestrator → problem-architect → milestone-builder) across sessions until the product ships\n• Spec-driven workflow — /constitute writes project rules, /spec writes structured ACs, /analyze detects plan drift and ghost milestones, /blueprint traces every milestone to a spec\n• Security layer — 111-rule environment scan (/sentinel), pre-write secret blocking, pre-ship credential audit\n• Progressive levels 0–10 — start with CLAUDE.md, grow into multi-agent pipelines and self-evolving environments\n• Zero dependencies — no npm packages, no external APIs, no vector databases. Plain markdown files and Claude Code's native architecture.\n• Smart install — npx azclaude-copilot@latest auto-detects first install vs upgrade vs verify. Context-aware onboarding shows the right next command for your project state.\n\nExample use cases:\n• /setup — scan an existing project, detect stack + domain + scale, fill CLAUDE.md, generate project-specific skills and agents automatically\n• /copilot \"Build a compliance SaaS with trilingual support\" — walk away, come back to working code across multiple sessions\n• /sentinel — run a scored security audit (0–100, grade A–F) across hooks, permissions, MCP servers, agent configs, and secrets\n• /evolve — detect gaps in the environment, generate new skills and agents from git co-change evidence, report score delta (e.g. 42/100 → 68/100)\n• /constitute — write your project's constitution (non-negotiables, architectural commitments, definition of done) — gates all future AI actions\n• /analyze — cross-artifact consistency check: ghost milestones, spec vs. code drift, unplanned commits\n• /reflect — find stale, missing, or contradicting rules in CLAUDE.md and propose exact fixes\n• /debate \"REST vs GraphQL for this project\" — adversarial evidence-based decision with order-independent scoring, logged to decisions.md",
3
+ "version": "0.8.3",
4
+ "description": "AZCLAUDE is a complete AI coding environment for Claude Code. It installs 46 commands, 10 auto-invoked skills, 16 specialized agents, 5 hooks, a real-time pipeline visualizer, and a persistent memory system — in one command.\n\nKey features:\n• Memory across sessions — goals.md + checkpoints injected automatically before every session\n• Self-improving loop — /reflect fixes stale CLAUDE.md rules, /reflexes learns from tool-use patterns, /evolve creates agents from git evidence\n• Autonomous copilot mode — /copilot runs a three-tier team (orchestrator → problem-architect → milestone-builder) across sessions until the product ships\n• Spec-driven workflow — /constitute writes project rules, /spec writes structured ACs, /analyze detects plan drift and ghost milestones, /blueprint traces every milestone to a spec\n• Security layer — 111-rule environment scan (/sentinel), pre-write secret blocking, pre-ship credential audit\n• Progressive levels 0–10 — start with CLAUDE.md, grow into multi-agent pipelines and self-evolving environments\n• Zero dependencies — no npm packages, no external APIs, no vector databases. Plain markdown files and Claude Code's native architecture.\n• Smart install — npx azclaude-copilot@latest auto-detects first install vs upgrade vs verify. Context-aware onboarding shows the right next command for your project state.\n\nExample use cases:\n• /setup — scan an existing project, detect stack + domain + scale, fill CLAUDE.md, generate project-specific skills and agents automatically\n• /copilot \"Build a compliance SaaS with trilingual support\" — walk away, come back to working code across multiple sessions\n• /sentinel — run a scored security audit (0–100, grade A–F) across hooks, permissions, MCP servers, agent configs, and secrets\n• /evolve — detect gaps in the environment, generate new skills and agents from git co-change evidence, report score delta (e.g. 42/100 → 68/100)\n• /constitute — write your project's constitution (non-negotiables, architectural commitments, definition of done) — gates all future AI actions\n• /analyze — cross-artifact consistency check: ghost milestones, spec vs. code drift, unplanned commits\n• /reflect — find stale, missing, or contradicting rules in CLAUDE.md and propose exact fixes\n• /debate \"REST vs GraphQL for this project\" — adversarial evidence-based decision with order-independent scoring, logged to decisions.md",
5
5
  "author": {
6
6
  "name": "haytamAroui",
7
7
  "url": "https://github.com/haytamAroui"
package/README.md CHANGED
@@ -110,7 +110,7 @@ npx azclaude-copilot@latest
110
110
 
111
111
  One command, no flags. Auto-detects whether this is a fresh install or an upgrade:
112
112
 
113
- - **First time** → full install (42 commands, 5 hooks, 15 agents, 10 skills, memory, reflexes). Creates folders, instructions, and hooks — **no manual setup required.**
113
+ - **First time** → full install (46 commands, 5 hooks, 16 agents, 10 skills, memory, reflexes). Creates folders, instructions, and hooks — **no manual setup required.**
114
114
  - **Already installed, older version** → auto-upgrades everything to latest templates
115
115
  - **Already up to date** → verifies, no overwrites
116
116
 
@@ -123,14 +123,14 @@ npx azclaude-copilot@latest doctor # 32 checks — verify everything is wired
123
123
 
124
124
  ## What You Get
125
125
 
126
- **42 commands** · **10 auto-invoked skills** · **15 agents** · **5 hooks** · **memory across sessions** · **learned reflexes** · **self-evolving environment**
126
+ **46 commands** · **10 auto-invoked skills** · **16 agents** · **5 hooks** · **memory across sessions** · **learned reflexes** · **self-evolving environment**
127
127
 
128
128
  ```
129
129
  .claude/
130
130
  ├── CLAUDE.md ← dispatch table: conventions, stack, routing
131
131
  ├── commands/ ← 39 slash commands (/add, /fix, /copilot, /parallel...)
132
132
  ├── skills/ ← 10 skills (test-first, security, architecture-advisor...)
133
- ├── agents/ ← 15 agents (orchestrator, spec-reviewer, constitution-guard...)
133
+ ├── agents/ ← 16 agents (orchestrator, spec-reviewer, constitution-guard...)
134
134
  ├── capabilities/ ← 48 files, lazy-loaded via manifest.md (~100 tokens/task)
135
135
  ├── hooks/
136
136
  │ ├── user-prompt.js ← Brain Router + goals injection before first message
@@ -272,8 +272,8 @@ Claude Code
272
272
  │ └── stop.js → Session cleanup, friction logging
273
273
 
274
274
  └── Markdown files (capability — Claude reads natively, zero overhead)
275
- ├── 42 commands → Claude reads the .md, follows instructions
276
- ├── 15 agents → Claude spawns as subagents with Task tool
275
+ ├── 46 commands → Claude reads the .md, follows instructions
276
+ ├── 16 agents → Claude spawns as subagents with Task tool
277
277
  ├── 10 skills → Auto-invoked when relevant context detected
278
278
  ├── 48 capabilities → Lazy-loaded via manifest.md (~100 tokens overhead)
279
279
  └── Memory files → goals.md, decisions.md, patterns.md, checkpoints/
@@ -637,11 +637,11 @@ AZCLAUDE is a lazy-loaded environment of 48 capability modules. It only loads wh
637
637
 
638
638
  ## Verified
639
639
 
640
- 2113 tests. Every template, command, capability, agent, hook, and CLI feature verified.
640
+ 2137 tests. Every template, command, capability, agent, hook, and CLI feature verified.
641
641
 
642
642
  ```bash
643
643
  bash tests/test-features.sh
644
- # Results: 2113 passed, 0 failed, 2113 total
644
+ # Results: 2137 passed, 0 failed, 2137 total
645
645
  ```
646
646
 
647
647
  ---
package/bin/cli.js CHANGED
@@ -8,7 +8,7 @@ const { execSync } = require('child_process');
8
8
 
9
9
  const TEMPLATE_DIR = path.join(__dirname, '..', 'templates');
10
10
  const CORE_COMMANDS = ['setup', 'fix', 'add', 'audit', 'test', 'blueprint', 'ship', 'pulse', 'explain', 'snapshot', 'persist'];
11
- const EXTENDED_COMMANDS = ['dream', 'refactor', 'doc', 'loop', 'migrate', 'deps', 'find', 'create', 'reflect', 'hookify', 'sentinel', 'clarify', 'spec', 'analyze', 'constitute', 'tasks', 'issues', 'driven', 'mcp', 'verify', 'inoculate', 'ghost-test', 'visualize', 'kill', 'run', 'ingest', 'knowledge'];
11
+ const EXTENDED_COMMANDS = ['dream', 'refactor', 'doc', 'loop', 'migrate', 'deps', 'find', 'create', 'reflect', 'hookify', 'sentinel', 'clarify', 'spec', 'analyze', 'constitute', 'tasks', 'issues', 'driven', 'mcp', 'verify', 'inoculate', 'ghost-test', 'visualize', 'kill', 'run', 'ingest', 'knowledge', 'obsidian', 'canvas'];
12
12
  const ADVANCED_COMMANDS = ['evolve', 'debate', 'level-up', 'copilot', 'reflexes', 'parallel'];
13
13
  const COMMANDS = [...CORE_COMMANDS, ...EXTENDED_COMMANDS, ...ADVANCED_COMMANDS];
14
14
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "azclaude-copilot",
3
- "version": "0.8.0",
4
- "description": "AI coding environment — 44 commands, 10 skills, 16 agents, real-time visualizer, memory, reflexes, evolution, knowledge layer. Install: npx azclaude-copilot@latest, then open Claude Code.",
3
+ "version": "0.8.3",
4
+ "description": "AI coding environment — 46 commands, 10 skills, 16 agents, real-time visualizer, memory, reflexes, evolution, knowledge layer. Install: npx azclaude-copilot@latest, then open Claude Code.",
5
5
  "bin": {
6
6
  "azclaude": "bin/cli.js",
7
7
  "azclaude-copilot": "bin/copilot.js"
@@ -109,4 +109,4 @@ When priorities conflict:
109
109
  3. {{PRIORITY_3}}
110
110
 
111
111
  ## Available Commands
112
- /dream · /setup · /fix · /add · /audit · /test · /blueprint · /evolve · /debate · /snapshot · /persist · /level-up · /ship · /pulse · /explain · /loop · /refactor · /doc · /migrate · /deps · /find · /create · /reflect · /hookify · /spec · /clarify · /analyze · /constitute · /tasks · /issues · /driven · /mcp · /parallel · /verify · /inoculate · /ghost-test · /ingest · /knowledge
112
+ /dream · /setup · /fix · /add · /audit · /test · /blueprint · /evolve · /debate · /snapshot · /persist · /level-up · /ship · /pulse · /explain · /loop · /refactor · /doc · /migrate · /deps · /find · /create · /reflect · /hookify · /spec · /clarify · /analyze · /constitute · /tasks · /issues · /driven · /mcp · /parallel · /verify · /inoculate · /ghost-test · /ingest · /knowledge · /obsidian · /canvas
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: canvas
3
+ description: Generate .claude/agent-pipeline.canvas — Obsidian Canvas showing the agent topology and plan milestones.
4
+ argument-hint: "[refresh to regenerate]"
5
+ disable-model-invocation: true
6
+ allowed-tools: Read, Write, Bash, Glob, Grep
7
+ ---
8
+
9
+ # /canvas — Agent Pipeline Canvas Generator
10
+
11
+ $ARGUMENTS
12
+
13
+ Generates `.claude/agent-pipeline.canvas` — an Obsidian Canvas JSON file showing the fixed AZCLAUDE agent topology. If `.claude/plan.md` exists, milestone nodes are added below the topology. Obsidian auto-refreshes when the file changes on disk, giving live updates during `/copilot` runs.
14
+
15
+ ---
16
+
17
+ ## Step 0: Check Installation
18
+
19
+ ```bash
20
+ ls .claude/commands/ 2>/dev/null || echo "NOT_INSTALLED"
21
+ ```
22
+
23
+ If output is `NOT_INSTALLED`:
24
+ ```
25
+ AZCLAUDE not installed in this project. Run setup first.
26
+ ```
27
+ Stop here.
28
+
29
+ ---
30
+
31
+ ## Step 1: Extract Milestones (if plan.md exists)
32
+
33
+ ```bash
34
+ [ -f .claude/plan.md ] && grep -E "^##? Milestone|^##? M[0-9]" .claude/plan.md 2>/dev/null | head -10 || echo ""
35
+ ```
36
+
37
+ Collect each matching line as a milestone label. Strip the leading `## ` or `# ` prefix.
38
+ If no matches or file absent, milestone list is empty — Row 4 is omitted.
39
+
40
+ ---
41
+
42
+ ## Step 2: Build Canvas JSON
43
+
44
+ Construct the JSON string as follows.
45
+
46
+ ### Fixed topology nodes
47
+
48
+ ```
49
+ Row 1 (y=0):
50
+ id=1 type=text text="**orchestrator**\ncoordinates milestones" x=400 y=0 width=220 height=80 color=4
51
+
52
+ Row 2 (y=200):
53
+ id=2 type=text text="**problem-architect**\nteam spec + risks" x=0 y=200 width=220 height=80 color=5
54
+ id=3 type=text text="**milestone-builder**\nimplements" x=400 y=200 width=220 height=80 color=5
55
+ id=4 type=text text="**code-reviewer**\nchecks output" x=800 y=200 width=220 height=80 color=5
56
+
57
+ Row 3 (y=400):
58
+ id=5 type=text text="**constitution-guard**\nenforces rules" x=0 y=400 width=220 height=80 color=3
59
+ id=6 type=text text="**test-writer**\ngenerates tests" x=400 y=400 width=220 height=80 color=3
60
+ ```
61
+
62
+ ### Fixed topology edges
63
+
64
+ ```
65
+ id=e1 fromNode=1 toNode=2 label="pre-flight"
66
+ id=e2 fromNode=1 toNode=3 label="dispatch"
67
+ id=e3 fromNode=3 toNode=4 label="review"
68
+ id=e4 fromNode=1 toNode=5 label="guard check"
69
+ id=e5 fromNode=3 toNode=6 label="test"
70
+ ```
71
+
72
+ ### Milestone nodes (Row 4, y=600) — only if milestones were found in Step 1
73
+
74
+ For each milestone at index `i` (0-based):
75
+ ```
76
+ id=m{i} type=text text="{milestone label}" x={i * 300} y=600 width=250 height=80 color=6
77
+ ```
78
+
79
+ Add one edge per milestone:
80
+ ```
81
+ id=em{i} fromNode=3 toNode=m{i} label="builds"
82
+ ```
83
+
84
+ ### Assemble the full JSON
85
+
86
+ ```json
87
+ {
88
+ "nodes": [ ...fixed nodes..., ...milestone nodes (if any)... ],
89
+ "edges": [ ...fixed edges..., ...milestone edges (if any)... ]
90
+ }
91
+ ```
92
+
93
+ Use standard JSON formatting — double quotes, no trailing commas.
94
+
95
+ ---
96
+
97
+ ## Step 3: Write Canvas File
98
+
99
+ Write the JSON string to `.claude/agent-pipeline.canvas`.
100
+
101
+ Overwrite existing — this command is idempotent.
102
+
103
+ ---
104
+
105
+ ## Step 4: Print Summary
106
+
107
+ ```
108
+ ─── Canvas Written ─────────────────────────────
109
+ Path: .claude/agent-pipeline.canvas
110
+ Nodes: {total node count}
111
+ Edges: {total edge count}
112
+ Milestones: {count, or "none — add plan.md to include milestones"}
113
+
114
+ Open in Obsidian to view the agent graph.
115
+ Obsidian auto-refreshes on file change — re-run /canvas to update during /copilot.
116
+ ────────────────────────────────────────────────
117
+ ```
118
+
119
+ Then print the first 20 lines of the JSON written.
120
+
121
+ ---
122
+
123
+ ## Completion Rule
124
+
125
+ Print the canvas file path and total node count. Show first 20 lines of the JSON written. Do not say "canvas generated" without showing the content.
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: obsidian
3
+ description: Generate AZCLAUDE-MAP.md — an Obsidian index note with wikilinks to all commands, agents, skills, templates, memory, and docs.
4
+ argument-hint: "[path to output, default: AZCLAUDE-MAP.md]"
5
+ disable-model-invocation: true
6
+ allowed-tools: Read, Write, Bash, Glob, Grep
7
+ ---
8
+
9
+ # /obsidian — Obsidian Graph Map Generator
10
+
11
+ $ARGUMENTS
12
+
13
+ Output path: `AZCLAUDE-MAP.md` at the project root (where `.claude/` lives), unless `$ARGUMENTS` specifies a different path.
14
+
15
+ ---
16
+
17
+ ## Step 0: Check Installation
18
+
19
+ ```bash
20
+ ls .claude/commands/ 2>/dev/null || echo "NOT_INSTALLED"
21
+ ```
22
+
23
+ If output is `NOT_INSTALLED`:
24
+ ```
25
+ AZCLAUDE not installed in this project. Run setup first.
26
+ ```
27
+ Stop here.
28
+
29
+ ---
30
+
31
+ ## Step 1: Scan All Files
32
+
33
+ ```bash
34
+ # Installed commands, agents, skills
35
+ COMMANDS=$(ls .claude/commands/*.md 2>/dev/null | xargs -I{} basename {} .md | sort)
36
+ AGENTS=$(ls .claude/agents/*.md 2>/dev/null | xargs -I{} basename {} .md | sort)
37
+ SKILLS=$(ls .claude/skills/ 2>/dev/null | sort)
38
+
39
+ # Template sources
40
+ TMPL_CMDS=$(ls templates/commands/*.md 2>/dev/null | xargs -I{} basename {} .md | sort)
41
+ TMPL_AGENTS=$(ls templates/agents/*.md 2>/dev/null | xargs -I{} basename {} .md | sort)
42
+
43
+ # Memory
44
+ MEMORY=$(ls .claude/memory/*.md 2>/dev/null | xargs -I{} basename {} .md | sort)
45
+ CHECKPOINTS=$(ls .claude/memory/checkpoints/*.md 2>/dev/null | xargs -I{} basename {} | sort)
46
+
47
+ # Root docs (exclude AZCLAUDE-MAP.md itself)
48
+ DOCS=$(ls *.md 2>/dev/null | grep -v "AZCLAUDE-MAP.md" | xargs -I{} basename {} .md | sort)
49
+ ```
50
+
51
+ Count totals:
52
+ ```bash
53
+ CMD_COUNT=$(echo "$COMMANDS" | grep -c .)
54
+ AGENT_COUNT=$(echo "$AGENTS" | grep -c .)
55
+ SKILL_COUNT=$(echo "$SKILLS" | grep -c .)
56
+ TMPL_CMD_COUNT=$(echo "$TMPL_CMDS" | grep -c . 2>/dev/null || echo 0)
57
+ TMPL_AGENT_COUNT=$(echo "$TMPL_AGENTS" | grep -c . 2>/dev/null || echo 0)
58
+ MEM_COUNT=$(echo "$MEMORY" | grep -c . 2>/dev/null || echo 0)
59
+ CKPT_COUNT=$(echo "$CHECKPOINTS" | grep -c . 2>/dev/null || echo 0)
60
+ DOC_COUNT=$(echo "$DOCS" | grep -c . 2>/dev/null || echo 0)
61
+ TOTAL=$((CMD_COUNT + AGENT_COUNT + SKILL_COUNT + TMPL_CMD_COUNT + TMPL_AGENT_COUNT + MEM_COUNT + CKPT_COUNT + DOC_COUNT))
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Step 2: Determine Output Path
67
+
68
+ - If `$ARGUMENTS` is non-empty: use it as the output path.
69
+ - Otherwise: output path is `AZCLAUDE-MAP.md`.
70
+
71
+ ---
72
+
73
+ ## Step 3: Generate AZCLAUDE-MAP.md
74
+
75
+ Write the file with these sections. Replace `{DATE}` with today's date (YYYY-MM-DD).
76
+
77
+ ```
78
+ # AZCLAUDE Map
79
+ > Generated: {DATE} — re-run `/obsidian` to refresh.
80
+
81
+ This is an Obsidian index note. Open this vault in Obsidian to explore the graph view.
82
+ Each wikilink connects to the matching command, agent, skill, template, or memory file.
83
+
84
+ ---
85
+
86
+ ## Commands (installed)
87
+
88
+ {for each name in $COMMANDS}
89
+ - [[{name}]]
90
+
91
+ ---
92
+
93
+ ## Agents (installed)
94
+
95
+ {for each name in $AGENTS}
96
+ - [[{name}]]
97
+
98
+ ---
99
+
100
+ ## Skills (installed)
101
+
102
+ {for each name in $SKILLS}
103
+ - [[.claude/skills/{name}/SKILL|{name}]]
104
+
105
+ ---
106
+
107
+ ## Templates — Commands (source)
108
+
109
+ {for each name in $TMPL_CMDS}
110
+ - [[templates/commands/{name}|{name} (template)]]
111
+
112
+ ---
113
+
114
+ ## Templates — Agents (source)
115
+
116
+ {for each name in $TMPL_AGENTS}
117
+ - [[templates/agents/{name}|{name} (template)]]
118
+
119
+ ---
120
+
121
+ ## Memory
122
+
123
+ {for each name in $MEMORY}
124
+ - [[.claude/memory/{name}|{name}]]
125
+
126
+ ---
127
+
128
+ ## Checkpoints
129
+
130
+ {for each name in $CHECKPOINTS}
131
+ - [[.claude/memory/checkpoints/{name}|{name}]]
132
+
133
+ ---
134
+
135
+ ## Docs
136
+
137
+ {for each name in $DOCS}
138
+ - [[{name}]]
139
+ ```
140
+
141
+ Write to the output path. Overwrite existing — idempotent.
142
+
143
+ ---
144
+
145
+ ## Step 4: Print Summary
146
+
147
+ ```
148
+ ─── Obsidian Map Written ───────────────────────
149
+ Output: {output path}
150
+ Commands: {CMD_COUNT} nodes
151
+ Agents: {AGENT_COUNT} nodes
152
+ Skills: {SKILL_COUNT} nodes
153
+ Templates: {TMPL_CMD_COUNT + TMPL_AGENT_COUNT} nodes
154
+ Memory: {MEM_COUNT} nodes
155
+ Checkpoints: {CKPT_COUNT} nodes
156
+ Docs: {DOC_COUNT} nodes
157
+ ─────────────────────────────
158
+ Total: {TOTAL} nodes
159
+ ────────────────────────────────────────────────
160
+ ```
161
+
162
+ Then print the full wikilink list written.
163
+
164
+ ---
165
+
166
+ ## Completion Rule
167
+
168
+ Show the actual wikilink list written to the output file. Do not say "map generated" without showing the content.