Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy…

MITAuto-check passedTesting & QA

Install Plan

skills CLI
$ npx skills add RafaelGB/Obsidian-ZettelFlow --skill plan -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RafaelGB/Obsidian-ZettelFlow plan --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RafaelGB/Obsidian-ZettelFlow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/plan .claude/skills/plan && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
plan
GitHub stars
174
Token cost
~651 tokens
SKILL.md length
327 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy…

  • Tasks that involve Internationalization
  • SKILL.md covers Owner, Steps and Quality bar (the stage-2 gate)
  • Calls npm
  • Tasks that involve Test strategy

What it does

Plan is an agent skill from RafaelGB/Obsidian-ZettelFlow. Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy, i18n and docs impact, rollback, risks). Use after a spec exists and the user says "plan this", "make the plan", or "plan issue

Its SKILL.md is about 650 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Internationalization and Test strategy. It works with Obsidian and GitHub. The repository describes itself as: ZettelFlow is a plugin for Obsidian that helps you to create and manage your notes in a Zettelkasten way. The licence is MIT.

When your agent uses it

  • Tasks that involve Internationalization
  • Tasks that involve Test strategy

Example prompts

  • “plan this”
  • “make the plan”
  • “/plan”

What it can do on your machine

Read from SKILL.md and the folder at commit 0676350. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Plan loads about 651 tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 327 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~651

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from RafaelGB/Obsidian-ZettelFlow at commit 0676350, republished under its MIT licence (© RafaelGB). 327 words, ~651 tokens.

Download SKILL.mdSave it as .claude/skills/plan/SKILL.md (or your agent's skills folder).
name
plan
description
Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy, i18n and docs impact, rollback, risks). Use after a spec exists and the user says "plan this", "make the plan", or "plan issue

/plan — write the technical plan as an issue comment

Stage 2 of the SDD pipeline. Given an issue with an approved spec in its body, the plan is posted as a GitHub issue comment — HOW we satisfy the spec, with every Obsidian/ZettelFlow gate made explicit before code is written.

No local files — the plan lives in the GitHub issue as a comment.

Owner

Delegate to the implementation-planner agent. Point it at the issue number; it reads the spec (issue body), the constitution, CLAUDE.md's architecture map, and the code it will touch, then posts the plan comment.

Steps

The agent posts a comment containing:

  • Approach — which existing pattern it follows (action 4-file bundle, settings declarative definitions, a getInstance() singleton, the Zustand wizard). Prefer extending a pattern.
  • Files touched — a table by layer so the blast radius is visible.
  • Obsidian score impact (§I) — name the eslint-plugin-obsidianmd rules this could trip and how it avoids them; state the expected npm run lint:obsidian delta (must be ≤ 0 new).
  • Test strategy (§II) — which units get a failing test first; which mock stubs to add.
  • i18n impact (§IV) — the exact en.ts/es.ts keys added/changed; sentence case confirmed.
  • Docs impact (§VIII) — which docs/ page + mkdocs.yml nav entry.
  • Verification coverage (§XIV) — take the spec's How to verify and say, per AC, whether the proof is automated (name the test) or hand-walked (name the reason it cannot be automated). A manual step that could be automated is a missing test, and the plan is where that is caught.
  • Rollout & rollback and Risks — flag fragile areas (Canvas patcher, monkey-around, cross-platform).

Quality bar (the stage-2 gate)

  • The score delta is explicitly zero-new-violations (or the plan fixes violations).
  • The test plan is real (named files + assertions), not "add tests".
  • i18n and docs impact are named, not "update as needed".
  • Every AC in the spec is mapped to an automated test or to a named manual step.
  • No unbounded refactors: if the plan balloons, split the spec.

Then run /tasks <issue #>.

© RafaelGB, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/plan of RafaelGB/Obsidian-ZettelFlow.

Open the folder on GitHubat commit 0676350

Compare with similar skills

Plan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Plan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Plan this skillRafaelGB/Obsidian-ZettelFlow174—~651Automated safety check: PassMIT
Auto GitHub Contributornexu-io/auto-github-contributor137—~2.5kAutomated safety check: NotesMIT
Readme I18nY80/bmm3442 repos~1.9kAutomated safety check: PassMIT
cmux Testing Rulesdisler/learning-cmux-with-agents115—~1.2kAutomated safety check: PassMIT
Breakdown Testgithub/awesome-copilot40k1 repos~3.7kAutomated safety check: PassMIT
Repomix Browser Extension Developeryamadashy/repomix29k1 repos~288Automated safety check: PassMIT

