Answer Me With HTML
QingYunA/answer-me-with-html
Turns an answer into a one-page visual HTML explainer: the model writes a short Markdown draft and the bundled CLI builds one page.
Default constraints for every RunJam session. An agent skill from peintune/runjam.
$ npx skills add peintune/runjam --skill runjam-defaults -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install peintune/runjam runjam-defaults --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/peintune/runjam.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/runjam-defaults .claude/skills/runjam-defaults && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "runjam-defaults" agent skill from https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaults into .claude/skills/runjam-defaults/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runjam-defaults", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaultsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add peintune/runjam --skill runjam-defaults -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install peintune/runjam runjam-defaults --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peintune/runjam.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/runjam-defaults .agents/skills/runjam-defaults && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "runjam-defaults" agent skill from https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaults into .agents/skills/runjam-defaults/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runjam-defaults", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add peintune/runjam --skill runjam-defaults -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install peintune/runjam runjam-defaults --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peintune/runjam.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/runjam-defaults .cursor/skills/runjam-defaults && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "runjam-defaults" agent skill from https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaults into .cursor/skills/runjam-defaults/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runjam-defaults", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/peintune/runjam.git --path .codex/skills/runjam-defaults--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add peintune/runjam --skill runjam-defaults -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install peintune/runjam runjam-defaults --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peintune/runjam.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/runjam-defaults .gemini/skills/runjam-defaults && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "runjam-defaults" agent skill from https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaults into .gemini/skills/runjam-defaults/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runjam-defaults", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install peintune/runjam runjam-defaultsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add peintune/runjam --skill runjam-defaults -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/peintune/runjam.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/runjam-defaults .github/skills/runjam-defaults && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "runjam-defaults" agent skill from https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaults into .github/skills/runjam-defaults/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runjam-defaults", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add peintune/runjam --skill runjam-defaults -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install peintune/runjam runjam-defaults --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peintune/runjam.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/runjam-defaults .opencode/skills/runjam-defaults && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "runjam-defaults" agent skill from https://github.com/peintune/runjam/tree/main/.codex/skills/runjam-defaults into .opencode/skills/runjam-defaults/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runjam-defaults", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
runjam-defaultsDefault constraints for every RunJam session. An agent skill from peintune/runjam.
Runjam Defaults is an agent skill from peintune/runjam. Default constraints for every RunJam session. Defines output path conventions, dependency checking rules, fallback strategies, and file management discipline. This skill is auto-injected into every session — do not remove. Current session working directory: /Users/hekun/work/code/runjam
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering File organization. The repository describes itself as: One desktop for all your AI coding Agent — Claude Code, Codex CLI & Gemini CLI. Auto-detect, one-click install, unified chat, file explorer, terminal & editor. Local-first. Built… The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b186c61. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonffmpegFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Runjam Defaults loads about 2.7k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 1,245 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from peintune/runjam at commit b186c61, republished under its MIT licence (© peintune). 1,245 words, ~2,749 tokens.
.claude/skills/runjam-defaults/SKILL.md (or your agent's skills folder).These are non-negotiable defaults that apply to every session. They prevent common Agent mistakes: outputting files to wrong directories, using unavailable dependencies without a fallback, and making assumptions about the environment.
Treat every rule below as a HARD RULE — violating any one means the task is not done, regardless of content quality.
Every relative path in this document and in every skill's SKILL.md is relative to the SESSION WORKING DIRECTORY — NOT the skill's own directory.
| Term | Meaning |
|---|---|
| Session working directory | The directory where the Agent process runs. This is the session root — e.g. ~/.runjam/session/<id>/ or the user-selected project folder. All ./ paths resolve here. |
| Skill directory | Where the SKILL.md lives — e.g. .claude/skills/ppt-generation/. NEVER create outputs/ or workspace/ inside a skill directory. The skill directory is read-only resources. |
/Users/hekun/work/code/runjam
The Agent process was started with this directory as its cwd. Every relative path below resolves relative to it. If pwd disagrees with the absolute path above, trust the absolute path above and cd to it first — it is the authoritative session root for this session.
When a SKILL.md says ./outputs/ or ./workspace/, it means:
<session working directory>/outputs/ ← deliverables go HERE
<session working directory>/workspace/ ← helper scripts go HERENOT:
<session working directory>/.claude/skills/<skill-name>/outputs/ ← WRONG
<session working directory>/.claude/skills/<skill-name>/workspace/ ← WRONGAt the top of any Python script you generate, include this guard to ensure outputs land in the session root, not inside a skill folder:
import os
# Ensure we're writing to the session working directory, not a skill folder.
# If the cwd contains '.claude/skills' or '.codex/skills' or '.gemini/skills',
# walk up to the session root (the parent of the .claude/.codex/.gemini dir).
_cwd = os.getcwd()
for _marker in ('.claude', '.codex', '.gemini'):
_idx = _cwd.find(os.sep + _marker + os.sep + 'skills')
if _idx != -1:
os.chdir(_cwd[:_idx]) # session root = parent of .claude/.codex/.gemini
break
SESSION_ROOT = os.getcwd()
OUTPUTS_DIR = os.path.join(SESSION_ROOT, 'outputs')
WORKSPACE_DIR = os.path.join(SESSION_ROOT, 'workspace')
os.makedirs(OUTPUTS_DIR, exist_ok=True)
os.makedirs(WORKSPACE_DIR, exist_ok=True)Then use OUTPUTS_DIR (an absolute path) for all deliverable paths:
OUTPUT_PATH = os.path.join(OUTPUTS_DIR, "report.pptx") # ✅ absolute, session-root
# NOT: "./outputs/report.pptx" ← ambiguous, may land in skill dirpwd # should show session root, NOT .../skills/<name>
# If pwd contains 'skills/', you are in the wrong directory. cd to session root first.
mkdir -p ./outputs ./workspace # creates in session rootAll generated files (documents, images, presentations, archives, scripts written for the user's deliverable) MUST be placed in the session working directory's outputs/ folder — NOT inside any skill directory.
Before creating any output file:
mkdir -p ./outputs # run from session root (see §0)Acceptable (all relative to session working directory):
./outputs/report.pptx./outputs/chart.png./outputs/data.xlsx./outputs/exported-doc.pdfNot acceptable:
./report.pptx (in session root directly)~/Desktop/report.pptx (user home)./tmp/result.pptx (random subdir).claude/skills/<skill-name>/outputs/report.pptx (inside skill directory — FORBIDDEN)./outputs/ unless it's part of the project's own code structure.Exception: Code files that belong to the project (e.g. under ./src/, ./components/, ./tests/) follow the project's existing conventions. Config files at project root (e.g. tsconfig.json, vite.config.ts) are also fine.
Verification step: After producing a deliverable file, run from the session root:
ls -la ./outputs/<filename>and confirm the file exists and has non-zero size. If the file is not there, check whether it accidentally landed inside .claude/skills/*/outputs/ — if so, move it to the session root's ./outputs/ and fix your script.
Before using any skill, library, or CLI tool, check that its dependencies are actually available.
| Dependency | Probe command |
|---|---|
python-pptx | python -c "import pptx; print(pptx.__version__ if hasattr(pptx,'__version__') else 'ok')" 2>&1 |
officecli | officecli --version |
| Any Python package | python -c "import <pkg>" 2>&1 |
| Any binary tool | command -v <tool> or which <tool> |
| A skill's bundled scripts | ls <skill-dir>/scripts/ |
ImageMagick / convert | convert --version |
FFmpeg / ffmpeg | ffmpeg -version |
| Primary workflow | Available | Action |
|---|---|---|
| Skill's primary approach + its dependencies | ✅ All present | Use primary workflow as documented in the skill |
| Skill's primary approach has missing deps | ❌ but skill documents a fallback | Use the documented fallback, tell the user which approach you switched to and why |
| Skill's primary approach has missing deps | ❌ and skill documents no fallback | Report the missing dependency to the user. Ask: (a) install X, (b) try alternative Y, or (c) suggest a different plan. Do NOT silently invent a replacement. |
Golden rule: read before you write. If the skill has a SKILL.md header note, dependency check step, or setup section — read and run it first. Do not skip setup steps.
When a primary workflow is unavailable:
python-pptx for text-based slides (all text editable, often the better choice for reports anyway).officecli → use python-pptx / python-docx / openpyxl for Office documents.pypdf / reportlab Python packages are available."I need X to do Y, but X is not available. Options: (a) install X, (b) use alternative Z that I have available, or (c) tell me another plan."
Never silently switch approaches without telling the user what changed and why. A one-sentence note is required.
./outputs/ unless they are part of the project's own code structure (source files, tests, configs).outputs/ or workspace/ directories inside skill folders (.claude/skills/*/, .codex/skills/*/, .gemini/skills/*/). Skill folders are read-only resources. See §0..md files unless the user explicitly asked../workspace/. If you write a one-off helper, consider whether it's worth keeping — otherwise, flag it as "helper, can be deleted after the run" in the output../outputs/) with non-zero size.When a skill is loaded and active:
python-pptx to build the deck programmatically. Result: all text will be fully editable (copy/search) with consistent typography."./outputs/project-management-best-practices.pptx"$, !!, #, spaces, or special characters into a shell command, single-quote the value to prevent expansion. In Python subprocess.run([...]) list form, quoting is not needed../workspace/ for helpers) instead of cramming it into python -c "...". Quoting hell is avoidable.sk-...abcd not the full key../outputs/ (NOT inside .claude/skills/*/outputs/).ls -la ./outputs/<filename> confirmed from session root).outputs/ or workspace/ directories were created inside skill folders.© peintune, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .codex/skills/runjam-defaults of peintune/runjam.
Open the folder on GitHubat commit b186c61
Runjam Defaults next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Runjam Defaults this skillpeintune/runjam | 228 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Answer Me With HTMLQingYunA/answer-me-with-html | 1.9k | — | ~4.7k | Automated safety check: Pass | MIT | |
| Feishu Driveraucvr/Group-Goki | 112 | 3 repos | ~587 | Automated safety check: Pass | MIT | |
| PikpakBengerthelorf/pikpaktui | 120 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Advanced File ManagementMassLab-SII/open-agent-skills | 133 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| File Organizeralibaba/skill-up | 1.1k | — | ~374 | Automated safety check: Pass | Apache-2.0 |
QingYunA/answer-me-with-html
Turns an answer into a one-page visual HTML explainer: the model writes a short Markdown draft and the bundled CLI builds one page.
raucvr/Group-Goki
Feishu cloud storage file management. An agent skill from raucvr/Group-Goki.
Bengerthelorf/pikpaktui
Manage PikPak cloud storage — browse, upload, download, stream, share, and organize files via CLI.
MassLab-SII/open-agent-skills
Advanced file management tools. An agent skill from MassLab-SII/open-agent-skills.
alibaba/skill-up
Triggered when the user needs to organize project files, analyze directory structure, or generate a project report.
WecomTeam/wecom-cli
Lists, searches, uploads, downloads and renames files on WeCom Disk (微盘) and creates folders there, through the wecom-cli tool.
peintune/runjam
Render Mermaid diagrams as SVG or ASCII art using beautiful-mermaid.
peintune/runjam
A skill your agent uses when development work is complete and you need to prepare for merge.
peintune/runjam
A skill your agent uses when the user requests to generate, create, or make presentations (PPT/PPTX).
peintune/runjam
A skill your agent uses when reviewing code for bugs, security issues, performance problems, or adherence to best practices.
peintune/runjam
A skill your agent uses when implementing any feature or bugfix, before writing implementation code.
peintune/runjam
A skill your agent uses for complex multi-step tasks. An agent skill from peintune/runjam.
Default constraints for every RunJam session. An agent skill from peintune/runjam. Runjam Defaults is an agent skill from peintune/runjam. Default constraints for every RunJam session.
Runjam Defaults fits situations like: tasks that involve File organization.
Run `npx skills add peintune/runjam --skill runjam-defaults -a claude-code`. Or copy the skill folder (.codex/skills/runjam-defaults in peintune/runjam) into .claude/skills/runjam-defaults in your project. Claude Code loads it when a task matches its description.
Run `npx skills add peintune/runjam --skill runjam-defaults -a codex`. Or copy the skill folder (.codex/skills/runjam-defaults in peintune/runjam) into .agents/skills/runjam-defaults in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add peintune/runjam --skill runjam-defaults -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/runjam-defaults, .gemini/skills/runjam-defaults, .github/skills/runjam-defaults and .opencode/skills/runjam-defaults in your project.
Going by SKILL.md and its folder, Runjam Defaults needs the command-line tools its instructions call (python and ffmpeg). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Runjam Defaults is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Runjam Defaults: Answer Me With HTML (QingYunA/answer-me-with-html, 1.9k stars), Feishu Drive (raucvr/Group-Goki, 112 stars), Pikpak (Bengerthelorf/pikpaktui, 120 stars) and Advanced File Management (MassLab-SII/open-agent-skills, 133 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
peintune (a GitHub user) maintains it in peintune/runjam, which has 228 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 5, 2026.
Source: peintune/runjam on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.