Skill Tracer
Skills › Scientific Agent Skills › scientific-writing › cli_reference.md

cli_reference.md

120 lines · skills/scientific-writing/references/cli_reference.md at 5f2bc03

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Local CLI Reference
2
3All bundled commands use only the Python standard library. They:
4
5- accept explicit UTF-8 JSON, CSV, or Markdown files;
6- reject symbolic-link inputs;
7- cap file size, records, fields, JSON nodes, and nesting;
8- make no network calls;
9- read no environment variables or `.env` files;
10- perform no dynamic evaluation or pickle loading;
11- report issue codes, IDs, and line numbers without echoing manuscript or source text.
13Run from the skill directory with Python 3.11 or newer.

Local CLI Reference

All bundled commands use only the Python standard library. They:

  • accept explicit UTF-8 JSON, CSV, or Markdown files;
  • reject symbolic-link inputs;
  • cap file size, records, fields, JSON nodes, and nesting;
  • make no network calls;
  • read no environment variables or .env files;
  • perform no dynamic evaluation or pickle loading;
  • report issue codes, IDs, and line numbers without echoing manuscript or source text.

Run from the skill directory with Python 3.11 or newer.

Raw lines 1 to 14
15## Scaffold
17```bash
18python3 scripts/scaffold_manuscript.py \
19 --output-dir ./draft-workspace \
20 --document-id local-draft \
21 --study-design randomized_trial \
22 --guideline consort-2025
23```
25The output directory must not exist. The command never overwrites files. Generated
26documents are explicitly incomplete and not submission-ready.

Scaffold

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.

Raw lines 15 to 27
Runs code python3 scripts/scaffold_manuscript.py :18
28## Manifest validation
30```bash
31python3 scripts/validate_manifest.py manuscript_manifest.json --kind manuscript
32python3 scripts/validate_manifest.py source_manifest.json --kind source
33python3 scripts/validate_manifest.py source_manifest.json --kind source --require-verified
34```
36The validator checks structure, IDs, verification gates, confidentiality status, and
37required-statement status. It does not read files named inside the manifest.

Manifest validation

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.

Raw lines 28 to 38
Runs code python3 scripts/validate_manifest.py :31
39## Reporting-guideline routing and coverage
41```bash
42python3 scripts/select_reporting_guidelines.py select --study-design systematic_review
43python3 scripts/select_reporting_guidelines.py check reporting_coverage.json
44```
46Selection and coverage are non-scoring. Open the official guideline after selection.

Reporting-guideline routing and coverage

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.

Raw lines 39 to 47
Runs code python3 scripts/select_reporting_guidelines.py :42
48## Claim and citation audit
50```bash
51python3 scripts/audit_claims.py manuscript.md claims.csv source_manifest.json
52```
54Required CSV headers:
56```text
57claim_id,section,claim_kind,claim_text_sha256,evidence_ids,verification_status,uncertainty,analysis_intent
58```
60Separate multiple evidence IDs with semicolons in CSV. Use inline Markdown markers:
62```text
63[claim:C001] [evidence:E001,E002]
64```
66Use exactly one claim per physical line. The audit checks the SHA-256 digest against
67that line after removing `[claim:...]`, `[evidence:...]`, and `[@E...]` markers
68and collapsing whitespace.
69It also validates source-manifest verification metadata and flags numeric content
70without a claim marker. See `evidence_workflow.md` for normalization and limits.

Claim and citation audit

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]

Use exactly one claim per physical line. The audit checks the SHA-256 digest against that line after removing [claim:...], [evidence:...], and [@E...] markers and collapsing whitespace. It also validates source-manifest verification metadata and flags numeric content without a claim marker. See evidence_workflow.md for normalization and limits.

Raw lines 48 to 71
Runs code python3 scripts/audit_claims.py :51
72## Numeric and methods-results consistency
74```bash
75python3 scripts/check_consistency.py consistency_manifest.json
76```
78The command checks duplicate concepts across sections, units, percentages against
79numerators and denominators, sample sizes, evidence IDs, declared methods, outcome
80mappings, and confirmatory or exploratory status.

Numeric and methods-results consistency

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.

Raw lines 72 to 81
Runs code python3 scripts/check_consistency.py :75
82## Reference identifiers and duplicates
84```bash
85python3 scripts/check_references.py source_manifest.json
86```
88The command checks local syntax and duplicates for DOI, PMID, PMCID, ISBN, URL, and
89normalized title. It never resolves an identifier; a human must compare each value with
90the opened source.

Reference identifiers and duplicates

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.

Raw lines 82 to 91
Runs code python3 scripts/check_references.py :85
92## Authorship and disclosure
94```bash
95python3 scripts/validate_authorship.py authorship.json
96```
98The command checks human authorship criteria, exact CRediT role names, corresponding
99author and guarantor IDs, final approval, declaration-hash syntax, AI disclosure, human
100verification, journal-policy review, and authorization gates for restricted material.
101Its authorship criteria are ICMJE-style local gates, not all journals' criteria.
102Declaration hashes are not compared with manuscript text; manually reconcile the
103actual statements. Recorded dates must be valid calendar dates in YYYY-MM-DD form.

Authorship and disclosure

python3 scripts/validate_authorship.py authorship.json

The command checks human authorship criteria, exact CRediT role names, corresponding author and guarantor IDs, final approval, declaration-hash syntax, AI disclosure, human verification, journal-policy review, and authorization gates for restricted material. Its authorship criteria are ICMJE-style local gates, not all journals' criteria. Declaration hashes are not compared with manuscript text; manually reconcile the actual statements. Recorded dates must be valid calendar dates in YYYY-MM-DD form.

Raw lines 92 to 104
Runs code python3 scripts/validate_authorship.py :95
105## Language, placeholder, and confidentiality lint
107```bash
108python3 scripts/lint_manuscript.py manuscript.md \
109 --manifest manuscript_manifest.json
110```
112Possible sensitive-content findings are review prompts, not a de-identification
113certificate. The linter intentionally fails on unresolved placeholders.

Language, placeholder, and confidentiality lint

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.

Raw lines 105 to 114
Runs code python3 scripts/lint_manuscript.py :108
115## Exit behavior
117- exit `0`: no error-level findings;
118- exit `1`: invalid input or one or more error-level findings.
120Warnings still require human review. JSON output is deterministic for the same inputs.

Exit behavior

  • exit 0: no error-level findings;
  • exit 1: invalid input or one or more error-level findings.

Warnings still require human review. JSON output is deterministic for the same inputs.

Raw lines 115 to 120