← All skills
lit-pptx
80 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By wjgoarxiv/litgravity (GitHub) · coding · 167 stars · scanned at commit 53899d5
Make a .pptx slide deck from a request or sources in a chosen design direction, gate it mechanically, then look at every rendered page. Needs Python 3.10+.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this. Expected for a coding skill.
Found in 28 places.
Show 17 more
- plugin/skills/lit-pptx/scripts/compile-deck.js, line 399
const { spawnSync } = require("child_process"); - plugin/skills/lit-pptx/scripts/compile-deck.js, line 400
const resolved = spawnSync("python3", ["-B", path.resolve(__dirname, "office_data.py"), "resolve", path.resolve(inputPath)], { - plugin/skills/lit-pptx/scripts/compile-deck.js, line 445
const { execFileSync } = require("child_process"); - plugin/skills/lit-pptx/scripts/compile-deck.js, line 446
execFileSync("python3", [path.join(__dirname, "embed_fonts.py"), pptxPath], { - plugin/skills/lit-pptx/scripts/lib/runtime-require.js, line 13
const { execFileSync } = require("child_process"); - plugin/skills/lit-pptx/scripts/lib/runtime-require.js, line 20
nodeModules = execFileSync(process.execPath, [RUNTIME, "node-modules"], { - plugin/skills/lit-pptx/scripts/office_runtime_bootstrap.py, line 33
return subprocess.call([interpreter, script, *argv], env=env) - plugin/skills/lit-pptx/scripts/office_runtime_bootstrap.py, line 34
os.execve(interpreter, [interpreter, script, *argv], env) - plugin/skills/lit-pptx/scripts/office_runtime_bootstrap.py, line 57
result = subprocess.run([node, _RUNTIME, "python"], stdout=subprocess.PIPE, stderr=None, text=True, encoding="utf-8", check=False) - plugin/skills/lit-pptx/scripts/qa_deck.py, line 628
subprocess.run( - plugin/skills/lit-pptx/scripts/qa_deck.py, line 680
result = subprocess.run( - plugin/skills/lit-pptx/scripts/render_pages.py, line 76
result = subprocess.run( - plugin/skills/lit-pptx/scripts/render_pages.py, line 131
except (RuntimeError, subprocess.TimeoutExpired) as error: - plugin/lib/host-exec.mjs, line 13
import { spawnSync } from 'node:child_process'; - plugin/lib/host-exec.mjs, line 108
return spawnSync(plan.command, plan.args, plan.shell ? { ...options, shell: true } : options); - plugin/lib/python-pick.mjs, line 5
import { spawnSync } from 'node:child_process'; - plugin/lib/python-pick.mjs, line 16
const r = spawnSync(command, ['-c', "import sys; print('%d.%d.%d' % sys.version_info[:3])"], { encoding: 'utf8', timeout: 15000 });
and 8 more places
Downloads and installs other software
The author does not mention this. It runs automatically when the plugin is installed.
Found in 9 places.
Show 6 more
- plugin/skills/lit-pptx/references/build-loop.md, line 22
- Installs run `npm ci --ignore-scripts` and `pip install --only-binary=:all:`; nothing is installed globally and no agy configuration is touched. One installer - plugin/skills/lit-pptx/references/build-loop.md, line 24
Failure vocabulary: `OFFICE_RUNTIME_PYTHON_UNAVAILABLE` (no interpreter of 3.10 or newer), `OFFICE_RUNTIME_VENV_FAILED`, `OFFICE_RUNTIME_PYTHON_INSTALL_FAILED` - plugin/skills/lit-pptx/scripts/office-runtime.mjs, line 184
throw new Error(`OFFICE_RUNTIME_PYTHON_INSTALL_FAILED: pip install failed (${describeSpawn(pip)})`); - plugin/lib/python-pick.mjs, line 53
const install = platform === 'win32' ? 'winget install Python.Python.3.12, or python.org' : 'brew install python@3.14'; - plugin/lib/python-pick.mjs, line 61
detail: `python3 is ${base.version}, newer than ${dotted(PYTHON_NEWEST)}, and no python3.14 to python3.10 is on PATH. The pinned wheels stop at ${dotted(PYTHON_ - plugin/hooks/session-start.mjs, line 38
parts.push(`Update: LitGravity ${latest} is available (installed ${version}). Mention it once if the user asks about LitGravity; the update command is \`npx @li
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'lit-pptx' ] || [ -L ~/.agents/skills/'lit-pptx' ]; then echo 'A skill folder named lit-pptx already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/wjgoarxiv/litgravity' "$d" && git -C "$d" checkout --quiet '53899d5885b11bc5b687f17c21aae0e380549874' -- 'plugin/skills/lit-pptx' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugin/skills/lit-pptx' ~/.agents/skills/'lit-pptx' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'lit-pptx' ~/.claude/skills/'lit-pptx' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for wjgoarxiv/litgravity shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/wjgoarxiv/litgravity/)
Score history
| Date | Version | Score |
|---|
| 2026-11-10 | 53899d5 | 80 |
| 2026-11-07 | 99d1012 | 80 |