Troubleshooting
scs check
| Message | Fix |
|---|---|
research folder is missing README.md | scs research --ws <name> --pid <pid> |
serp.md needs at least 3 competitor URLs | Add real reviewed URLs |
brief section '…' is empty | Fill sections 1–10 above <!-- scs:article --> |
brief Markdown is missing | Check md/<pid>--*.md; delete duplicate files |
brief file not found | Re-run scs sync; brief_path now equals article_path |
requires decision=go | Set decision=go and the reason fields |
requires qa_status=approved | scs qa pull, set the gate, scs qa check |
status must be one of … | Fix the typo; status is validated |
scs publish
| Message | Fix |
|---|---|
status must be Writing, Editing, QA, or Scheduled | Advance the keyword status |
brief must be Approved | scs brief --check then --approve |
article Markdown is missing | scs sync, or check the file name |
internal link target … has no wp_link | Publish the target or fill wp_link |
WordPress post … is published | Do not force a live post to draft |
permission denied / SSH errors | Check wp_root, wp_user, ssh_host |
Markers
- Brief half:
<!-- scs:brief -->…<!-- scs:article -->. - Article half: after
<!-- scs:article -->. - Missing markers: the whole body is used for checks and publishing.
Paths and titles
md_path resolves: registered article_path → single md/<pid>--*.md → title
slug. Changing a title does not rename an existing file. If two files exist for
one PID, delete the stale one.
Keybindings
mkdir -p ~/.visidatarc.d/Keybindings
ln -sf ~/github/server-side-program/scs/integrations/visidata/scs_pid.py \
~/.visidatarc.d/Keybindings/46-scs-pid.py
scs aliases --ws <name>
Restart VisiData. zP opens the PID's Markdown; gp copies its path.
Docs build
| Symptom | Fix |
|---|---|
Minimum Node.js version not met | Use Node ≥ 20 (nvm use 22) |
EACCES … .docusaurus | sudo chown -R $USER:$USER .docusaurus build |
| Broken link warnings | Add a slug: or a static/_redirects entry |