Skip to main content

CLI Usage

scs is the wrapper for scripts/scs.py. Commands that accept a workspace accept --ws as the short form of --workspace.

Setup​

CommandWhat it does
scs initCreate config/, data/, and starter CSVs
scs sitesList registered sites
scs add-site <id> --domain <host> --prefix <PREFIX>Register a site and PID prefix
scs ws <name>Create a workspace (scs <name> also works)
scs ws --listList workspaces and record counts
scs ws <name> --delete [--force]Archive a workspace
scs init
scs add-site client-site --domain client.example --prefix CLI --name "Client Site"
scs ws bs

Pipeline​

CommandWhat it does
scs import-csv --site <id> --ws <name> --source <tool> <file>Import a keyword export
scs score --ws <name>Recompute n_sv, n_kd, gos, gos_tier
scs research --ws <name> --pid <pid>Create research/<pid>/
scs research --ws <name> --pid <pid> --checkValidate research evidence
scs research ... --check --require-exportAlso require a file in exports/
scs brief --ws <name> --pid <pid>Render front matter and seed the brief
scs brief ... --checkValidate the brief half
scs brief ... --approveApprove a passing brief
scs sync --ws <name>Validate, allocate IDs, render Markdown
scs sync --ws <name> --check-onlyValidate without writing
scs check [--ws <name>]Enforce schemas, references, and gates
scs links check --ws <name>Validate the internal-link plan
scs links list --ws <name>List the internal-link plan
scs aliases --ws <name>Generate per-PID zP/gp aliases
scs all --ws <name>check + score + sync + aliases
scs import-csv --site client-site --ws bs --source Writerzen export.csv
scs score --ws bs
scs research --ws bs --pid CLI-0001
scs research --ws bs --pid CLI-0001 --check --require-export
scs brief --ws bs --pid CLI-0001
scs brief --ws bs --pid CLI-0001 --check
scs brief --ws bs --pid CLI-0001 --approve
scs sync --ws bs
scs check --ws bs

Publishing​

CommandWhat it does
scs wp draft --ws <name> --pid <pid> --dry-runBuild the payload locally
scs wp draft --ws <name> --pid <pid>Create or update the draft
scs wp publish now --ws <name> --pid <pid>Publish live now (QA gate required)
scs wp publish 2026/12/31 --ws <name> --pid <pid>Schedule a future publish date
scs wp publish <article.md>Apply desired state from CSV/front matter
scs wp status --ws <name> --pid <pid>Read WordPress state back
scs wp ... --forceUpdate a post SCS did not create
scs wp inspect --ws <name> --site <id>Inspect ACF/taxonomy contract
scs wp diff --ws <name> --pid <pid>Diff local article vs WordPress
scs wp pull-content --ws <name> --pid <pid>Save a WordPress review snapshot
scs wp draft --ws bs --pid CLI-0001 --dry-run
scs wp draft --ws bs --pid CLI-0001
scs wp publish now --ws bs --pid CLI-0001
scs wp publish 2026/12/31 --ws bs --pid CLI-0001
scs wp status --ws bs --pid CLI-0001
note

The documented publishing contract adds SCS draft publishing and --status read-back; later status transitions use the site's approved WordPress workflow (the CLI has no --to/--date flags). Check scs publish --help in the installed release.

Review​

CommandWhat it does
scs qa open --ws <name> --pid <pid>Print the WordPress edit URL
scs qa pull --ws <name> --pid <pid>Read the review gate into publishing.csv
scs qa check --ws <name> --pid <pid>Fail unless approved
scs qa check ... --advanceSet keyword status Scheduled on pass
scs qa open --ws bs --pid CLI-0001
scs qa pull --ws bs --pid CLI-0001
scs qa check --ws bs --pid CLI-0001 --advance

Accepted values​

Flag / fieldValues
--sourceSpyFu, GKP, Writerzen, NeuronWriter, Manual, AI, Other
decisiongo, hold, no
statusDiscovered, Researched, Selected, Briefed, Writing, Editing, QA, Scheduled, Published, Tracking, Refresh, Consolidated, Pruned, Rejected
kc_typeTopic, Pillar Page, Keyword Cluster, Sub Topic, Supporting
brief_depthfull, standard, light

Common workflows​

New site

scs add-site client-site --domain client.example --prefix CLI
scs ws bs
scs import-csv --site client-site --ws bs --source Manual export.csv
scs score --ws bs

One article

scs research --ws bs --pid CLI-0001
scs brief --ws bs --pid CLI-0001
scs brief --ws bs --pid CLI-0001 --check
scs brief --ws bs --pid CLI-0001 --approve
scs sync --ws bs
scs check --ws bs
scs wp draft --ws bs --pid CLI-0001 --dry-run
scs wp draft --ws bs --pid CLI-0001
scs qa pull --ws bs --pid CLI-0001
scs qa check --ws bs --pid CLI-0001 --advance
scs wp publish now --ws bs --pid CLI-0001
scs qa check --ws bs --pid CLI-0001 --advance

Before a weekly review

scs check
scs links check --ws bs
scs wp status --ws bs --pid CLI-0001

Where things live​

data/<workspace>/
├── <workspace>-keywords.csv
├── <workspace>-clusters.csv
├── <workspace>-briefs.csv
├── <workspace>-links.csv
├── <workspace>-publishing.csv
├── <workspace>-performance.csv
├── research/<pid>/
└── md/<pid>--<slug>.md