The four harness prompt files and the README now describe this repo as an
agent-first CLI for managing a Substack publication (currently a scaffold) —
see #2. The CLI's own self-description still says "clonable template for
AgentCulture mesh agents", so substack learn and substack --help tell an
agent something every prompt file contradicts.
Surfaced by an ask-colleague review on #2 as "the single most visible
remaining drift". Deliberately left out of #2, which was doc-only.
Locations
substack_cli/cli/__init__.py:74 parser description
substack_cli/cli/_commands/learn.py:15, :21 learn text ("Clone it, rename the package…")
substack_cli/cli/_commands/learn.py _as_json_payload()["purpose"]
substack_cli/explain/catalog.py:15, :18, :84 root entry + overview entry
substack_cli/cli/_commands/whoami.py:7 docstring ("When you clone this template…")
substack_cli/cli/_commands/overview.py:4 docstring + _ARTIFACTS / _VERBS wording
substack_cli/cli/_commands/doctor.py:7, :40 docstring ("this template")
overview.py's _ARTIFACTS also names culture.yaml + AGENTS.colleague.md as
the mesh identity pair, which is wrong for this repo — culture.yaml declares
backend: claude, so the resident prompt is CLAUDE.md.
Constraints
learn must keep covering purpose, command map, exit codes, --json, and
explain, and stay >=200 chars — teken cli doctor . --strict checks it.
tests/test_cli.py and tests/test_cli_introspection.py assert on some of
this output; update them in the same change.
- Keep the scaffold honesty the docs now carry: the description should say what
the CLI is for without implying the post/subscriber/stats verbs exist yet.
Related
The substack (binary) vs substack-cli (dist name, argparse prog) mismatch
is a separate decision, also documented in #2 but not fixed there. Worth
settling in the same pass since both touch the same strings.
The four harness prompt files and the README now describe this repo as an
agent-first CLI for managing a Substack publication (currently a scaffold) —
see #2. The CLI's own self-description still says "clonable template for
AgentCulture mesh agents", so
substack learnandsubstack --helptell anagent something every prompt file contradicts.
Surfaced by an
ask-colleague reviewon #2 as "the single most visibleremaining drift". Deliberately left out of #2, which was doc-only.
Locations
overview.py's_ARTIFACTSalso namesculture.yaml + AGENTS.colleague.mdasthe mesh identity pair, which is wrong for this repo —
culture.yamldeclaresbackend: claude, so the resident prompt isCLAUDE.md.Constraints
learnmust keep covering purpose, command map, exit codes,--json, andexplain, and stay >=200 chars —teken cli doctor . --strictchecks it.tests/test_cli.pyandtests/test_cli_introspection.pyassert on some ofthis output; update them in the same change.
the CLI is for without implying the post/subscriber/stats verbs exist yet.
Related
The
substack(binary) vssubstack-cli(dist name, argparseprog) mismatchis a separate decision, also documented in #2 but not fixed there. Worth
settling in the same pass since both touch the same strings.