Type these directly in the TUI, or one-shot from your shell as
writing-agent <command> ... (or python writingagent.py <command> ... from a source
install - they’re the same engine).
| Command | Does |
|---|
web [--port N] [--no-browser] | Launch the local browser dashboard (default port 8787, auto-opens your browser; --no-browser skips that). Runs the same pipeline as the TUI. Binds 127.0.0.1 only, no auth, one background run at a time |
The dashboard is a single-page app served by a pure-stdlib server. Views: Studio, Live run
(streamed over Server-Sent Events), Projects, per-project Overview / Activity / Evals /
Artifacts / Rejected / Export / Cost, Telemetry, Skills, and Settings. Export offers every
format plus a Rewrite (restyle) option, and themes follow System / Light / Dark. Because it’s
loopback-only with no authentication, do not expose it on a network interface.
| Command | Does |
|---|
write --abstract "..." | ★ One-shot: upfront interview → fully autonomous run → exported finished file. Flags: --chapters N, --max-revisions N, --no-humanize |
new --abstract "..." | Start a project: abstract → directions/angles (pick) → plan + outline. Flags: --autonomous / --no-autonomous, --chapters N, --max-revisions N, --pick K, --no-humanize |
run | Drive the pipeline: write → critique → humanize → commit → consolidate → produce → learn. --force passes a consolidation review; --autonomous / --manual flips mode mid-project (clears a stalled review) |
status | Phase, current unit, pending escalations |
| Command | Does |
|---|
review --chapter K --instruction "..." | Answer an escalation; the next run revises the exact draft you reviewed |
revise --chapter K --instruction "..." | Rewrite ONE committed unit of a finished piece - semantic + unified diff shown, accept/reject before anything is touched |
versions [--chapter K] | List draft snapshots: variants, revisions, committed finals |
read [--chapter K] [--summary] [--manuscript] [--v N] | Read a unit, its summary, the assembled manuscript, or draft version N |
brief | The goal panel: thesis/premise, audience, target length, intake, voice state |
tableread [--as "persona"] | Skeptical-reader cold read of the finished piece |
eval | Quality report: 5-dimension judged rubric + deterministic metrics → eval_report.md |
| Command | Does |
|---|
export [<fmt>…] [--format <fmt>] | pdf · epub · html · docx · txt · md · all - positional or --format; interactive picker when omitted |
polish [--format <fmt>] | Re-run references, citation, and figure cleanup on an already-finished piece, then re-export - no model call (~0 tokens) |
evidence | (Re)generate evidence_report.md: the thesis it argues + every source ranked by influence (0–100) - deterministic, no model call |
seo [--keyword "..."] | Write seo_report.md: a deterministic on-page audit + a one-call keyword/hashtag pack, and optimize the H1 title for the keyword. Local files only - never posts anywhere |
promote [--to "..."] [--keyword "..."] | Write promo/: platform-native variants (x-thread, linkedin, newsletter-teaser, tldr - default all) plus 5 headline variants. Local drafts only - never posts anywhere |
memory | Inspect canon: characters, world rules, timeline |
consolidate / produce | Run those passes on demand |
skills / seed-skills | List learned skills + efficacy · install the built-in craft skills |
list | All projects with type |
config | Show model routing + settings |
delete [--yes] | Permanently delete a project (never auto-executed from chat) |