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.0.tar.gz (276.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.0-py3-none-any.whl (52.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yoker_writing_assistant-0.1.0.tar.gz
  • Upload date:
  • Size: 276.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.0.tar.gz
Algorithm Hash digest
SHA256 600f3a6c31965d82769213a9efaae63d35e51401ed0ae72816ef99487bb733a2
MD5 f6237a87a6538a4b05de63000e766256
BLAKE2b-256 7eee49eda5ca6eb93bfea128d1cb213d1342ea56d3e7a3e903d91bf34ae20f2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yoker_writing_assistant-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc61c5ea082ee70be14c6f8df51e7327fa4f9687b11c19b42c8df09cd631e410
MD5 3158de20846b780d7b3bebcaf4c3a23c
BLAKE2b-256 85cdb1a05486e1cd1c8b132f73954739e89fe3d4080febb8465d319d394f6b74

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

0.1.1

2 files

This release

0.1.0 This release

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