Agent skill

Brief To Slides

by GAIK-project in GAIK-project/gaik-toolkit

Builds a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own…

MITAuto-check passedDocuments & Office

Install Brief To Slides

skills CLI
$ npx skills add GAIK-project/gaik-toolkit --skill brief-to-slides -a claude-code

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

GitHub CLI
$ gh skill install GAIK-project/gaik-toolkit brief-to-slides --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/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/brief-to-slides .claude/skills/brief-to-slides && 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
brief-to-slides
GitHub stars
100
Token cost
~2.8k tokens
SKILL.md length
1,344 words
Files
24 (incl. scripts, references, assets)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Builds a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own…

  • Works in 3 steps: Inputs → Workflow (keep a task list) → Non-negotiables
  • The user asks for a presentation
  • SKILL.md covers 1. Inputs, 2. Workflow (keep a task list), 3. Non-negotiables and Files
  • Runs Python scripts from its folder; calls bash and python

What it does

Brief To Slides is an agent skill from GAIK-project/gaik-toolkit. Builds a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own material (strict mode) or adding web research (extended mode). Use when the user asks for a presentation, slide deck, lecture, training session or talk, wants a brief, outline or source documents turned into slides, or needs speaker notes and per-slide timing for a deck. Also use to make targeted changes to a deck this…

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 26 other files, including scripts, reference files and assets (for example `README.md`, `references/build-notes.md` and `references/default-brief.md`). Compatibility notes: Needs Python 3, npm, LibreOffice and poppler to build the deck and render previews; scripts/setupenv.sh installs the rest. Intake questions use…

It sits in Documents & Office, covering Slides and decks and PowerPoint presentations. It works with Microsoft PowerPoint. The repository describes itself as: Python toolkit providing reusable AI/ML utilities: schema extraction, structured outputs, and production-ready components. The licence is MIT.

When your agent uses it

  • The user asks for a presentation
  • Training session
  • Source documents turned into slides
  • Needs speaker notes and per-slide timing for a deck

Example prompts

  • “Use the brief-to-slides skill to build a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a…”
  • “/brief-to-slides”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Needs Python 3, npm, LibreOffice and poppler to build the deck and render previews; scripts/setup_env.sh installs the rest. Intake questions use AskUserQuestion where the client has it and are asked in plain text otherwise.

Workflow steps

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

  1. Inputs
  2. Workflow (keep a task list)
  3. Non-negotiables

What it can do on your machine

Read from SKILL.md and the folder at commit e66fcca. 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 5 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • python

    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.

  • Compatibility

    Needs Python 3, npm, LibreOffice and poppler to build the deck and render previews; scripts/setup_env.sh installs the rest. Intake questions use AskUserQuestion where the client has it and are asked in plain text otherwise.

    From compatibility in the SKILL.md frontmatter.

Context cost

Brief To Slides loads about 2.8k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 137 tokens; SKILL.md has 1,344 words of instructions outside code blocks.

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

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 GAIK-project/gaik-toolkit at commit e66fcca, republished under its MIT licence (© GAIK-project). 1,344 words, ~2,751 tokens.

Download SKILL.mdSave it as .claude/skills/brief-to-slides/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.
name
brief-to-slides
description
Builds a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own material (strict mode) or adding web research (extended mode). Use when the user asks for a presentation, slide deck, lecture, training session or talk, wants a brief, outline or source documents turned into slides, or needs speaker notes and per-slide timing for a deck. Also use to make targeted changes to a deck this skill produced.
compatibility
Needs Python 3, npm, LibreOffice and poppler to build the deck and render previews; scripts/setup_env.sh installs the rest. Intake questions use AskUserQuestion where the client has it and are asked in plain text otherwise.

Brief to Slides

Builds a highly visual, editable .pptx (optionally also a Claude Slides deck) with speaker-ready notes on every slide, exact timing, citations and a verified layout. It works from a three-field request and fills everything else from a default brief distilled from a complete teaching deck (assets/template.pptx).

1. Inputs

