vision
Skill0 starsChanged 29 days agoApache-2.0View on GitHub
Work out why a project should exist at all and write the case down: who it is for, what it is for, what it displaces, and whether it belongs in this org. Use it when the thing in front of you is not yet a project — "should this be its own project?", "who is this even for?", "convince me this is worth doing", "what's the north star here?", "write the pitch", "we're starting something new" — including when someone asks for a README intro or the elevator version and the justification underneath has never been argued anywhere. Write it and the reasoning survives; answer in chat and the next person relitigates it. Do NOT use it when the thesis is settled and what is missing is the medium-term bet under it (`/strategy`) or the order things get built (`/roadmap`). A vision with nothing under it is rarely what someone wants: if the conversation is going to run down into the bet and the sequence anyway, `/charter` walks all three in one sitting.
24 other projects use a version of this.
Adopted by
Most recently taken up by
- kasperjunge/skillstheir own version, first seen Nov 8, 2026
- simota/agent-skillstheir own version, first seen Oct 23, 2026
- sirius-cc-wu/sirius-skillstheir own version, first seen Oct 21, 2026
- knowttl/bstacktheir own version, first seen Oct 20, 2026
- quocld/hephaestus-agent-skillstheir own version, first seen Oct 20, 2026
- frankieramirez/manatheir own version, first seen Oct 17, 2026
Other versions24 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 24
- gridaco/grida★ 2.7ksame name
- YougLin-dev/Aha-Loop★ 181same name
- xiincs/claude-code-vision-skill★ 170same name
- simota/agent-skills★ 96same name
- quocld/hephaestus-agent-skills★ 8same name
- kasperjunge/skills★ 7same name
- Neostry/vision-skill★ 7same name
- wangbooth/skills★ 7same name
- sirius-cc-wu/sirius-skills★ 6same name
- BhaskarManam/pstack★ 4same name
14 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- briefSkill
- charterSkill
- compSkill
- coordinateSkill
- decisionSkill
- deliverSkill
- designSkill
- executeSkill
- exploreSkill
- inflightSkill
- planSkill
- prdSkill
- private-contentSkill
- public-contentSkill
- releaseSkill
- review-planSkill
- roadmapSkill
- scopeSkill
- strategySkill
- work-onSkill
- writing-styleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 7 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 17 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 40
Writing style: Read skills/writing-style/SKILL.md for guidance.
- Very specific: line 63
Before writing content, detect visibility from CLAUDE.md (## Repo Visibility: Public|Private).
- Very specific: line 68
Private repos: Read skills/private-content/SKILL.md
- Very specific: line 69
Public repos: Read skills/public-content/SKILL.md
- Very specific: line 78
When invoked as /vision, this skill drives a structured creation workflow that scopes the thesis conversationally, fans out research …
- Distinctive: line 112
If it does not exist, start from Phase 1.
- Very specific: line 161
Execution mode: check $ARGUMENTS for --auto or --interactive flags, then CLAUDE.md ## Execution Mode: header (default: interactive).
- Distinctive: line 237
Research Before Drafting: Don't draft a thesis you haven't investigated
- Distinctive: line 238
User Review: Never finalize a VISION the user hasn't reviewed and given feedback on
- Distinctive: line 247
Setup: Ensure work happens on a feature branch
- Distinctive: line 248
If already on a branch that matches the topic, skip branch creation
- Very specific: line 249
If on main or an unrelated branch, create docs/<topic> (kebab-case)
- Distinctive: line 250
If unsure whether the current branch is related, ask the user
- Very specific: line 269
After user approval, transition to Accepted via shirabe transition <vision-path> Accepted.
- Distinctive: line 272
After acceptance, suggest next steps:
“Common” is measured: kept by at least 6 in 10 of the 17 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
!${CLAUDE_PLUGIN_ROOT}/scripts/skill-preflight.sh vision 2>&1 || true
@.claude/shirabe-extensions/vision.md @.claude/shirabe-extensions/vision.local.md
Vision Documents
Vision documents capture WHY a project or organization should exist -- the core thesis, audience, value proposition, org fit, and success criteria. They sit at the head of the strategic chain -- VISION -> STRATEGY -> ROADMAP -- and are the strategic foundation that justifies writing requirements in the first place.
A VISION's immediate downstream neighbour is a STRATEGY, and that is the only
artifact type its Downstream Artifacts section lists. The chain links one level
at a time so a reader walking it hits every altitude in order; the PRDs and
designs under a VISION are reached through its STRATEGY and that STRATEGY's
ROADMAP, not linked directly. See references/vision-format.md for the full
rule.
Writing style: Read skills/writing-style/SKILL.md for guidance.
Artifact Lifecycle
Lifecycle: Durable. Stays in docs/visions/ after completion.
VISION is durable because the long-term thesis a project commits to stays in the audit trail. Future readers asking why a project exists at all need the VISION to remain in place even as the project evolves.
Vision Format
See references/vision-format.md for the full format specification: frontmatter
schema, required and optional sections, visibility-gated sections, section
matrix, content boundaries, lifecycle states, validation rules, and quality
guidance. Load it during Phases 3 and 4.
File Location
Vision documents live at docs/visions/VISION-<topic>.md (kebab-case). No
directory movement until Sunset, which moves files to docs/visions/sunset/.
Stable paths keep cross-references durable and git blame readable.
Repo Visibility
Before writing content, detect visibility from CLAUDE.md
(## Repo Visibility: Public|Private). If not found, infer from repo path
(private/ -> Private, public/ -> Public; default to Private). Load the
appropriate content governance skill:
- Private repos: Read
skills/private-content/SKILL.md - Public repos: Read
skills/public-content/SKILL.md
Public VISIONs must not include Competitive Positioning or Resource Implications sections, and must not reference private artifacts.
Creating a Vision Document
When invoked as /vision, this skill drives a structured creation workflow that
scopes the thesis conversationally, fans out research agents, drafts the VISION
with section-level review, and validates through jury review.
Unlike an explore workflow (which is open-ended and can produce any artifact type), /vision always produces a VISION document. Use /vision when you know you need strategic justification. Use an explore workflow when you don't know what artifact type you need yet.
Input Modes
From $ARGUMENTS:
- Empty -- ask the user what project or org they want to define a vision for
- Path to existing VISION with lifecycle verb (
accept,activate,sunset) -- execute the lifecycle transition viashirabe transition <vision-path> <status>(Sunset optionally takes--superseded-by <path>) - Anything else -- use as the starting topic for Phase 1 scoping
Standalone Entry
/vision works standalone and as a chain child of /charter. No skill hands /vision a pre-populated scope file: /charter invokes /vision directly and lets this skill's own Phase 1 do the scoping, and the router routes to /charter rather than here. There is no handoff to detect.
On startup, check for key work/scope.md in vision-<topic> anyway. It is
what this skill's own Phase 1 writes, so finding one means an earlier run got
through scoping and stopped before Phase 2 finished. Skip Phase 1 and resume at Phase 2
against it -- the scope key already holds the problem statement and research
leads. /charter's resume ladder routes a partial run back into /vision the
same way, through skill-session.sh has-work vision <topic> — a live
session holding any work/ key.
If it does not exist, start from Phase 1.
Session and Keys
/vision keeps its working state as keys in its own koto session,
vision-<topic>, following
${CLAUDE_PLUGIN_ROOT}/references/skill-session-convention.md. It writes no
file to the staging folder, chained or direct. Its first act, once the topic is
known (from the argument, or the <topic> in a path argument's file name) and
before Context Resolution or the resume rows below, opens the session and
records whether it runs under a parent:
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" open vision <topic>
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" adopt vision <topic>open attaches to a live vision-<topic> (an interrupted run, whose keys the
resume rows read), replaces a finished one (a fresh run), or creates it. Any
non-zero exit from either command stops the run with the script's message: 127
or 69 means koto is missing or too old, and the skill never falls back to
files. adopt exiting 3 is the two-parents case below.
| Key | Written at | Holds |
work/decisions.md | Context Resolution, under --auto | the autonomous-decision ledger |
work/scope.md | Phase 1 | the scoping output |
research/phase2_<role>.md | Phase 2 | the discovery agents' findings, ingested from a scratch directory |
research/phase4_<role>.md | Phase 4 | the jury's verdicts, ingested from a scratch directory |
Keys are read and written with koto against vision-<topic>: koto context
exists vision-<topic> <key> tests one (exit 0 present, 1 absent), koto
context get vision-<topic> <key> prints it, koto context add vision-<topic>
<key> stores the content given on stdin (the whole content: to change part of
it, get the key, edit it, and add it back), koto context list vision-<topic>
--prefix <prefix> lists keys, and koto context remove vision-<topic> <key>
removes one. Research and reviewer agents never write keys: each phase that
spawns them pins every output to a file in a skill-session.sh scratch
directory and ingests it.
Closing. A direct run closes its session when it finishes:
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" close vision-<topic> done
at the end of Phase 4, or close vision-<topic> abandoned after a discard.
Under a parent /vision never closes its own session: the parent closes it at
its own exit (skill-session.sh close-children), and the keys stay readable
until then.
Context Resolution
Execution mode: check $ARGUMENTS for --auto or --interactive flags,
then CLAUDE.md ## Execution Mode: header (default: interactive). Also
parse --max-rounds=N (default: 2 for vision's discover loop). In --auto mode,
follow decision-protocol conventions -- make decisions based on evidence rather
than blocking on user input. Track decisions in key work/decisions.md in
vision-<topic>.
Detect visibility (Private/Public) from CLAUDE.md or repo path. Infer from
private/ or public/ in path if not explicit. Default to Private if
unknown -- restricting is easier to undo than oversharing.
Log: Drafting vision with [Private|Public] visibility...
Workflow Phases
Phase 0: SETUP --> Phase 1: SCOPE --> Phase 2: DISCOVER --> Phase 3: DRAFT --> Phase 4: VALIDATE
(branch) (conversational) (agents fan out) (iterative) (jury review)
| ^
| |
+--- may loop back to DISCOVER or DRAFT-+| Phase | Purpose | Artifact |
| 0. Setup | Create feature branch, detect visibility | On topic branch |
| 1. Scope | Conversational scoping (or skip if an earlier run's scope key exists) | Problem statement + research leads |
| 2. Discover | Parallel research agents investigate leads | Research findings as research/ keys |
| 3. Draft | Produce VISION draft | Complete VISION draft |
| 4. Validate | Jury review (thesis quality, boundaries) | Validated VISION |
Phase 2 agents investigate: audience validation, value proposition clarity, org fit evidence, competitive landscape (private only), and success criteria measurability.
Phase 4 jury focuses on VISION-specific quality: Is the thesis a hypothesis (not a problem statement)? Do success criteria avoid feature-level metrics? Does org fit explain why HERE and not elsewhere? Are non-goals about identity (not scope)?
Resume Logic
dispatch read vision <topic> prints parent=<session>
-> run under that parent; see ${CLAUDE_PLUGIN_ROOT}/references/fixes/sub-agent-dispatch.md
VISION exists with status "Accepted" or "Active" -> Offer to revise or start fresh
VISION exists with status "Draft" -> Offer to continue from Phase 3
research/phase2_* keys exist in vision-<topic> -> Resume at Phase 3
work/scope.md key exists in vision-<topic> -> Resume at Phase 2
On a branch related to the topic -> Resume at Phase 1
On main or unrelated branch -> Start at Phase 0The work/scope.md row is a partial-run row, not a handoff row.
Its only producer is this skill's own Phase 1, and /charter's ladder relies on
that: its row 8 hands a topic back to /vision precisely so this row fires.
Running under a parent. The first row runs
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" dispatch read vision <topic>
with the topic this run works on. A printed parent=<session>
line means /vision runs under that parent (scope-<topic> or
charter-<topic>), with the parent's upfront decision in the rationale= and
suppress_status_aware_prompt= lines; what changes under a parent is in
${CLAUDE_PLUGIN_ROOT}/references/fixes/sub-agent-dispatch.md.
Four cases are no match. Three print nothing and exit 0, and the run is a
direct one with the rows below unchanged: no parent session, a finished parent
session, and a parent whose chain/dispatch key names another child. The
fourth, two parent sessions that both name /vision, exits 3: don't pick one
and don't run directly; stop and report both sessions, which the script names
on stderr, so the author can clear the stale key. Any non-zero exit
stops the run with the script's message; open has already stopped a run
without koto.
Critical Requirements
- Conversational First: Phase 1 is a dialogue, not a form to fill out
- Research Before Drafting: Don't draft a thesis you haven't investigated
- User Review: Never finalize a VISION the user hasn't reviewed and given feedback on
- Jury Validation: Phase 4 is not optional -- thesis quality, content boundaries, and section guidance compliance all get checked
Execution
Execute phases sequentially by reading the corresponding phase file:
- Setup: Ensure work happens on a feature branch
- If already on a branch that matches the topic, skip branch creation
- If on
mainor an unrelated branch, createdocs/<topic>(kebab-case) - If unsure whether the current branch is related, ask the user
- Scope: Conversational scoping
- Instructions:
references/phases/phase-1-scope.md - Skipped when an earlier run's scope key (
work/scope.mdinvision-<topic>) exists
- Instructions:
- Discover: Parallel research agents investigate leads
- Instructions:
references/phases/phase-2-discover.md
- Instructions:
- Draft: Produce VISION draft and walk through with user
- Instructions:
references/phases/phase-3-draft.md
- Instructions:
- Validate: Jury review and finalization
- Instructions:
references/phases/phase-4-validate.md
- Instructions:
Output
Final artifact: docs/visions/VISION-<topic>.md, created in Draft status.
After user approval, transition to Accepted via shirabe transition
<vision-path> Accepted.
After acceptance, suggest next steps:
| Situation | Suggestion |
| Clear feature scope already | /prd to write requirements |
| Multiple directions possible | /explore to investigate further |
| Needs organizational alignment | Share VISION for stakeholder review |
Team Shape
/vision's team shape is declared in team.yaml as the
machine-readable contract surface. The child layer spawns three
reviewer peers at Phase 4 (thesis-quality-reviewer,
content-boundary-reviewer, section-guidance-reviewer) to validate
the drafted VISION.
See Dispatch Contract for v1 parent-side consumption rules.
Reference Files
| File | When to load |
references/vision-format.md | Phase 3 (drafting) and Phase 4 (validation) |
references/phases/phase-1-scope.md | Phase 1 |
references/phases/phase-2-discover.md | Phase 2 |
references/phases/phase-3-draft.md | Phase 3 |
references/phases/phase-4-validate.md | Phase 4 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

