obsidian/CLAUDE.md
Vadym Samoilenko edf32c62d5 Add tag taxonomy, status lifecycle, update CLAUDE.md + Templater config
- CLAUDE.md: add tag taxonomy, status lifecycle (active/production/paused/archived),
  archival workflow, obsidian-skills reference, credentials note, hook docs
- Templater folder_templates: 01 Projects → Project Template, 99 Daily → Daily Template
- .obsidian/plugins/templater-obsidian/data.json updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 18:50:09 +01:00

6.4 KiB
Raw Blame History

Claude Code Vault Orientation

Who I Am

I'm Claude Code, acting as Vadym's AI partner for all Oliver Agency projects. This vault is my persistent memory. I read it at the start of every session and update it after every meaningful change.

Model for Logging

Always use claude-haiku-4-5-20251001 (Haiku) for all Obsidian logging and note-writing operations. This keeps costs low and responses fast for pure logging tasks.

Vault Structure

VadymSamoilenko/
├── 01 Projects/         ← One folder per project (matches disk: /Volumes/SSD/Projects/Oliver/)
│   ├── {project}/       ← Each project has one .md note
│   ├── Dashboard.md     ← Live Dataview dashboard (use this, not Projects Index)
│   ├── Projects.base    ← Obsidian Bases view of all projects
│   └── Projects Index.md ← Static backup table
├── 02 Areas/
│   ├── Pending Commands.md  ← ⚠️ IMPORTANT: track all server commands given to Vadym
│   └── Work Tasks.md        ← Live Dataview task board
├── 03 Resources/
│   ├── Infrastructure/  ← SSH Servers, Deploy guides, Bitbucket SSH, cheatsheets
│   ├── SOPs/            ← Claude Code SOPs, how-to guides
│   └── Infrastructure Index.md
├── 04 Archive/          ← Completed/abandoned projects (move here, don't delete)
├── 05 Aimpress LTD/     ← Personal company links (credentials stored at ~/.secrets/)
├── 99 Daily/            ← Daily session logs (YYYY-MM-DD.md format)
└── Templates/
    ├── Daily Template.md
    ├── Weekly Review Template.md
    ├── Meeting Template.md
    └── Project Template.md

obsidian-skills

Five official skills from Kepano are installed in .agents/skills/ and symlinked to .claude/skills/:

  • obsidian-cli — CLI commands for reading/writing notes (requires Obsidian open with CLI enabled)
  • obsidian-markdown — Obsidian Flavored Markdown syntax reference
  • obsidian-bases — Creating and editing .base files
  • json-canvas — Creating canvas files
  • defuddle — Extract clean markdown from web pages

Project Notes What to Track

Each project note lives at 01 Projects/{project-dir}/{Project Name}.md and must contain:

  • frontmatter: name, client, status, tech, local_path, deploy, url, tags
  • Overview: what the project does
  • Tech Stack: frontend / backend / db / infra
  • Deployment: how to run it, where it lives
  • Sessions: reverse-chronological log (latest first)
  • Change Log: table of date / requested / changed / files
  • Related: wikilinks to connected notes

Frontmatter Standard

name: "Human-readable name"
client: "Client Name"           # or "Oliver Internal"
status: active                  # active | production | paused | archived
tech: [Python, FastAPI, Docker] # array
local_path: /Volumes/SSD/Projects/Oliver/{dirname}
deploy: "docker compose up --build"
url: https://...                # if deployed
server: GCP | optical-web-1 | TBD
tags:
  - project
  - client/ford                 # see Tag Taxonomy below
created: YYYY-MM-DD

Tag Taxonomy

Use these tags consistently across all notes:

# Client tags
client/3m, client/barclays, client/ferrero, client/ford,
client/hm, client/loreal, client/lusa, client/pimco,
client/solventum, client/dowjones

# Status tags
status/active, status/production, status/paused, status/archived

# Tech tags
tech/fastapi, tech/react, tech/docker, tech/nextjs,
tech/gemini, tech/claude, tech/python, tech/node

# Type tags
type/project, type/dashboard, type/sop, type/reference,
type/daily, type/review, type/meeting

# Domain tags
domain/ai, domain/accessibility, domain/devops, domain/analytics

Project Status Lifecycle

  • active — currently being developed or maintained
  • production — deployed and stable, not under active development
  • paused — on hold, may resume
  • archived — completed or abandoned

Archival workflow

When a project moves to archived:

  1. Update frontmatter status: archived
  2. Move folder from 01 Projects/{name}/04 Archive/{name}/
  3. Update Projects Index.md to remove or annotate the entry

Session Protocol — MANDATORY

Start of every session:

  1. Check 01 Projects/{project}/ — the relevant project note (pre-loaded via SessionStart hook)
  2. Check 02 Areas/Pending Commands.md — any server commands still outstanding?
  3. If the project note is a stub (never had a real session) → read the project's code first and fill in Overview, Tech Stack, Deployment before starting work

During every session:

  • If I give Vadym a command to run on a server or locally → immediately add to 02 Areas/Pending Commands.md under Pending
  • Once Vadym confirms it ran → move to Done with result

End of every session:

  1. Append to the project's Sessions section (latest first): date, what was requested, what was done
  2. Update Change Log table: date / requested / changed / files
  3. Update frontmatter if status/tech/url/server changed
  4. The Stop hook auto-writes a timestamp to 99 Daily/YYYY-MM-DD.md
  5. PostCompact hook auto-writes structured entries on context compaction

Rule: NEVER skip logging

Even if the session is short. Even if just answering a question. Log it.

All Code Projects Location

/Volumes/SSD/Projects/Oliver/ — this is where all code lives on disk.

Key Facts

  • Vadym = developer at Oliver Agency, building internal tools and client solutions
  • Stack preferences: Python/FastAPI for backends, Docker for deployment, vanilla JS+Tailwind or React for frontends
  • Language for notes: English
  • Date format: YYYY-MM-DD everywhere
  • Credentials are NOT in the vault — stored at ~/.secrets/ locally

Automation Hooks

Three hooks fire automatically via Claude Code settings:

  • SessionStart — loads project context + pending commands as additionalContext; auto-creates stub notes for new projects; detects and flags stub notes for enrichment
  • PostCompact — uses Haiku to write structured session entries from compaction summaries
  • Stop — timestamps daily note with session duration (e.g., "45min")

My Role

  • Log work clearly so context is never lost between sessions
  • Keep notes accurate and up-to-date — no stale info
  • Link related projects with wikilinks
  • Never create a note for something already documented — update existing notes
  • Use tag taxonomy consistently
  • Move completed/abandoned projects to 04 Archive