skills/scientific-writing/references/cli_reference.md
All bundled commands use only the Python standard library. They:
.env files;Run from the skill directory with Python 3.11 or newer.
python3 scripts/scaffold_manuscript.py \
--output-dir ./draft-workspace \
--document-id local-draft \
--study-design randomized_trial \
--guideline consort-2025
The output directory must not exist. The command never overwrites files. Generated documents are explicitly incomplete and not submission-ready.
python3 scripts/validate_manifest.py manuscript_manifest.json --kind manuscript
python3 scripts/validate_manifest.py source_manifest.json --kind source
python3 scripts/validate_manifest.py source_manifest.json --kind source --require-verified
The validator checks structure, IDs, verification gates, confidentiality status, and required-statement status. It does not read files named inside the manifest.
python3 scripts/select_reporting_guidelines.py select --study-design systematic_review
python3 scripts/select_reporting_guidelines.py check reporting_coverage.json
Selection and coverage are non-scoring. Open the official guideline after selection.
python3 scripts/audit_claims.py manuscript.md claims.csv source_manifest.json
Required CSV headers:
claim_id,section,claim_kind,claim_text_sha256,evidence_ids,verification_status,uncertainty,analysis_intent
Separate multiple evidence IDs with semicolons in CSV. Use inline Markdown markers:
[claim:C001] [evidence:E001,E002]
The audit also flags numeric content without a claim marker.
python3 scripts/check_consistency.py consistency_manifest.json
The command checks duplicate concepts across sections, units, percentages against numerators and denominators, sample sizes, evidence IDs, declared methods, outcome mappings, and confirmatory or exploratory status.
python3 scripts/check_references.py source_manifest.json
The command checks local syntax and duplicates for DOI, PMID, PMCID, ISBN, URL, and normalized title. It never resolves an identifier; a human must compare each value with the opened source.
python3 scripts/validate_authorship.py authorship.json
The command checks human authorship criteria, exact CRediT role names, corresponding author and guarantor IDs, final approval, hashed declarations, AI disclosure, human verification, journal-policy review, and authorization gates for restricted material.
python3 scripts/lint_manuscript.py manuscript.md \
--manifest manuscript_manifest.json
Possible sensitive-content findings are review prompts, not a de-identification certificate. The linter intentionally fails on unresolved placeholders.
0: no error-level findings;1: invalid input or one or more error-level findings.Warnings still require human review. JSON output is deterministic for the same inputs.