Agent skill

Agentsope AI Video Director

by agentsope in agentsope/SkillAlchemy

Direct and implement programmatic videos from a natural-language sentence: brief, shots, style, timeline, assets, engine-specific coding prompts, draft, review and repair.

MITAuto-check passedMedia & Creative

Install Agentsope AI Video Director

skills CLI
$ npx skills add agentsope/SkillAlchemy --skill agentsope-ai-video-director -a claude-code

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

GitHub CLI
$ gh skill install agentsope/SkillAlchemy agentsope-ai-video-director --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/agentsope/SkillAlchemy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agentsope-ai-video-director .claude/skills/agentsope-ai-video-director && 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
agentsope-ai-video-director
GitHub stars
436
Token cost
~3.5k tokens
SKILL.md length
1,656 words
Files
28 (incl. references)
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Direct and implement programmatic videos from a natural-language sentence: brief, shots, style, timeline, assets, engine-specific coding prompts, draft, review and repair.

  • Works in 7 steps: Turn the sentence into a brief → Make the engine-neutral director plan → Probe and route the environment → …
  • Asked to make a video
  • SKILL.md covers Activation Rules, Agentic Protocol, Core Operation Models and Output Style, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Agentsope AI Video Director is an agent skill from agentsope/SkillAlchemy. Direct and implement programmatic videos from a natural-language sentence: brief, shots, style, timeline, assets, engine-specific coding prompts, draft, review and repair. Use when asked to make a video, product launch, explainer, Reel/Short, kinetic typography or docs-to-video with HyperFrames, Remotion or Motion Canvas, or to improve an existing code-video project. 一句话视频制作与导演工作流。

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 29 other files, including reference files (for example `README.md`, `examples/data-explainer.md` and `examples/hyperframes-prompt.md`).

It sits in Media & Creative, covering Motion graphics, AI video generation and Video production. It works with HeyGen and Remotion. The repository describes itself as: From thought to skill. From signal to structure. The licence is MIT.

When your agent uses it

  • Asked to make a video
  • Kinetic typography
  • Docs-to-video with HyperFrames
  • Improve an existing code-video project

Example prompts

  • “/agentsope-ai-video-director”

Workflow steps

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

  1. Turn the sentence into a brief
  2. Make the engine-neutral director plan
  3. Probe and route the environment
  4. Compile one engine-specific coding prompt
  5. Implement and produce the actual draft
  6. Inspect the achieved result
  7. Repair and hand off truthfully

What it can do on your machine

Read from SKILL.md and the folder at commit d0f0355. 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

    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.

  • 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

Agentsope AI Video Director loads about 3.5k tokens when it runs, and up to ~291k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 1,656 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from agentsope/SkillAlchemy at commit d0f0355, republished under its MIT licence (© agentsope). 1,656 words, ~3,516 tokens.

