Generates a condensed onboarding document tailored to a specific role (engineer, designer, agent, client). Reads VECTOR.md, CLAUDE.md, ARCHITECTURE.md, and current /vector/ state. Use when onboarding a collaborator, starting a cold agent session, or preparing a client check-in.
You are writing the document that saves someone an hour of reading. VECTOR.md, CLAUDE.md, and ARCHITECTURE.md are comprehensive — but a contractor who needs to ship a feature this week, or an agent starting a cold session, does not need all of it. They need the right 20%. This skill reads the full doctrine and distills it into a role-specific brief that tells someone what this project is, what layer to touch, what not to do, and where to find answers.
This skill runs on demand. It does not depend on other skills having run first, but it reads all three doctrine files. The richer the doctrine, the more useful the handoff. If doctrine is sparse, the handoff will be sparse — run /invest-backfill or fill in doctrine files first.
If --role [role] was passed: Use that role. Valid values: engineer, designer, agent, client.
If no role was passed: Generate a generic handoff suitable for any contributor. Skip role-specific sections.
Role definitions:
Read all three doctrine files:
VECTOR.md — Extract: project name, problem statement, target audience, value proposition, current project stage, design principles, key constraints, quality gates, open questions, key assumptions and their status.CLAUDE.md — Extract: what the agent or contributor needs to know before touching code, stack summary, key context (non-obvious decisions), what not to do, commit format, standup format.ARCHITECTURE.md — Extract: layer table (names, locations, rules), import direction, naming conventions, stack, project structure tree, "What Not to Do."Also read the current /vector/ state:
4. /vector/audits/ — List recent audit files. Read the most recent invest-doctrine.md and invest-architecture.md if they exist. Extract: current doctrine health, open violations, recent findings.
5. /vector/decisions/ — List ADR files. Note the count and read the titles. Recent ADRs signal active architectural decisions the contributor should know about.
6. /vector/missions/ — If this directory exists, list mission manifest files and note any active missions — this signals an in-progress sprint. If it does not exist, skip this section silently.
If any doctrine file is missing, note it prominently in the handoff: "VECTOR.md not found — project identity section is incomplete."
Use the appropriate template for the role.
--role engineer# [Project Name] — Engineer Handoff
**Date:** [today's date]
## What This Is
[2-3 sentences. Problem + solution + one distinguishing fact.]
## Stack
[Abbreviated stack table from CLAUDE.md — framework, styling, state, backend, deployment]
## Layer Map
[Condensed layer table: layer name, directory, one-sentence rule]
## Import Direction
[One-line summary: "UI → Services → Domain → [storage/API]. No reverse imports."]
## Naming Conventions
[2-3 most important conventions from ARCHITECTURE.md]
## Do Not
[The 3-5 most important prohibitions from ARCHITECTURE.md "What Not to Do" + CLAUDE.md]
## Current Status
[Project stage from VECTOR.md. Recent audit health if available. Any active missions from /vector/missions/.]
## Where to Find Things
- Doctrine: VECTOR.md → CLAUDE.md → ARCHITECTURE.md
- Research: /vector/research/
- Decisions: /vector/decisions/ ([N] ADRs)
- Audits: /vector/audits/
--role designer# [Project Name] — Designer Handoff
**Date:** [today's date]
## What This Is
[2-3 sentences. Problem, audience, core value. What is the user's job?]
## Design Principles
[From VECTOR.md design principles — the philosophy that should drive every decision]
## Token System
[From ARCHITECTURE.md: where tokens live, how to reference them, any naming conventions]
## Component / UI Layer
[Layer name and directory for UI components. File naming convention. Where to put new components.]
## Do Not
[Design-relevant prohibitions: hardcoded values, going outside the token system, layout decisions that contradict declared principles]
## Current Status
[Project stage. What is designed vs. what is still TBD. Any design-relevant open questions from VECTOR.md.]
## Where to Find Things
- Product goals: VECTOR.md
- Technical constraints: ARCHITECTURE.md
- Design research: /vector/research/personas/, /vector/research/jtbd/
--role agent# [Project Name] — Agent Session Brief
**Date:** [today's date]
## Reading Order
VECTOR.md → CLAUDE.md → ARCHITECTURE.md. Read all three before touching code.
## What This Project Is
[3-4 sentences. Problem, audience, value proposition, current stage. Everything an agent needs to orient itself.]
## Stack
[Full stack table]
## Layer Map
[Full layer table with directories and boundary rules]
## Import Direction
[Explicit: which layers import from which. Violations are high severity.]
## Naming Conventions
[All declared conventions]
## Do Not
[Complete list of prohibitions from ARCHITECTURE.md and CLAUDE.md]
## Commit Format
[From CLAUDE.md]
## Standup Format
[From CLAUDE.md]
## Current Status
[Project stage. Doctrine health from most recent /vector/audits/invest-doctrine.md. Open violations from invest-architecture.md. Active missions if any.]
## Open Questions
[From VECTOR.md open questions — things the project is still uncertain about]
## Where to Find Things
- Assumptions: /vector/research/assumptions/
- Decisions: /vector/decisions/
- Audits: /vector/audits/
- Active missions: /vector/missions/
--role client# [Project Name] — Project Brief
**Date:** [today's date]
## What We're Building
[3-4 sentences. Problem, audience, solution, why it matters. No technical detail.]
## Who It's For
[Target audience from VECTOR.md — specific, not generic]
## Where We Are
[Project stage in plain language: "We're in early testing with a small group of users" not "alpha stage"]
## What's Working
[Capabilities that are complete or stable — drawn from recent ADR decisions and project stage]
## What's In Progress
[Active missions if any. Current sprint focus in plain terms.]
## What We're Still Learning
[Open questions from VECTOR.md, framed as open questions not gaps]
## Next Milestone
[Quality gates or ship criteria from VECTOR.md, if filled in]
# [Project Name] — Contributor Handoff
**Date:** [today's date]
## What This Is
[3-4 sentences. Problem, audience, value proposition, stage.]
## Stack
[Abbreviated stack table]
## Layer Map
[Condensed layer table]
## Do Not
[Top 5 most important prohibitions]
## Current Status
[Stage, doctrine health, active missions]
## Where to Find Things
- Full doctrine: VECTOR.md → CLAUDE.md → ARCHITECTURE.md
- Research: /vector/research/
- Decisions: /vector/decisions/
- Audits: /vector/audits/
Print the handoff to the terminal AND save it to /vector/handoffs/[role]-[date].md.
Use the role name in the filename. If no role was specified, use generic. Use today's date in YYYY-MM-DD format.
Create the /vector/handoffs/ directory if it does not exist.
Do not overwrite existing handoffs for the same role and date — if the file exists, append -2, -3, etc. Handoffs are point-in-time snapshots, unlike audit files which reflect current state.
If --dry-run was passed: Print the handoff to the terminal only. Do not write the file.
After writing, output:
Handoff written to /vector/handoffs/[role]-[date].md
[If any doctrine files were missing:]
Warning: [filename] not found — [section] is incomplete in the handoff.
[If doctrine audit showed violations:]
Note: Most recent architecture audit found [N] high-severity violations. See /vector/audits/invest-architecture.md.
--role [engineer|designer|agent|client]: Role-specific handoff with appropriate depth and framing--dry-run: Generates and displays the handoff without writing the file/vector/handoffs/[role]-[date].md
--role agent to generate the cold-start brief--role client for a stakeholder-ready summary--role designer and --role engineer give each side what they need without what they don't/vector/ — it doesn't replace them.