content-forge/.claude/skills/my-world/SKILL.md
lizikk 29bcbb89db feat: add claude-md-guardian, thinking commands, and security fixes
- Add claude-md-guardian agent with SessionStart hook for auto CLAUDE.md maintenance
- Add 6 thinking commands: /my-world, /emerge, /challenge, /connect, /today, /close
- Add my-world skill for one-shot vault context loading
- Fix command injection vulnerability in init-vault.sh (use env vars)
- Add error handling and logging to vault-sync.sh
- Update write-article skill with complete frontmatter fields
- Upgrade CLAUDE.md to v1.3.0 with cycle time tracking and exit criteria

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 16:58:43 +08:00

105 lines
2.6 KiB
Markdown

---
name: my-world
description: "One-shot context loader for the content-forge Obsidian vault. This skill should be used at the start of any Claude Code session to load the user's projects, topics, drafts, knowledge graph, and current priorities into context. Replaces repeated re-explanation of who the user is and what they're working on."
---
# /my-world — Load My World
Load the entire content-forge vault context into the current session in one shot.
## When to Use
Run at the start of any session that involves content creation, vault operations, or when needing awareness of current projects and priorities.
## What It Does
1. Read vault stats (file count, tags, recent activity)
2. Scan all active content (topics, drafts, in-review)
3. Map the knowledge graph (backlinks, wikilinks, orphans)
4. Surface current priorities and blockers
5. Present a concise world-view summary
## Important: Vault Directory
All `obsidian` CLI commands must run from within the vault directory to auto-detect the vault:
```bash
cd /home/kang/apps/content-forge/content-forge
```
Run all subsequent commands after this `cd`. The `vault=` parameter is unreliable; directory-based detection is the correct approach.
## Execution Steps
### Step 1: Vault Health
```bash
cd /home/kang/apps/content-forge/content-forge
obsidian vault
obsidian files total
obsidian tags counts sort=count
```
### Step 2: Active Content Pipeline
Scan each pipeline stage for active items:
```bash
obsidian files folder="00-inbox"
obsidian files folder="01-topics"
obsidian files folder="02-drafts"
obsidian files folder="03-review"
obsidian files folder="04-published"
```
For each file found, read its frontmatter to extract `title`, `status`, `content_type`, `channels`:
```bash
obsidian properties path="<file-path>"
```
### Step 3: Knowledge Graph
```bash
obsidian orphans
obsidian deadends
obsidian unresolved
```
### Step 4: Recent Activity
```bash
obsidian recents
```
### Step 5: Summarize
Present a concise summary in this format:
```
=== My World ===
Vault: content-forge (X files, Y tags)
Pipeline:
inbox: N items
topics: N items (list titles)
drafts: N items (list titles + status)
review: N items (list titles)
published: N items total
Knowledge Graph:
Orphans: N (notes with no incoming links)
Dead ends: N (notes with no outgoing links)
Unresolved: N (broken [[wikilinks]])
Recent: (last 5 files touched)
Priorities:
- (inferred from draft/review status and recency)
```
## Output
A structured world-view that gives full context for the session. No files are written — this is read-only.