A system that turns incoming documents into a structured knowledge base of actionable cards, organized by company function.
Every day brings a stream of information: articles, notes, reports, emails, meeting transcripts, market news. Most of it ends up buried in personal folders or lost in chat, never turning into anything concrete.
Axionary solves a simple problem: take any incoming text and extract specific actions from it — with context, rationale, and the risks of ignoring them — filed under the functions of the company they belong to.
The result is a graph of linked cards in state/ that you can navigate: what needs to be done, why, and what connects to what.
axionary/
├── inputs/ ← drop incoming documents here
├── processed/ ← processed files are moved here
└── state/ ← actionable cards live here
├── strategy/
├── product/
├── engineering/
├── competitive-intelligence/
└── ... (created on demand)
- Drop a file into
inputs/(markdown, txt, csv, pdf, docx — any text document). - Ask Claude to process it: "process inbox" / "run the next file" / "triage inputs".
- Claude runs the
inbox-actionizerskill:- picks one random file from
inputs/and moves it toprocessed/ - reads the content
- identifies what concrete actions follow from it
- assigns each action to the most precise vector (function) from a list of ~200
- searches for associations with existing cards in
state/ - creates cards in the corresponding subdirectories
- adds bidirectional wiki-links between related cards
- picks one random file from
Every file in state/ is markdown with frontmatter and five sections:
---
title: ...
vector: strategy
source: source-file.md
created: 2026-05-17
status: open
related:
- "[[partnerships/0001-evaluate-channel]]"
---
## Background
What in the document prompted this action.
## Hypothesis
What we believe: if we do X, then Y will happen.
## What to do
Concrete steps.
## Expected positive outcomes
What will improve and for whom.
## Risks of inaction
What will happen if this is ignored.
## Links
- [[another-vector/file]] — why it's relatedFile names follow the pattern <sequential-number>-<kebab-slug>.md, e.g. 0003-pricing-audit.md. Numbers are monotonically increasing within each subdirectory.
Cards are linked in both directions: when a new card A references an existing card B, the skill writes the backlink into B as well. This turns state/ from a flat archive into a navigable graph — like an Obsidian Vault.
Copy any text file into inputs/:
cp ~/Downloads/market-brief.pdf inputs/
cp ~/Desktop/meeting-notes.md inputs/In Claude Code (from the project directory), say:
process inbox
or
run the next file
One request = one file. To process everything in inputs/ in a loop, run claude -p in an external loop.
Cards live in state/<vector>/. They are plain markdown and open in any editor. Obsidian works especially well — wiki-links in [[vector/file]] format are native there, and you can view the graph.
Open a file and change status: open to status: done (or in-progress, archived — whatever works for you).
The skill recognizes actionable items across ~200 functional areas: from product and engineering to treasury, procurement, trust-and-safety, innovation-labs, and corporate-social-responsibility. The full list is in .claude/skills/inbox-actionizer/references/vectors.md.
Each card belongs to one most precise vector. Adjacency is expressed through links, not duplication.
The inbox-actionizer skill lives in .claude/skills/inbox-actionizer/ and contains:
SKILL.md— instructions for Claudescripts/triage.py— helper script for atomic file moves and monotonic numberingreferences/vectors.md— the list of allowed vectors
Requires Python 3 and an AI agent (Claude Code, Cursor, ...).
Connecting an MCP search tool is strongly recommended — for example, Obsidian Hybrid Search.