一键导入
spine-init
Initialize or adopt a Spine Architecture vault. Creates the Obsidian vault structure, graph color config, and config file. Run once per vault.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Initialize or adopt a Spine Architecture vault. Creates the Obsidian vault structure, graph color config, and config file. Run once per vault.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Capture completed work (fix, feature, architecture decision, plan) as an Obsidian doc in the Spine Architecture vault. Auto-detects repo, feature, and doc type from context. Supports --batch mode for session-end batch capture.
Search past Claude Code sessions (episodic memory). Two-tier — grep the Spine episode log first, then targeted ripgrep over raw session transcripts. Deterministic, no LLM calls, returns verbatim excerpts with resume commands.
Resume and enrich existing spine docs after continued work sessions. Supports targeted updates and auto-detection of stale docs.
Load all vault docs for a feature area into context. Deep pull for when you need full knowledge on a topic.
Session-start vault scanner. Auto-fixes broken wikilinks, missing tags, and orphan docs. Detects coverage gaps from recent commits. Runs automatically at session start.
Scan the Spine Architecture Obsidian vault for gaps, stale docs, duplicates, and missing coverage. On-demand curator for vault hygiene.
| name | spine-init |
| description | Initialize or adopt a Spine Architecture vault. Creates the Obsidian vault structure, graph color config, and config file. Run once per vault. |
| argument-hint | ["vault-path"] |
Initialize a new Spine Architecture vault, or adopt an existing Obsidian vault into the Spine conventions.
Spine uses a config chain to find the vault:
$SPINE_VAULT_PATH environment variable~/.spine/config.json → { "vaultPath": "..." }~/Documents/SpineVault/If $ARGUMENTS is provided, use it as the vault path. Otherwise, check the config chain for an existing path. If none found, ask the user.
Check if the path already contains an Obsidian vault (.obsidian/ directory) or markdown files:
~/.spine/config.json."
tier3: truetier3: false~/.spine/config.json:
{ "vaultPath": "/absolute/path/to/vault", "tier3": false }
.obsidian/graph.json with color groups:
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": false,
"colorGroups": [
{ "query": "tag:#type/spine", "color": { "a": 1, "rgb": 3381759 } },
{ "query": "tag:#type/fix", "color": { "a": 1, "rgb": 14495282 } },
{ "query": "tag:#type/feature", "color": { "a": 1, "rgb": 4439473 } },
{ "query": "tag:#type/architecture", "color": { "a": 1, "rgb": 10170623 } },
{ "query": "tag:#type/plan", "color": { "a": 1, "rgb": 16750848 } },
{ "query": "tag:#type/decision", "color": { "a": 1, "rgb": 16776960 } },
{ "query": "tag:#type/meta", "color": { "a": 1, "rgb": 10066329 } }
],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.5,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1.6,
"close": true
}
Spine Architecture.md at the vault root:
---
tags:
- type/meta
---
# Spine Architecture
A knowledge management system that bridges Claude Code's memory with this Obsidian vault, organizing project knowledge as a navigable graph tree.
## Structure
{vault}/
└─ {repo}/
└─ {feature}/
├─ {Feature}.md ← spine note (overview, wikilinks to all children)
├─ Fix - {description}.md
├─ Feature - {description}.md
├─ Architecture - {description}.md
├─ Plan - {description}.md
└─ Decision - {description}.md
## Navigation
Claude Memory → Feature Signpost → Spine Note → Specific Doc
## Conventions
- **Repo-first** hierarchy separates concerns across codebases
- **Feature-first** grouping within each repo keeps related knowledge together
- **Spine notes** are the entry point — read the spine to understand a feature before diving in
- **Naming convention** (`Fix -`, `Feature -`, `Architecture -`, `Plan -`, `Decision -`) keeps the tree shallow
- **Type tags** (`type/spine`, `type/fix`, `type/feature`, `type/architecture`, `type/plan`, `type/decision`) drive graph coloring
- **Cross-repo features** link to each other via `[[wikilinks]]`
basename $(git remote get-url origin 2>/dev/null) .git or the current directory name{vault}/{repo}/---
title: {Feature} — {repo}
tags:
- {repo}
- {feature-kebab-case}
- type/spine
---
# {Feature} ({repo})
{Brief description — ask user or derive from context}
## Fixes
## Features
## Architecture
## Plans
## Decisions
~/.spine/config.json pointing to the existing vault{Feature}.md at the feature folder level).obsidian/graph.json — if missing or missing color groups, create/patch ittype/* frontmatter tagsAdopted existing vault at {path}
Found: {n} repos, {n} features, {n} docs
- {n} docs with correct type tags
- {n} docs missing type tags (run /spine-health to fix)
- Graph colors: {configured/added}
Print:
Spine vault ready at {path}
Next steps:
1. Open {path} in Obsidian (File → Open Vault → choose folder)
2. Press Cmd+G to see the color-coded knowledge graph
3. Use /spine-capture after completing work to add docs
4. Use /spine-health periodically to audit vault health
5. (Optional) Add the status line segment — see docs/status-line.md
After initialization completes, emit a structured observation block.
spine_init_result:
status: success | partial | error
mode: fresh | adopt
summary: "Fresh vault created at ~/Documents/SpineVault with 1 repo, 1 feature"
created:
- { type: "directory", path: "~/Documents/SpineVault/" }
- { type: "directory", path: "~/Documents/SpineVault/spine/" }
- { type: "config", path: "~/.spine/config.json" }
- { type: "graph", path: ".obsidian/graph.json" }
- { type: "meta", path: "Spine Architecture.md" }
- { type: "spine_note", path: "spine/Tier 3 Curator/Tier 3 Curator.md" }
adopted:
repos: 0
features: 0
docs: 0
tags_missing: 0
next_actions:
- { action: "open Obsidian", path: "~/Documents/SpineVault/" }
- { action: "/spine-capture", reason: "start documenting current work" }
recovery_hint: null
Status values:
success — vault fully initialized, all files createdpartial — vault created but some steps skipped (e.g., no git repo detected, user skipped feature creation)error — init failed (permissions, disk space) — include recovery_hintMode: fresh when creating a new vault, adopt when integrating an existing Obsidian vault. The adopted fields are only populated in adopt mode; created is only populated in fresh mode.