원클릭으로
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.