一键导入
documentation-to-obsidian
Use when writing human-readable documentation that should be stored in the Obsidian knowledge vault
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when writing human-readable documentation that should be stored in the Obsidian knowledge vault
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when asked to document work, record decisions, create session records, write ADRs or RFCs, or update knowledge notes in ~/knowledge. Also use when confused about who a person is, what a company is, what situation the user is referring to, or any personal or professional context — read the vault before asking.
Use when creating or editing notes in an Obsidian vault, writing to ~/knowledge, or using Obsidian-specific syntax (wikilinks, callouts, embeds, frontmatter properties).
Use when reviewing any implementation. Replaces fixed spec+quality two-step with category-driven parallel specialists: an assessor picks relevant categories for the specific artifact, one specialist per category reviews in parallel, controller aggregates. Use after implementer completes a task in subagent-driven-development.
Use when dispatching work to background agents, defining custom subagents, or choosing between local agent dispatch and VM-based workers (claude-ctl).
Use when working with Kubernetes clusters, GitOps deployments, Flux reconciliation, Helm releases, or cluster troubleshooting. Guides declarative cluster management and GitOps workflows. Not for secrets encryption or SOPS operations — route those to secrets-management.
Use when sending a notification to ntfy from a homelab service, loop, or agent. Covers the canonical in-cluster publish pattern and the silent-failure trap of posting to the Authentik-gated public URL.
| name | documentation-to-obsidian |
| description | Use when writing human-readable documentation that should be stored in the Obsidian knowledge vault |
Use this skill when:
DO NOT use for:
Obsidian Vault Structure:
~/Documents/knowledge-vault/
├── Projects/ # Project-specific docs
│ ├── nixos-config/
│ │ ├── index.md # Project overview
│ │ ├── README.md # Synced from repo
│ │ └── docs/ # Synced from repo
│ ├── homelab-gitops/
│ └── workstation-api/
├── Concepts/ # Cross-cutting knowledge
│ ├── flake-parts.md
│ ├── sops-secrets.md
│ ├── specialisations.md
│ └── workstation-fleet.md
├── Technologies/ # Tech stack deep dives
│ ├── NixOS/
│ ├── Kubernetes/
│ └── Rust/
└── Meta/ # Vault management
├── templates/
└── scripts/
You have access to the obsidian MCP server with these tools:
// Read a specific note
obsidian_read_note({
path: "Concepts/flake-parts.md"
})
// List notes in a directory
obsidian_list({
path: "Concepts"
})
// Search across all notes
obsidian_search({
query: "SOPS encryption"
})
// Create or update a note
obsidian_write_note({
path: "Concepts/flake-parts.md",
content: `---
type: concept
tags: [nix, flake-parts, architecture]
related: [module-registry, auto-discovery]
---
# Flake-Parts Architecture
## What It Is
...content...
`
})
For cross-project concepts:
Concepts/concept-name.mdConcepts/sops-secrets.md, Concepts/specialisations.mdFor project-specific docs:
Projects/{project-name}/docs/topic.mdProjects/nixos-config/docs/architecture/flake-parts.mdFor technology deep dives:
Technologies/{tech}/topic.mdTechnologies/NixOS/module-system.mdAll documentation notes should have YAML frontmatter:
---
type: [concept|guide|reference|architecture]
tags: [tag1, tag2, tag3]
related: [related-note-1, related-note-2]
technology: [NixOS|Kubernetes|Rust|Python] # if applicable
project: [nixos-config|homelab-gitops] # if applicable
---
Use this structure:
# Title
## Overview
Brief description (1-2 paragraphs)
## How It Works
Technical details
## Examples
Concrete examples with code blocks
## Related Concepts
- [[concept-1]]
- [[concept-2]]
## References
- [External Link](https://...)
# SOPS Secrets Management
## Related
- [[flake-parts]] - Module discovery uses SOPS for secrets
- [[homelab-gitops]] - Kubernetes secrets via SOPS
- See also: [[Technologies/NixOS/module-system]]
User asks: "Document how the specialisation pattern works"
Your response:
I'll create a concept note for the specialisation pattern in Obsidian.
<uses obsidian_write_note>
path: Concepts/specialisations.md
content: |
---
type: concept
tags: [nixos, specialisation, desktop, architecture]
related: [flake-parts, module-registry]
project: nixos-config
---
# NixOS Specialisations Pattern
## Overview
All hosts boot into **server mode** by default (optimized headless environment with full CLI tooling).
Hosts with compatible GPUs (Intel iGPU) have a **desktop specialisation** - an optional boot menu entry that adds Hyprland, SDDM, and GUI applications.
## How It Works
...
User asks: "Document the workstation fleet architecture"
Your response:
This is project-specific documentation that spans multiple repos. I'll create it in the Projects section.
<uses obsidian_write_note>
path: Projects/homelab-gitops/docs/workstation-fleet-architecture.md
content: |
---
type: architecture
tags: [kubevirt, workstation, fleet]
related: [workspace-claim-crd]
---
# Workstation Fleet Architecture
End-to-end flow:
1. nixos-config builds qcow2 image
2. Published as OCI containerDisk to Harbor
3. KubeVirt imports as DataVolume
4. WorkspaceClaim CRD provisions VMs
...
Before writing documentation:
❌ Don't put CLAUDE.md content in Obsidian
❌ Don't write code-level documentation
❌ Don't create isolated notes
❌ Don't duplicate existing notes
Important: Documentation written to Projects/{name}/docs/ should be synced back to the actual repository.
On dev machine after updating project docs:
# Sync vault changes back to repos
cd ~/Documents/knowledge-vault
# Review what changed
git diff Projects/
# Copy changes back to repo
rsync -av Projects/nixos-config/docs/ ~/nixos-config/docs/
# Commit in both places
cd ~/nixos-config
git add docs/ && git commit -m "Update architecture docs"
cd ~/Documents/knowledge-vault
git add . && git commit -m "Sync nixos-config docs" && git push
Future improvement: This could be automated with a reverse-sync script.