CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

python-debugpy

Debug Python: pdb REPL + debugpy remote (DAP).

56

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/software-development/python-debugpy/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A genuinely expert, highly actionable debugging reference whose recipes, pitfalls, and verification checklist model good workflow discipline. Its weaknesses are structural: it is a monolithic ~390-line file with no progressive disclosure, and it carries padding (the pdb command table, repeated environment-provisioning caveats) that assumes too little of Claude.

Suggestions

Move the DAP client script and the "Debugging Hermes-specific Processes" section into references/ files (e.g. references/dap-client.md, references/hermes-processes.md), keeping one-level-deep links from the relevant recipes.

Trim the 20-row pdb command table to the few non-obvious commands (interact, display, tbreak, j) — Claude already knows n/s/c/b/q — or move it to a reference file.

State the production-environment caution once in Recipe 5's Setup and cut the repetitions in Pattern C, Option 3, and the pitfalls to reclaim tokens.

DimensionReasoningScore

Conciseness

The body is dense and largely earning its tokens (recipes, pitfalls, checklists), but two sections pad it: the 20-command pdb quick-reference table restates standard-library knowledge Claude already has, and the Hermes environment-provisioning prose ("The output must not already exist. Stop its processes and intentionally remove only that disposable environment before rebuilding...") is repetitive — the production-environment caution is restated at least four times across Recipe 5. Mostly efficient with clear trimmable fat fits anchor 3.

3 / 5

Actionability

Nearly everything is concrete and executable: copy-paste shell commands (".venv/bin/python -m debugpy --listen 127.0.0.1:5678 --wait-for-client your_script.py arg1"), runnable Python snippets, a complete launch.json, and diagnostic commands like "ss -tlnp | grep 5678". Minor gaps: the DAP client script is a truncated sketch ending in "... loop reading events and sending continue/stepIn", and a few placeholders (<pid>, <hermes-agent-repo>) are unresolved — not quite anchor 5's fully copy-paste-ready coverage.

4 / 5

Workflow Clarity

The tool-selection table picks the entry point by situation, recipes are sequenced with explicit commands, a "Verification Checklist" gives explicit checkpoints, and the "Common Pitfalls" section provides error-recovery feedback loops (e.g. breakpoint not hitting → check PYTHONBREAKPOINT, capturing runner, or attach timing). The workflows here are non-destructive (read-only inspection plus temporary env builds with stated cleanup), so no cap applies, and the sequence-plus-checklist-plus-recovery pattern matches anchor 5.

5 / 5

Progressive Disclosure

The body is well-sectioned and navigable, but it is a ~390-line monolithic SKILL.md with zero bundle files — no references/, scripts/, or assets/ exist. Content that clearly belongs in a separate one-level-deep file is inlined: the ~35-line DAP client script (explicitly labeled a scratch file), the Hermes-specific process debugging guide, and the full pdb command table. This matches anchor 3 (some structure, content that should be separate is inline) rather than anchor 4, which expects most bulk content split out with signaled references.

3 / 5

Total

15

/

20

Passed

Description

61%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A terse, accurate description that names the domain and both tools crisply, but it reads more like a title than a skill description. It has no "when to use" trigger guidance and no specific capability actions beyond the single verb "Debug".

Suggestions

Add an explicit trigger clause, e.g. "Use when a Python test fails with an unexplained value, when stepping through a function is needed, or when attaching a debugger to a long-running or crashed process."

Enumerate the concrete capabilities instead of the single verb "Debug": set breakpoints, step through code, inspect locals at a crash site (post-mortem), attach to a running process.

Include one or two common user phrasings ("breakpoint", "step through", "attach to running process") to strengthen trigger matching.

DimensionReasoningScore

Specificity

"Debug Python: pdb REPL + debugpy remote (DAP)" names the domain and the two concrete tools/modes (pdb REPL, debugpy remote over DAP), but the only action stated is the generic verb "Debug" — no specific actions like setting breakpoints, post-mortem inspection, or attaching to running processes. This matches anchor 3 (domain and 1-2 concrete actions, not comprehensive) better than anchor 2, because the tool names and transport detail go beyond a bare domain label, but it clearly falls short of anchor 4's list of several specific actions.

3 / 5

Completeness

The "what" is clear (Python debugging via pdb REPL and debugpy remote DAP), but there is no "Use when..." clause or equivalent trigger guidance anywhere in the description, which caps completeness at 3 per the judging guidelines. It is a solid 3 rather than a 4 because the "when" is entirely absent, not merely weakly implied.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "Debug", "Python", "pdb", "debugpy", "remote", "DAP" — terms a user asking for debugging help would plausibly say. A few common variations are missing ("breakpoint", "step through", "post-mortem", "attach"), keeping it below anchor 5.

4 / 5

Distinctiveness Conflict Risk

The scope is a clear niche — interactive Python debugging with named tools — so it is mostly distinct from generic code-analysis or testing skills. Minor overlap risk remains with adjacent skills like the referenced node-inspect-debugger or a general systematic-debugging skill; not anchor 5 because nothing in the description itself stakes out unambiguous triggers.

4 / 5

Total

14

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 5 missing

Warning

Total

12

/

16

Passed

Repository

NousResearch/hermes-agent

Path

skills/software-development/python-debugpy/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.