From gtd
Use when the user wants to promote a fleeting note from zettelkasten/fleeting/ into a permanent Zettelkasten note. Helps refine the thought into a single-sentence claim, expand the reasoning, surface related permanent notes via keyword search, and produce [[wikilink]] connections. Moves the file to zettelkasten/permanent/ on completion.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gtd:zettelThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Promote a fleeting note to a permanent Zettelkasten note. In Luhmann's system, a permanent note has: (1) a single clear idea stated in your own words, (2) links to related notes, (3) enough context to stand alone years later.
Promote a fleeting note to a permanent Zettelkasten note. In Luhmann's system, a permanent note has: (1) a single clear idea stated in your own words, (2) links to related notes, (3) enough context to stand alone years later.
git -C ${GTD_VAULT:-$HOME/gtd} pull --rebase --autostash 2>&1 | tail -3
If conflicts or failure, ask the user to resolve before proceeding.
ls ${GTD_VAULT:-$HOME/gtd}/zettelkasten/fleeting/*.md 2>/dev/null | grep -v /.gitkeep$ | sort
If empty: fleeting/ is empty — nothing to promote. Exit.
Display numbered list with the first ~80 chars of each file's body. Ask: どれを permanent に昇格させますか? (1-N or 'cancel')
Read the chosen file.
Show the user the fleeting content. Ask:
このノートが「言いたいこと」を1文で書いてください (20-60字目安)。
ヒント: 「〇〇は〇〇である」「〇〇すると〇〇になる」のような断言型が強い。
Iterate if needed — offer the user a rewritten version of their sentence for sharpening, but NEVER replace without their approval.
Ask:
その主張を詳しく (なぜそう思うか、反例、根拠、例):
Multi-line input. Accept until two blank lines or done.
Extract 3-5 keywords from the claim + expansion (Japanese+English OK). For each, grep existing permanent notes:
grep -rli --include='*.md' '{keyword}' ${GTD_VAULT:-$HOME/gtd}/zettelkasten/permanent/ 2>/dev/null | head -10
Also check zettelkasten/literature/ with the same pattern.
Display candidates as Obsidian wikilinks:
関連しそうなノート:
- [[permanent/existing-note-a]] (matched: "〇〇")
- [[literature/2026-03-xx-foo]] (matched: "△△")
- ...
関連として残すものを番号で (例: "1,3" or "none" or "all"):
If permanent/ is empty (first zettel): skip this step gracefully, tell the user 関連ノート候補はまだありません(最初の永続ノート).
Generate a timestamp + short slug from the claim: TS=$(TZ=Asia/Tokyo date +%Y-%m-%d-%H%M), SLUG= 3-5 word English slug derived from the claim.
Target path: zettelkasten/permanent/{TS}-{SLUG}.md.
Content:
---
type: permanent
created: {TS_date_only}
tags: [{extracted_keywords_as_tags}]
source: {"#" + original fleeting filename, OR the issue ref from frontmatter if mobile-origin}
---
# {claim}
## 展開
{expansion text}
## 関連ノート
- [[related-note-1]]
- [[related-note-2]]
Ask: 元の fleeting ノートは? (a) 削除 (b) 残す.
a: rm zettelkasten/fleeting/{original}b: leave it.Show git status --short. Ask コミットしますか? (y/n). If yes:
git -C ${GTD_VAULT:-$HOME/gtd} commit -m "zettel: {first 50 chars of claim}"
Don't push.
[[note-name]] — Obsidian uses this for backlinks.tags: sparingly — 2-4 tags max, kebab-case, no topic-bloat.A permanent note should answer: "What's the smallest unit of thought I want to remember?" If the user tries to cram two ideas in, help them split. If they write a summary instead of a claim, ask for the thesis behind it.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub yoshi108-102/claude-plugins --plugin gtd