sn-ppt-doctor
|
它会碰到什么
扫了多少7 个文本文件,35 KB
它会碰到什么读凭据执行命令写文件
命中总数40 处
命中统计严重 27 · 高 11 · 中 2 · 低 0
逐条看命中(30 条严重或高危)
- 严重
ppt_doctor/__main__.py:14cred-pathsparser.add_argument("--non-interactive", action="store_true", help="Skip interactive .env prompts") - 严重
ppt_doctor/__main__.py:15cred-pathsparser.add_argument("--env-path", type=Path, default=Path.cwd() / ".env") - 严重
ppt_doctor/__main__.py:30cred-pathsprint(f"\nWrote .env at {fill.path}. Please re-run /skill sn-ppt-doctor to verify.") - 严重
ppt_doctor/check_environment.py:20cred-paths5. Interactive .env filler
- 严重
ppt_doctor/check_environment.py:41cred-paths"""Load .env into os.environ from a few well-known locations.
- 严重
ppt_doctor/check_environment.py:44cred-paths1. <repo_root>/.env (where this script sits at <repo>/skills/sn-ppt-doctor/ppt_doctor/check_environment.py)
- 严重
ppt_doctor/check_environment.py:45cred-paths2. <repo_root>/skills/.env (user may place it here)
- 严重
ppt_doctor/check_environment.py:46cred-paths3. cwd / .env (python-dotenv default)
- 严重
ppt_doctor/check_environment.py:57cred-pathsfor candidate in (repo_root / ".env", repo_root / "skills" / ".env", Path.cwd() / ".env"):
- 严重
ppt_doctor/check_environment.py:57cred-pathsfor candidate in (repo_root / ".env", repo_root / "skills" / ".env", Path.cwd() / ".env"):
- 严重
ppt_doctor/check_environment.py:57cred-pathsfor candidate in (repo_root / ".env", repo_root / "skills" / ".env", Path.cwd() / ".env"):
- 严重
ppt_doctor/check_environment.py:451cred-paths# 5. Interactive .env filler
- 严重
ppt_doctor/check_environment.py:502cred-pathsparser.add_argument("--non-interactive", action="store_true", help="Skip interactive .env prompts") - 严重
ppt_doctor/check_environment.py:503cred-pathsparser.add_argument("--env-path", type=Path, default=Path.cwd() / ".env") - 严重
ppt_doctor/check_environment.py:508cred-pathsprint("Loaded .env:") - 严重
ppt_doctor/check_environment.py:513cred-pathsprint("(No .env file loaded. Relying on OS environment variables.)\n") - 严重
ppt_doctor/check_environment.py:525cred-pathsprint(f"\nWrote .env at {fill.path}. Please re-run sn-ppt-doctor to verify.") - 严重
ppt_doctor/checks.py:17cred-paths# Load .env from well-known locations before any checks run
- 严重
ppt_doctor/checks.py:22cred-pathsfor _candidate in (_repo_root / ".env", _repo_root / "skills" / ".env", Path.cwd() / ".env"):
- 严重
ppt_doctor/checks.py:22cred-pathsfor _candidate in (_repo_root / ".env", _repo_root / "skills" / ".env", Path.cwd() / ".env"):
- 严重
ppt_doctor/checks.py:22cred-pathsfor _candidate in (_repo_root / ".env", _repo_root / "skills" / ".env", Path.cwd() / ".env"):
- 严重
ppt_doctor/interactive.py:1cred-paths"""Interactive .env filler for sn-ppt-doctor.
- 严重
SKILL.md:5cred-pathsNode runtime, and optional deps; interactively writes .env for required vars.
- 严重
SKILL.md:22cred-paths- After you change `.env`, to confirm
- 严重
SKILL.md:47cred-pathspython $SKILL_DIR/ppt_doctor/check_environment.py --env-path /custom/.env
- 严重
SKILL.md:54cred-pathsPlain text report — one line per check — then a summary. On any hard-check failure, enters interactive mode to fill `.env` (unless `--non-interactive`).
- 严重
SKILL.md:58cred-paths- Modify `sn-image-*` skills or their `.env`
- 高
ppt_doctor/check_environment.py:81cred-envreadval = os.environ.get(name, "").strip()
- 高
ppt_doctor/check_environment.py:186cred-envreadenv["PYTHONPATH"] = os.pathsep.join([skill_root, existing_pp]) if existing_pp else skill_root
- 高
ppt_doctor/check_environment.py:188exec-spawnresult = subprocess.run(
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
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
SN_TEXT_API_KEY, sharedSN_CHAT_API_KEY, or globalSN_API_KEY - Vision chat API key is available via
SN_VISION_API_KEY, sharedSN_CHAT_API_KEY, or globalSN_API_KEY - Image generation API key is available via
SN_IMAGE_GEN_API_KEYor globalSN_API_KEY sn-image-baseis discoverable andsn_agent_runner.py --helpworks (auto-resolved as a sibling skill under the sameskills/directory;SN_IMAGE_BASEonly needed for non-standard layouts)node --version>= 18
Soft checks (warnings only)
$(pwd)/ppt_decks/creatable and writable (deck_dir parent; fixed — not configurable via env)sn-ppt-standard/scripts/export_pptx/node_modulesexists (runnpm installon first use otherwise)- Optional env vars (
SN_IMAGE_GEN_,SN_CHAT_,SN_TEXT_,SN_VISION_) — 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
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
同一个仓库里的其他技能
- large-file-parquet-analysis-and-highlight
- excel-conditional-comparison-and-large-file-processing
- excel-outlier-detection-and-highlighting
- large-file-conditional-formatting
- top-value-coloring
- numeric-extraction-and-distribution-analysis
- categorical-comparison-analysis
- group-by-analysis
- large-file-kpi-analysis
- pivot-table-cross-analysis
- time-series-and-categorical-analysis
- trend-analysis