Agent skill

Confluence Expert

by alirezarezvani in alirezarezvani/claude-skills

Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation.

MITAuto-check passedKnowledge Management

Install Confluence Expert

skills CLI
$ npx skills add alirezarezvani/claude-skills --skill confluence-expert -a claude-code

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

GitHub CLI
$ gh skill install alirezarezvani/claude-skills confluence-expert --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/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/project-management/skills/confluence-expert .claude/skills/confluence-expert && 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
confluence-expert
GitHub stars
28k
Used in
1 other repo
Token cost
~3.1k tokens
SKILL.md length
1,059 words
Files
6 (incl. scripts, references)
Skills in repo
342
Repo updated
First seen
Licence
MIT

At a glance

Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation.

  • Works in 9 steps: Generate the recommended hierarchy from… → Determine space type (Team, Project,… → Create space with clear name and… → …
  • Users need to build
  • SKILL.md covers Atlassian MCP Integration, Workflows, Essential Macros and Page Layouts & Formatting, plus 8 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Confluence Expert is an agent skill from alirezarezvani/claude-skills. Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation. Configures space permissions and hierarchies, creates page templates with macros, sets up documentation taxonomies, designs page layouts, and manages content governance. Use when users need to build or restructure a Confluence space, design page hierarchies with permission structures, author or standardise documentation templates, embed Jira reports in pages, run knowledge base audits, or establish documentation…

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/macro-cheat-sheet.md`, `references/space-architecture-patterns.md` and `references/templates.md`).

It sits in Knowledge Management, covering Knowledge bases and MCP servers. It works with Confluence, Jira and Model Context Protocol. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.

When your agent uses it

  • Users need to build
  • Restructure a Confluence space
  • Design page hierarchies with permission structures
  • Standardise documentation templates

Example prompts

  • “/confluence-expert”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Generate the recommended hierarchy from a team description
  2. Determine space type (Team, Project, Knowledge Base, Personal)
  3. Create space with clear name and description (web UI / REST)
  4. Set space homepage with overview
  5. Configure space permissions
  6. Create initial page tree structure
  7. Add space shortcuts for navigation
  8. Verify: Navigate to the space URL and confirm the homepage loads; check that a non-admin test user sees the correct permission level
  9. HANDOFF TO: Teams for content population

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

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

  • Network

    No URLs in SKILL.md.

    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.

Context cost

Confluence Expert loads about 3.1k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 143 tokens; SKILL.md has 1,059 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

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 passed

The automated check found no risky patterns in SKILL.md.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 1,059 words, ~3,083 tokens.

Download SKILL.mdSave it as .claude/skills/confluence-expert/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
confluence-expert
description
Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation. Configures space permissions and hierarchies, creates page templates with macros, sets up documentation taxonomies, designs page layouts, and manages content governance. Use when users need to build or restructure a Confluence space, design page hierarchies with permission structures, author or standardise documentation templates, embed Jira reports in pages, run knowledge base audits, or establish documentation standards and collaborative workflows.

Atlassian Confluence Expert

Master-level expertise in Confluence space management, documentation architecture, content creation, macros, templates, and collaborative knowledge management.

Atlassian MCP Integration

Primary Tool: Atlassian Remote MCP server (bundled .mcp.json, server key atlassian). Tools are camelCase and surface as mcp__atlassian__<toolName>. Canonical tool list: project-management/references/atlassian-mcp-tools.md. Never invent tool names — if a capability isn't in that list, it is not available via MCP.

Key Operations (obtain cloudId once via mcp__atlassian__getAccessibleAtlassianResources):

// List spaces (space CREATION is not available via MCP — see below)
mcp__atlassian__getConfluenceSpaces (cloudId)

// Create a page under a parent — body must be storage-format XHTML or ADF, never wiki markup
mcp__atlassian__createConfluencePage (cloudId, space, title="Sprint 42 Notes", parent page id, body="<p>Meeting notes in storage-format XHTML</p>")

// Update an existing page (fetch current version with getConfluencePage, then supply version + 1)
mcp__atlassian__updateConfluencePage (cloudId, pageId="789012", version=5, body="<p>Updated content</p>")

// Read a page (body + current version)
mcp__atlassian__getConfluencePage (cloudId, pageId="789012")

// Search with CQL
mcp__atlassian__searchConfluenceUsingCql (cloudId, cql='space = "TEAM" AND label = "meeting-notes" ORDER BY lastModified DESC')

// Retrieve child pages for hierarchy inspection
mcp__atlassian__getConfluencePageDescendants (cloudId, pageId="123456")

// Comments
mcp__atlassian__getConfluencePageFooterComments / mcp__atlassian__createConfluenceFooterComment (cloudId, pageId)

Not available via MCP — use the web UI or REST API instead:

  • Create/delete a space → Confluence UI Spaces > Create space or POST /wiki/api/v2/spaces
  • Delete a page → Confluence UI or DELETE /wiki/api/v2/pages/{id}
  • Apply labels → Confluence UI or /wiki/rest/api/content/{id}/label
  • Space permissions, templates/blueprints as first-class objects → Confluence space settings UI

Integration Points:

  • Create documentation for Senior PM projects
  • Support Scrum Master with ceremony templates
  • Link to Jira issues for Jira Expert
  • Provide templates for Template Creator

See also: references/macro-cheat-sheet.md for storage-format macro syntax, references/templates.md for the template library, references/space-architecture-patterns.md for space structure and permission patterns.

Workflows

Space Creation

Space creation is not available via MCP — create the space in the Confluence UI (Spaces > Create space) or via REST (POST /wiki/api/v2/spaces). The page tree inside it CAN be built via MCP (mcp__atlassian__createConfluencePage).

  1. Generate the recommended hierarchy from a team description:
    bash
    python3 scripts/space_structure_generator.py team_info.json --format json
    Input: JSON with team name, size, type, projects. Consume the output: use the emitted page tree as the creation plan for step 5 — one mcp__atlassian__createConfluencePage call per node, passing the parent page id to nest children.
  2. Determine space type (Team, Project, Knowledge Base, Personal)
  3. Create space with clear name and description (web UI / REST)
  4. Set space homepage with overview
  5. Configure space permissions:
    • View, Edit, Create, Delete
    • Admin privileges
  6. Create initial page tree structure
  7. Add space shortcuts for navigation
  8. Verify: Navigate to the space URL and confirm the homepage loads; check that a non-admin test user sees the correct permission level
  9. HANDOFF TO: Teams for content population
Page Architecture

Best Practices:

  • Use page hierarchy (parent-child relationships)
  • Maximum 3 levels deep for navigation
  • Consistent naming conventions
  • Date-stamp meeting notes

Recommended Structure:

Space Home
├── Overview & Getting Started
├── Team Information
│   ├── Team Members & Roles
│   ├── Communication Channels
│   └── Working Agreements
├── Projects
│   ├── Project A
│   │   ├── Overview
│   │   ├── Requirements
│   │   └── Meeting Notes
│   └── Project B
├── Processes & Workflows
├── Meeting Notes (Archive)
└── Resources & References
Template Creation
  1. Identify repeatable content pattern
  2. Create page with structure and placeholders
  3. Add instructions in placeholders
  4. Format with appropriate macros
  5. Save as template
  6. Share with space or make global
  7. Verify: Create a test page from the template and confirm all placeholders render correctly before sharing with the team
  8. USE: References for advanced template patterns
Documentation Strategy
  1. Assess current documentation state
  2. Define documentation goals and audience
  3. Organize content taxonomy and structure
  4. Create templates and guidelines
  5. Migrate existing documentation
  6. Train teams on best practices
  7. Monitor usage and adoption
  8. REPORT TO: Senior PM on documentation health
Knowledge Base Management

Run a content health audit before any restructure or governance review:

bash
python3 scripts/content_audit_analyzer.py pages.json --format json

Input: a JSON page inventory (title, last_modified, view_count, author, labels, word_count) — build it by exporting page metadata via mcp__atlassian__getPagesInConfluenceSpace / mcp__atlassian__searchConfluenceUsingCql. Consume the output: the stale/orphaned/low-engagement findings become the archive list (label + move via UI, since label tools aren't on the MCP) and the update backlog for the quality standards below.

Article Types:

  • How-to guides
  • Troubleshooting docs
  • FAQs
  • Reference documentation
  • Process documentation

Quality Standards:

  • Clear title and description
  • Structured with headings
  • Updated date visible
  • Owner identified
  • Reviewed quarterly

Essential Macros

Syntax note: The {macro} shorthand below is legacy wiki-markup notation, shown for readability only. Confluence Cloud pages created via MCP (createConfluencePage / updateConfluencePage) require storage format (XHTML) — e.g. {info} is really <ac:structured-macro ac:name="info"><ac:rich-text-body>...</ac:rich-text-body></ac:structured-macro>. For the storage-format syntax of every macro listed here, see references/macro-cheat-sheet.md; for ready-made storage-format page bodies, run the atlassian-templates scaffolder (python3 ../atlassian-templates/scripts/template_scaffolder.py meeting-notes).

Content Macros

Info, Note, Warning, Tip:

{info}
Important information here
{info}

Expand:

{expand:title=Click to expand}
Hidden content here
{expand}

Table of Contents:

{toc:maxLevel=3}

Excerpt & Excerpt Include:

{excerpt}
Reusable content
{excerpt}

{excerpt-include:Page Name}
Dynamic Content

Jira Issues:

{jira:JQL=project = PROJ AND status = "In Progress"}

Jira Chart:

{jirachart:type=pie|jql=project = PROJ|statType=statuses}

Recently Updated:

{recently-updated:spaces=@all|max=10}

Content by Label:

{contentbylabel:label=meeting-notes|maxResults=20}
Collaboration Macros

Status:

{status:colour=Green|title=Approved}

Task List:

{tasks}
- [ ] Task 1
- [x] Task 2 completed
{tasks}

User Mention:

@username

Date:

{date:format=dd MMM yyyy}
Show full SKILL.md (428 more words)Show less

Page Layouts & Formatting

Two-Column Layout:

{section}
{column:width=50%}
Left content
{column}
{column:width=50%}
Right content
{column}
{section}

Panel:

{panel:title=Panel Title|borderColor=#ccc}
Panel content
{panel}

Code Block:

{code:javascript}
const example = "code here";
{code}

Templates Library

Full template library with complete markup: see references/templates.md. Key templates summarised below.

TemplatePurposeKey Sections
Meeting NotesSprint/team meetingsAgenda, Discussion, Decisions, Action Items (tasks macro)
Project OverviewProject kickoff & statusQuick Facts panel, Objectives, Stakeholders table, Milestones (Jira macro), Risks
Decision LogArchitectural/strategic decisionsContext, Options Considered, Decision, Consequences, Next Steps
Sprint RetrospectiveAgile ceremony docsWhat Went Well (info), What Didn't (warning), Action Items (tasks), Metrics

Space Permissions

Permission patterns by space type: see references/space-architecture-patterns.md. Note: space permissions are configured in the Confluence UI (Space settings > Permissions) — not via MCP.

Permission Schemes

Public Space:

  • All users: View
  • Team members: Edit, Create
  • Space admins: Admin

Team Space:

  • Team members: View, Edit, Create
  • Team leads: Admin
  • Others: No access

Project Space:

  • Stakeholders: View
  • Project team: Edit, Create
  • PM: Admin

Content Governance

Review Cycles:

  • Critical docs: Monthly
  • Standard docs: Quarterly
  • Archive docs: Annually

Archiving Strategy:

  • Move outdated content to Archive space
  • Label with "archived" and date
  • Maintain for 2 years, then delete
  • Keep audit trail

Content Quality Checklist:

  • Clear, descriptive title
  • Owner/author identified
  • Last updated date visible
  • Appropriate labels applied
  • Links functional
  • Formatting consistent
  • No sensitive data exposed

Decision Framework

When to Escalate to Atlassian Admin:

  • Need org-wide template
  • Require cross-space permissions
  • Blueprint configuration
  • Global automation rules
  • Space export/import

When to Collaborate with Jira Expert:

  • Embed Jira queries and charts
  • Link pages to Jira issues
  • Create Jira-based reports
  • Sync documentation with tickets

When to Support Scrum Master:

  • Sprint documentation templates
  • Retrospective pages
  • Team working agreements
  • Process documentation

When to Support Senior PM:

  • Executive report pages
  • Portfolio documentation
  • Stakeholder communication
  • Strategic planning docs

Handoff Protocols

FROM Senior PM:

  • Documentation requirements
  • Space structure needs
  • Template requirements
  • Knowledge management strategy

TO Senior PM:

  • Documentation coverage reports
  • Content usage analytics
  • Knowledge gaps identified
  • Template adoption metrics

FROM Scrum Master:

  • Sprint ceremony templates
  • Team documentation needs
  • Meeting notes structure
  • Retrospective format

TO Scrum Master:

  • Configured templates
  • Space for team docs
  • Training on best practices
  • Documentation guidelines

WITH Jira Expert:

  • Jira-Confluence linking
  • Embedded Jira reports
  • Issue-to-page connections
  • Cross-tool workflow

Best Practices

Organization:

  • Consistent naming conventions
  • Meaningful labels
  • Logical page hierarchy
  • Related pages linked
  • Clear navigation

Maintenance:

  • Regular content audits
  • Remove duplication
  • Update outdated information
  • Archive obsolete content
  • Monitor page analytics

Analytics & Metrics

Usage Metrics:

  • Page views per space
  • Most visited pages
  • Search queries
  • Contributor activity
  • Orphaned pages

Health Indicators:

  • Pages without recent updates
  • Pages without owners
  • Duplicate content
  • Broken links
  • Empty spaces
  • Jira Expert (project-management/jira-expert/) — Jira issue macros and linking complement Confluence docs
  • Atlassian Templates (project-management/atlassian-templates/) — Template patterns for Confluence content creation

© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in project-management/skills/confluence-expert of alirezarezvani/claude-skills.

  • SKILL.md
  • references/macro-cheat-sheet.md
  • references/space-architecture-patterns.md
  • references/templates.md
  • scripts/content_audit_analyzer.py
  • scripts/space_structure_generator.py

Open the folder on GitHubat commit 19392f7

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in alirezarezvani/claude-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Confluence Expert 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.

Confluence Expert compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Confluence Expert this skillalirezarezvani/claude-skills28k1 repos~3.1kAutomated safety check: PassMIT
Arkon Editnduckmink/arkon1.5k—~1.6kAutomated safety check: PassCustom licence
Arkon Querynduckmink/arkon1.5k—~1kAutomated safety check: PassCustom licence
Arkon Reviewnduckmink/arkon1.5k—~1.3kAutomated safety check: PassCustom licence
Confluence To Markdowniurykrieger/claude-bedrock1051 repos~2.8kAutomated safety check: NotesMIT
Enterprise SearchZhixiangLuo/10xProductivity478—~535Automated safety check: PassMIT

Similar skills

  • Arkon Edit

    nduckmink/arkon

    Propose or directly apply edits to Arkon wiki pages, including proposing brand new pages.

    1.5k GitHub stars~1.6k tokensUpdated 4 mo ago
    Knowledge ManagementAuto-check passed
  • Arkon Query

    nduckmink/arkon

    Answer questions using the Arkon knowledge base. An agent skill from nduckmink/arkon.

    1.5k GitHub stars~1k tokensUpdated 4 mo ago
    Knowledge ManagementAuto-check passed
  • Arkon Review

    nduckmink/arkon

    Review, approve, request changes on, or reject pending wiki edit drafts in Arkon.

    1.5k GitHub stars~1.3k tokensUpdated 4 mo ago
    Knowledge ManagementAuto-check passed
  • Confluence To Markdown

    iurykrieger/claude-bedrock

    Internal fetcher module for Confluence pages. An agent skill from iurykrieger/claude-bedrock.

    105 GitHub starsUsed in 1 repo~2.8k tokens
    Knowledge ManagementAuto-check: notes
  • Enterprise Search

    ZhixiangLuo/10xProductivity

    Search your entire company's institutional knowledge in one query — Slack, Confluence, Jira, Linear, Notion, GitHub, plus any AI or multi-source search tool listed in verifiedconnections.md.

    478 GitHub stars~535 tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • Kb Guide

    0xranx/golembot

    Search, read, create, and update knowledge base entries via MCP-connected KB tools.

    323 GitHub stars~612 tokensUpdated 10 days ago
    Knowledge ManagementAuto-check passed

More from alirezarezvani/claude-skills

All 342 skills in this repo
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Auto-check passed
  • Product Strategist

    alirezarezvani/claude-skills

    OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.

    28k GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • App Store Optimization

    alirezarezvani/claude-skills

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.

    28k GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • AWS Solution Architect

    alirezarezvani/claude-skills

    Design AWS architectures for startups using serverless patterns and IaC templates.

    28k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Campaign Analytics

    alirezarezvani/claude-skills

    Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.

    28k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Code to PRD

    alirezarezvani/claude-skills

    Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.

    28k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed

Questions about Confluence Expert

What does Confluence Expert do?

Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation. Confluence Expert is an agent skill from alirezarezvani/claude-skills. Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation.

When should I use Confluence Expert?

Confluence Expert fits situations like: users need to build; restructure a Confluence space; design page hierarchies with permission structures; standardise documentation templates.

How do I install Confluence Expert in Claude Code?

Run `npx skills add alirezarezvani/claude-skills --skill confluence-expert -a claude-code`. Or copy the skill folder (project-management/skills/confluence-expert in alirezarezvani/claude-skills) into .claude/skills/confluence-expert in your project. Claude Code loads it when a task matches its description.

How do I install Confluence Expert in Codex?

Run `npx skills add alirezarezvani/claude-skills --skill confluence-expert -a codex`. Or copy the skill folder (project-management/skills/confluence-expert in alirezarezvani/claude-skills) into .agents/skills/confluence-expert in your project. Codex loads it when a task matches its description.

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

What does Confluence Expert need to run?

Going by SKILL.md and its folder, Confluence Expert needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Confluence Expert access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Confluence Expert safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Confluence Expert use?

Confluence Expert 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 Confluence Expert use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.5k tokens, read only when the agent opens those files.

What are the alternatives to Confluence Expert?

Skills that share tags, products or a category with Confluence Expert: Arkon Edit (nduckmink/arkon, 1.5k stars), Arkon Query (nduckmink/arkon, 1.5k stars), Arkon Review (nduckmink/arkon, 1.5k stars) and Confluence To Markdown (iurykrieger/claude-bedrock, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Confluence Expert?

alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,829 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.

Source: alirezarezvani/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.