Park. Pickup. Flow.
Slash commands, a 7-folder filing system, and session chaining for Claude Code + Obsidian.
Setup Guide · Blog Series · Tips
It's Sunday afternoon. You sit down to continue planning that Japan trip you were excited about on Thursday. You open your laptop and... nothing. Where were you? Which hotels were you comparing? What did you decide about the Kyoto day trips?
You won't spend 20 minutes reconstructing. Nobody does. The activation energy is too high, the dopamine too low. So you check your phone. Refresh something. The trip sits there unplanned for another week.
> /pickup
Active projects: Japan Trip, Website Redesign
Last daily report: Thu 9:16pm
Open loops (from Thu):
[ ] Book ryokan - narrowed to 2 options, need to decide
[ ] Figure out JR pass vs individual tickets
[ ] Ask Mike about that ramen place in Osaka
Tomorrow's queue had "Kyoto logistics" first.
What would you like to pick up?
Zero reconstruction. Instant flow.
Good fit:
- You have multiple domains of life you think about seriously
- You want AI as a long-term thinking partner, not a chat toy
- You're comfortable with a terminal (Claude Code is a CLI tool)
- You're willing to spend an hour setting up for long-term payoff
Less good fit:
- You just want quick answers to quick questions
- You prefer everything to "just work" without configuration
If the terminal part sounds alien, the setup wizard walks through everything step by step.
Obsidian is a markdown editor that works on local files - no cloud, no proprietary format, just folders of .md files on your disc. Claude Code reads and writes those same files directly. Your notes and Claude's context are the same thing.
The files are the context. Not Claude's summary of the files. Not what it thinks you said last week. The actual files. Each conversation produces refined thinking that gets written back to your vault, becoming input for the next conversation. Context compounds instead of decaying.
This template provides the structure: where files go, how Claude navigates them, and how sessions connect across time.
Five layers, from single sessions up to life direction.
The core mechanic. Based on the "shutdown complete" ritual — the idea that you can't truly rest while your brain holds onto incomplete loops.
End of session: /park documents what you did, captures open loops, and archives to a session file. It detects whether you did 5 minutes of quick work or an hour of deep thinking and adjusts accordingly - quick sessions get a one-liner, full sessions get structured documentation with next steps and pickup context. Before closing, it runs a quality gate (lint, refactor, proofread any files you modified). Sessions chain bidirectionally - each one links to the previous and next, so you can trace a project's history through time.
Next session: /pickup shows your Works in Progress as a numbered list — pick one to load its project hub and last session context. Or pass a topic/keyword to jump straight in; a shell script extracts session metadata as compact TSV so targeted searches are cheap.
All session writes use flock (Linux) or an mkdir fallback (macOS/Windows), so concurrent Claude instances and NAS-mounted vaults don't trample each other.
| Command | When | What |
|---|---|---|
/morning |
Start of day | Read the landscape (WIP, tickler, yesterday's loops), catch gaps, optionally build today's time-blocked plan in This Week.md |
/afternoon |
Mid-day | Check progress against morning intention, catch productive drift, reprioritise remaining time |
/goodnight |
End of day | Inventory open loops, set tomorrow's queue, generate daily report, log the session |
This Week.md is a rolling 7-day plan — viewable in Obsidian on your phone (via Obsidian Sync), editable by hand mid-day, never dependent on a calendar API being up. Each day gets a time-blocked section. /afternoon and /goodnight read today's section to track what actually happened.
A tickler sits underneath the day layer: /park offers to defer open loops to specific future dates, and deferred items resurface automatically in /morning and /pickup when their date arrives. Once an item is pulled into a planning document, that document becomes SSOT and the tickler copy is deleted — no duplicate checkboxes drifting across the vault.
/weekly-review zooms out. Aggregates progress across projects, surfaces stalled work, checks for zombie projects lingering in WIP, and flags open loops older than 14 days. It also reviews the corrections log — /oops captures mistakes and lessons as you go; the weekly pass looks for recurring patterns worth promoting to context files, so you only get something wrong once. Structural vault maintenance (broken links, stale items, orphaned files) is handled by /weekly-hygiene, which can run standalone or as a precursor.
/quarterly-review is the deepest pass. Strategic alignment (are you working on the right things?), context file accuracy audit (are the 07 System/Context - *.md files still true?), vault-wide broken link scan, CRM completeness check, and orphaned file detection. Too heavy for weekly, but accumulates real debt if never done.
Going on vacation? /hibernate captures a full state snapshot - all active projects, prioritised open loops, deliberate deferrals, recent decisions. /awaken restores context when you return weeks or months later and interviews you on what changed while you were away.
Without a strategic layer, you can be perfectly organised and still working on the wrong things. 07 System/Context - Direction.md holds your values and roles, career and personal strategic plans, anti-goals (things you've explicitly decided against), and an evolving list of disciplines (hard commitments you always follow). Everything below flows from this — your weekly plan is shaped by your strategic plan, which is shaped by your values. Reviewed weekly for alignment, overhauled at major life transitions. A separate Strategic Decision Log preserves the rationale behind major direction choices.
NIPARAS extends Tiago Forte's PARA method (Projects, Areas, Resources, Archive) by adding three folders: Now (active working memory), Inbox (capture point), and System (meta-documentation and context files for Claude).
| Folder | Purpose | Examples |
|---|---|---|
| 01 Now | Active working memory - what's in flight right now | Works in Progress, This Week (rolling 7-day plan), scratch notes |
| 02 Inbox | Capture point for new stuff before it's organised | Quick notes, web clippings, ideas to process |
| 03 Projects | Discrete efforts with an end state ("done" looks like X) | "Plan Japan trip", "Launch website", "Learn Python" |
| 04 Areas | Domains of life you maintain indefinitely, with nested resources | Health (supplements, bloodwork), Photography (portfolios, gear), Finances (tax, investments) |
| 05 Resources | Generic reference material that doesn't belong to an Area yet | Journal entries, recipes, meeting notes, misc reference |
| 06 Archive | Completed or inactive items | Finished projects, old session logs, historical notes |
| 07 System | Meta-documentation - how the vault works and context for Claude | CLAUDE.md, Context hub files, Direction (strategic plans), decision/corrections/wins logs |
Areas vs Resources (differs from standard PARA): NIPARAS uses Areas and Resources differently to Tiago Forte's original PARA. Here, Areas are domains you actively maintain, each containing its own nested reference material and Archive subfolders. Resources is a staging ground for generic stuff that doesn't belong to an Area yet. When something accumulates enough mass, it graduates to an Area. The key shift is that reference material lives inside the Area it belongs to, rather than in a separate top-level folder.
Context navigation follows a hierarchical lazy-loading pattern - Claude reads CLAUDE.md first, follows links to domain hub files (e.g. Context - Health.md) when relevant, then drills into specific notes only when needed. Detailed in the blog series.
Prerequisites: Git, Claude Code, Obsidian (optional but recommended). For a detailed walkthrough: hedwards.dev/cco-setup/
git clone https://github.com/OpenCairn/OpenCairn.git ~/Files
cd ~/Files
# Rename remote to 'template' so /update can pull future changes
# (leaves 'origin' free for your own repo if you want one)
git remote rename origin template
# Make scripts executable
chmod +x .claude/scripts/*.sh
# Add to your shell profile (~/.bashrc or ~/.zshrc):
export VAULT_PATH="$HOME/Files"
alias cc='cd ~/Files && claude'Then start Claude and run the setup interview:
cc # or: cd ~/Files && claude
> /setup # Checks prerequisites, personalises CLAUDE.md through a short interview
> /park # End your first session
> /pickup # See your landscape and open loopsIf using Obsidian, open it and select ~/Files as your vault folder.
Staying current: Run /update periodically to pull the latest commands and scripts from the template repo. Your CLAUDE.md and vault content are never touched - only infrastructure files update.
Click to expand the full command reference
Daily rhythm:
| Command | What it does |
|---|---|
/morning |
Start-of-day check-in. Surfaces active projects, tickler items, yesterday's open loops, overnight queue. Helps plan the day and captures anything from overnight thinking. |
/afternoon |
Mid-day recalibration. Checks whether you've drifted from priorities, helps reprioritise remaining time. Quick 2-5 min reset. |
/goodnight |
End-of-day report. Inventories the day's work, captures open loops, sets tomorrow's priority queue, checks for stranded work product. |
Session lifecycle:
| Command | What it does |
|---|---|
/pickup |
Session start. Shows your Works in Progress, or pass a topic/keyword/file path to jump straight into a specific project. Loads project hub and last session context on selection. |
/park |
Session capture ("shutdown complete"). Quality gate, session summary, open loops, WIP update, reference graph tracing, bidirectional linking. Args: --quick, --full, --auto. |
Extended breaks:
| Command | What it does |
|---|---|
/hibernate |
Pre-break snapshot before travel or sabbatical. Captures all active projects, open loops, and context into a durable snapshot file. Interactive interview about break duration and return priorities. |
/awaken |
Post-break context restoration. Loads the hibernate snapshot, runs a reorientation interview, updates project statuses with post-break reality. Args: --date=YYYY-MM-DD. |
Project lifecycle:
| Command | What it does |
|---|---|
/start-project |
Creates a new project file with goal/status/next actions, adds to Works in Progress, optionally links to initiatives. Args: project name, --initiative=NAME, --backlog. |
/complete-project |
Formally archives a completed/abandoned/superseded project. Moves to archive, removes from WIP, logs completion. Args: optional project name. |
Reviews:
| Command | What it does |
|---|---|
/weekly-review |
Weekly aggregation: accomplishments, project movement, aged open loops (14+ days), WIP integrity, corrections log review. Generates a review file. Delegates structural maintenance to /weekly-hygiene. |
/quarterly-review |
Deep strategic review: projects completed/stalled/abandoned, priority shifts, next quarter's Big Rocks, plus vault-wide maintenance (broken links, CRM completeness, orphaned files). |
Learning loops:
| Command | What it does |
|---|---|
/oops |
Captures a mistake. Extracts what went wrong, the correction, and the transferable lesson. Appends to Claude Corrections Log. Checks for patterns warranting promotion to CLAUDE.md. |
/win |
Captures a success. Extracts what went well, why, and the transferable pattern. Appends to Claude Wins Log. The counterpart to /oops. |
Research & thinking:
| Command | What it does |
|---|---|
/research-assistant |
Vault-first deep search. Systematically searches the Obsidian vault before suggesting external research. Presents "What We Know" vs "What We Don't Know" with source citations. |
/patterns |
Cross-file pattern finder. Searches broadly for a topic and synthesises recurring themes, evolution over time, contradictions, and gaps. Args: search term (e.g., /patterns meditation). |
/thinking-partner |
Socratic mode. Asks questions, surfaces assumptions, challenges framing — exploration through questions, not solutions. Stays in thinking mode until you explicitly request implementation. |
/second-opinion |
Independent review of work or decisions. Runs a cross-model panel in parallel, or brings the same reviewers back for iterative deepening. Aliases: /tiebreak, /panel. |
Prioritisation:
| Command | What it does |
|---|---|
/longpoles |
Surfaces all [LP] (longpole) tagged items across the vault — critical-path items that block other work. |
/cornerstones |
Surfaces high-value foundational tasks tagged [CS] across the vault. |
Utilities:
| Command | What it does |
|---|---|
/de-ai-ify |
Voice restoration editor. Transforms AI-generated text into your authentic writing voice by stripping cliches, hedging, corporate-speak, and formulaic structure. |
/reply |
Drafts a reply to an inbound message with voice matching and CRM context. Always writes drafts to scratchpad. |
/transcribe |
Transcribes audio files using WhisperX (distil-large-v3) with optional speaker diarisation. Requires a local GPU. |
/inbox-processor |
Processes 02 Inbox/ items using the NIPARAS decision tree, categorises each, and routes to its permanent vault location. |
/archive-sessions |
Organises old session files from the flat sessions directory into year-based subdirectories. Args: --older-than=N, --year=YYYY, --dry-run. |
/weekly-hygiene |
Vault structural maintenance: WIP metrics, broken links, stale items, orphaned files, tickler past-due scan. Can run standalone or as precursor to /weekly-review. |
Audit & provenance:
| Command | What it does |
|---|---|
/audit |
Rigorous five-layer evaluation of any implementation (code, config, plans, processes). Layers: approach → environment → migration → implementation → execution. Iterates until clean. |
/provenance |
Logs a SHA256 hash of the current session file to the AI Provenance Log. Optionally creates OpenTimestamps proofs anchored to the Bitcoin blockchain. For academic disclosure/audit defence. Verification is handled automatically by /weekly-hygiene. |
Infrastructure:
| Command | What it does |
|---|---|
/setup |
First-run onboarding. Detects OS, checks prerequisites (VAULT_PATH, bash version, git remote), then runs a conversational interview to personalise CLAUDE.md and create context file stubs. Idempotent — safe to re-run. |
/update |
Pulls latest OpenCairn commands/scripts from the upstream GitHub template repo. Previews changes before applying. Args: --dry-run, --force. |
Aliases:
| Command | Alias for |
|---|---|
/checkpoint |
/park |
/regroup |
/afternoon |
/shutdown |
/goodnight |
Scripts live in .claude/scripts/ and require the VAULT_PATH environment variable.
Don't adopt this wholesale. Cherry-pick:
- Just
/parkand/pickup - Just the
CLAUDE.mdpattern - Just the folder structure
- The full system
Clone it, run claude, ask: "Analyse this template. I have [your system]. What integrates well?"
Context-aware status line. Claude Code's default status line shows absolute tokens. A percentage with colour-coded warnings is more useful - see hedwards.dev/claude-code-tips/ for the setup script. Startup commands (/morning, /pickup, etc.) consume significant context on their own - a fresh session typically starts around 15-20% just from loading context files and command prompts, so your usable working window is smaller than the raw percentage suggests.
More tips on context management, workflow patterns, keyboard shortcuts, and MCP servers: hedwards.dev/claude-code-tips/
Inspired by claudesidian, obsidian-claude-pkm, The Neuron. Built with Claude Code.
CC BY-NC 4.0 - Free for personal use. Contact me for commercial licencing.