Similar skills

  • Auto GitHub Contributor

    nexu-io/auto-github-contributor

    Interactively pick a quick-win contribution in any GitHub repo — either a labeled issue ("good first issue", "help wanted", docs) or a repo-scan candidate (typo, missing tests, i18n gap, actionable…

    137 GitHub stars~2.5k tokensUpdated 5 mo ago
    Testing & QAAuto-check: notes
  • A skill your agent uses when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized…

    344 GitHub starsUsed in 2 repos~1.9k tokens
    Frontend & DesignAuto-check passed
  • cmux Testing Rules

    disler/learning-cmux-with-agents

    Testing rules for the cmux Swift codebase: Swift Testing as the default framework, a two-commit regression policy, and tests that check runtime behavior, not source text.

    115 GitHub stars~1.2k tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • Breakdown Test

    github/awesome-copilot

    Official

    Test Planning and Quality Assurance prompt that generates comprehensive test strategies, task breakdowns, and quality validation plans for GitHub projects.

    40k GitHub starsUsed in 1 repo~3.7k tokens
    Testing & QAAuto-check passed
  • Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content…

    29k GitHub starsUsed in 1 repo~288 tokens
    DevelopmentAuto-check passed
  • Testing OpenLogi UI

    AprilNEA/OpenLogi

    Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change.

    23k GitHub stars~1.1k tokensUpdated 4 days ago
    Testing & QAAuto-check passed

More from RafaelGB/Obsidian-ZettelFlow

All 9 skills in this repo
  • New Action

    RafaelGB/Obsidian-ZettelFlow

    Scaffold a new ZettelFlow action following the project's 4-file convention (Action / Component / Settings / SettingsReader), register it, and document it.

    174 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Obsidian Plugin Quality

    RafaelGB/Obsidian-ZettelFlow

    Audit ZettelFlow against the official Obsidian plugin guidelines and the Community-hub automated review / quality score.

    174 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Release

    RafaelGB/Obsidian-ZettelFlow

    Cut a compliant ZettelFlow plugin release — version bump, versions.json, build, tag, and a GitHub Release whose notes follow the house format.

    174 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Specify

    RafaelGB/Obsidian-ZettelFlow

    Stage 1 of the SDD pipeline — write a ZettelFlow spec into a GitHub issue body (problem, value, functional requirements, testable acceptance criteria, capability disclosure, out-of-scope).

    174 GitHub stars~759 tokensUpdated today
    Auto-check passed
  • Sdd

    RafaelGB/Obsidian-ZettelFlow

    The Spec-Driven Development pipeline for ZettelFlow — the end-to-end flow (constitution → specify → plan → tasks → implement → verify) and which skill/agent owns each stage.

    174 GitHub stars~842 tokensUpdated today
    Auto-check passed
  • TDD

    RafaelGB/Obsidian-ZettelFlow

    The test-driven development workflow for ZettelFlow — write a failing test first, run jest, use the Obsidian mock and the bare-specifier alias mappings, and know which code is unit-testable.

    174 GitHub stars~724 tokensUpdated today
    Auto-check passed

Works with

Questions about Plan

What does Plan do?

Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy…. Plan is an agent skill from RafaelGB/Obsidian-ZettelFlow. Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy, i18n and docs impact, rollback, risks).

When should I use Plan?

Plan fits situations like: tasks that involve Internationalization; tasks that involve Test strategy.

How do I install Plan in Claude Code?

Run `npx skills add RafaelGB/Obsidian-ZettelFlow --skill plan -a claude-code`. Or copy the skill folder (.claude/skills/plan in RafaelGB/Obsidian-ZettelFlow) into .claude/skills/plan in your project. Claude Code loads it when a task matches its description.

How do I install Plan in Codex?

Run `npx skills add RafaelGB/Obsidian-ZettelFlow --skill plan -a codex`. Or copy the skill folder (.claude/skills/plan in RafaelGB/Obsidian-ZettelFlow) into .agents/skills/plan in your project. Codex loads it when a task matches its description.

Can I use Plan in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RafaelGB/Obsidian-ZettelFlow --skill plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/plan, .gemini/skills/plan, .github/skills/plan and .opencode/skills/plan in your project.

What does Plan need to run?

Going by SKILL.md and its folder, Plan needs the command-line tools its instructions call (npm).

Does Plan access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Plan safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Plan use?

Plan is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Plan use?

About 651 tokens (SKILL.md is roughly 2.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Plan?

Skills that share tags, products or a category with Plan: Auto GitHub Contributor (nexu-io/auto-github-contributor, 137 stars), Readme I18n (Y80/bmm, 344 stars), cmux Testing Rules (disler/learning-cmux-with-agents, 115 stars) and Breakdown Test (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Plan?

RafaelGB (a GitHub user) maintains it in RafaelGB/Obsidian-ZettelFlow, which has 174 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.

Source: RafaelGB/Obsidian-ZettelFlow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.