Workflow
SCS is a state machine, not a keyword spreadsheet. Every content item moves through explicit gates. The CSV is the control plane; Markdown is the work product; WordPress is the review and publishing surface.
End-to-end flow
| # | Stage | Entry | Exit gate | Artifact |
|---|---|---|---|---|
| 0 | Setup | Site exists | Site, prefix, WP root, SSH user registered | config/sites.csv |
| 1 | Discover | Raw export | Imported, deduped, source archived | keywords.csv Discovered |
| 2 | Research | Keyword row | Research folder has SERP evidence and 3 URLs | research/<pid>/ |
| 3 | Decide | Research row | Human decision=go + reason + factors | keywords.csv |
| 4 | Cluster | Selected row | Role, pillar/parent, coverage, link plan | clusters.csv, links.csv |
| 5 | Brief | Cluster row | scs brief --check passes; approved | md/<pid>--*.md (brief half) |
| 6 | Draft | Approved brief | Article covers brief; original insight present | md/<pid>--*.md (article half) |
| 7 | QA | Draft in WordPress | wpw_review_status=approved + checklist | publishing.csv snapshot |
| 8 | Publish | QA passed | SCS creates/updates a draft; later state transitions use the approved WordPress workflow | publishing.csv + WordPress |
| 9 | Measure | Published | GSC query rows + 30/90-day review | performance.csv |
| 10 | Refresh | Decay/cannibalization | Action recorded: improve / consolidate / prune | keywords.csv Refresh |
Lifecycle status
| Status | Meaning |
|---|---|
Discovered | Imported; no research yet |
Researched | Research folder and SERP evidence exist |
Selected | Human decision=go |
Briefed | Brief approved |
Writing | Draft in progress |
Editing | Human edit |
QA | Draft in WordPress, review pending |
Scheduled | Review approved; ready to schedule/publish |
Published | Live |
Tracking | GSC data flowing |
Refresh | Refresh in progress |
Consolidated / Pruned / Rejected | Terminal actions |
scs check enforces the status gates. A typo in status is a validation error,
not a silent skip.
Commands
scs workspace bs
scs import-csv --site fundamentalstock --workspace bs --source Writerzen export.csv
scs score --workspace bs
scs research --workspace bs --pid FS-0001
scs research --workspace bs --pid FS-0001 --check
scs brief --workspace bs --pid FS-0001
scs brief --workspace bs --pid FS-0001 --check
scs brief --workspace bs --pid FS-0001 --approve
scs sync --workspace bs
scs publish --workspace bs --pid FS-0001 --dry-run
scs publish --workspace bs --pid FS-0001
scs publish --workspace bs --pid FS-0001 --to pending
scs qa open --workspace bs --pid FS-0001
scs qa pull --workspace bs --pid FS-0001
scs qa check --workspace bs --pid FS-0001 --advance
scs check --workspace bs
The three hard gates
Research gate. Researched and above require
research/<pid>/README.md and serp.md with at least 3 competitor URLs.
Brief gate. Briefed and above require an approved brief, the required
fields in briefs.csv, and a passing scs brief --check.
QA gate. Scheduled and above require qa_status=approved, a reviewer, a
review date, and the WordPress review checklist. The review lives in WordPress;
SCS only reads and enforces it.
What is manual by design
- The keyword decision (GOS is supporting).
- The brief prose and differentiation angle.
- The article draft.
- The WordPress visual review.
- The publishing-state decision (the terminal executes it).
SCS automates paths, front matter, validation, draft creation, and QA read-back. In the current CLI, publishing-state transitions beyond draft are performed through the site's approved WordPress workflow. SCS does not automate judgement.