Skip to main content

Yoker Writing Assistant

Python uv Yoker Agentic

A writing assistant that coaches and develops — but never writes for you.

This is a Yoker showcase package. It demonstrates the yoker-as-runtime mode: Yoker is the entry point, and this package provides the main agent and skills for an interactive writing coaching session. The agent interviews, challenges, reviews, and flags — but every word of prose is written by the author.

Status

Initial release. The Python package, plugin manifest, entry point, agent definition, and all 8 skills are in place. Tests pass, all quality gates green. See AGENTS.md for the full project guide.

What It Does

The writing assistant is a developmental editor + writing coach for an author who writes every word themselves. It operates on the declared-work scope: it only acts on prose the author has already written. It never generates prose, never rewrites, never fills blanks.

Skills

Skill What it does
writing-review Developmental review, claim verification, gap/perspective analysis
writing-continuity Dangling references, cold terms, dropped themes, missing transitions
writing-voice Voice drift detection, ChatGPT smell flagging, voice profile checks
writing-mistakes Common writing mistakes — eggcorns, redundancies, non-native errors, craft patterns
writing-idioms Idiom/proverb misuse → canonical form as a proposal
writing-split Long-form → sequential social post sequence
writing-order Reorder raw material into smooth argument flow
copy-writer Platform-specific content adaptation (Twitter, LinkedIn, Mastodon, etc.)

The Non-Negotiable Rule

The agent never writes prose. Every gap is marked TODO:, every proposal is marked TODO PROPOSAL:. The author accepts, rejects, or writes. This is the core design principle — friction is the value, not a bug.

Quick Start

uvx yoker-writing-assistant                    # run directly (if published)

From a local checkout:

make env-dev                                    # install all dependencies
make run                                        # launch the writing assistant

Or run directly via the Yoker CLI:

yoker --with yoker_writing_assistant --agent yoker_writing_assistant:writing-assistant

A Yoker backend is a prerequisite — either a local Ollama install or a cloud LLM provider API key. If you do not already have one, run uv run yoker init once to write ~/.yoker.toml with a backend of your choice.

Configuration

Runtime configuration lives in ~/.yoker.toml (never committed). A reference template is provided as yoker.toml in this repo. The key sections:

  • [backend] — LLM provider and model
  • [agents.directories] — directories to scan for agent definitions (e.g., c3 = "../c3/agents" for the optional researcher agent)
  • [skills.directories] — directories to scan for skill definitions (e.g., c3 = "../c3/skills" for c3 heritage skills)
  • [plugins] — plugin registration (this package is loaded via --with yoker_writing_assistant)

Optional: c3 Researcher

The writing assistant can delegate research tasks to c3:researcher, an external agent from the c3 project. To enable it, add to yoker.toml:

[agents.directories]
c3 = "../c3/agents"

[skills.directories]
c3 = "../c3/skills"

If c3 is not configured, research delegation is unavailable and the agent falls back to direct web search (yoker:websearch/yoker:webfetch), noting the limitation in its output. All other functionality works without c3.

Architecture

This package is a Yoker plugin: it declares an __YOKER_MANIFEST__ that points Yoker to its agents/ and skills/ directories (inside the Python package, discovered via importlib.resources). Yoker's plugin loader discovers the agent and skill definitions automatically, namespacing them under yoker_writing_assistant:. The entry point is a thin Python wrapper (cli.py) that injects --with yoker_writing_assistant and --agent yoker_writing_assistant:writing-assistant into Yoker's CLI, so uvx yoker-writing-assistant launches the writing assistant directly.

The sister project yoker-assistant demonstrates the complementary mode — yoker-as-SDK — where Python owns the process and calls Yoker as a library.

Both projects share a common quality bar documented in STANDARDS.md.

Documentation

Full documentation will live in docs/ (pending). The AGENTS.md file provides the project guide for agents working on this codebase.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yoker_writing_assistant-0.1.1.tar.gz (277.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yoker_writing_assistant-0.1.1-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

Details for the file yoker_writing_assistant-0.1.1.tar.gz.

File metadata

  • Download URL: yoker_writing_assistant-0.1.1.tar.gz
  • Upload date:
  • Size: 277.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for yoker_writing_assistant-0.1.1.tar.gz
Algorithm Hash digest
SHA256 99a11f0c2168cbb67cd4f9b87a74207c2b9f85eec5c7a5aec6e147231517120f
MD5 8d0d2f08bfcd184c1b3af0a214dba81f
BLAKE2b-256 2aa7c0dda6301baeb949bb79c342b073baa7af46e2297bc0040d1299a5f77703

See more details on using hashes here.

File details

Details for the file yoker_writing_assistant-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for yoker_writing_assistant-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4ab37129b0ea6939d426989371a1196cd1fdd765298ba4b6d8b20ccc1b7249b
MD5 e5f4d3e21f16f70806ed484e0c470704
BLAKE2b-256 632af095383cc2a2e52c8f0bfe9a5709c36f493cd922279cf52a268f4a35be57

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page