vision
Create or review a high-level vision document capturing project goals and purpose. Use when asked to "define the vision", "what is this project", "set goals", or when starting a new project that needs clarity on purpose and direction.
Best use case
vision is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Create or review a high-level vision document capturing project goals and purpose. Use when asked to "define the vision", "what is this project", "set goals", or when starting a new project that needs clarity on purpose and direction.
Teams using vision should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/vision/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How vision Compares
| Feature / Agent | vision | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Create or review a high-level vision document capturing project goals and purpose. Use when asked to "define the vision", "what is this project", "set goals", or when starting a new project that needs clarity on purpose and direction.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
<tool_restrictions>
# MANDATORY Tool Restrictions
## REQUIRED TOOLS:
- **`AskUserQuestion`** — Preserve the one-question-at-a-time interaction pattern for every question in this skill, including gathering context and validating drafts. In Claude Code, use the tool. In Codex, ask one concise plain-text question at a time unless a structured question tool is actually available in the current mode. Keep context before the question to 2-3 sentences max, and do not narrate missing tools or fallbacks to the user.
</tool_restrictions>
<arc_runtime>
This workflow requires the full Arc bundle, not a prompts-only install.
Paths in this skill use these conventions:
- `agents/...`, `references/...`, `disciplines/...`, `templates/...`, `scripts/...`, `rules/...`, `skills/<name>/...` are Arc-owned files at the plugin root. Resolve the plugin root from this skill's filesystem location — it's the directory containing `agents/` and `skills/`.
- `./...` is local to this skill's directory.
- `.ruler/...`, `docs/...`, `src/...`, or any project-relative path refers to the user's project repository.
</arc_runtime>
# Vision Workflow
Create or review a 500-700 word vision document that captures the high-level goals and purpose of the app or codebase.
<progress_context>
**Use Read tool:** `docs/arc/progress.md` (first 50 lines)
Check for recent work that might inform vision decisions.
</progress_context>
## Process
### Step 1: Check for Existing Vision
**Use Read tool:** `docs/vision.md`
**If file exists:** Read it, then ask:
```
AskUserQuestion:
question: "I found an existing vision document. What would you like to do?"
header: "Existing Vision"
options:
- label: "Review and discuss"
description: "Walk through the current vision and talk through it"
- label: "Update"
description: "Revise the vision based on a new direction"
- label: "Start fresh"
description: "Discard the current vision and write a new one"
```
**If not exists:** Proceed to Step 2.
### Step 2: Gather Context
Ask one question at a time. Wait for the user's response before asking the next question.
**Question 1:**
```
AskUserQuestion:
question: "What is this project? (one sentence)"
header: "Project Identity"
options:
- label: "I'll describe it"
description: "Type a one-sentence description of what you're building"
```
**Question 2:**
```
AskUserQuestion:
question: "Who is it for?"
header: "Target Audience"
options:
- label: "I'll describe them"
description: "Type who the target users or audience are"
```
**Question 3:**
```
AskUserQuestion:
question: "What problem does it solve?"
header: "Core Problem"
options:
- label: "I'll explain"
description: "Type the problem this project addresses"
```
**Question 4:**
```
AskUserQuestion:
question: "What does success look like?"
header: "Success Criteria"
options:
- label: "I'll define it"
description: "Type what success means for this project"
```
**Question 5:**
```
AskUserQuestion:
question: "Any constraints or non-goals?"
header: "Constraints"
options:
- label: "Yes, I have some"
description: "Type constraints or things you're explicitly not building"
- label: "None right now"
description: "Skip this and move on to drafting"
```
### Step 3: Draft Vision
Write a 500-700 word vision document covering:
```markdown
# Vision
## Purpose
[One paragraph: What is this and why does it exist?]
## Goals
[3-5 bullet points: What are we trying to achieve?]
## Target Users
[Who is this for? What do they need?]
## Success Criteria
[How do we know if we've succeeded?]
## Non-Goals
[What are we explicitly NOT trying to do?]
## Principles
[2-3 guiding principles for decisions]
```
### Step 4: Validate
Present the draft in sections. After each section, ask:
```
AskUserQuestion:
question: "Does this capture it?"
header: "Section Review"
options:
- label: "Yes, looks good"
description: "Move on to the next section"
- label: "Needs changes"
description: "I'll tell you what to adjust"
- label: "Start this section over"
description: "Rewrite this section from scratch"
```
### Step 5: Save
```bash
mkdir -p docs
# Write to docs/vision.md
git add docs/vision.md
git commit -m "docs: add project vision"
```
<arc_log>
**After completing this skill, append to the activity log.**
See: `references/arc-log.md`
Entry: `/arc:vision — [Created / Updated] vision document`
</arc_log>
## Interop
- **/arc:ideate** reads vision for context
- **/arc:suggest** references vision as lowest-priority source
- **/arc:letsgo** checks vision alignmentRelated Skills
using-arc
Use when starting any conversation - establishes Arc's skill routing, instruction priority, and bootstrap rules
tidy
Clean up completed plans in docs/arc/plans/. Archives or deletes finished plans. Use when asked to "clean up plans", "tidy the docs", "archive old plans", or after completing implementation to remove stale planning documents.
testing
Comprehensive testing strategy. Creates test plans covering unit, integration, and E2E. Uses specialist agents for each test type. Supports vitest and Playwright with auth testing guidance for Clerk and WorkOS.
suggest
Opinionated recommendations for what to work on next based on Linear issues, tasks, and codebase. Use when asked "what should I work on", "what's next", "suggest priorities", or when starting a session and unsure where to begin.
seo
Deep SEO audit for web projects. Analyzes codebase for crawlability, indexability, on-page SEO, structured data, social previews, and technical foundations. Optionally runs Lighthouse and PageSpeed against a live URL. Reports findings with severity, offers direct fixes or /arc:detail plans. Use when asked to "audit SEO", "check SEO", "review SEO", or "is my site SEO-ready".
responsive
Audit and fix responsive/mobile issues across every page of a project, using browser screenshots at two breakpoints (375px mobile, 1440px desktop). Design-aware: reads existing design docs to preserve aesthetic intent, not just "make it fit." Use when asked to "make it responsive", "fix mobile", "responsive audit", or after building a desktop-first UI that needs mobile adaptation.
refactor
Discover architectural friction and propose structural refactors with competing interface designs. Focuses on deepening shallow modules, consolidating coupled code, and improving testability. Use when asked to "improve the architecture", "find refactoring opportunities", "deepen modules", "consolidate coupling", "make this more testable", or "find architectural friction".
prune-agents
Kill orphaned Claude subagent processes that didn't exit cleanly. Use when asked to "prune agents", "clean up agents", "kill orphaned processes", or when subagents accumulate from Task tool usage.
progress
Internal skill for progress journal management. Other skills append to docs/arc/progress.md for cross-session context. Not invoked directly by users.
naming
Generate and validate project names. Reads codebase context, produces candidates using tech naming strategies, and checks domain + GitHub availability. Use when naming a new project, renaming, or validating an existing name.
letsgo
Production readiness checklist covering domains, SEO, security, and deployment. Use when asked to "ship it", "deploy to production", "go live", "launch", or when preparing a project for production deployment.
implement
Scope-aware implementation workflow with TDD and continuous quality checks. Use when asked to "implement this", "build this feature", "execute the plan", or after /arc:ideate has created a design doc. For small work it creates a lightweight inline plan; for larger work it creates or loads a full implementation plan and executes task-by-task with build agents.