Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
Debug Python: pdb REPL + debugpy remote (DAP). An agent skill from Prismer-AI/PrismerCloud.
$ npx skills add Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Prismer-AI/PrismerCloud prismer-python-debugpy --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/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sdk/cloud/catalog/skills/prismer-python-debugpy .claude/skills/prismer-python-debugpy && 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 "prismer-python-debugpy" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpy into .claude/skills/prismer-python-debugpy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prismer-python-debugpy", 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/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpyType 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 Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Prismer-AI/PrismerCloud prismer-python-debugpy --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .agents/skills && cp -r skills-src/sdk/cloud/catalog/skills/prismer-python-debugpy .agents/skills/prismer-python-debugpy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "prismer-python-debugpy" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpy into .agents/skills/prismer-python-debugpy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prismer-python-debugpy", 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 Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Prismer-AI/PrismerCloud prismer-python-debugpy --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/sdk/cloud/catalog/skills/prismer-python-debugpy .cursor/skills/prismer-python-debugpy && 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 "prismer-python-debugpy" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpy into .cursor/skills/prismer-python-debugpy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prismer-python-debugpy", 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/Prismer-AI/PrismerCloud.git --path sdk/cloud/catalog/skills/prismer-python-debugpy--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 Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Prismer-AI/PrismerCloud prismer-python-debugpy --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/sdk/cloud/catalog/skills/prismer-python-debugpy .gemini/skills/prismer-python-debugpy && 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 "prismer-python-debugpy" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpy into .gemini/skills/prismer-python-debugpy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prismer-python-debugpy", 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 Prismer-AI/PrismerCloud prismer-python-debugpyInstalls 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 Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .github/skills && cp -r skills-src/sdk/cloud/catalog/skills/prismer-python-debugpy .github/skills/prismer-python-debugpy && 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 "prismer-python-debugpy" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpy into .github/skills/prismer-python-debugpy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prismer-python-debugpy", 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 Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Prismer-AI/PrismerCloud prismer-python-debugpy --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/sdk/cloud/catalog/skills/prismer-python-debugpy .opencode/skills/prismer-python-debugpy && 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 "prismer-python-debugpy" agent skill from https://github.com/Prismer-AI/PrismerCloud/tree/main/sdk/cloud/catalog/skills/prismer-python-debugpy into .opencode/skills/prismer-python-debugpy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prismer-python-debugpy", 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.
prismer-python-debugpyDebug Python: pdb REPL + debugpy remote (DAP). An agent skill from Prismer-AI/PrismerCloud.
Prismer Python Debugpy is an agent skill from Prismer-AI/PrismerCloud. Debug Python: pdb REPL + debugpy remote (DAP).
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `NOTICE.md` and `scripts/dap_client.py`).
It sits in Testing & QA. It works with Python. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5d9444. 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.
Shell commands in SKILL.md call:
pythonpiprgpytestgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip and git, which can reach the network depending on how they are called.
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.
Prismer Python Debugpy loads about 3.5k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 1,328 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 Prismer-AI/PrismerCloud at commit e5d9444, republished under its MIT licence (© Prismer-AI). 1,328 words, ~3,474 tokens.
.claude/skills/prismer-python-debugpy/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This is the uniquely named prismer-python-debugpy skill, adapted from Hermes.
Use the actual tools exposed by the executing host; examples using terminal,
process, delegate_task, vision_analyze or browser_* are not tool registrations.
Missing dependencies do not hide this skill. Report command startup, version,
account/permissions and task-specific live verification separately. Use task-owned
artifact paths and existing user authorization; do not change shared accounts,
Runtime/provider configuration, global security settings or unrelated work.
See NOTICE.md and LICENSE for resource provenance. Runtime availability and
upstream-entry suppression are owned by the integration layer.
Three tools, picked by situation:
| Tool | When |
|---|---|
breakpoint() + pdb | Local, interactive, simplest. Add breakpoint() in the source, run normally, get a REPL at that line. |
python -m pdb | Launch an existing script under pdb with no source edits. Useful for quick poking. |
debugpy | Remote / headless / "attach to already-running process." Talks DAP, scriptable from terminal, works for long-lived processes (gateway, daemon, PTY children). |
Start with breakpoint(). It's the cheapest thing that works.
_SlashWorker, PTY bridge worker) is the actual bug siteDon't use for: things print() / logging.debug solve in under a minute, or things pytest -vv --tb=long --showlocals already reveals.
Inside any pdb prompt ((Pdb)):
| Command | Action |
|---|---|
h / h cmd | help |
n | next line (step over) |
s | step into |
r | return from current function |
c | continue |
unt N | continue until line N |
j N | jump to line N (same function only) |
l / ll | list source around current line / full function |
w | where (stack trace) |
u / d | move up / down in the stack |
a | print args of the current function |
p expr / pp expr | print / pretty-print expression |
display expr | auto-print expr on every stop |
b file:line | set breakpoint |
b func | break on function entry |
b file:line, cond | conditional breakpoint |
cl N | clear breakpoint N |
tbreak file:line | one-shot breakpoint |
!stmt | execute arbitrary Python (assignments included) |
interact | drop into full Python REPL in current scope (Ctrl+D to exit) |
q | quit |
The interact command is the most powerful — you can import anything, inspect complex objects, even call methods that mutate state. Locals are read-only by default; use !x = 42 from the (Pdb) prompt to mutate.
Easiest. Edit the file:
def compute(x, y):
result = some_helper(x)
breakpoint() # <-- drops into pdb here
return result + yRun the code normally. You land at the breakpoint() line with full access to locals.
Don't forget to remove breakpoint() before committing. Use git diff or a pre-commit grep:
rg -n 'breakpoint\(\)' --type pypython -m pdb path/to/script.py arg1 arg2
# Lands at first line of script
(Pdb) b path/to/script.py:42
(Pdb) cUse raw pytest in a scoped test environment for an interactive debugger:
# Drop to pdb on failure (or on any raised exception):
python -m pytest <exact-test-path> -x --pdb
# Drop to pdb at the START of the test:
python -m pytest tests/path/to/test_file.py::test_name --trace
# Show locals in tracebacks without pdb:
python -m pytest tests/path/to/test_file.py --showlocals --tb=longThe repository runner may capture output and cannot always support pdb. For an interactive session use a TTY and select one test, then rerun the actual canonical runner non-interactively for regression verification:
source .venv/bin/activate
python -m pytest tests/foo_test.py::test_bar --pdbKeep the test environment isolated; do not import shared production credentials.
import pdb, sys
try:
run_the_thing()
except Exception:
pdb.post_mortem(sys.exc_info()[2])Or wrap a whole script:
python -m pdb -c continue script.py
# When it crashes, pdb catches it and you're in the frame of the exceptionOr set a global hook in a repl/jupyter:
import sys
def excepthook(etype, value, tb):
import pdb; pdb.post_mortem(tb)
sys.excepthook = excepthookFor long-lived processes: Hermes gateway, tui_gateway, a daemon, a process that's already misbehaving and can't be restarted clean.
source <hermes-agent-repo>/.venv/bin/activate
pip install debugpyAdd near the top of the entry point (or inside the function you want to debug):
import debugpy
debugpy.listen(("127.0.0.1", 5678))
print("debugpy listening on 5678, waiting for client...", flush=True)
debugpy.wait_for_client()
debugpy.breakpoint() # optional: pause immediately once attachedStart the process; it blocks on wait_for_client().
-m debugpypython -m debugpy --listen 127.0.0.1:5678 --wait-for-client your_script.py arg1Equivalent for module entry:
python -m debugpy --listen 127.0.0.1:5678 --wait-for-client -m your.moduleNeeds the PID and debugpy preinstalled in the target's environment:
python -m debugpy --listen 127.0.0.1:5678 --pid <pid>
# debugpy injects itself into the process. Then attach a client as below.If attach is blocked by OS policy, do not lower global ptrace protections. Start a new task-owned process under debugpy, or ask the system owner for an approved debugging environment.
The easiest terminal-side DAP client is VS Code CLI or a small script. From inside Hermes you have two practical options:
Option 1: debugpy's own CLI REPL — not an official feature, but a tiny DAP client script:
Use the bundled scripts/dap_client.py (Python stdlib); resolve its directory
from the installed skill, not cwd. With that directory on sys.path:
import socket
from dap_client import DapClient
with socket.create_connection(("127.0.0.1", 5678), timeout=5) as sock:
client = DapClient(sock, timeout=5)
client.request("initialize", {"adapterID": "python"})
attach_seq = client.send("attach", {})
client.wait(lambda p: p.get("event") == "initialized")
# Configure the exact authorized source and line here.
client.request("setBreakpoints", {"source": {"path": SOURCE},
"breakpoints": [{"line": LINE}]})
client.request("configurationDone")
client.response(attach_seq)
# Continue/step only the authorized target; disconnect when finished.
client.request("disconnect", {"terminateDebuggee": False})The transport handles EOF, timeout, size limits, events and request_seq matching. It is not a full IDE, and live debugpy handshake compatibility still needs a real session. Do not leave the target paused or enable remote/public listeners.
Option 2: Attach from VS Code / Cursor / Zed — if the user has one open, they can add a launch.json:
{
"name": "Attach to Hermes",
"type": "debugpy",
"request": "attach",
"connect": { "host": "127.0.0.1", "port": 5678 },
"justMyCode": false,
"pathMappings": [
{ "localRoot": "${workspaceFolder}", "remoteRoot": "<hermes-agent-repo>" }
]
}Option 3: Ditch DAP, use remote-pdb — usually what you actually want from a terminal agent:
pip install remote-pdbIn your code:
from remote_pdb import set_trace
set_trace(host="127.0.0.1", port=4444) # blocks until connectionThen from the terminal:
nc 127.0.0.1 4444
# You get a (Pdb) prompt exactly as if debugging locally.remote-pdb is the cleanest agent-friendly choice when debugpy's DAP protocol is overkill. Use debugpy only when you actually need IDE integration.
See Recipe 3. The wrapper captures subprocess output, so run pytest directly for interactive pdb.
run_agent.py / CLI — one-shotEasiest: add breakpoint() near the suspect line, then run hermes normally. Control returns to your terminal at the pause point.
tui_gateway subprocess (spawned by hermes --tui)The gateway runs as a child of the Node TUI. Options:
A. Source-edit the gateway:
# tui_gateway/server.py near the top of serve()
import debugpy
debugpy.listen(("127.0.0.1", 5678))
debugpy.wait_for_client()Start hermes --tui. The TUI will appear frozen (its backend is waiting). Attach a client; execution resumes when you continue.
B. Use remote-pdb at a specific handler:
from remote_pdb import set_trace
set_trace(host="127.0.0.1", port=4444) # in the RPC handler you want to trapTrigger the matching slash command from the TUI, then nc 127.0.0.1 4444 in another terminal.
_SlashWorker subprocessSame pattern — remote-pdb with set_trace() inside the worker's exec path. The worker is persistent across slash commands, so the first trigger blocks until you connect; subsequent slash commands pass through normally unless you re-arm.
gateway/run.py)Long-lived. Use remote-pdb at a handler, or debugpy with --wait-for-client if you're restarting the gateway anyway.
pdb under a parallel/output-capturing runner silently does nothing. You won't see the prompt, the test just hangs (true of pytest-xdist and of scripts/run_tests.sh's captured per-file subprocesses). Run pytest directly on a single file for interactive debugging.
breakpoint() in CI / non-TTY contexts hangs the process. Safe locally; never commit it. Add a pre-commit grep as a safety net.
PYTHONBREAKPOINT=0 disables all breakpoint() calls. Check the env if your breakpoint isn't hitting:
echo $PYTHONBREAKPOINTdebugpy.listen blocks only if you also call wait_for_client(). Without it, execution continues and your first breakpoint may fire before the client is attached.
Do not change global ptrace policy; use a task-owned debugpy child.
Threads. pdb only debugs the current thread. For multithreaded code, use debugpy (thread-aware DAP) or set threading.settrace() per thread.
asyncio. pdb works in coroutines but await inside pdb requires Python 3.13+ or await from interact mode on older versions. For 3.11/3.12, use asyncio.run_coroutine_threadsafe tricks or !stmt-based awaits via asyncio.ensure_future.
Repository runners may isolate HOME/credentials or capture output. Inspect the actual runner before choosing an interactive invocation. Do not import real API keys into a debug session; use a scoped test credential only when authorized.
Forking / multiprocessing. pdb does not follow forks. Each child needs its own breakpoint() or set_trace(). For Hermes subagents, debug one process at a time.
pip install debugpy, confirm: python -c "import debugpy; print(debugpy.__version__)"ss -tlnp | grep 5678PYTHONBREAKPOINT=0, you're under a parallel/capturing runner, or execution finished before attach)where / w shows the expected call stackbreakpoint() / set_trace() in committed coderg -n 'breakpoint\(\)|set_trace\(|debugpy\.listen' --type py"Why is this dict missing a key?"
# add above the KeyError site
breakpoint()
# then in pdb:
(Pdb) pp d
(Pdb) pp list(d.keys())
(Pdb) w # how did we get here"This test passes in isolation but fails in the suite."
python -m pytest tests/the_test.py # replace with the project's actual canonical runner
# For interactive debugging, or if it only fails WITH other tests:
source .venv/bin/activate
python -m pytest tests/ -x --pdb
# Now it pdb-traps at the exact failing test after state accumulated."My async handler deadlocks."
# Add at handler entry
import remote_pdb; remote_pdb.set_trace(host="127.0.0.1", port=4444)Trigger the handler. nc 127.0.0.1 4444, then w to see the suspended frame, !import asyncio; asyncio.all_tasks() to see what else is pending.
"Post-mortem on a crash in an Ink child process / subprocess."
PYTHONFAULTHANDLER=1 python -m pdb -c continue path/to/entrypoint.py
# On crash, pdb lands at the frame of the exception with full locals© Prismer-AI, MIT. 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 3 other files (scripts) in sdk/cloud/catalog/skills/prismer-python-debugpy of Prismer-AI/PrismerCloud.
Open the folder on GitHubat commit e5d9444
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in Prismer-AI/PrismerCloud, which our catalogue first saw on October 7, 2026.
Prismer Python Debugpy 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 |
|---|---|---|---|---|---|---|
| Prismer Python Debugpy this skillPrismer-AI/PrismerCloud | 1.6k | 4 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| OpenHarness End-to-End EvalsHKUDS/OpenHarness | 16k | 1 repos | ~2.1k | Automated safety check: Notes | MIT | |
| Adk Verify Snippetsgoogle/adk-python | 22k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Apple Container Test RunnerRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT | |
| JSON Repair Docs Demo Local Testmangiucugna/json_repair | 5.1k | — | ~549 | Automated safety check: Pass | MIT |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
HKUDS/OpenHarness
Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.
google/adk-python
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…
RustPython/RustPython
Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.
mangiucugna/json_repair
Runs the json_repair docs demo against a local Flask API and static server, so changes to docs/app.py or the docs UI are checked end to end before publishing.
NVIDIA/Megatron-LM
Refreshes stored golden values from a GitHub Actions run, reports signed percentage changes per model, and writes a summary ready for a pull request description.
Prismer-AI/PrismerCloud
Gives an agent account-scoped access to Gmail, Calendar, Drive, Contacts, Docs and Sheets through the gws CLI or a bundled Python client.
Prismer-AI/PrismerCloud
Walks an agent through creating, importing, editing, validating, testing and publishing Prismer Skills with a fixed workflow and bundled scripts.
Prismer-AI/PrismerCloud
Operates a mailbox from the terminal with the external Himalaya CLI over IMAP, SMTP, Notmuch or Sendmail, separate from any built-in email gateway adapter.
Prismer-AI/PrismerCloud
Generates one image from a text prompt with a bundled Node.js helper and delivers it once as the attachment to the current Prismer reply.
Prismer-AI/PrismerCloud
Produces 3Blue1Brown-style explainer animations with Manim Community Edition for math, algorithms, equations and architecture diagrams, with planning and rendering references.
Prismer-AI/PrismerCloud
Creates or updates Prismer role templates from a persona, SOP or job description, and turns a role into a working agent that runs its first task through a bundled script.
Works with
Categories
Debug Python: pdb REPL + debugpy remote (DAP). An agent skill from Prismer-AI/PrismerCloud. Prismer Python Debugpy is an agent skill from Prismer-AI/PrismerCloud. Debug Python: pdb REPL + debugpy remote (DAP).
Prismer Python Debugpy fits situations like: testing & QA work in your project.
Run `npx skills add Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a claude-code`. Or copy the skill folder (sdk/cloud/catalog/skills/prismer-python-debugpy in Prismer-AI/PrismerCloud) into .claude/skills/prismer-python-debugpy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a codex`. Or copy the skill folder (sdk/cloud/catalog/skills/prismer-python-debugpy in Prismer-AI/PrismerCloud) into .agents/skills/prismer-python-debugpy 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 Prismer-AI/PrismerCloud --skill prismer-python-debugpy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prismer-python-debugpy, .gemini/skills/prismer-python-debugpy, .github/skills/prismer-python-debugpy and .opencode/skills/prismer-python-debugpy in your project.
Going by SKILL.md and its folder, Prismer Python Debugpy needs Python for the scripts in its folder and the command-line tools its instructions call (python, pip, rg, pytest and git). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip and git, which can reach the network depending on how they are called. 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.
Prismer Python Debugpy is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 Prismer Python Debugpy: Web Application Testing (anthropics/skills, 180k stars), OpenHarness End-to-End Evals (HKUDS/OpenHarness, 16k stars), Adk Verify Snippets (google/adk-python, 22k stars) and Apple Container Test Runner (RustPython/RustPython, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Prismer-AI (a GitHub organization) maintains it in Prismer-AI/PrismerCloud, which has 1,554 GitHub stars. The repository holds 88 skills in this directory. The repository was last updated on September 30, 2026.
Source: Prismer-AI/PrismerCloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.