code-tour
Use when a user asks for a code tour, onboarding walkthrough, architecture tour, or PR tour — creates persona-targeted, step-by-step `.tour` files with real file and line anchors
Best use case
code-tour is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when a user asks for a code tour, onboarding walkthrough, architecture tour, or PR tour — creates persona-targeted, step-by-step `.tour` files with real file and line anchors
Teams using code-tour 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/code-tour/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How code-tour Compares
| Feature / Agent | code-tour | 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?
Use when a user asks for a code tour, onboarding walkthrough, architecture tour, or PR tour — creates persona-targeted, step-by-step `.tour` files with real file and line anchors
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
# Code Tour
Create **CodeTour** `.tour` files for codebase walkthroughs that open directly to real files and line ranges. Tours live in `.tours/` and are meant for the CodeTour format, not ad hoc Markdown notes.
A good tour is a narrative for a specific reader: what they are looking at, why it matters, and what path to follow next.
**Only create `.tour` JSON files. Do not modify source code.**
## When to Use
- User asks for a code tour, onboarding tour, architecture walkthrough, or PR tour
- User says "explain how X works" and wants a reusable guided artifact
- Onboarding a new maintainer or reviewer
- Documenting an RCA failure path or security trust boundary
## When NOT to Use
| Instead of code-tour | Use |
|---------------------|-----|
| A one-off chat explanation is enough | answer directly |
| User wants prose docs, not a `.tour` artifact | `doc-update` skill |
| Task is implementation or refactoring | implement directly |
## Workflow
### 1. Discover
Explore the repo before writing anything:
- README and entry points
- Folder structure and key config files
- Changed files if PR-focused
Do not start writing steps before understanding the code shape.
### 2. Infer the reader persona
| Request shape | Persona | Steps |
|---------------|---------|-------|
| "onboarding", "new joiner" | `new-joiner` | 9–13 |
| "quick tour", "vibe check" | `vibecoder` | 5–8 |
| "architecture" | `architect` | 14–18 |
| "tour this PR" | `pr-reviewer` | 7–11 |
| "why did this break" | `rca-investigator` | 7–11 |
| "security review" | `security-reviewer` | 7–11 |
### 3. Verify anchors
Every file path and line anchor must be real:
- Confirm the file exists (`glob` / `grep`)
- Confirm line numbers are in range (`view` with `view_range`)
- Never guess line numbers
### 4. Write the `.tour` file
Output path: `.tours/<persona>-<focus>.tour`
```json
{
"title": "<Tour Title>",
"description": "<One sentence: who this tour is for and what it covers>",
"steps": [
{
"file": "src/auth/middleware.ts",
"line": 42,
"title": "Auth Gate",
"description": "Every protected request passes here first. Notice the early-return on missing tokens."
},
{
"directory": "src/services",
"title": "Service Layer",
"description": "All business logic lives here — handlers delegate immediately to these services."
},
{
"file": "src/core/pipeline.ts",
"selection": {
"start": { "line": 15, "character": 0 },
"end": { "line": 34, "character": 0 }
},
"title": "Request Pipeline",
"description": "The 5-stage pipeline that every request traverses."
}
]
}
```
### 5. Validate before finishing
- Every referenced path exists
- Every line or selection is in range
- First step is anchored to a real file or directory (not content-only)
- Tour tells a coherent story, not just a file list
## Step Types
| Type | Use when |
|------|----------|
| `file` + `line` | Default — anchor to a specific line |
| `file` + `selection` | A specific block matters more than the whole file |
| `directory` | Orient the reader to a module boundary |
| content-only | Closing "next steps" only — never as first step |
## See Also
- [doc-update](../doc-update/SKILL.md) — prose documentation updates
- [pr-multi-perspective-review](../../development/pr-multi-perspective-review/SKILL.md) — review a PR from multiple lensesRelated Skills
verification-before-completion
Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.
using-git-worktrees
Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly
triage
Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.
to-issues
Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice
sprint-workflow
Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.
sprint-retro
Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.
security-audit
Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.
release
Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.
prompt-optimizer
Use when a rough prompt, vague idea, or task description needs to become a finished copy-pasteable prompt for a chat-based LLM - rewrite it into one ready-to-send prompt with no blanks, no placeholders, and a clear output shape.
outside-voice
Use when you need an independent second opinion before, during, or after implementation — run challenge, consult, or review mode in a direct builder-to-builder voice
llm-wiki
Use when research or domain knowledge keeps getting rediscovered across sessions — build a supplementary markdown wiki that compounds synthesized knowledge without replacing GitHub or committed project guidance
interview-me
Use when a request is underspecified and you need to discover what the user actually wants before writing a plan, spec, or code - ask one question at a time, attach your current hypothesis, and stop only after the intent is explicitly confirmed.