Download SKILL.mdSave it as .claude/skills/agentsope-ai-video-director/SKILL.md (or your agent's skills folder). This skill also uses 27 other files; get the full folder from GitHub.
name
agentsope-ai-video-director
description
Direct and implement programmatic videos from a natural-language sentence: brief, shots, style, timeline, assets, engine-specific coding prompts, draft, review and repair. Use when asked to make a video, product launch, explainer, Reel/Short, kinetic typography or docs-to-video with HyperFrames, Remotion or Motion Canvas, or to improve an existing code-video project. 一句话视频制作与导演工作流。

AI Video Director

Activation Rules

Use this skill for an authorized video-production task, including:

  • “用一句话做一个 15 秒产品发布视频。”
  • “Turn this data into a 30-second animated explainer.”
  • “Make a narrated video from these authorized docs.”
  • “Write the coding-agent prompt and render this Remotion/HyperFrames video.”
  • “The captions overlap in this code-video project; inspect and repair it.”

Do not activate solely for:

  • A general question about cinema history or a filmmaker.
  • A request to summarize a document with no video deliverable.
  • A still-image request with no video intent.
  • An unrelated React/Vite bug without a video composition.
  • A diffusion-model prompt request alone: that extension has not been distilled.

Agentic Protocol

Execute the following authored application chain (C01–C09). Every step produces a retained result before its dependent step starts. Read operation cards and match each operation’s exact scope before use. Do not turn a source-local case into a rule for a new film.

1. Turn the sentence into a brief

Read prompt fields. Extract goal, audience, main message, platform, supplied facts, duration/aspect, language, audio intent, assets, engine preference and delivery requirements. Preserve explicit values. Mark inferred audience, style and format as assumptions. If unstated, use these reversible package defaults, subject to user context: 15s for a short product/social draft; 30s for a compact data explanation; 60s for a compact docs/knowledge draft; 30fps; 16:9 for general explainers, 9:16 when vertical social is explicit; original geometric visuals and system fonts. These values are authored conventions, not evidence-proven creative optima. Retain supplied facts with their source. Record unknown facts and synthetic placeholders separately. A missing product metric must not become a fabricated benefit claim. Clarify only critical facts, permissions or assets that prevent the requested result; continue a provisional brief and authorized work while those inputs are pending. Output director_brief with declared, assumptions, facts, unknowns and audio_intent.

2. Make the engine-neutral director plan

Read the matching video guide and director fields. Choose an authored communicative pattern from the goal and available material. Write a shot table: ID, interval in seconds, subject/focal action, framing/layout, exact copy, animation intent, transition, asset, audio/caption cue and acceptance. Close the timeline at the declared duration; record intentional overlaps or gaps. Define palette, typography, hierarchy, backgrounds, safe-area assumptions and motion intent. Build an asset ledger with provenance, permission, intended use and unresolved rights. Keep original synthetic visuals available when third-party assets are pending. For voice-led work, use real authorized audio timing when ready (P28); if audio is pending, label the entire scene/caption clock provisional. Do not apply P05’s 2–10-minute or P06’s 90–180-second guidance to short examples as proven rules. P02/P05/P06/P09 are optional author suggestions, 待验证; they are never quality guarantees. Output director_plan: brief, shots, style tokens, timeline, assets, audio, target and acceptance.

3. Probe and route the environment

Read isolated adapters. Probe actual Node, browser, FFmpeg/exporter, installed versions and local scripts; record command output/version/license evidence and missing capabilities. Use an existing compatible project when available; do not silently upgrade it. Select HyperFrames only within the verified 0.8.142 profile and its local dependencies. Select Remotion server only with matched 4.0.534 packages, browser and intended-use eligibility (P37). Its browser compositor is a separate route with its own supported DOM/media/codec subset (P23). Motion Canvas 3.17.2 uses its Vite editor and registered FFmpeg exporter (P25), not a fabricated headless render CLI. Preserve release/main and binary-license distinctions (P39). The Canvas/WebGL renderer is only the recorded source-local profile (P27), not a universal fallback to recreate or vendor. Do not buy services or assets. If production rights are unknown, retain the plan/prompt, use only eligible authorized work and report the unresolved eligibility. If no runnable eligible exporter exists, output its concrete gap and the achieved state. Output engine_route: engine/profile/version, environment evidence, eligibility and gaps.

4. Compile one engine-specific coding prompt

Read the selected adapter’s exact contract and relevant HyperFrames example or Remotion example. Include the complete director brief, shot table, style, timeline, asset ledger, audio/caption timing, dependency pins, file/output requirements and acceptance. Include only the selected adapter’s admitted API/CLI bindings. For HyperFrames, seconds, static finite root duration and completed paused registration apply (P16–P19). For Remotion, frame-derived state, zero-based local Sequence clocks and explicit clamps apply (P21). Audio fields use frames; Caption fields use milliseconds (P40). For Motion Canvas, generator yield* timing uses seconds and persisted event metadata (P25/P31). Never transpose APIs or clock units between engines. Specify an actual draft, relevant static/render checks, repair and state report as outputs. Output engine_prompt with the engine identity at its start; never join adapter templates.

5. Implement and produce the actual draft

When the chosen environment permits, create original project files and assets, execute its admitted preview/render path and retain logs, exit codes and output paths. Do not stop at a prompt when implementation/rendering is authorized and feasible. If a dependency, critical fact or right blocks a step, preserve the implemented work, state the exact blocker, and deliver the reachable plan/prompt/code result. Check the resulting artifact exists; a successful-looking log is not the video. Output code and an encoded draft only when those artifacts were actually created. Keep plan_available, code_available and encoded_artifact_available independent.

6. Inspect the achieved result

Read quality rubric and checklist. Check narrative, visual consistency, pacing, animation, legibility, facts, audio, technical correctness and reproducibility against the declared acceptance. Run static syntax/resource/timeline checks that the project actually supports. For encoded drafts, inspect technical metadata, representative and consecutive frames, then watch full motion and listen when the tools permit; record each coverage separately. A sampled frame cannot establish continuous pacing or audible synchronization (P35). For narrated intent without audio, mark audio failed/pending; do not mark listening unnecessary. Record pass/fail/warning/unknown/not_executed/not_applicable with evidence per dimension. Output qa_report; call a result reviewed only for checks actually performed.

Show full SKILL.md (717 more words)Show less
7. Repair and hand off truthfully

Turn observed defects into specific shot/code/asset/timing changes. Use candidate recovery only when its card contains an admitted recovery within scope; otherwise apply the explicit authored acceptance requirement and label its origin C06. Rerun affected static/render/frame/motion/audio checks after the change. Preserve the initial defect, change and new evidence; do not silently replace a failed verdict. Deliver the current video/code/plan paths, resolved assumptions, sources/rights, engine/version, commands used, review coverage and remaining gaps. Record all independent artifact states in the handoff, including preview, encode, technical probe, sampled frames, full-motion review, listening and reproducibility. An unexecuted check stays unexecuted even when a different check passed. Use manual review and its output record contract for evaluation.

Core Operation Models

General means reusable inside its exact scope, not universal or visually validated. Full cards preserve 40 admissions and every absent recovery/verification component.

ModelUse within its card’s scopePrimary action
H1 / P02Optional HyperFrames prompt controlChoose delegated aesthetics or explicit layout/timing
H2 / P05–P06Optional long/structured explainersWord-led question or scene-frame budget
H3 / P09Optional Lemo dense sonification/occlusionStyle-local note/pen adjustments
H4 / P15TikTok auction ad placement onlyMatch its actual overlay template
M1 / P16–P19HyperFrames 0.8.142 GSAP profileSeconds, root/IDs, readiness, ownership
M2 / P21–P24Remotion 4.0.534 isolated routesFrame state, export, resource handles
M3 / P25–P26/P31Released Motion Canvas 3.17.2Editor exporter, audio, event metadata
M4 / P28/P40Ready/pending voice; typed unitsProvisional audio or measured clock translation
M5 / P37–P38Intended use and source-derived assetsResolve engine and individual asset permissions

Scoped P01/P03–P04/P07–P08/P10–P14/P20/P27/P29–P30/P32–P36/P39 are conditional source notes in the cards and case ledger. Read their source/version/condition before consulting a note; no scoped aesthetic is a generic prescription. Authored C01–C09 define this package’s workflow/schema/evaluation; empirical evidence IDs are empty for them. Rule→finding→source/version trace and exact bindings are in provenance.

Output Style

Lead with the concrete result and actual artifact state. Use Chinese or the user’s language for useful directions; retain exact API names and units. Use concise prose plus shot/timeline tables when they help review the film. Mark assumptions, supplied facts and unknowns explicitly; never present a placeholder as fact. A coding prompt includes implementable detail, not merely mood words. Forbidden boilerplate: “Analyzing this with the framework…”, “Following the model card…”, “Let me analyze this systematically…”, “Would you like me to expand further?” Cite the original source naturally; keep operation IDs in trace metadata, not promotional claims. Routine reversible implementation choices do not require an extra approval milestone.

Output Modes

ModeConcrete deliverableState rule
Director planBrief, shots, style, timeline, assetsPlan available; no render implied
Engine promptIsolated versioned coding-agent promptPrompt available; no code implied
ImplementationOriginal code/assets and execution logState actual files and blocked steps
Rendered draft / QAEncoded artifact and covered checksEncoding and review remain independent
RepairDefect, code/timing change, rerun evidenceOnly affected checked states advance
HandoffPaths, states, commands, rights, gapsUnknown/unexecuted states remain visible

Boundary Rules

  1. Scope: coding-agent programmatic video; diffusion remains a separate undistilled extension.
  2. Sources: only admitted P01–P40 within exact scopes plus explicit authored C01–C09; research cases and structural exemplars never supply additional procedures.
  3. Evidence: P02/P05/P06/P09 are optional unverified author guidance; source claims, code inspection, sampled observation and audiovisual validation differ.
  4. Versions: technical knowledge snapshot 2026-10-09; verify exact pins/revision/license before applying another version. No blanket equivalence from a version string.
  5. Rights: original package MIT; third-party code/media/fonts/music/services retain separate terms. Remotion production eligibility and unknown asset rights require resolution.
  6. Engine isolation: seconds, zero-based frames, caption milliseconds and upstream inclusive one-based frame tables must be explicitly translated; no mixed CLI/API namespaces.
  7. Capability: probe tools and create the best authorized concrete artifact available; missing tools/rights/facts are reported, and no purchased service is presumed.
  8. Honesty: static success, preview, encode, sampled frames, full-motion viewing and listening establish separate states; cinematic/language/audio/diffusion coverage has limits.

References

ResourceLoad when
Prompt patternsNormalize input and write a coding brief
Director playbookFill shot/style/timeline/asset fields
Video typesChoose one of seven authored guides
Engine adaptersProbe, route and implement one engine
Quality rubricInspect/revise actual artifacts
Operation cardsMatch exact admitted scopes before acting
Source indexVerify author/version/rights
Case studiesConsult provenance and source-local examples
Research notesUnderstand coverage and verification limits
ProvenanceTrace rules, nulls, bindings and aliases
Package guideInstall locally, browse examples/tests and run checks

© agentsope, 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 27 other files (references) in skills/agentsope-ai-video-director of agentsope/SkillAlchemy.

  • SKILL.md
  • LICENSE
  • README.md
  • examples/data-explainer.md
  • examples/hyperframes-prompt.md
  • examples/narrated-docs.md
  • examples/product-launch.md
  • examples/remotion-prompt.md
  • examples/sentence-to-director-plan.md
  • references/case-studies.md
  • references/director-playbook.md
  • references/engine-adapters.md
  • references/prompt-patterns.md
  • references/provenance.json
  • references/quality-rubric.md
  • references/research_notes.md
  • references/sop_models.md
  • references/sources.md
  • references/video-types.md
  • … and 9 more

Open the folder on GitHubat commit d0f0355

Compare with similar skills

Agentsope AI Video Director 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.

Agentsope AI Video Director compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Agentsope AI Video Director this skillagentsope/SkillAlchemy436—~3.5kAutomated safety check: PassMIT
HyperFrames Video Entry Pointheygen-com/hyperframes60k3 repos~5.2kAutomated safety check: PassApache-2.0
Super Video MakerBomx/super-video-maker-skill310—~11kAutomated safety check: NotesNone
AI Motion DirectorPluviobyte/video-production-skills671—~1.6kAutomated safety check: PassNone
Avatar Videocalesthio/OpenMontage66k—~1.6kAutomated safety check: PassAGPL-3.0
Remotion to HyperFrames Porterheygen-com/hyperframes60k3 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • HyperFrames Video Entry Point

    heygen-com/hyperframes

    Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.

    60k GitHub starsUsed in 3 repos~5.2k tokens
    Media & CreativeAuto-check passed
  • Super Video Maker

    Bomx/super-video-maker-skill

    End-to-end AI video production skill for agentic frameworks.

    310 GitHub stars~11k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • AI Motion Director

    Pluviobyte/video-production-skills

    Motion-first AI video director for topic-to-video creation. An agent skill from Pluviobyte/video-production-skills.

    671 GitHub stars~1.6k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Avatar Video

    calesthio/OpenMontage

    Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API.

    66k GitHub stars~1.6k tokensUpdated 7 days ago
    Media & CreativeAuto-check passed
  • Remotion to HyperFrames Porter

    heygen-com/hyperframes

    Ports an existing Remotion (React) composition to HyperFrames HTML with GSAP, one way, and grades the result against a tiered set of reference fixtures.

    60k GitHub starsUsed in 3 repos~2.8k tokens
    Media & CreativeAuto-check passed
  • Reference Video Replica Qc

    Pluviobyte/video-production-skills

    Analyze, recreate, align, and verify reference-video motion.

    671 GitHub stars~1.8k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed

More from agentsope/SkillAlchemy

All 46 skills in this repo
  • Agentsop Aider

    agentsope/SkillAlchemy

    SOP for terminal-based, git-native AI pair programming with Aider (git work-tree + tree-sitter repo-map + edit-format + human-in-loop REPL).

    436 GitHub stars~3.5k tokensUpdated 2 days ago
    Auto-check passed
  • Agentsop Context Scope Discipline

    agentsope/SkillAlchemy

    Coder-agent working-file budget discipline: keep the editable working set (files you /add into writable context) under ~25k tokens, separate "read" from "edit", delegate breadth to a read-only…

    436 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Agentsop Cost Tiered Models

    agentsope/SkillAlchemy

    Split a multi-call LM workflow by cognitive load, not by accuracy: let one strong model make the few reasoning decisions and a cheap model do the many mechanical executions (Aider architect+editor…

    436 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Agentsop Crewai

    agentsope/SkillAlchemy

    SOP for building multi-agent systems with CrewAI — role-based collaboration, sequential/hierarchical processes, Flows, memory, delegation.

    436 GitHub stars~4.8k tokensUpdated 2 days ago
    Auto-check passed
  • Agentsop Dify

    agentsope/SkillAlchemy

    SOP for building LLM applications on Dify — visual workflow + chatflow + agent + RAG knowledge base + plugin marketplace + observability, self-hostable.

    436 GitHub stars~5.4k tokensUpdated 2 days ago
    Auto-check: notes
  • Agentsop Multiscale Chunking

    agentsope/SkillAlchemy

    Designs multiscale chunking for RAG by embedding small units for retrieval precision and returning larger context for synthesis.

    436 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Agentsope AI Video Director

What does Agentsope AI Video Director do?

Direct and implement programmatic videos from a natural-language sentence: brief, shots, style, timeline, assets, engine-specific coding prompts, draft, review and repair. Agentsope AI Video Director is an agent skill from agentsope/SkillAlchemy. Direct and implement programmatic videos from a natural-language sentence: brief, shots, style, timeline, assets, engine-specific coding prompts, draft, review and repair.

When should I use Agentsope AI Video Director?

Agentsope AI Video Director fits situations like: asked to make a video; kinetic typography; docs-to-video with HyperFrames; improve an existing code-video project.

How do I install Agentsope AI Video Director in Claude Code?

Run `npx skills add agentsope/SkillAlchemy --skill agentsope-ai-video-director -a claude-code`. Or copy the skill folder (skills/agentsope-ai-video-director in agentsope/SkillAlchemy) into .claude/skills/agentsope-ai-video-director in your project. Claude Code loads it when a task matches its description.

How do I install Agentsope AI Video Director in Codex?

Run `npx skills add agentsope/SkillAlchemy --skill agentsope-ai-video-director -a codex`. Or copy the skill folder (skills/agentsope-ai-video-director in agentsope/SkillAlchemy) into .agents/skills/agentsope-ai-video-director in your project. Codex loads it when a task matches its description.

Can I use Agentsope AI Video Director 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 agentsope/SkillAlchemy --skill agentsope-ai-video-director -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agentsope-ai-video-director, .gemini/skills/agentsope-ai-video-director, .github/skills/agentsope-ai-video-director and .opencode/skills/agentsope-ai-video-director in your project.

What does Agentsope AI Video Director need to run?

SKILL.md names no scripts, command-line tools or credentials: Agentsope AI Video Director is instructions for the agent only.

Does Agentsope AI Video Director 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 Agentsope AI Video Director 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. Review the folder before installing.

What licence does Agentsope AI Video Director use?

Agentsope AI Video Director is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Agentsope AI Video Director use?

About 3.5k 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. Its references folder adds about 288k tokens, read only when the agent opens those files.

What are the alternatives to Agentsope AI Video Director?

Skills that share tags, products or a category with Agentsope AI Video Director: HyperFrames Video Entry Point (heygen-com/hyperframes, 60k stars), Super Video Maker (Bomx/super-video-maker-skill, 310 stars), AI Motion Director (Pluviobyte/video-production-skills, 671 stars) and Avatar Video (calesthio/OpenMontage, 66k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Agentsope AI Video Director?

agentsope (a GitHub user) maintains it in agentsope/SkillAlchemy, which has 436 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 9, 2026.

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