Required (ask one short question only if one is missing):

  1. Topic or title
  2. Audience (who, prior knowledge)
  3. Length: minutes or number of slides

Optional (apply the default and state it in one line of the reply):

InputDefault
Purpose / type (teaching, briefing, pitch)Inferred; teaching for students or staff training
Goals3–5 outcomes you derive from topic + audience
Outline, per-slide timing, visual directionDrafted from the default arc (references/default-brief.md §3)
Template (.pptx/.potx)assets/blank-template.pptx + default theme (references/design-system.md)
Logo and its position, running footer, heading styleAsk (§1b). Defaults: no logo, slide numbers only, title only
Own data, files and source linksAlways ask (§1b, Q1); uploads in any common format, links separated by commas or new lines
Source mode: strict or extendedAsked right after material arrives (Q2); no material → extended
Running exampleTeaching: one invented case (disclosed in notes, never labelled on slides); talks: none
Opening question (title slide)Ask (§1b). None if declined
Presenter name and affiliation (title slide)Ask (§1b). Omitted if declined
ActivitiesAsk (§1b). None unless the user describes or approves them
Notes depthDetailed, speaker-ready
Output.pptx; also a Slides deck if asked or the session started from Slides
Language, phrases per slide, exclusionsRequest language; 4–5 key phrases; none
1a. Source mode (decide before planning)
  • Strict: use only the user's data and sources (including links they gave). No web search. Claims not supported by them are left out or marked as gaps.
  • Extended: the user's material comes first; online research fills gaps, adds evidence and checks that facts are current.

Decide it this way:

  1. Always ask first whether the user has their own data, files or source links (Q1), unless the request already includes them. If yes, ask them to attach files (PDF, Word, PowerPoint, Excel, CSV, text/Markdown, JSON, HTML, images) and paste links separated by commas or one per line; collect them with scripts/collect_sources.py.
  2. Material provided → the next question is the mode (Q2): "Only my material (strict)" / "My material + online sources (extended)". The user named a mode already → use it.
  3. No material → extended; say so in one line.
  4. Nobody can answer (unattended run): strict if material was attached, otherwise extended; say so at the top of the reply.

A template file, logo or outline alone is not source material. Rules per mode: references/research-and-citations.md.

1b. Intake questions (before research or building)

Ask at most 10 questions with AskUserQuestion, in this order, skipping anything the request or attachments already answer. Exact wording, options, previews and answer mapping: references/intake-questions.md.

  1. Own material (Q1, always first) → if yes, upload step (files + links), then search mode (Q2: strict / extended).
  2. Content and title slide: opening question, activities, presenter name/affiliation, heading style (title only vs section label + title).
  3. Footer, logo, design: running footer and slide numbers, logo yes/no, design/template and output format; then logo position (top right, top left, bottom right, bottom left) if needed.

If the user declines, skips or nobody can answer: no opening question, no activities, no presenter details, title only, slide numbers only, no logo, default design. State these choices in the reply.

A detailed user brief always overrides these defaults. Read references/default-brief.md first: it is the full brief applied when the user gives only the three required inputs.

