Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Understand and customize the local Trellis architecture inside a user project.
$ npx skills add mindfold-ai/Trellis --skill trellis-meta -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mindfold-ai/Trellis trellis-meta --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mindfold-ai/Trellis.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pi/skills/trellis-meta .claude/skills/trellis-meta && rm -rf skills-srcUse ~/.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/
Install the "trellis-meta" agent skill from https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-meta into .claude/skills/trellis-meta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trellis-meta", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-metaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mindfold-ai/Trellis --skill trellis-meta -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mindfold-ai/Trellis trellis-meta --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mindfold-ai/Trellis.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.pi/skills/trellis-meta .agents/skills/trellis-meta && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "trellis-meta" agent skill from https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-meta into .agents/skills/trellis-meta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trellis-meta", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mindfold-ai/Trellis --skill trellis-meta -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mindfold-ai/Trellis trellis-meta --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mindfold-ai/Trellis.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.pi/skills/trellis-meta .cursor/skills/trellis-meta && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "trellis-meta" agent skill from https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-meta into .cursor/skills/trellis-meta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trellis-meta", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mindfold-ai/Trellis.git --path .pi/skills/trellis-meta--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mindfold-ai/Trellis --skill trellis-meta -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mindfold-ai/Trellis trellis-meta --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mindfold-ai/Trellis.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.pi/skills/trellis-meta .gemini/skills/trellis-meta && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "trellis-meta" agent skill from https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-meta into .gemini/skills/trellis-meta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trellis-meta", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mindfold-ai/Trellis trellis-metaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mindfold-ai/Trellis --skill trellis-meta -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mindfold-ai/Trellis.git skills-src && mkdir -p .github/skills && cp -r skills-src/.pi/skills/trellis-meta .github/skills/trellis-meta && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "trellis-meta" agent skill from https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-meta into .github/skills/trellis-meta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trellis-meta", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mindfold-ai/Trellis --skill trellis-meta -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mindfold-ai/Trellis trellis-meta --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mindfold-ai/Trellis.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.pi/skills/trellis-meta .opencode/skills/trellis-meta && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "trellis-meta" agent skill from https://github.com/mindfold-ai/Trellis/tree/main/.pi/skills/trellis-meta into .opencode/skills/trellis-meta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trellis-meta", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
trellis-metaUnderstand and customize the local Trellis architecture inside a user project.
Trellis Meta is an agent skill from mindfold-ai/Trellis. Understand and customize the local Trellis architecture inside a user project. Use when modifying .trellis plus platform hooks, settings, agents, skills, commands, prompts, workflows, the channel runtime (trellis channel), bundled runtime agents under .trellis/agents/, selectable workflow templates, registry-backed spec refresh, cross-session memory (trellis mem) generated by trellis init, or AI-facing bundled skills (trellis-channel, trellis-session-insight, trellis-spec-bootstrap) and bundled-skill…
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 27 other files, including reference files (for example `references/customize-local/add-project-local-conventions.md`, `references/customize-local/change-agents.md` and `references/customize-local/change-context-loading.md`).
It sits in Agent Workflows, covering Session handoff. The repository describes itself as: The best agent harness. The licence is AGPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f089cb3. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Trellis Meta loads about 3.2k tokens when it runs, and up to ~28k if it reads all its reference files. Until then it costs about 135 tokens; SKILL.md has 1,274 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from mindfold-ai/Trellis at commit f089cb3, republished under its AGPL-3.0 licence (© mindfold-ai). 1,274 words, ~3,210 tokens.
.claude/skills/trellis-meta/SKILL.md (or your agent's skills folder). This skill also uses 24 other files; get the full folder from GitHub.This skill is for local Trellis users who have already run trellis init in a project. After reading it, an AI should understand the Trellis architecture, operating model, and customization entry points inside that user project, then modify the generated .trellis/ and platform directory files according to the user's request.
Trellis v0.6 adds three architectural surfaces on top of the pre-v0.6 workflow / persistence / platform model. First, a multi-agent collaboration runtime: trellis channel coordinates multiple AI worker processes through project-scoped JSONL event logs at ~/.trellis/channels/<project>/<channel>/events.jsonl, with worker OOM guard, forum/thread channels, durable idempotency keys, and bundled .trellis/agents/{check,implement}.md runtime definitions. Second, cross-session memory: trellis mem list | search | context | extract | projects reads raw Claude Code, Codex, and Pi Agent JSONL already on disk, slices by --phase brainstorm|implement|all, and never uploads anything. Third, a dual-package npm release: @mindfoldhq/trellis (CLI) and @mindfoldhq/trellis-core (SDK with /channel, /task, /mem, /testing subpaths) ship in lockstep on one version. Treat these as first-class customization surfaces alongside the per-platform integration files.
The default operating scope is local files in the user project:
.trellis/: workflow, config, tasks, spec, workspace, scripts, bundled runtime agents, and runtime state..claude/, .codex/, .cursor/, .opencode/, .kiro/, .gemini/, .qoder/, .codebuddy/, .github/, .factory/, .pi/, .reasonix/, .kilocode/, .agent/, .devin/, .kimi-code/, and similar directories. Pi additionally exposes a native trellis_subagent tool with single / parallel / chain dispatch modes, throttled progress cards, and isTrellisAgent() validation on top of the file layout. Reasonix stores both workflow skills and subagent skills as .reasonix/skills/<name>/SKILL.md; subagent skills carry runAs: subagent frontmatter. Kimi Code keeps workflow skills in the shared .agents/skills/ layer, delivers commands plus agent prompts as .kimi-code/skills/<name>/SKILL.md, and installs the same agent prompts as custom sub-agents under .kimi-code/agents/<name>.md..agents/skills/.~/.trellis/channels/<project>/<channel>/events.jsonl.trellis mem: ~/.claude/projects/, ~/.codex/sessions/, and ~/.pi/agent/sessions/ (OpenCode adapter degraded for the v0.6 line).Do not assume the user has the Trellis source repository. Do not default to modifying the global npm install directory or node_modules — both @mindfoldhq/trellis and @mindfoldhq/trellis-core ship as published packages sharing one version and one git tag per release.
references/local-architecture/overview.md first to establish the local Trellis system model.references/platform-files/platform-map.md and the relevant platform file notes.references/local-architecture/multi-agent-channel.md and the bundled .trellis/agents/ files.references/customize-local/overview.md, then open the specific customization topic.references/local-architecture/overview.md: The layered local Trellis architecture (workflow / persistence / platform / channel runtime) and customization principles.references/local-architecture/generated-files.md: Files generated by trellis init and their customization boundaries, including .trellis/agents/.references/local-architecture/workflow.md: Phases, routing, workflow-state blocks, and selectable workflow templates (native, tdd, channel-driven-subagent-dispatch, marketplace) in .trellis/workflow.md.references/local-architecture/task-system.md: Task directories, active task, JSONL context, parent/child task trees, and task runtime.references/local-architecture/spec-system.md: How .trellis/spec/ is organized, injected, and refreshed from a registry.spec source.references/local-architecture/workspace-memory.md: .trellis/workspace/ journals plus trellis mem cross-session recall and the @mindfoldhq/trellis-core/mem SDK.references/local-architecture/context-injection.md: Hooks, sub-agent preludes, and channel-runtime worker inbox routing.references/local-architecture/multi-agent-channel.md: trellis channel subcommands, project-scoped event store, forum/thread channels, worker OOM guard, durable idempotency, and bundled .trellis/agents/ runtime agents.references/local-architecture/bundled-skills.md: Auto-dispatched bundled skills (trellis-meta, trellis-spec-bootstrap, trellis-session-insight) and how getBundledSkillTemplates() ships them to every platform skill root.references/platform-files/overview.md: How shared .trellis/ files relate to platform directories and the four platform integration modes (hook-driven, agent prelude, main-session workflow, channel runtime).references/platform-files/platform-map.md: Platform directories and paths for skills, agents, hooks, and extensions across all supported platforms including Reasonix and Pi's native trellis_subagent extension.references/platform-files/hooks-and-settings.md: How settings/config files, hooks, plugins, and extensions connect to Trellis; covers channel.worker_guard.* and codex.dispatch_mode.references/platform-files/agents.md: Per-platform trellis-research / trellis-implement / trellis-check sub-agent files plus bundled .trellis/agents/{check,implement}.md for the channel runtime.references/platform-files/skills-and-commands.md: Differences between skills, commands, prompts, and workflows, plus how to change them.references/customize-local/overview.md: Choose the right local customization entry point for the user's request.references/customize-local/change-workflow.md: Change phases, routing, next actions, workflow-state, and the selected workflow template.references/customize-local/change-task-lifecycle.md: Change task creation, status, archive behavior, parent/child links, archive slug collision handling, and lifecycle hooks.references/customize-local/change-context-loading.md: Change how tasks, specs, journals, hook context, channel inbox messages, and trellis mem recall are loaded.references/customize-local/change-hooks.md: Change platform hooks, settings, task lifecycle hooks (hooks.after_*), and shell session bridges.references/customize-local/change-agents.md: Change research, implement, and check agent behavior across platform sub-agents, bundled channel runtime agents, and the Codex dispatch_mode toggle.references/customize-local/change-skills-or-commands.md: Add or modify local skills, commands, prompts, and workflows; covers upstream bundled-skill auto-dispatch.references/customize-local/change-spec-structure.md: Adjust the project spec structure under .trellis/spec/, including registry-backed sources.references/customize-local/add-project-local-conventions.md: Put team rules into project-local specs or local skills..trellis/workflow.md is the local workflow source of truth; its initial content was selected from a workflow template (built-in native, tdd, channel-driven-subagent-dispatch, or a marketplace template) at trellis init time and can be re-selected via trellis workflow --template <id>. Missing .trellis/agents/<name>.md files referenced by the active template trigger a non-blocking stderr warning pointing at trellis update..trellis/config.yaml is the project-level Trellis configuration entry point. It hosts task lifecycle hooks (hooks.after_create / after_start / after_finish / after_archive), journal shape (session_commit_message / max_journal_lines / session_auto_commit), channel worker guard (channel.worker_guard.idle_timeout / max_live_workers), Codex dispatch mode (codex.dispatch_mode: inline | sub-agent), and the spec registry block (registry.spec.source + registry.spec.template)..trellis/spec/ stores the user's project-specific coding conventions and design constraints. When registry.spec is set, files are refreshed by trellis update; local edits surface as "modified by user" conflicts in .trellis/.template-hashes.json..trellis/tasks/ stores task PRDs, design notes, implement plans, research files, and JSONL context. Tasks form parent/child trees: task.py create --parent <slug>, task.py add-subtask <parent> <child>, task.py remove-subtask <parent> <child>, and task.py list-context <task>. task.py create rejects a slug already present in .trellis/tasks/archive/**..trellis/workspace/ stores deliberately written developer journals. Raw cross-session dialogue is not stored here — it lives on disk under ~/.claude/projects/, ~/.codex/sessions/, and ~/.pi/agent/sessions/ and is recovered via trellis mem search|extract|context. The bundled trellis-session-insight skill teaches when to reach for mem..trellis/agents/{check,implement}.md are bundled, platform-agnostic channel runtime agent definitions loaded by trellis channel spawn --agent <name>. Editable; trellis update backfills missing ones. Editing the per-platform trellis-implement.md / trellis-check.md does not change channel-runtime worker behavior.~/.trellis/channels/<project>/<channel>/events.jsonl is the channel runtime event log per project per channel. User-owned, file-locked sequence numbering, durable idempotencyKey support; never under .trellis/.trellis-meta, trellis-spec-bootstrap, trellis-session-insight, trellis-channel) are auto-dispatched to every platform skill root by getBundledSkillTemplates() in packages/cli/src/templates/common/index.ts. Dropping a new directory under packages/cli/src/templates/common/bundled-skills/ (upstream) ships it to every platform on the next trellis update..trellis/.template-hashes.json and .trellis/.runtime/ are management/runtime state files. Confirm necessity before editing them.node_modules/@mindfoldhq/trellis or node_modules/@mindfoldhq/trellis-core to implement project needs; both packages ship in lockstep..trellis/.template-hashes.json first and prefer .new sidecar files over destructive overwrites.trellis-meta, trellis-spec-bootstrap, trellis-session-insight, trellis-channel); put project rules in .trellis/spec/, a project-local skill, the current task, or the workspace journal — trellis update will overwrite anything inside a bundled skill directory.~/.trellis/channels/<project>/<channel>/events.jsonl; sequence numbers are assigned under a file lock and replay-safe writes go through the trellis channel CLI or the @mindfoldhq/trellis-core/channel SDK..claude/agents/trellis-implement.md (or any other per-platform sub-agent file) when the goal is to change channel runtime worker behavior — edit .trellis/agents/<name>.md instead..trellis/config.yaml and the installed CLI's trellis --help before claiming a knob exists.© mindfold-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 24 other files (references) in .pi/skills/trellis-meta of mindfold-ai/Trellis.
Open the folder on GitHubat commit f089cb3
We found 16 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in mindfold-ai/Trellis, which our catalogue first saw on October 7, 2026.
Trellis Meta 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Trellis Meta this skillmindfold-ai/Trellis | 15k | 4 repos | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| Orca CLIstablyai/orca | 89k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| Beads Task Memorygastownhall/beads | 28k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Session History Searchslopus/happy | 24k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Paseo Agent Handoffgetpaseo/paseo | 20k | 1 repos | ~606 | Automated safety check: Pass | Custom licence | |
| Memori Long-Term MemoryMemoriLabs/Memori | 17k | — | ~2k | Automated safety check: Notes | Custom licence |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
gastownhall/beads
Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.
slopus/happy
Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.
getpaseo/paseo
Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.
MemoriLabs/Memori
Connects Claude Code to Memori Cloud for long-term memory, recalling stored context before substantive replies and saving new context afterward.
liwp/again
A skill your agent uses when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory.
mindfold-ai/Trellis
Reach into past AI conversation history through the trellis mem CLI.
mindfold-ai/Trellis
Systematic first principles thinking for any problem domain.
mindfold-ai/Trellis
Use Trellis channel for live multi-agent collaboration, spawned workers, cross-agent review, progress inspection, forum channels, and channel log debugging.
mindfold-ai/Trellis
Guide for contributing to Trellis documentation and marketplace.
mindfold-ai/Trellis
Create a Trellis migration manifest and matching docs-site changelogs for a target release by analyzing commits since the previous release.
mindfold-ai/Trellis
Python design patterns for CLI scripts and utilities — type-first development, deep modules, complexity management, and red flags.
Categories
Understand and customize the local Trellis architecture inside a user project. Trellis Meta is an agent skill from mindfold-ai/Trellis. Understand and customize the local Trellis architecture inside a user project.
Trellis Meta fits situations like: modifying .trellis plus platform hooks; the channel runtime (trellis channel); bundled runtime agents under .trellis/agents/; selectable workflow templates.
Run `npx skills add mindfold-ai/Trellis --skill trellis-meta -a claude-code`. Or copy the skill folder (.pi/skills/trellis-meta in mindfold-ai/Trellis) into .claude/skills/trellis-meta in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mindfold-ai/Trellis --skill trellis-meta -a codex`. Or copy the skill folder (.pi/skills/trellis-meta in mindfold-ai/Trellis) into .agents/skills/trellis-meta in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mindfold-ai/Trellis --skill trellis-meta -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/trellis-meta, .gemini/skills/trellis-meta, .github/skills/trellis-meta and .opencode/skills/trellis-meta in your project.
SKILL.md names no scripts, command-line tools or credentials: Trellis Meta is instructions for the agent only. Our summary lists: Node.js.
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.
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. Review the folder before installing.
Trellis Meta is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k 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 25k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Trellis Meta: Orca CLI (stablyai/orca, 89k stars), Beads Task Memory (gastownhall/beads, 28k stars), Session History Search (slopus/happy, 24k stars) and Paseo Agent Handoff (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mindfold-ai (a GitHub organization) maintains it in mindfold-ai/Trellis, which has 14,914 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 29, 2026.
Source: mindfold-ai/Trellis on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.