Skip to main content

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​

#StageEntryExit gateArtifact
0SetupSite existsSite, prefix, WP root, SSH user registeredconfig/sites.csv
1DiscoverRaw exportImported, deduped, source archivedkeywords.csv Discovered
2ResearchKeyword rowResearch folder has SERP evidence and 3 URLsresearch/<pid>/
3DecideResearch rowHuman decision=go + reason + factorskeywords.csv
4ClusterSelected rowRole, pillar/parent, coverage, link planclusters.csv, links.csv
5BriefCluster rowscs brief --check passes; approvedmd/<pid>--*.md (brief half)
6DraftApproved briefArticle covers brief; original insight presentmd/<pid>--*.md (article half)
7QADraft in WordPresswpw_review_status=approved + checklistpublishing.csv snapshot
8PublishQA passedSCS creates/updates a draft; later state transitions use the approved WordPress workflowpublishing.csv + WordPress
9MeasurePublishedGSC query rows + 30/90-day reviewperformance.csv
10RefreshDecay/cannibalizationAction recorded: improve / consolidate / prunekeywords.csv Refresh

Lifecycle status​

StatusMeaning
DiscoveredImported; no research yet
ResearchedResearch folder and SERP evidence exist
SelectedHuman decision=go
BriefedBrief approved
WritingDraft in progress
EditingHuman edit
QADraft in WordPress, review pending
ScheduledReview approved; ready to schedule/publish
PublishedLive
TrackingGSC data flowing
RefreshRefresh in progress
Consolidated / Pruned / RejectedTerminal 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.