Debugging Executions
n8n-io/n8n
Debug failed or wrong-output workflow executions using executions tools.
The single interface for building, improving, and debugging exo workflows.
$ npx skills add ghostsecurity/skills --skill ghost-exo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ghostsecurity/skills ghost-exo --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/ghostsecurity/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/exo/skills/exo .claude/skills/ghost-exo && 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 "ghost-exo" agent skill from https://github.com/ghostsecurity/skills/tree/main/plugins/exo/skills/exo into .claude/skills/ghost-exo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost-exo", 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/ghostsecurity/skills/tree/main/plugins/exo/skills/exoType 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 ghostsecurity/skills --skill ghost-exo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ghostsecurity/skills ghost-exo --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ghostsecurity/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/exo/skills/exo .agents/skills/ghost-exo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ghost-exo" agent skill from https://github.com/ghostsecurity/skills/tree/main/plugins/exo/skills/exo into .agents/skills/ghost-exo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost-exo", 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 ghostsecurity/skills --skill ghost-exo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ghostsecurity/skills ghost-exo --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ghostsecurity/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/exo/skills/exo .cursor/skills/ghost-exo && 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 "ghost-exo" agent skill from https://github.com/ghostsecurity/skills/tree/main/plugins/exo/skills/exo into .cursor/skills/ghost-exo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost-exo", 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/ghostsecurity/skills.git --path plugins/exo/skills/exo--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 ghostsecurity/skills --skill ghost-exo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ghostsecurity/skills ghost-exo --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ghostsecurity/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/exo/skills/exo .gemini/skills/ghost-exo && 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 "ghost-exo" agent skill from https://github.com/ghostsecurity/skills/tree/main/plugins/exo/skills/exo into .gemini/skills/ghost-exo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost-exo", 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 ghostsecurity/skills ghost-exoInstalls 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 ghostsecurity/skills --skill ghost-exo -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ghostsecurity/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/exo/skills/exo .github/skills/ghost-exo && 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 "ghost-exo" agent skill from https://github.com/ghostsecurity/skills/tree/main/plugins/exo/skills/exo into .github/skills/ghost-exo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost-exo", 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 ghostsecurity/skills --skill ghost-exo -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ghostsecurity/skills ghost-exo --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ghostsecurity/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/exo/skills/exo .opencode/skills/ghost-exo && 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 "ghost-exo" agent skill from https://github.com/ghostsecurity/skills/tree/main/plugins/exo/skills/exo into .opencode/skills/ghost-exo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost-exo", 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.
ghost-exoThe single interface for building, improving, and debugging exo workflows.
Ghost Exo is an agent skill from ghostsecurity/skills. The single interface for building, improving, and debugging exo workflows. Routes to one of three intents. BUILD takes a rough idea, or an agent template slug from the ghostsecurity.ai catalog, through interrogation, assessment, resource creation in dependency order, and one manual run, then hands off. IMPROVE runs the observe-and-iterate loop over recent runs, proposing and applying changes behind two gates. DEBUG diagnoses one failed or misbehaving run by walking the dependency graph of everything it touched…
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts (for example `agents/openai.yaml`, `intents/build.md` and `intents/debug.md`).
It sits in Development, covering Debugging. It works with Model Context Protocol. The repository describes itself as: Ghost Security's collection of AppSec skills for AI coding agents. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 25fdf06. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
From 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 these keys or tokens, usually read from environment variables:
EXO_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ghost Exo loads about 1.3k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 656 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); the scripts in this folder are not scanned.
The full file from ghostsecurity/skills at commit 25fdf06, republished under its Apache-2.0 licence (© ghostsecurity). 656 words, ~1,262 tokens.
.claude/skills/ghost-exo/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.One front door for the exo workflow lifecycle. This skill is a router. It classifies the request into one of three intents, loads the shared substrate, then loads the matching intent recipe and follows it.
Exo is an agent workflow platform. Every intent drives it through an exo MCP server.
Several exo connections coexist normally, one per workspace, sometimes several on one deployment. Enumerate the exo MCP servers this session has before doing anything else.
With exactly one, use it. With more than one, ask which through the structured question tool and stop until the user answers, because a wrong guess writes to the wrong workspace. Do not switch connections partway through an intent. Start over if the target changes.
Call whoami on the chosen server. It confirms the connection and returns the workspace ID. Report that ID so the user can see which workspace they are about to change. If no exo MCP tools are present or whoami fails, read resources/bootstrap.md and follow it, then call whoami again. Do not classify an intent until it succeeds.
scripts/exo-skill.py reaches the same workspace over REST, and it has to reach the same one. It reads EXO_API_URL, EXO_API_KEY, and EXO_WORKSPACE_ID from the process environment, falling back to the profile named by --profile, which is the file ${XDG_CONFIG_HOME:-~/.config}/exo/<name>.env. Pass --profile with the name of the MCP server you chose on every call, so the two cannot point at different workspaces.
Read resources/common.md. It holds the shared substrate every intent uses: the run-walking read primitives, the worker capability rules that decide which tools a skill may use and how it declares them, the DTO discovery discipline, the resource write primitives, the runtime contract for output, metrics, completion, and memory that every step runs under, the unprobeable nodes, and the note on why the improve intent reads the debug recipe inline rather than invoking it.
| If the request is about | Intent | Read |
|---|---|---|
| Why a specific run failed, what went wrong with a run_id, diagnosing one run | debug | intents/debug.md |
| Improving, iterating on, tightening, or speeding up an existing workflow over its recent runs | improve | intents/improve.md |
| Turning an idea into a new workflow, building, creating, or scaffolding a workflow, or building from an agent template slug | build | intents/build.md |
Pick exactly one. If the request is genuinely ambiguous between intents, ask the user which one in a single question rather than guessing.
Put every question to the user through the harness's structured question tool, whatever it is called here. Free-text prose questions with bullet lists or "Q1/Q2/Q3" prompts are not allowed, even when the question feels open-ended. Bucket open areas into concrete options and let the user type a custom answer instead. Batch related questions into one call so the user answers a structured form rather than a thread of replies. Respect the current limits of the tool you have, and ask directly in prose only when no structured tool is available or the answer is inherently free-form, such as a name, a metric, or a path. This applies to intent disambiguation, the build interrogation in intents/build.md, the proposal and rerun gates in intents/improve.md, and any candidate-disambiguation prompt in intents/debug.md.
Require an explicit answer at every approval, production write, credential, and rerun gate. Never attach auto-resolution to those questions.
The boundaries between intents are intentional gates, not friction to remove. A build that ends in a first run does not auto-continue into improve, because the user owns when to cross from constructing to iterating. An improve pass that finds a failed run reads the debug walk inline rather than switching intents, because the diagnosis is a sub-procedure of the loop, not a separate request.
All paths in the intent files are relative to this skill's root directory: scripts/ for executables, resources/ for shared docs and templates, intents/ for the three recipes. agents/ holds per-harness interface metadata that no recipe reads.
© ghostsecurity, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts) in plugins/exo/skills/exo of ghostsecurity/skills.
Open the folder on GitHubat commit 25fdf06
Ghost Exo 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 |
|---|---|---|---|---|---|---|
| Ghost Exo this skillghostsecurity/skills | 408 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Debugging Executionsn8n-io/n8n | 207k | — | ~2.6k | Automated safety check: Pass | Custom licence | |
| LangBot Plugin Developmentlangbot-app/LangBot | 18k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Graph-Based Bug Tracingtirth8205/code-review-graph | 32k | 1 repos | ~287 | Automated safety check: Pass | MIT | |
| Extension Puppeteer Debuggingmengxi-ream/read-frog | 10k | — | ~2k | Automated safety check: Notes | GPL-3.0 | |
| Octocode Code Researchbgauryy/octocode | 949 | — | ~1.5k | Automated safety check: Pass | MIT |
n8n-io/n8n
Debug failed or wrong-output workflow executions using executions tools.
langbot-app/LangBot
Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.
tirth8205/code-review-graph
Traces a bug through a code knowledge graph, following callers, callees and execution flow before opening source files, within a small token budget.
mengxi-ream/read-frog
Debug the built Read Frog extension in real Chrome. An agent skill from mengxi-ream/read-frog.
bgauryy/octocode
Researches code with evidence: traces callers, imports and cross-repo links, diagnoses failures and reports findings with exact file and line references and a confidence label.
stickerdaniel/linkedin-mcp-server
Investigates a reported LinkedIn-MCP issue by matching the reporter's tool call to the exact source file and tests, without applying a fix.
ghostsecurity/skills
Scans directory structure, detects projects, maps dependencies, and documents code organization into a repo.md file.
ghostsecurity/skills
Ghost Security — combined security report. An agent skill from ghostsecurity/skills.
ghostsecurity/skills
Ghost Security - Software Composition Analysis (SCA) scanner.
ghostsecurity/skills
Ghost Security - Secrets and credentials scanner. An agent skill from ghostsecurity/skills.
Works with
Categories
The single interface for building, improving, and debugging exo workflows. Ghost Exo is an agent skill from ghostsecurity/skills. The single interface for building, improving, and debugging exo workflows.
Ghost Exo fits situations like: the user wants to create a new exo workflow; improve an existing one; find out why a specific run failed.
Run `npx skills add ghostsecurity/skills --skill ghost-exo -a claude-code`. Or copy the skill folder (plugins/exo/skills/exo in ghostsecurity/skills) into .claude/skills/ghost-exo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ghostsecurity/skills --skill ghost-exo -a codex`. Or copy the skill folder (plugins/exo/skills/exo in ghostsecurity/skills) into .agents/skills/ghost-exo 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 ghostsecurity/skills --skill ghost-exo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ghost-exo, .gemini/skills/ghost-exo, .github/skills/ghost-exo and .opencode/skills/ghost-exo in your project.
Going by SKILL.md and its folder, Ghost Exo needs Python for the scripts in its folder and credentials named EXO_API_KEY. Our summary lists: Python 3; A credential in EXO_API_KEY.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Ghost Exo is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5k 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 Ghost Exo: Debugging Executions (n8n-io/n8n, 207k stars), LangBot Plugin Development (langbot-app/LangBot, 18k stars), Graph-Based Bug Tracing (tirth8205/code-review-graph, 32k stars) and Extension Puppeteer Debugging (mengxi-ream/read-frog, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ghostsecurity (a GitHub organization) maintains it in ghostsecurity/skills, which has 408 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 28, 2026.
Source: ghostsecurity/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.