Agent skill

Roadmap

by jezweb in jezweb/claude-skills

Plan and execute entire application builds. An agent skill from jezweb/claude-skills.

MITAuto-check: warningsProduct & Project Management

Install Roadmap

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add jezweb/claude-skills --skill roadmap -a claude-code

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

GitHub CLI
$ gh skill install jezweb/claude-skills roadmap --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/jezweb/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dev-tools/skills/roadmap .claude/skills/roadmap && 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
roadmap
GitHub stars
1.1k
Token cost
~3.4k tokens
SKILL.md length
1,451 words
Files
1
Skills in repo
52
Repo updated
First seen
Licence
MIT

At a glance

Plan and execute entire application builds. An agent skill from jezweb/claude-skills.

  • Works in 9 steps: Establish the Vision → Define the Stack → Design the Data Model → …
  • Tasks that involve Project management
  • SKILL.md covers When to Use, Inputs, Workflow and Output, plus 2 more sections
  • Calls git and npx

What it does

Roadmap is an agent skill from jezweb/claude-skills. Plan and execute entire application builds. Generates phased delivery roadmaps, then executes them autonomously — phase by phase, committing at milestones, deploying, testing, and continuing until done or stuck. Modes: plan (generate roadmap), start (begin executing), resume (continue from where you left off), status (show progress). Triggers: 'roadmap', 'start building', 'resume the build', 'keep going', 'build the whole thing', 'execute the roadmap', 'what phase are we on'.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: claude-code-only

It sits in Product & Project Management, covering Project management. The repository describes itself as: Skills for Claude Code CLI such as full stack dev Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.

When your agent uses it

  • Tasks that involve Project management

Example prompts

  • “roadmap”
  • “start building”
  • “resume the build”
  • “/roadmap”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): claude-code-only
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Grep, Bash

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Establish the Vision
  2. Define the Stack
  3. Design the Data Model
  4. Plan the Phases
  5. Phase Planning Patterns
  6. Build Order
  7. Deliberately Not Building
  8. Schema Evolution Map
  9. API Surface Map

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Grep
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use git and npx, 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.

  • Compatibility

    claude-code-only

    From compatibility in the SKILL.md frontmatter.

Context cost

Roadmap loads about 3.4k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 1,451 words of instructions outside code blocks.

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

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: warnings

The automated check found patterns that need a careful read before installing.

  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:329
    to the next phase after completing one. Don't pause between phases to ask permission. The roadmap IS the permission.
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Glob, Grep, Bash

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 jezweb/claude-skills at commit 64965d9, republished under its MIT licence (© jezweb). 1,451 words, ~3,414 tokens.