2. Workflow (keep a task list)

  1. Brief. Ask the intake questions (§1b). Turn the request and answers into a brief: required inputs + answers + chosen defaults. Compute the slide count (≈3 min per teaching slide, 2 per talk slide, 5–30 slides) and per-slide minutes that sum exactly to the length. References slides are extra and untimed.
  2. Environment. bash scripts/setup_env.sh (fonts, icons, libraries, render tools).
  3. Template.
    • None given: use assets/blank-template.pptx with the default THEME.
    • Given: copy it; run python scripts/inspect_template.py T.pptx --render tmpl_preview; look at the contact sheet; write a THEME override (layout name, colours, kicker/title/ source/page-number boxes, title background, logos the user supplied) and map the palette roles in references/design-system.md to its colours/fonts. Install missing fonts.
  4. Sources. Read all provided material first (every file in sources.json, every link; report any that fail) and keep a source ledger (claim → source → page/section/URL). Strict: no web search; list gaps. Extended: research online (official sources first) for gaps and anything time-sensitive; note check dates; flag conflicts with the user's material instead of overriding it (references/research-and-citations.md).
  5. Plan. One idea per slide; pick a pattern per slide from references/slide-patterns.md (vary them); thread the running example; write the 4–5 key phrases per slide. Title slide = cover() only (title, subtitle, optional series label; question/presenter only if given). Put the intake answers for heading style, footer, slide numbers and logo into THEME (show_kicker, footer_text, page_numbers, logo); the renderers place them.
  6. Write the spec. Copy scripts/example_spec.py; fill SLIDES (id, kind, kicker, title, els, minutes, notes, source), TITLE, SECTIONS, THEME. Use the DSL and helpers in scripts/dsl.py; size every text box with text_h(). Write notes per references/speaker-notes.md (activities need instructions, timing, sample answer, debrief).
  7. Build. python scripts/build.py spec.py --template T --out deck.pptx --preview preview.html
  8. Check. python scripts/check_deck.py --pptx deck.pptx --minutes N --preview preview.html --forbid "<old template text>" must print OK. Then bash scripts/render_preview.sh deck.pptx out 72 and inspect out/sheet.png and each slide. Fix clipping, overlaps, cramped or empty areas, one-line labels that wrap; rebuild until clean (references/build-notes.md).
  9. Slides deck (optional). references/slides-artifact.md.
  10. Deliver. Send the .pptx. Reply in a few lines: slide count and timing, defaults you assumed, the source mode, gaps (strict) or added sources and conflicts (extended), facts verified (with date), and template elements not reproduced exactly (font substitutes, simplified drawings instead of screenshots, masters not carried into a Slides deck). Mention that example cases are invented.
  11. Ask for changes. End the delivery by asking whether the user wants any changes (AskUserQuestion: "No, it's ready" / "Yes, I'll describe them"; not one of the 10 intake questions). If they describe changes, make targeted changes only: edit just the affected slides (or THEME for deck-wide items), keep every other slide as it was, keep notes, timing total and citations consistent, rebuild, run check_deck.py, look at the changed slides, run scripts/diff_decks.py old.pptx new.pptx to confirm nothing else changed, deliver as _v2 with a slide N: what changed list, and ask again. If the user edited the .pptx themselves, change their file directly instead of rebuilding (references/revisions.md).
Show full SKILL.md (248 more words)Show less

3. Non-negotiables

  • Notes in the Notes pane of every slide; timings sum exactly; no leftover template slides, text, notes or hidden slides.
  • A meaningful visual on nearly every teaching slide; 4–5 self-contained phrases; never shrink text below 12 pt or to fit: simplify and move detail to notes.
  • No invented sources, statistics, quotes, availability or screenshots; sourced claims cited on the slide and in references.
  • No label words on slides ("illustrative", "mock-up", "fictional", "synthetic data"): invented examples and simplified interface drawings are disclosed in the speaker notes and the reply.
  • Title slide carries nothing beyond cover(): no illustrations, mock-ups, cards or icons.
  • No activities, opening question or presenter details unless the user provided or approved them.
  • Strict mode: every factual claim on slides and in notes traces to the user's material.
  • No logos or brand marks unless the user supplies them. No section label above titles unless the user chose it. No generic robot imagery.

Files

  • references/default-brief.md: full default brief (deliverable, arc, design, notes, research, verification)
  • references/design-system.md: default theme: palette roles, type scale, chrome, motifs
  • references/slide-patterns.md: 20 patterns from the template deck, when to use, helpers
  • references/intake-questions.md: the ≤10 intake questions, upload step, options, defaults, mapping
  • references/research-and-citations.md: strict/extended source modes, ledger, citations
  • references/revisions.md: asking for changes after delivery and making targeted edits
  • references/speaker-notes.md, references/build-notes.md, references/slides-artifact.md
  • assets/template.pptx: complete 22-slide example deck (60-min session) showing every pattern with notes
  • assets/blank-template.pptx: same design, no slides: the default starting file
  • scripts/: setup_env.sh, collect_sources.py, inspect_template.py, dsl.py, render_pptx.py, render_html.py, build.py, check_deck.py, diff_decks.py, render_preview.sh, example_spec.py

