.claude/skills/init-strategy/SKILL.md
Scaffold a new strategy directory for $ARGUMENTS. If tools/init_strategy.sh exists: ```bash bash tools/init_strategy.sh $ARGUMENTS ``` Otherwise, create the structure manually: ```bash mkdir -p strategies/$ARGUMENTS/{input,extract/images,artifacts,synth,spec,repo/src/$ARGUMENTS,repo/tests,repo/notebooks,tex} touch strategies/$ARGUMENTS/repo/src/$ARGUMENTS/__init__.py touch strategies/$ARGUMENTS/repo/tests/__init__.py ``` Then create strategies/$ARGUMENTS/input/meta.json: ```json { "strategy
npx skillsauth add rockandrolla13/quant-research-workflow .claude/skills/init-strategyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scaffold a new strategy directory for $ARGUMENTS.
If tools/init_strategy.sh exists:
bash tools/init_strategy.sh $ARGUMENTS
Otherwise, create the structure manually:
mkdir -p strategies/$ARGUMENTS/{input,extract/images,artifacts,synth,spec,repo/src/$ARGUMENTS,repo/tests,repo/notebooks,tex}
touch strategies/$ARGUMENTS/repo/src/$ARGUMENTS/__init__.py
touch strategies/$ARGUMENTS/repo/tests/__init__.py
Then create strategies/$ARGUMENTS/input/meta.json:
{
"strategy_id": "$ARGUMENTS",
"title": "",
"authors": [],
"date": "",
"source_url": "",
"notes": ""
}
Tell the user: "Strategy $ARGUMENTS scaffolded. Drop the PDF at strategies/$ARGUMENTS/input/source.pdf, then run /process-pdf $ARGUMENTS"
tools
Review the spec for strategy $ARGUMENTS by calling Gemini, then fix any issues. ## Step 1: Validate gate first ```bash .venv-extract/bin/python tools/validate_spec.py strategies/$ARGUMENTS/spec/spec.yaml ``` If this fails, fix spec.yaml until it passes. Do not call Gemini on an invalid spec. ## Step 2: Call Gemini ```bash .venv-extract/bin/python tools/call_gemini.py --mode review \ --spec strategies/$ARGUMENTS/spec/spec.yaml \ --formula strategies/$ARGUMENTS/synth/formula.md \ --outp
development
Review Codex's implementation of strategy $ARGUMENTS against the locked spec. ## Step 1: Load the contract Read strategies/$ARGUMENTS/spec/spec.yaml — this is the source of truth. ## Step 2: Check function signatures For each module in spec.yaml modules[]: - Open strategies/$ARGUMENTS/repo/src/$ARGUMENTS/{module.filename} - Verify every function signature matches spec.yaml EXACTLY - Flag any missing functions, wrong argument names, wrong types, wrong defaults ## Step 3: Check test coverage
tools
Process a PDF through the full extraction → synthesis → spec → review pipeline. $ARGUMENTS is the strategy_id. The PDF must already be at strategies/$ARGUMENTS/input/source.pdf --- ## Stage 1: Extract (two-pass) Run: ```bash ./tools/run-extract.sh python tools/ingest.py strategies/$ARGUMENTS/input/source.pdf --strategy-id $ARGUMENTS ``` This produces: - `extract/raw.md` — raw OCR/layout extraction (pass 1) - `artifacts/01-extraction.md` — tagged structured extraction (pass 2) Verify both f
tools
Show the pipeline status for strategy $ARGUMENTS. ```bash .venv-extract/bin/python tools/update_state.py strategies/$ARGUMENTS --status ``` If the status script doesn't exist yet, check manually: 1. **extract:** Does strategies/$ARGUMENTS/extract/raw.md exist and have content? 2. **synth:** Do strategies/$ARGUMENTS/synth/strategy.md and formula.md exist? 3. **spec:** Does strategies/$ARGUMENTS/spec/spec.yaml exist? Run validate_spec.py on it. 4. **review:** Does strategies/$ARGUMENTS/spec/rev