Download SKILL.mdSave it as .claude/skills/roadmap/SKILL.md (or your agent's skills folder).
name
roadmap
description
Plan and execute entire application builds. Generates phased delivery roadmaps, then executes them autonomously — phase by phase, committing at milestones, deploying, testing, and continuing until done or stuck. Modes: plan (generate roadmap), start (begin executing), resume (continue from where you left off), status (show progress). Triggers: 'roadmap', 'start building', 'resume the build', 'keep going', 'build the whole thing', 'execute the roadmap', 'what phase are we on'.
allowed-tools
Read, Write, Edit, Glob, Grep, Bash
compatibility
claude-code-only

Roadmap

Generate a comprehensive technical roadmap for building an entire application. Detailed enough that Claude Code can pick up any phase and execute it autonomously for hours.

This is not a high-level strategy doc. It's a delivery blueprint — every phase has concrete tasks, every task is actionable, and the whole thing is ordered so you can build from phase 1 through to launch without backtracking.

When to Use

  • Starting a major new product (after deep-research, or from a product brief)
  • Converting a vague idea into an executable plan
  • Planning a multi-week build that will span many Claude Code sessions
  • Before saying "build this" — the roadmap is what you hand Claude Code to execute

Inputs

The skill needs one of these:

InputWhere to find it
Deep research brief.jez/artifacts/research-brief-{topic}.md (from /deep-research)
Product briefUser describes what they want to build
Existing partial appRead CLAUDE.md + codebase to understand what exists
Competitor to clone/improveURL or product name — skill analyses it

If the user just says "plan a note-taking app on Cloudflare", that's enough — ask clarifying questions as needed.

Workflow

1. Establish the Vision

Before any technical planning, nail down:

  • One sentence: What is this? ("A cloud-native markdown knowledge workspace for teams and AI agents")
  • Who: Primary users, secondary users, agents? ("Jez first, then Jezweb team, then clients")
  • Why: What existing tools fail at? What's the gap? ("Existing tools are headless — you can't browse them or stumble across things")
  • Constraint: Stack, budget, timeline, must-haves? ("Cloudflare, must have MCP, needs to be a PWA")
  • Not building: What's explicitly out of scope? ("No real-time CRDT collab, no plugin ecosystem")
2. Define the Stack

Based on the vision and constraints, lock in the technical stack:

markdown
| Layer | Choice | Why |
|-------|--------|-----|
| Frontend | [framework] | [reason] |
| Backend | [framework + runtime] | [reason] |
| Database | [engine + ORM] | [reason] |
| Auth | [provider] | [reason] |
| Storage | [service] | [reason] |
| Search | [method] | [reason] |
| Hosting | [platform] | [reason] |

If a deep-research brief exists, pull the recommendations from there. If not, make opinionated choices based on the user's existing stack (check ~/Documents/ for patterns).

3. Design the Data Model

Sketch all tables/collections the full product will need. Not just phase 1 — the complete model. This prevents schema redesigns mid-build.

markdown
## Data Model

### [entity]
  id, [type]
  [field], [type], [constraints]
  ...
  created_at, updated_at

### [entity]
  ...

### Relationships
- [entity] has many [entity] via [field]
- [entity] belongs to [entity] via [field]

Mark which tables are needed in which phase. Phase 1 might only need 3 of 8 tables, but designing them all upfront avoids migration pain.

4. Plan the Phases

This is the core of the roadmap. Each phase must:

  • Have a clear goal — one sentence describing what's different when this phase is done
  • Be independently deployable — the app works (with reduced features) after each phase
  • Build on the previous phase — no phase requires ripping out what came before
  • Be completable in 1-3 Claude Code sessions — if a phase takes more than a day, split it
Phase Structure

For each phase:

markdown
## Phase N — [Name]
*Goal: [One sentence — what the user can do after this phase that they couldn't before]*
*Depends on: Phase N-1*
*Estimated effort: [hours/sessions]*

### What's New
[Bullet list of user-visible features]

### Database Changes
[New tables, new columns, migrations needed]

### API Routes
[New endpoints this phase adds]

### Frontend
[New pages, components, UI changes]

### Infrastructure
[New Cloudflare resources, secrets, config]

### Task Checklist
[Actionable tasks grouped by area — these are what Claude Code executes]

#### Setup
- [ ] [task]

#### Data Layer
- [ ] [task]
- [ ] [task]

#### API
- [ ] [task]

#### Frontend
- [ ] [task]

#### Testing & Polish
- [ ] [task]
- [ ] [task]

### Definition of Done
[How to verify this phase is complete — what to test, what to deploy]
5. Phase Planning Patterns
Phase 1 — Always the MVP

The first phase must produce something usable by one person for one purpose. Not a demo, not a skeleton — a working tool that replaces whatever the user currently does (even if it's a spreadsheet or Apple Notes).

Phase 1 scope test: "Would you use this instead of what you use now?" If no, the MVP is too thin.

Typical Phase 1:

  • Auth (single user or invite-only)
  • Core data model (2-3 tables)
  • CRUD for the primary entity
  • Basic UI (list + detail + create/edit)
  • Deploy to production domain
  • Bare minimum styling (dark mode, responsive)
Phase 2 — Make It Real

The second phase turns the MVP into something you'd show to others:

  • Polish the UI
  • Add secondary features (search, filters, sort)
  • Better error handling and validation
  • Empty states and onboarding (use the onboarding-ux skill)
  • Mobile responsiveness
  • Data export/import
Phase 3 — The Differentiator

What makes this product different from alternatives? Build that here:

  • AI features, MCP server, semantic search
  • The thing competitors don't have
  • The reason someone would choose this over the established player
Phase 4+ — Growth Features

Each subsequent phase adds capabilities:

  • Multi-user / team features
  • Advanced views (graph, canvas, calendar, kanban)
  • Integrations (API, webhooks, third-party connections)
  • Admin / settings
  • Performance optimisation
  • Public-facing features (sharing, embedding, white-label)
Final Phase — Platform

Only if the product is heading toward multi-tenant / SaaS:

  • Client workspaces
  • Billing / plans
  • White-label / custom domains
  • API tokens for third-party access
6. Build Order

Summarise the phases in a table:

markdown
| Phase | Goal | New tables | New routes | Sessions |
|-------|------|-----------|-----------|----------|
| 1 | Personal MVP | 3 | 8 | 2-3 |
| 2 | Polish + search | +1 | +4 | 1-2 |
| 3 | AI + MCP | +1 (vectors) | +5 | 2-3 |
| 4 | Team features | +2 | +6 | 2-3 |
| 5 | Integrations | 0 | +4 | 1-2 |
| 6 | Platform | +2 | +8 | 3-4 |
7. Deliberately Not Building

List what's explicitly out of scope and why. This prevents scope creep during execution:

markdown
## Deliberately Not Building (v1)

- Real-time collaborative editing (CRDTs) — too complex, Phase 5+ at earliest
- Plugin ecosystem — too much surface area
- Native mobile app — PWA is good enough
- Offline-first with local storage — we're cloud-native
8. Schema Evolution Map

Show how the database grows across phases:

markdown
| Table | Phase 1 | Phase 2 | Phase 3 | Phase 4 |
|-------|---------|---------|---------|---------|
| users | ✓ | | | |
| notes | ✓ | +tags col | +embeddings | |
| folders | ✓ | | | |
| note_links | | ✓ | | |
| workspaces | | | | ✓ |
| workspace_users | | | | ✓ |
9. API Surface Map

Show how the API grows:

markdown
| Route | Phase | Auth | Purpose |
|-------|-------|------|---------|
| POST /api/auth/* | 1 | — | Authentication |
| GET/POST /api/notes | 1 | Yes | Note CRUD |
| GET /api/search | 2 | Yes | Full-text search |
| GET /api/search/semantic | 3 | Yes | Vector search |
| GET/POST /mcp/tools | 3 | Token | MCP interface |
| POST /api/workspaces | 4 | Yes | Team workspaces |

Output

Write the roadmap to docs/ROADMAP.md (or the project root if no docs/ exists).

The file should be a single markdown document that Claude Code can read at the start of any session and know exactly what to build next. It's the project's north star.

After generating, also update:

  • CLAUDE.md — add a reference to the roadmap
  • SESSION.md — set current phase

Quality Rules

  1. Every task must be actionable — "Set up auth" is too vague. "Configure better-auth with email/password, create user and session tables, add auth middleware to Hono" is actionable.
  2. Phases must be deployable — after each phase the app works. No "infrastructure phase" that produces nothing usable.
  3. Phase 1 must be ruthlessly small — if it takes more than 2-3 sessions, cut scope.
  4. The data model must be complete upfront — schema redesigns mid-build are the #1 time waster.
  5. "Deliberately not building" is mandatory — without it, every phase grows.
  6. Tasks are grouped by layer (data, API, frontend, infra) — Claude Code works in layers, not features.
  7. Each phase has a definition of done — specific things to test and verify.
  8. Include the stack table — don't make Claude guess the tech choices per phase.

Show full SKILL.md (543 more words)Show less

Execution Modes

The roadmap isn't just a document — it's an execution engine. After generating the plan, use these modes to drive the build.

Mode: start

Trigger: "start building", "execute the roadmap", "build the whole thing", "start from phase 1"

  1. Read docs/ROADMAP.md
  2. Verify the project is set up (repo exists, dependencies installed, Cloudflare resources created)
  3. Begin Phase 1, task by task
  4. After each task: verify it works (build, run, test)
  5. After all tasks in a phase: run the Definition of Done checks
  6. Commit: git add -A && git commit -m "Phase N complete: [goal]"
  7. Deploy if applicable: npx wrangler deploy
  8. Run /ux-audit quick on the deployed app
  9. Update the roadmap: mark the phase as complete
  10. Continue to the next phase. Don't stop. Don't ask.
  11. Repeat until all phases are complete or you hit a blocker
Mode: resume

Trigger: "resume the build", "keep going", "continue", "what phase are we on"

  1. Read docs/ROADMAP.md — find the first incomplete phase
  2. Check git log — what was the last roadmap-related commit?
  3. Check what exists in the codebase vs what the phase expects
  4. Pick up from the first uncompleted task in the current phase
  5. Continue executing as in start mode
Mode: status

Trigger: "roadmap status", "where are we", "what's done"

Read docs/ROADMAP.md and produce a summary:

Phase 1: Personal MVP ✓ (committed abc1234)
Phase 2: Polish + Search ✓ (committed def5678)
Phase 3: AI + MCP ← IN PROGRESS (7/15 tasks done)
Phase 4: Team Features — not started
Phase 5: Integrations — not started
Execution Rules

Keep going. The default is to continue to the next phase after completing one. Don't pause between phases to ask permission. The roadmap IS the permission.

Commit at phase boundaries. Every completed phase gets its own commit with a clear message. This creates natural restore points.

Deploy after every phase. If the project has a deployment target (wrangler.jsonc, vercel.json), deploy after each phase completes. Real deployment catches issues that local dev doesn't.

Quick audit between phases. Run a quick visual check on the deployed app between phases — catch layout issues, broken routes, obvious regressions before building on top of them.

Thorough audit at the end. After the final phase, run:

  1. /ux-audit thorough — comprehensive overnight test
  2. /onboarding-ux — generate empty states, welcome flow, help content
  3. /project-docs — update architecture documentation

Stop only when:

  • A task fails and you can't figure out why (error you haven't seen before)
  • You need a credential, API key, or account access you don't have
  • A design decision needs human input ("should this be a modal or a page?")
  • The build is complete

Don't stop for:

  • "Should I continue?" — yes, always
  • "Should I deploy?" — yes, if there's a deployment target
  • "Should I commit?" — yes, at phase boundaries
  • Minor issues that don't block the next task — log them as GitHub issues and keep going
Progress Tracking

Mark completed phases directly in docs/ROADMAP.md:

markdown
## Phase 1 — Personal MVP ✅
*Completed: 2026-03-19, commit abc1234*
*Goal: Replace Apple Notes for one user.*

And for the current phase, mark completed tasks:

markdown
### Task Checklist
- [x] D1 schema — notes, folders tables
- [x] Hono API routes: CRUD for notes
- [ ] CodeMirror 6 integration  ← CURRENT
- [ ] Quick switcher (Cmd+K)

This means resume can read the roadmap and know exactly where to pick up.

How This Replaces dev-session

The old dev-session skill managed SESSION.md files for cross-session handoff. The roadmap's progress tracking replaces that:

dev-session hadroadmap has
SESSION.md with "Current Position"Checked tasks in ROADMAP.md
"Resume Instructions"The next unchecked task IS the instruction
"What Works" sectionCompleted phases with commit hashes
Checkpoint commitsPhase boundary commits
Wrap sessionFinal phase + thorough audit

The roadmap is the session file. No separate tracking document needed.

© jezweb, 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 plugins/dev-tools/skills/roadmap of jezweb/claude-skills.

Open the folder on GitHubat commit 64965d9

Compare with similar skills

Roadmap 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.

Roadmap compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Roadmap this skilljezweb/claude-skills1.1k—~3.4kAutomated safety check: WarnMIT
CCPM Project Managementautomazeio/ccpm8.4k—~1.1kAutomated safety check: PassMIT
Uvastral-sh/claude-code-plugins3132 repos~980Automated safety check: PassApache-2.0
Project Managementkunchenguid/firstmate7.7k—~2.1kAutomated safety check: PassMIT
Hivemind Goalsactiveloopai/hivemind1.6k—~1.7kAutomated safety check: NotesApache-2.0
Ichartjswanghetommy/ichartjs352—~4.2kAutomated safety check: PassApache-2.0

Similar skills

  • Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.

    8.4k GitHub stars~1.1k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Uv

    astral-sh/claude-code-plugins

    Official

    Guide for using uv, the Python package and project manager. An agent skill from astral-sh/claude-code-plugins.

    313 GitHub starsUsed in 2 repos~980 tokens
    Product & Project ManagementAuto-check passed
  • Project Management

    kunchenguid/firstmate

    Agent-only procedure for Firstmate project management. An agent skill from kunchenguid/firstmate.

    7.7k GitHub stars~2.1k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Hivemind Goals

    activeloopai/hivemind

    Create, track and update team goals via the Deeplake virtual filesystem at memory/goal/.

    1.6k GitHub stars~1.7k tokensUpdated 10 days ago
    Product & Project ManagementAuto-check: notes
  • Ichartjs

    wanghetommy/ichartjs

    Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.

    352 GitHub stars~4.2k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Hivemind Goals

    activeloopai/hivemind

    Create, track and update team goals in Hivemind via the hivemind CLI.

    1.6k GitHub stars~814 tokensUpdated 10 days ago
    Product & Project ManagementAuto-check passed

More from jezweb/claude-skills

All 52 skills in this repo
  • Elevenlabs Agents

    jezweb/claude-skills

    Build conversational AI voice agents on the ElevenLabs platform.

    1.1k GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check passed
  • Favicon Gen

    jezweb/claude-skills

    Generate custom favicons from logos, text, or brand colours.

    1.1k GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Tailwind Theme Builder

    jezweb/claude-skills

    Set up Tailwind v4 + shadcn/ui themed UI with dark mode. An agent skill from jezweb/claude-skills.

    1.1k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Project Health

    jezweb/claude-skills

    All-in-one project configuration and health management. An agent skill from jezweb/claude-skills.

    1.1k GitHub starsUsed in 1 repo~3k tokens
    Auto-check passed
  • Responsiveness Check

    jezweb/claude-skills

    Test website responsiveness across viewport widths using browser automation.

    1.1k GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • MCP Builder

    jezweb/claude-skills

    Build MCP servers in Python with FastMCP. An agent skill from jezweb/claude-skills.

    1.1k GitHub stars~3.1k tokensUpdated 2 days ago
    Auto-check: notes

Questions about Roadmap

What does Roadmap do?

Plan and execute entire application builds. An agent skill from jezweb/claude-skills. Roadmap is an agent skill from jezweb/claude-skills. Plan and execute entire application builds.

When should I use Roadmap?

Roadmap fits situations like: tasks that involve Project management.

How do I install Roadmap in Claude Code?

Run `npx skills add jezweb/claude-skills --skill roadmap -a claude-code`. Or copy the skill folder (plugins/dev-tools/skills/roadmap in jezweb/claude-skills) into .claude/skills/roadmap in your project. Claude Code loads it when a task matches its description.

How do I install Roadmap in Codex?

Run `npx skills add jezweb/claude-skills --skill roadmap -a codex`. Or copy the skill folder (plugins/dev-tools/skills/roadmap in jezweb/claude-skills) into .agents/skills/roadmap in your project. Codex loads it when a task matches its description.

Can I use Roadmap 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 jezweb/claude-skills --skill roadmap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/roadmap, .gemini/skills/roadmap, .github/skills/roadmap and .opencode/skills/roadmap in your project.

What does Roadmap need to run?

Going by SKILL.md and its folder, Roadmap needs the command-line tools its instructions call (git and npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash. Compatibility (from SKILL.md): claude-code-only.

Does Roadmap access the network?

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

Is Roadmap safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Roadmap use?

Roadmap 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 Roadmap use?

About 3.4k tokens (SKILL.md is roughly 14k 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 Roadmap?

Skills that share tags, products or a category with Roadmap: CCPM Project Management (automazeio/ccpm, 8.4k stars), Uv (astral-sh/claude-code-plugins, 313 stars), Project Management (kunchenguid/firstmate, 7.7k stars) and Hivemind Goals (activeloopai/hivemind, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Roadmap?

jezweb (a GitHub user) maintains it in jezweb/claude-skills, which has 1,051 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on October 5, 2026.

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