© GAIK-project, 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 23 other files (scripts, references, assets) in implementation_layer/no-code-assets/agent-skills/skills/brief-to-slides of GAIK-project/gaik-toolkit.

  • SKILL.md
  • README.md
  • assets/blank-template.pptx
  • assets/template.pptx
  • references/build-notes.md
  • references/default-brief.md
  • references/design-system.md
  • references/intake-questions.md
  • references/research-and-citations.md
  • references/revisions.md
  • references/slide-patterns.md
  • references/slides-artifact.md
  • references/speaker-notes.md
  • scripts/build.py
  • scripts/check_deck.py
  • scripts/collect_sources.py
  • scripts/diff_decks.py
  • scripts/dsl.py
  • … and 6 more

Open the folder on GitHubat commit e66fcca

Compare with similar skills

Brief To Slides 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.

Brief To Slides compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Brief To Slides this skillGAIK-project/gaik-toolkit100—~2.8kAutomated safety check: PassMIT
Image To Editable Pptningzimu/image-to-editable-ppt-skill2.9k—~4.3kAutomated safety check: PassMIT
Slidesfcakyon/claude-codex-settings1.2k1 repos~1.1kAutomated safety check: PassMIT
Ppt Image FirstNyxTides/ppt-image-first1.2k—~1.6kAutomated safety check: PassApache-2.0
Gpt Image2 PptJuneYaooo/gpt-image2-ppt-skills1.3k—~8.9kAutomated safety check: NotesApache-2.0
Paper Deckzsyggg/paper-craft-skills1.3k—~1.4kAutomated safety check: PassNone

Similar skills

  • Image To Editable Ppt

    ningzimu/image-to-editable-ppt-skill

    Rebuild slide images, scanned or image-based PPT/PPTX files, and PDF decks into object-level editable PowerPoint (.pptx), preserving speaker notes when supplied.

    2.9k GitHub stars~4.3k tokensUpdated 25 days ago
    Documents & OfficeAuto-check passed
  • Slides

    fcakyon/claude-codex-settings

    Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.

    1.2k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Ppt Image First

    NyxTides/ppt-image-first

    Build presentation plans for PPT / slides / decks through a conversation-first workflow, then propose multiple visual directions with preview images before writing deck specs.

    1.2k GitHub stars~1.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Gpt Image2 Ppt

    JuneYaooo/gpt-image2-ppt-skills

    Generate visually striking PPT slides via OpenAI's gpt-image-2 -- use any style in styles/<collection/STYLEID.md or mimic a user-supplied .pptx template; outputs high-res slide PNGs and a 16:9 .pptx.

    1.3k GitHub stars~8.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Paper Deck

    zsyggg/paper-craft-skills

    将论文、技术文章或知识内容制作成高真实感的 AIGC 幻灯片。先做叙事结构和逐页视觉导演,再调用生图模型生成每一页 16:9 slide image,最后合成为 PPTX/PDF。适合论文汇报、组会、公开课、技术分享、商业化研究展示;当用户提到“论文PPT”“AI生成PPT”“不像AI的PPT”“高质感幻灯片”“逐页生图PPT”时使用。

    1.3k GitHub stars~1.4k tokensUpdated 4 mo ago
    Documents & OfficeAuto-check passed
  • HTML Slide To PPTX

    mucsbr/ppt-agent-workflow-san

    Convert structured single-slide or small deck HTML files into editable PPTX slides with native text boxes, shapes, chips, arrows, and panels.

    645 GitHub stars~1.1k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed

More from GAIK-project/gaik-toolkit

