The Problem
People who use Claude Code often start each session with a blank slate. They lose context, repeat work, and struggle to maintain a coherent knowledge graph. Ars Contexta replaces the “blank” with a self‑generating second brain that persists across sessions, reducing cognitive load and eliminating manual scaffolding.
What This Does
- Generates a vault of plain Markdown notes linked by wiki syntax, forming a traversable graph.
- Builds a processing pipeline of skills that extract insights, find connections, and update old notes, all driven by research claims stored in the
methodology/folder. - Installs hooks (defined in
hooks/hooks.json) that enforce structure, monitor maintenance, and auto‑commit changes, keeping the vault healthy without manual intervention. - Creates Maps of Content (MOCs) at hub, domain, and topic levels, and produces a user manual from
generators/claude-md.md.
How It Is Wired
- Entry Point –
/.claude-plugin/plugin.jsonregisters the plugin’s commands (/arscontexta:setup,/arscontexta:help, etc.). - Command Dispatch – When
/arscontexta:setupis invoked, the plugin runtime calls the shell scripthooks/scripts/session-orient.sh. - Session Setup –
session-orient.shorchestrates the 6‑phase setup flow described in the README, invokinghooks/scripts/auto-commit.shto capture the initial vault state. - Generation – The core generation logic resides in
generators/claude-md.mdand the feature‑specific Markdown files undergenerators/features/. These templates are processed by the plugin’s internal renderer, emitting Markdown into thenotes/,self/, andops/directories. - Hook Execution –
hooks/hooks.jsonmaps file‑system events to scripts (auto-commit.sh,write-validate.sh,vaultguard.sh). When a note is written, the hook system triggerswrite-validate.shto ensure schema compliance and thenauto-commit.shto push the changes to the local repo. - Side Effects – All effects are confined to the local filesystem: creation of Markdown files, updates to
.gitmetadata, and optional local shell commands. No external network calls are made. - Blast Radius – The most widely used component is
hooks/hooks.json; altering it changes every write operation. The generator templates have a smaller blast radius, affecting only the vault structure.
How To Use It
- Clone ``
bash git clone https://github.com/moses-y/arscontexta cd arscontexta`` - Install the plugin in Claude Code (as per README) ``
bash /plugin marketplace add agenticnotetaking/arscontexta /plugin install arscontexta@agenticnotetaking`` - Run the setup wizard ``
bash /arscontexta:setup`Answer the conversational prompts; the plugin writes the vault tonotes/,self/, andops/`. - Activate hooks – restart Claude Code to enable the file‑system hooks defined in
hooks/hooks.json. - Explore – run
/arscontexta:helpto see available commands and/arscontexta:ask <query>to query the generated knowledge graph.
Real‑World Use
A consultant working with a legal team can use Ars Contexta to capture case notes, automatically link precedent chains, and maintain a live wiki of regulatory changes.
# After capturing a new case note
/arscontexta:ask "What precedent links to this case?"
# The plugin returns a Markdown summary with wiki links to previously stored precedent notes.
Code Health & Issues
- Missing CI/CD – No
.github/or CI configuration. - Test Coverage – 18 test files exist, but no automated test runner is defined.
- License – MIT license present.
- Dependencies – None declared; the repo relies solely on shell scripts and Markdown, simplifying maintenance.
The Bottom Line
Ars Contexta delivers a lightweight, conversationally driven second brain without external databases or templating. It is ideal for teams that value privacy, want zero‑config setups, and can work with a shell‑based hook system. The lack of CI and automated testing is a risk for production use, but the clear folder layout and self‑contained scripts make it straightforward to audit and extend.