Not in the top 1,000 by GitHub stars
denysdovhan/skills
A collection of custom skills for my workflows with AI-agents
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/agent-log/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
353db84e7c3c → a5441d3a5d40
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 353db84e7c3c
No earlier version was observed for comparison.
skills/commit/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
353db84e7c3c → a5441d3a5d40
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 353db84e7c3c
No earlier version was observed for comparison.
skills/interactive-debugging/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
353db84e7c3c → a5441d3a5d40
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 353db84e7c3c
No earlier version was observed for comparison.
skills/readable-code/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → a5441d3a5d40
No earlier version was observed for comparison.
Verified commit a5441d3a5d40eb00d5c219404d3ae4406be048c7
git clone --filter=blob:none --no-checkout https://github.com/denysdovhan/skills.git .hotskills/denysdovhan-skills && git -C .hotskills/denysdovhan-skills checkout --detach a5441d3a5d40eb00d5c219404d3ae4406be048c7
# Copy each selected skill directory from .hotskills/denysdovhan-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/denysdovhan/skills.git .hotskills/denysdovhan-skills && git -C .hotskills/denysdovhan-skills checkout --detach a5441d3a5d40eb00d5c219404d3ae4406be048c7
# Copy each selected skill directory from .hotskills/denysdovhan-skills into .agents/skills/<skill-name>/Heat
1.5- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- agent-log
skills/agent-log - commit
skills/commit - interactive-debugging
skills/interactive-debugging - readable-code
skills/readable-code
How it works
agent-log
When your agent uses it
Use this skill to maintain an agent log in .agents/log, a decision journal shared by the developer and agents. Trigger when the user explicitly asks to use agent-log or record/update an agent log entry; when planning, implementing, or finalizing a significant feature in a repo with an existing .agents/log; or before non-trivial changes or questions in areas covered by existing entries. Never initialize .agents/log unless the user explicitly asks for an agent log.
What it loads into context
Frontmatter
99 tokensAlways available to the agent
SKILL.md
2,090 tokensWhen the skill is activated
Reference documents
60 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Layout
- Entry Format
- Index Format
- Recall: Read Before You Write
- Write Workflow
- Handling Feedback During Implementation
- Guidelines
Files
../../.claude-plugin/marketplace.jsonasset472 bytes../../.claude-plugin/plugin.jsonasset721 bytes../../assets/dd-skills.svgasset1,355 bytesREADME.mddoc225 bytesSKILL.mdcore10,458 bytesSKILL.mdcore10,458 bytesagents/openai.yamlasset293 bytesassets/agent-log.pngasset1,458 bytes
Read SKILL.md
# Agent Log
Maintain `.agents/log/` — a version-controlled journal of product and engineering decisions, tradeoffs, and directions, co-owned by the developer and agents. Entries capture _why_ — the reasoning that code and git history cannot recover.
## Layout
- `.agents/log/index.md` — index of all entries
- `.agents/log/YYYY-MM-DD-slug.md` — one entry per feature or standalone decision
Initialize `.agents/log/` only when the user explicitly asks — by invoking this skill or directly requesting an agent log. If `.agents/log/` is absent otherwise, do not create it, even when a plan is approved. When initializing, create `.agents/log/index.md` with the table header from Index Format; create an entry only if the current task records a decision.
## Entry Format
```markdownView the complete source on GitHubcommit
When your agent uses it
Use this skill when an agent needs to prepare a focused commit, follow repository commit-message conventions, write a clear commit message, and create the git commit cleanly.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
613 tokensWhen the skill is activated
Reference documents
56 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Goals
- Workflow
- Commit Message Style
- Guidelines
Files
README.mddoc223 bytesSKILL.mdcore2,862 bytesSKILL.mdcore2,862 bytesagents/openai.yamlasset272 bytesassets/git.pngasset1,266 bytes
Read SKILL.md
# Commit Skill
Use this skill when the work is already implemented and the next step is to create a clean git commit.
## Goals
- Keep the commit scoped to the intended change
- Write a concise, descriptive commit message
- Avoid including unrelated modified files
## Workflow
1. Inspect the working tree before committing.
2. Confirm which files belong to the requested change.View the complete source on GitHubinteractive-debugging
When your agent uses it
Use this skill when debugging runtime behavior requires live data from the running app, temporary instrumentation, or hypothesis verification through logs. Trigger for async timeouts, stale or incorrect state updates, race conditions, event ordering bugs, intermittent failures, browser/client behavior that static inspection cannot explain, or any issue where the agent should create a local debug HTTP server, insert temporary probes, ask the user to reproduce, inspect .debug/debug.log, then remove all debug instrumentation and assets.
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
1,323 tokensWhen the skill is activated
Reference documents
62 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Required Paths
- Steps
- Log Reading Checklist
Scripts executed separately
scripts/debug_server.jsscripts/debug_server.py
Files
README.mddoc256 bytesSKILL.mdcore5,751 bytesSKILL.mdcore5,751 bytesSKILL.mdcore5,751 bytesSKILL.mdcore5,751 bytesagents/openai.yamlasset309 bytesassets/debug.pngasset10,034 bytesscripts/debug_server.jsruns1,253 bytesscripts/debug_server.pyruns1,724 bytes
Read SKILL.md
# Interactive Debugging
Use this skill to run a debug loop: hypothesize, instrument, reproduce, inspect runtime logs, fix, verify, and clean up.
## Required Paths
- Debug server: `.debug/debug_server.*`
- Debug log: `.debug/debug.log`
- Default endpoint: `http://localhost:3333/debug`
The bundled servers in this skill's `scripts/` directory (next to this SKILL.md, not in the project being debugged) are intentionally thin. They accept `POST /debug`, append the raw request body to `.debug/debug.log` with a timestamp, and return `ok`.
## Steps
View the complete source on GitHubreadable-code
When your agent uses it
Readable code rules inspired by The Art of Readable Code, for any language with TypeScript/JavaScript as the primary focus. Use when writing, reviewing, or refactoring code in TS, JS, React/JSX, Node, Python, or any other language, including when the user asks to clean up, simplify, untangle, or make code easier to follow. Enforces short functions, flat control flow, clear naming, readable structure, and language idioms.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
2,297 tokensWhen the skill is activated
Reference documents
2,313 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- How to Apply
- 1. Keep Functions Short and Focused
- 2. Flatten Control Flow — No Deep Nesting
- 3. Name Things Clearly
- 4. Make Control Flow Easy to Follow
- 5. Break Down Giant Expressions
- 6. Extract Unrelated Subproblems
- 7. One Task at a Time
- 8. Reduce Variable Scope
- 9. No Magic Numbers or Strings
- 10. Fewer Function Arguments
- 11. Consistency
- 12. Write Less Code
- 13. Comments: Explain Why, Not What
- 14. Design Code to Survive Auto-Formatting
Files
README.mddoc271 bytesSKILL.mdcore9,366 bytesagents/openai.yamlasset308 bytesassets/readable-code.pngasset1,674 bytesreferences/python.mddoc3,217 bytesreferences/typescript.mddoc5,556 bytes
Read SKILL.md
# Readable Code Rules (/readable-code)
Apply these rules when writing, reviewing, or refactoring code. Inspired by
_The Art of Readable Code_ by Dustin Boswell and Trevor Foucher.
**Core principle: Code should be easy to understand.** The time it takes someone
else (or future you) to understand the code is the ultimate metric.
## How to Apply
- The general rules below apply to every language. Examples use TypeScript.
- Load the language reference for idioms:
- TypeScript / JavaScript / JSX: [references/typescript.md](references/typescript.md)
- Python: [references/python.md](references/python.md)View the complete source on GitHubSkills included
- agent-log
- commit
- interactive-debugging
- readable-code
Repository facts
- License
- MIT
- Created
- Feb 4, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 5 notes
skills/agent-log/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/commit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/interactive-debugging/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/interactive-debugging/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/interactive-debugging/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 30 network referencesin 4 files: interactive-debugging/SKILL.md:12 .claude-plugin/plugin.json:5 .claude-plugin/marketplace.json:3 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 2 executable scriptsin 2 files: interactive-debugging/scripts/debug_server.js:1 interactive-debugging/scripts/debug_server.py:1
- No access to secrets
- No requests to vote in Hot
Show all 32 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Denys Dovhan", "url": "https://github.com/denysdovhan", - Network accessline 6
"name": "Denys Dovhan", "url": "https://github.com/denysdovhan", "email": "denysdovhan@gmail.com" - Network accessline 7
"url": "https://github.com/denysdovhan", - Network accessline 8
"email": "denysdovhan@gmail.com" }, "repository": "https://github.com/denysdovhan/skills", - Network accessline 9
}, "repository": "https://github.com/denysdovhan/skills", "license": "MIT", - Network accessline 10
"repository": "https://github.com/denysdovhan/skills", - Network accessline 12
"displayName": "DD Skills", "icon": "./assets/dd-skills.svg", "homepage": "https://github.com/denysdovhan/skills#readme", - Network accessline 13
"icon": "./assets/dd-skills.svg", "homepage": "https://github.com/denysdovhan/skills#readme", "keywords": ["agent-skills", "git", "debugging", "code-readability", "decision-log"], - Network accessline 14
"homepage": "https://github.com/denysdovhan/skills#readme", - Network accessline 15
"keywords": ["agent-skills", "git", "debugging", "code-readability", "decision-log"], "documentationUrl": "https://github.com/denysdovhan/skills#readme", "supportUrl": "https://github.com/denysdovhan/skills/issues" - Network accessline 16
"documentationUrl": "https://github.com/denysdovhan/skills#readme", - Network accessline 17
"supportUrl": "https://github.com/denysdovhan/skills/issues"
assets/dd-skills.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" fill="none">
skills/interactive-debugging/SKILL.md
- Network accessline 12
- Debug server: `.debug/debug_server.*` - Debug log: `.debug/debug.log` - Default endpoint: `http://localhost:3333/debug` - Network accessline 14
- Default endpoint: `http://localhost:3333/debug` - Network accessline 42
- The server is a long-running foreground process; start it in the background (or another terminal) so it does not block your shell. - Use another port only if `3333` is occupied. - Verify it with `curl http://localhost:3333/health`. - Network accessline 43
- Use another port only if `3333` is occupied. - Verify it with `curl http://localhost:3333/health`. - Clear `.debug/debug.log` before reproduction if it already exists. - Network accessline 44
- Verify it with `curl http://localhost:3333/health`. - Network accessline 53
// #region DEBUG fetch("http://localhost:3333/debug", { - Network accessline 54
fetch("http://localhost:3333/debug", { - Network accessline 73
try: urllib.request.urlopen( - Network accessline 74
urllib.request.urlopen( - Network accessline 75
urllib.request.Request( - Network accessline 76
"http://localhost:3333/debug", - Network accessline 94
begin Net::HTTP.post( URI("http://localhost:3333/debug"), - Network accessline 95
Net::HTTP.post( URI("http://localhost:3333/debug"), { event: "function-entry", value: value }.to_json, - Network accessline 96
URI("http://localhost:3333/debug"),
skills/interactive-debugging/scripts/debug_server.js
- Executable scriptline 1
#!/usr/bin/env node
skills/interactive-debugging/scripts/debug_server.py
- Executable scriptline 1
#!/usr/bin/env python3
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 16 facts
- Network access in prose of the SKILL.mdinteractive-debugging/SKILL.md:12Low confidence
- Network access in prose of the SKILL.mdinteractive-debugging/SKILL.md:14Low confidence
- Network access in prose of the SKILL.mdinteractive-debugging/SKILL.md:42Low confidence
- Network access in prose of the SKILL.mdinteractive-debugging/SKILL.md:43Low confidence
- Network access in prose of the SKILL.mdinteractive-debugging/SKILL.md:44Low confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:53High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:54High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:73High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:74High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:75High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:76High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:94High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:95High confidence
- Network access in code of the SKILL.mdinteractive-debugging/SKILL.md:96High confidence
- Executable script in code of a file that runsinteractive-debugging/scripts/debug_server.js:1High confidence
- Executable script in code of a file that runsinteractive-debugging/scripts/debug_server.py:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/agent-log/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/agent-log/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/agent-log/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/agent-log/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.