All 15 skills in this repo
  • Gaik Toolkit

    GAIK-project/gaik-toolkit

    GAIK toolkit overview and reference. An agent skill from GAIK-project/gaik-toolkit.

    100 GitHub stars~5.7k tokensUpdated 2 days ago
    Auto-check passed
  • Extracting Structured Data

    GAIK-project/gaik-toolkit

    Extracts structured data — fields, tables, line items — out of documents into a validated schema using the gaik toolkit, and designs schemas that stay inside provider limits and produce checkable…

    100 GitHub stars~3.2k tokensUpdated 2 days ago
    Auto-check passed
  • Parsing Documents

    GAIK-project/gaik-toolkit

    Converts PDFs, scans, and Word documents into text or markdown with the gaik toolkit's parsers, choosing the parser that will not silently destroy the structure the downstream task depends on.

    100 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Searching Documents

    GAIK-project/gaik-toolkit

    Builds and debugs retrieval with the gaik toolkit — PgVectorStore, Ranker, FinnishTextProcessor, RelevanceGate — as hybrid search: pgvector similarity plus Postgres full-text, fused by rank, and the…

    100 GitHub stars~4.2k tokensUpdated 2 days ago
    Auto-check passed
  • Construction Diary Creation

    GAIK-project/gaik-toolkit

    Extracts structured data from Finnish construction site daily diary audio recordings (Työmaapäiväkirja) and creates a formatted Word document with extracted fields.

    100 GitHub stars~3.6k tokensUpdated 2 days ago
    Auto-check passed
  • Gaik Add Examples

    GAIK-project/gaik-toolkit

    Adds or updates working code examples for GAIK toolkit components and pipelines in implementationlayer/examples/.

    100 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check: notes

Questions about Brief To Slides

What does Brief To Slides do?

Builds a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own…. Brief To Slides is an agent skill from GAIK-project/gaik-toolkit.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own material (strict mode) or adding web research (extended mode).

When should I use Brief To Slides?

Brief To Slides fits situations like: the user asks for a presentation; training session; source documents turned into slides; needs speaker notes and per-slide timing for a deck.

How do I install Brief To Slides in Claude Code?

Run `npx skills add GAIK-project/gaik-toolkit --skill brief-to-slides -a claude-code`. Or copy the skill folder (implementation_layer/no-code-assets/agent-skills/skills/brief-to-slides in GAIK-project/gaik-toolkit) into .claude/skills/brief-to-slides in your project. Claude Code loads it when a task matches its description.

How do I install Brief To Slides in Codex?

Run `npx skills add GAIK-project/gaik-toolkit --skill brief-to-slides -a codex`. Or copy the skill folder (implementation_layer/no-code-assets/agent-skills/skills/brief-to-slides in GAIK-project/gaik-toolkit) into .agents/skills/brief-to-slides in your project. Codex loads it when a task matches its description.

Can I use Brief To Slides 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 GAIK-project/gaik-toolkit --skill brief-to-slides -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/brief-to-slides, .gemini/skills/brief-to-slides, .github/skills/brief-to-slides and .opencode/skills/brief-to-slides in your project.

What does Brief To Slides need to run?

Going by SKILL.md and its folder, Brief To Slides needs Python for the scripts in its folder and the command-line tools its instructions call (bash and python). Our summary lists: Python 3. Compatibility (from SKILL.md): Needs Python 3, npm, LibreOffice and poppler to build the deck and render previews; scripts/setup_env.sh installs the rest. Intake questions use AskUserQuestion where the client has it and are asked in plain text otherwise..

Does Brief To Slides 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 Brief To Slides 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 Brief To Slides use?

Brief To Slides 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 Brief To Slides use?

About 2.8k tokens (SKILL.md is roughly 11k 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 9.1k tokens, read only when the agent opens those files.

What are the alternatives to Brief To Slides?

Skills that share tags, products or a category with Brief To Slides: Image To Editable Ppt (ningzimu/image-to-editable-ppt-skill, 2.9k stars), Slides (fcakyon/claude-codex-settings, 1.2k stars), Ppt Image First (NyxTides/ppt-image-first, 1.2k stars) and Gpt Image2 Ppt (JuneYaooo/gpt-image2-ppt-skills, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Brief To Slides?

GAIK-project (a GitHub organization) maintains it in GAIK-project/gaik-toolkit, which has 100 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 9, 2026.

Source: GAIK-project/gaik-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.