SKILL.md
sn-ppt-doctor
When to use
- Before the first time you use
sn-ppt-entry/sn-ppt-creative/sn-ppt-standard, to verify env is wired - After you change
.env, to confirm - When
sn-ppt-entryreports missing-env error and tells you to come here
Hard checks (must pass before sn-ppt-entry can run)
- Text chat API key is available via
SNTEXTAPIKEY, sharedSNCHATAPIKEY, or globalSNAPIKEY - Vision chat API key is available via
SNVISIONAPIKEY, sharedSNCHATAPIKEY, or globalSNAPIKEY - Image generation API key is available via
SNIMAGEGENAPIKEYor globalSNAPIKEY sn-image-baseis discoverable andsnagentrunner.py --helpworks (auto-resolved as a sibling skill under the sameskills/directory;SNIMAGEBASEonly needed for non-standard layouts)node --version>= 18
Soft checks (warnings only)
$(pwd)/pptdecks/creatable and writable (deckdir parent; fixed — not configurable via env)sn-ppt-standard/scripts/exportpptx/nodemodulesexists (runnpm installon first use otherwise)- Optional env vars (
SNIMAGEGEN,SNCHAT,SNTEXT,SNVISION_) — displays current value or "unset" pypdf/python-docxPython deps for doc parsing in sn-ppt-entry
Invocation
Single-file entry; no package imports, no -m, no PYTHONPATH needed.
python $SKILL_DIR/ppt_doctor/check_environment.py # interactive
python $SKILL_DIR/ppt_doctor/check_environment.py --non-interactive
python $SKILL_DIR/ppt_doctor/check_environment.py --env-path /custom/.env
When used inside OpenClaw, /skill sn-ppt-doctor runs the same entry.
Output
Plain text report — one line per check — then a summary. On any hard-check failure, enters interactive mode to fill .env (unless --non-interactive).
Does NOT
- Modify
sn-image-*skills or their.env - Install packages automatically (prints install commands instead)
- Run any PPT pipeline