EXECUTE NOW
Target: $ARGUMENTS
Parse immediately:
- If target contains
--compact: force compact mode regardless of vault state - If target contains a skill name (e.g., "help reduce" or "help reflect"): show detailed help for that specific skill
- If target is empty: determine mode from vault state
Execute these steps:
- Gather vault state (Step 1)
- Resolve domain vocabulary (Step 2)
- Determine mode (Step 3)
- Discover commands dynamically (Step 4)
- Render the appropriate mode (Step 5)
START NOW. Reference below defines each step.
Step 1: Gather Vault State
Determine the notes folder by checking which domain-named directory exists (notes/, reflections/, concepts/, ideas/, decisions/, memories/, or any custom name from derivation-manifest.md). Then gather counts:
- Note count:
.mdfiles in the notes folder, excluding MOCs (files withtype: mocin frontmatter) - Inbox count:
.mdfiles in the inbox folder (inbox/, journal/, encounters/, etc.) - Observation count:
.mdfiles inops/observations/orops/methodology/ - Tension count:
.mdfiles inops/tensions/ - Connection density: count wiki links (
[[) across notes folder; sparse if fewer than 2x note count - Queue state: pending tasks in
ops/queue/queue.yamlorops/queue/queue.json - Health warnings: check latest report in
ops/health/if it exists - Tutorial state: check
ops/tutorial-state.yamlfor incomplete tutorial - Session count: estimate from
ops/sessions/file count (indicates usage maturity)
# Quick state gathering
note_count=$(ls -1 {vocabulary.notes}/*.md 2>/dev/null | wc -l | tr -d ' ')
inbox_count=$(ls -1 {vocabulary.inbox}/*.md 2>/dev/null | wc -l | tr -d ' ')
obs_count=$(ls -1 ops/observations/*.md ops/methodology/*.md 2>/dev/null | wc -l | tr -d ' ')
tension_count=$(ls -1 ops/tensions/*.md 2>/dev/null | wc -l | tr -d ' ')
Step 2: Resolve Domain Vocabulary
Read ops/derivation-manifest.md (or fall back to ops/derivation.md Vocabulary Mapping section). Extract domain-native names for: reduce, reflect, reweave, verify, rethink, note, MOC, inbox. If neither file exists, use universal names.
For display, show domain name with universal in parentheses when they differ:
/{domain:reduce} (reduce) Extract patterns from journal entries
If domain name equals universal name, show just the name:
/reduce Extract insights from source material
Step 3: Determine Mode
| Condition | Mode |
|---|---|
--compact in arguments | Compact |
| Specific skill name in arguments | Skill detail |
| Note count < 5 | Narrative |
| Note count >= 5 | Contextual |
Step 4: Discover Commands
Scan ${CLAUDE_PLUGIN_ROOT}/skills/ dynamically:
- Subdirectories containing
SKILL.md(e.g.,reduce/SKILL.md)
Extract name: and description: from each frontmatter. Do NOT hardcode the command list.
Command categories:
| Category | Commands | When to Show |
|---|---|---|
| Core | /ask, /learn, /next, /help | Always |
| Processing | /reduce, /reflect, /reweave, /verify | Always (all skills from day one) |
| Maintenance | /health, /rethink, /remember | Always |
| Evolution | /architect, /reseed, /add-domain, /upgrade | Always |
| Meta | /tutorial, /graph, /stats | Always |
Step 5: Render
NARRATIVE MODE (note count < 5)
This is the first impression. The user is new or nearly new. Explain what the system IS before listing what it DOES.
What narrative mode communicates:
- What Ars Contexta is (one sentence)
- What THEIR system was built to do (read from ops/derivation.md if available)
- What they can do RIGHT NOW (concrete actions, not abstract possibilities)
- How the system grows with them
--=={ ars contexta : help }==--
Your knowledge system is ready. It turns thoughts
into a connected graph where every note compounds
the value of every other note.
[If ops/derivation.md exists:]
Your system: [domain description from derivation]
Getting started:
Tell me a thought, observation, or question.
I will turn it into a note and show you what
the system does with it.
Or try one of these:
/ask [question] Ask about [domain] -- I will
answer from your graph
/learn [topic] Research [topic] and grow
your graph with findings
/tutorial Walk through the system
step by step (5 minutes)
As your graph grows, you will use:
/reduce [source] Extract insights from articles,
notes, or any raw material
/reflect Find connections between notes
/health Check your system's health
Your system also learns from experience:
/remember Capture when something goes wrong
(your system remembers corrections)
/ask [question] Ask about [domain] -- answers draw
from 249 methodology notes AND your
system's own methodology notes
Type /help anytime for guidance.
Manual reference (if manual/ exists):
If the vault contains a manual/ directory, add to the narrative output:
For a deeper guide, read manual/getting-started.md
or explore the full manual in manual/manual.md.
Key principles for narrative mode:
- Conversational, not list-like
- Show the easiest entry point first ("tell me a thought")
- Group commands by when the user would need them, not alphabetically
- Reference the user's actual domain when possible
- If tutorial is incomplete, mention: "You have an unfinished tutorial (step N of 5). Resume with /tutorial"
CONTEXTUAL MODE (note count >= 5)
The user has been working. Show them what is happening NOW and what would be most valuable NEXT.
What contextual mode communicates:
- Current system state (brief metrics)
- What needs attention right now (state-aware)
- Suggested next action (the single most valuable thing)
- Commands they might not know yet
- Full command reference
--=={ ars contexta : help }==--
Your system: [domain] knowledge graph
[N] notes, [M] connections, [P] pending tasks
Right now:
[State-aware observations — pick up to 3 most relevant:]
Your inbox has [N] items (oldest: [age])
[N] pending observations -- approaching /rethink threshold
Pipeline: [N] tasks at [phase] phase
[N] notes have sparse connections (< 2 links)
Suggested:
[Single most valuable next action with rationale]
[If user hasn't tried certain commands:]
Commands you might not know:
/remember Capture when something goes wrong
(teaches your system from friction)
/graph Explore your knowledge graph visually
/stats See vault metrics in shareable format
All commands:
/ask [question] Query your knowledge system
/learn [topic] Research and grow your graph
/next Next recommended action
/{reduce} [source] Extract insights from material
/{reflect} Find connections between notes
/{reweave} Update older notes
/verify [note] Combined quality verification
/health Run vault diagnostics
/{rethink} Challenge assumptions
/remember Capture methodology learning
/architect Research-backed evolution advice
/reseed Principled restructuring
/add-domain Extend with a new domain
/upgrade Check for skill improvements
/tutorial Interactive walkthrough
/graph Graph exploration
/stats Vault metrics
State-aware suggestion logic:
Pick the FIRST matching condition:
| Condition | Suggestion |
|---|---|
| Inbox has items | Process your inbox: /{reduce} [oldest-inbox-item-filename] |
| Pipeline has pending tasks | Resume processing: /next |
| 10+ observations or 5+ tensions | `Review accumul |