open-quill
v0.1.7
Published
OpenCode writing plugin: agents, commands, and writing tools
Maintainers
Readme
Open Quill
Open Quill is an OpenCode plugin that turns your coding assistant into a full-featured writing partner. It installs writing-focused agents, slash commands, and custom tools designed for fiction and non-fiction workflows.
All project files created by Open Quill workflows should live under a workspace-root openquill/ folder. If the folder does not exist yet, create it first, then place project docs there (for example openquill/plot.md, openquill/style_profile.md, openquill/project_brief.md, openquill/summary.md, and canon files such as openquill/characters.md).
Features
Specialized agents — each with a distinct role:
| Agent | Role |
| -------------- | ---------------------------------------------------------------------------------------- |
| writer | Primary agent: drafting, brainstorming, scene work. Delegates to other agents as needed. |
| editor | Conservative reviser: minimal surgical edits with before/after reasoning. |
| cowriter | Drafts scenes and chapters from an approved plan. |
| critic | Delivers honest, objective critique — no sugarcoating. |
| plotter | Structural analyst: beat sheets, arc planning, alternatives with tradeoffs. |
| summarizer | Extracts plot summaries, chapter breakdowns, character status, open threads. |
| lorekeeper | Maintains canon files (characters, locations, timeline, glossary, world rules). |
| stylematcher | Analyzes prose style and produces quantified style profiles to preserve voice. |
| style_checker | Professional proofreader: audits prose against style_profile.md and forbidden patterns; scores quality 1–5 across 5 dimensions and rejects below 20/25. |
Slash commands for common workflows:
| Command | What it does |
| -------------------- | ----------------------------------------------------------------------------------- |
| /story-prime | Primes a project: summarizes story state, extracts canon, creates all project docs. |
| /cowrite-scene | Drafts a scene from an approved outline. |
| /critique-chapter | Full critique: issues by severity, continuity risks, rewrite suggestions. |
| /edit-selection | Conservative edit of selected text with before/after comparison. |
| /plan-next | Proposes 3-5 options for the next chapter/scene with beat lists. |
| /continuity-check | Checks chapter text against canon for contradictions. |
| /refresh-canon | Updates canon files from the latest manuscript. |
| /summarize-project | Creates a concise manuscript summary with chapter bullets and open threads. |
| /writing-lang | Sets the per-project default output language (e.g., /writing-lang ru). |
| /check_style | Audits prose against the project style profile and forbidden patterns; returns a 1–5 scoreboard. |
Tools available to agents:
build_style_profile— deterministic text analysis (sentence length, dialogue ratio, vocabulary richness, POV, tense detection). Works with both English and Russian text.extract_canon— extracts structured facts from prose.canon_merge/canon_snapshot— maintains and renders the canon database.scan_manuscripts/read_manuscript_chunk— navigates large manuscripts in chunks.prose_diff— summarizes editing changes.continuity_check— verifies consistency against canon.set_project_language— persists language preference per project.
Install
Runtime: Bun, via opencode. Open Quill uses
Bun.fileandBun.envat runtime, so it runs only inside the opencode host (which is Bun-based) — it is not intended to be imported from a plain Node.js process.
opencode plugin open-quill -gThis installs the package and automatically adds it to your global opencode.json. On next startup, Open Quill installs agents into ~/.config/opencode/agents/ and commands into ~/.config/opencode/commands/ (Windows: %USERPROFILE%\.config\opencode).
For project-local installation, configure the plugin locally and set scope: "project". On next startup, Open Quill installs agents into <project>/.opencode/agents/, commands into <project>/.opencode/commands/, and Open Quill state into <project>/.opencode/.open-quill/.
Options
| Option | Values | Default | Description |
| ----------------- | --------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| installMode | "owned-only" "if-missing" "force" | "owned-only" | How to handle existing files. owned-only updates only files managed by Open Quill; if-missing never overwrites; force overwrites everything. |
| backup | "on-force" "always" "never" | "on-force" | When to create .bak backups before overwriting. |
| defaultLanguage | any language code | — | Default output language for all projects (overridable per-project with /writing-lang). |
| scope | "auto" "global" "project" | "auto" | Where Open Quill installs agents/commands and stores its state. auto currently falls back to global scope unless project is explicitly requested. |
Usage
- Switch to the
writeroreditoragent in OpenCode. - Start a conversation — describe your project, ask for a scene draft, request a critique.
- Use slash commands for structured workflows:
/story-primeto bootstrap a project,/critique-chapterfor review,/plan-nextfor brainstorming. - Set your preferred language:
/writing-lang rufor Russian,/writing-lang enfor English.
Language Support
All agents understand and work with both English and Russian text. The build_style_profile tool handles Cyrillic tokenization, Russian dialogue conventions (dash-prefixed lines: — Привет!), and Russian stopword filtering. Set a project-level default language to keep all agent responses in your preferred language.
License
MIT
Open Quill (Русская версия)
Open Quill — плагин для OpenCode, который превращает среду разработки в полноценного помощника для авторов. Он устанавливает специализированных агентов, слеш-команды и инструменты, предназначенные для работы над художественной и нехудожественной литературой.
Все проектные файлы, которые создают сценарии Open Quill, должны жить в папке openquill/ в корне рабочего проекта. Если папки ещё нет, её нужно сначала создать, а затем сохранять туда документы проекта (например openquill/plot.md, openquill/style_profile.md, openquill/project_brief.md, openquill/summary.md и файлы канона вроде openquill/characters.md).
Возможности
Специализированные агенты — каждый со своей ролью:
| Агент | Роль |
| -------------- | ---------------------------------------------------------------------------------------------------------- |
| writer | Основной агент: черновики, мозговой штурм, работа над сценами. Делегирует другим агентам по необходимости. |
| editor | Консервативный редактор: минимальные точечные правки с обоснованием. |
| cowriter | Пишет сцены и главы по утверждённому плану. |
| critic | Прямая, объективная критика — без приукрашивания. |
| plotter | Структурный аналитик: побитовые планы, арки, варианты с компромиссами. |
| summarizer | Краткое содержание глав, статус персонажей, нерешённые сюжетные линии. |
| lorekeeper | Ведёт файлы канона (персонажи, локации, хронология, глоссарий, правила мира). |
| stylematcher | Анализирует стиль прозы и создаёт количественный профиль стиля для сохранения авторского голоса. |
| style_checker | Профессиональный корректор: проверяет прозу на соответствие style_profile.md и запрещённым шаблонам; ставит оценку 1–5 по пяти параметрам, отбраковывает результат ниже 20/25. |
Слеш-команды для типовых сценариев работы:
| Команда | Описание |
| -------------------- | ---------------------------------------------------------------------------------- |
| /story-prime | Инициализация проекта: сводка сюжета, извлечение канона, создание всех документов. |
| /cowrite-scene | Черновик сцены по утверждённому плану. |
| /critique-chapter | Полная критика главы: проблемы по серьёзности, риски непрерывности, предложения. |
| /edit-selection | Консервативная правка выделенного текста с до/после. |
| /plan-next | 3-5 вариантов следующей главы/сцены с побитовыми планами. |
| /continuity-check | Проверка текста главы на противоречия с каноном. |
| /refresh-canon | Обновление файлов канона по последней версии рукописи. |
| /summarize-project | Краткая сводка рукописи с пулями по главам и открытыми вопросами. |
| /writing-lang | Установка языка вывода для проекта (например, /writing-lang ru). |
| /check_style | Проверка прозы по профилю стиля и списку запрещённых шаблонов; возвращает оценку 1–5 по пяти параметрам. |
Инструменты, доступные агентам:
build_style_profile— детерминистический анализ текста (длина предложений, доля диалогов, богатство лексики, определение POV и времени). Работает с английским и русским текстом.extract_canon— извлечение структурированных фактов из прозы.canon_merge/canon_snapshot— ведение и рендеринг базы канона.scan_manuscripts/read_manuscript_chunk— навигация по большим рукописям по частям.prose_diff— сводка редакторских изменений.continuity_check— проверка согласованности с каноном.set_project_language— сохранение языковых предпочтений для проекта.
Установка
Среда выполнения: Bun, через opencode. Open Quill использует
Bun.fileиBun.envво время выполнения, поэтому работает только внутри хоста opencode (основанного на Bun) — импортировать его из обычного Node.js-процесса не предполагается.
opencode plugin open-quill -gКоманда устанавливает пакет и автоматически добавляет его в глобальный opencode.json. При следующем запуске Open Quill установит агентов в ~/.config/opencode/agents/ и команды в ~/.config/opencode/commands/ (Windows: %USERPROFILE%\.config\opencode).
Для проектной установки настройте плагин локально и укажите scope: "project". При следующем запуске Open Quill установит агентов в <project>/.opencode/agents/, команды в <project>/.opencode/commands/, а своё состояние — в <project>/.opencode/.open-quill/.
Параметры
| Параметр | Значения | По умолчанию | Описание |
| ----------------- | --------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| installMode | "owned-only" "if-missing" "force" | "owned-only" | Управление существующими файлами. owned-only обновляет только файлы Open Quill; if-missing никогда не перезаписывает; force перезаписывает всё. |
| backup | "on-force" "always" "never" | "on-force" | Когда создавать .bak-копии перед перезаписью. |
| defaultLanguage | любой код языка | — | Язык вывода по умолчанию (переопределяется для конкретного проекта через /writing-lang). |
| scope | "auto" "global" "project" | "auto" | Куда Open Quill устанавливает агентов/команды и где хранит своё состояние. auto сейчас по умолчанию использует глобальную область, если явно не указан project. |
Использование
- Переключитесь на агента
writerилиeditorв OpenCode. - Начните разговор — опишите проект, попросите черновик сцены, запросите критику.
- Используйте слеш-команды:
/story-primeдля инициализации проекта,/critique-chapterдля рецензии,/plan-nextдля планирования. - Задайте предпочтительный язык:
/writing-lang ru.
Поддержка языков
Все агенты понимают и работают как с английским, так и с русским текстом. Инструмент build_style_profile корректно обрабатывает кириллическую токенизацию, русские диалоговые конвенции (строки с тире: — Привет!) и русские стоп-слова. Установите язык по умолчанию для проекта, чтобы все ответы агентов были на нужном языке.
Лицензия
MIT
