Solid
ramziddin/solid-skills
A skill your agent uses when writing code, implementing features, refactoring, planning architecture, designing systems, reviewing code, or debugging.
Write readable, maintainable code through disciplined naming, small functions, and clean error handling.
$ npx skills add jd-solanki/slidev-theme-dracula --skill clean-code -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jd-solanki/slidev-theme-dracula clean-code --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/jd-solanki/slidev-theme-dracula.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.ai/skills/clean-code .claude/skills/clean-code && 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 "clean-code" agent skill from https://github.com/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-code into .claude/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", 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/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-codeType 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 jd-solanki/slidev-theme-dracula --skill clean-code -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jd-solanki/slidev-theme-dracula clean-code --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jd-solanki/slidev-theme-dracula.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.ai/skills/clean-code .agents/skills/clean-code && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "clean-code" agent skill from https://github.com/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-code into .agents/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", 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 jd-solanki/slidev-theme-dracula --skill clean-code -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jd-solanki/slidev-theme-dracula clean-code --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jd-solanki/slidev-theme-dracula.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.ai/skills/clean-code .cursor/skills/clean-code && 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 "clean-code" agent skill from https://github.com/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-code into .cursor/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", 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/jd-solanki/slidev-theme-dracula.git --path .ai/skills/clean-code--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 jd-solanki/slidev-theme-dracula --skill clean-code -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jd-solanki/slidev-theme-dracula clean-code --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jd-solanki/slidev-theme-dracula.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.ai/skills/clean-code .gemini/skills/clean-code && 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 "clean-code" agent skill from https://github.com/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-code into .gemini/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", 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 jd-solanki/slidev-theme-dracula clean-codeInstalls 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 jd-solanki/slidev-theme-dracula --skill clean-code -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jd-solanki/slidev-theme-dracula.git skills-src && mkdir -p .github/skills && cp -r skills-src/.ai/skills/clean-code .github/skills/clean-code && 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 "clean-code" agent skill from https://github.com/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-code into .github/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", 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 jd-solanki/slidev-theme-dracula --skill clean-code -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jd-solanki/slidev-theme-dracula clean-code --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jd-solanki/slidev-theme-dracula.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.ai/skills/clean-code .opencode/skills/clean-code && 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 "clean-code" agent skill from https://github.com/jd-solanki/slidev-theme-dracula/tree/main/.ai/skills/clean-code into .opencode/skills/clean-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clean-code", 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.
clean-codeWrite readable, maintainable code through disciplined naming, small functions, and clean error handling.
Clean Code is an agent skill from jd-solanki/slidev-theme-dracula. Write readable, maintainable code through disciplined naming, small functions, and clean error handling. Use when the user mentions "code review", "naming conventions", "function too long", "code smells", "readable code", "boy scout rule", "single responsibility", or "unit test quality". Also trigger when reviewing pull requests for readability, refactoring messy functions, debating comment styles, or improving error handling patterns. Covers SRP, comment discipline, formatting, and unit testing. For refactoring…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/code-smells.md`, `references/comments-formatting.md` and `references/error-handling.md`).
It sits in Development, covering Unit testing, Refactoring and Code quality. The repository describes itself as: Dracula theme for slidev 🧛. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 383e9b1. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
amazon.comFrom 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.
Clean Code loads about 3.8k tokens when it runs, and up to ~23k if it reads all its reference files. Until then it costs about 152 tokens; SKILL.md has 1,734 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 jd-solanki/slidev-theme-dracula at commit 383e9b1, republished under its MIT licence (© jd-solanki). 1,734 words, ~3,778 tokens.
.claude/skills/clean-code/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.A disciplined approach to writing code that communicates intent, minimizes surprises, and welcomes change. Apply these principles when writing new code, reviewing pull requests, refactoring legacy systems, or advising on code quality.
Code is read far more often than it is written — optimize for the reader. The read-to-write ratio is well over 10:1, so every naming choice, function boundary, and formatting decision either adds clarity or adds cost. Clean code reads like well-written prose: names reveal intent, functions tell a story one step at a time, and the Boy Scout Rule applies — always leave the code cleaner than you found it.
Goal: 10/10. Rate any code 0-10 against the principles below. Report the current score and the specific improvements needed to reach 10/10.
Six disciplines for writing code that communicates clearly and adapts to change:
Core concept: Names should reveal intent, avoid disinformation, and make the code read like prose. If a name requires a comment to explain it, the name is wrong.
Why it works: Names are the most pervasive form of documentation — a well-chosen name eliminates the need to read the implementation; a poor one forces every reader to reverse-engineer intent.
Key insights:
fetch, retrieve, and getCode applications:
| Context | Pattern | Example |
|---|---|---|
| Variables | Intention-revealing | elapsedTimeInDays not d |
| Booleans | Predicate phrasing | isActive, hasPermission, canEdit |
| Functions | Verb + noun | calculateMonthlyRevenue() not calc() |
| Classes | Noun naming the responsibility | InvoiceGenerator not InvoiceManager |
See: references/naming-conventions.md
Core concept: Functions should be small, do one thing, and do it well — ideally 4-6 lines, zero to two arguments, one level of abstraction.
Why it works: Small single-purpose functions are easy to name, understand, test, and reuse; long functions hide bugs, resist testing, and accumulate responsibilities.
Key insights:
Code applications:
| Context | Pattern | Example |
|---|---|---|
| Long function | Extract named steps | validateInput(); transformData(); saveRecord(); |
| Flag argument | Split into two functions | renderForPrint() / renderForScreen() not render(isPrint) |
| Error cases | Guard clauses at top | Early return for errors, single happy path |
| Many arguments | Introduce parameter object | new DateRange(start, end) not report(start, end, format, locale) |
| Side effects | Make effects explicit | checkPassword() that starts a session → rename or separate |
See: references/functions-and-methods.md
Core concept: A comment is a failure to express yourself in code. When comments are necessary, they explain why, never what. Formatting creates the visual structure that makes code scannable.
Why it works: Comments rot — code changes but comments often don't, creating documentation worse than none. Clean formatting lets developers scan code like a newspaper: headlines first, details on demand.
Key insights:
Code applications:
| Context | Pattern | Example |
|---|---|---|
| Explaining "what" | Replace with better name | // check if eligible → isEligible() |
| Explaining "why" | Keep as comment | // RFC 7231 requires this header for proxies |
| Commented-out code | Delete it | Trust version control |
| Team formatting | Decide once, automate | Prettier, Black, gofmt |
See: references/comments-formatting.md
Core concept: Error handling is a separate concern from business logic. Use exceptions rather than return codes, provide context with every exception, and never return or pass null.
Why it works: Return codes clutter the happy path with checks; exceptions separate the two cleanly. Returning null forces null checks on every caller, and one missing check crashes far from the source.
Key insights:
Code applications:
| Context | Pattern | Example |
|---|---|---|
| Null returns | Empty collection or Optional | return Collections.emptyList() not return null |
| Error codes | Replace with exceptions | throw new InsufficientFundsException(balance, amount) |
| Third-party APIs | Wrap with adapter | PortfolioService wraps the vendor API, translates its exceptions |
| Special cases | Null Object pattern | GuestUser with default behavior instead of null checks |
| Context in errors | Include operation + state | "Failed to save invoice #1234 for customer 'Acme'" |
See: references/error-handling.md
Core concept: Tests are first-class code, kept clean with the same discipline as production code. Dirty tests are worse than no tests — they become a liability that slows every change.
Why it works: Clean tests are executable documentation and a safety net for refactoring; dirty tests make every modification a fight through incomprehensible test code.
Key insights:
Code applications:
| Context | Pattern | Example |
|---|---|---|
| Test structure | Arrange-Act-Assert | Setup, execute, verify — clearly separated |
| Test naming | Scenario + expected behavior | shouldRejectExpiredToken not test1 |
| Shared setup | Builder/factory helpers | aUser().withRole(ADMIN).build() |
| Flaky tests | Remove external dependencies | Mock time, network, file system |
Core concept: Smells are surface indicators of deeper design problems — learn to recognize them quickly and apply targeted refactorings instead of vague "cleanup".
Why it works: Smells are heuristics that point toward likely problems without deep analysis, turning code review instinct into specific, repeatable moves.
Key insights:
Code applications:
| Context | Pattern | Example |
|---|---|---|
| Duplication | Extract shared logic | Common validation → validateEmail() helper |
| Feature envy | Move method to the data's class | order.calculateTotal() not calculator.total(order) |
| Dead code | Delete it | Remove unused functions, unreachable branches |
| Magic numbers | Named constants | MAX_LOGIN_ATTEMPTS = 5 not bare 5 |
| Shotgun surgery | Consolidate related changes | Group scattered logic into a single module |
See: references/code-smells.md
| Mistake | Why It Fails | Fix |
|---|---|---|
| Abbreviating names | Saves seconds writing, costs hours reading | Full descriptive names; IDEs autocomplete |
| "Clever" one-liners | Impressive to write, impossible to debug | Expand into readable named steps |
| Comments instead of refactoring | Comments rot; code is the truth | Extract a well-named function instead |
| Catching generic exceptions | Swallows bugs along with expected errors | Catch specific exceptions; let the rest propagate |
| No tests for error paths | Happy path works, edge cases crash | Test every branch, boundary, and failure mode |
| Premature optimization | Obscures intent for marginal gains | Clean first; optimize measured bottlenecks |
| God classes | One 2000-line class does everything | Apply SRP — split by responsibility |
| Refactoring without tests | No safety net for regressions | Write characterization tests first |
| Inconsistent conventions | Every file feels like a different codebase | Agree on style; enforce with linters and formatters |
| Returning null everywhere | Null checks spread like a virus | Optional, empty collections, or Null Object |
| Question | If No | Action |
|---|---|---|
| Can you understand each function without reading its body? | Names don't reveal intent | Rename to describe what it does |
| Are all functions under 20 lines? | Functions do too many things | Extract sub-operations into named helpers |
| Zero commented-out code blocks? | Dead code creating confusion | Delete — version control has history |
| Is error handling separate from business logic? | Try-catch clutters the main flow | Extract handlers; exceptions over return codes |
| Does every class have a single responsibility? | Classes accumulate unrelated duties | Split into focused, well-named classes |
| Is there a test for every public method? | No safety net for changes | Add tests before changing further |
| Are test names descriptive of behavior? | Failures are hard to interpret | Rename to shouldDoXWhenY |
| Is duplication below 3 occurrences? | Copy-paste spreading bugs | Extract a shared function or module |
| Are magic numbers named constants? | Intent hidden behind raw values | Extract descriptive constants |
| Do all tests run in under 10 seconds? | Slow tests don't get run | Mock external deps; split integration tests |
Based on Robert C. Martin's seminal guide to software craftsmanship:
Robert C. Martin ("Uncle Bob") has been programming since 1970, co-authored the Agile Manifesto, and founded Uncle Bob Consulting and Clean Coders. His books — Clean Code, The Clean Coder, Clean Architecture, and Clean Agile — shaped how a generation of developers think about code quality, and his core stance is that the only way to go fast is to go well.
© jd-solanki, 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 6 other files (references) in .ai/skills/clean-code of jd-solanki/slidev-theme-dracula.
Open the folder on GitHubat commit 383e9b1
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in jd-solanki/slidev-theme-dracula, which our catalogue first saw on October 7, 2026.
Clean Code 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 |
|---|---|---|---|---|---|---|
| Clean Code this skilljd-solanki/slidev-theme-dracula | 161 | 1 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Solidramziddin/solid-skills | 606 | — | ~2.7k | Automated safety check: Pass | None | |
| Smell CheckZhen-Bo/smell-check | 239 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Cyclomatic Complexitysaurabhkumar8112/cyclomatic-complexity-skill | 405 | — | ~761 | Automated safety check: Pass | Apache-2.0 | |
| Effect TSmattiacerutti/supernova | 187 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Code ReviewerYikai-Liao/symusic | 189 | 1 repos | ~1.3k | Automated safety check: Pass | MIT |
ramziddin/solid-skills
A skill your agent uses when writing code, implementing features, refactoring, planning architecture, designing systems, reviewing code, or debugging.
Zhen-Bo/smell-check
Runs a smell-first audit on a user-chosen path set: measures structure metrics, applies a named size profile, and reports code smells and test smells with evidence strength.
saurabhkumar8112/cyclomatic-complexity-skill
Refactor code to reduce cyclomatic complexity so it stays readable, maintainable, and aligned with the long-term vision of the codebase, not just optimized for AI comprehension.
mattiacerutti/supernova
Write idiomatic Effect v4 TypeScript following official best practices from effect-solutions and the Effect source.
Yikai-Liao/symusic
Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues, and architectural concerns, then…
jumppad-labs/jumppad
Sets idiomatic Go conventions with a test-first workflow, using testify/require for assertions and mockery for mocks, for new features, packages and refactors.
jd-solanki/slidev-theme-dracula
Automate npm package publishing via GitHub Actions for single-package repos and independent monorepo packages, including bumpp version tags, GitHub release notes, trusted publishing, provenance, and…
jd-solanki/slidev-theme-dracula
Write clear, useful in-code comments and documentation that capture what the code cannot say for itself.
jd-solanki/slidev-theme-dracula
Patterns and conventions for building Node.js CLI tools — src structure, entry point setup, Commander wiring, and update notifications.
jd-solanki/slidev-theme-dracula
Automate GitHub release creation and changelog generation from Conventional Commits using changelogithub — includes GitHub release mechanics, tag-based triggers, required permissions, and…
jd-solanki/slidev-theme-dracula
Decide where code lives — the directory tree, module and package boundaries, and the layout inside a file.
Categories
Write readable, maintainable code through disciplined naming, small functions, and clean error handling. Clean Code is an agent skill from jd-solanki/slidev-theme-dracula. Write readable, maintainable code through disciplined naming, small functions, and clean error handling.
Clean Code fits situations like: the user mentions code review; naming conventions; function too long; single responsibility.
Run `npx skills add jd-solanki/slidev-theme-dracula --skill clean-code -a claude-code`. Or copy the skill folder (.ai/skills/clean-code in jd-solanki/slidev-theme-dracula) into .claude/skills/clean-code in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jd-solanki/slidev-theme-dracula --skill clean-code -a codex`. Or copy the skill folder (.ai/skills/clean-code in jd-solanki/slidev-theme-dracula) into .agents/skills/clean-code 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 jd-solanki/slidev-theme-dracula --skill clean-code -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clean-code, .gemini/skills/clean-code, .github/skills/clean-code and .opencode/skills/clean-code in your project.
SKILL.md names no scripts, command-line tools or credentials: Clean Code is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: amazon.com. 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.
Clean Code 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.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 20k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Clean Code: Solid (ramziddin/solid-skills, 606 stars), Smell Check (Zhen-Bo/smell-check, 239 stars), Cyclomatic Complexity (saurabhkumar8112/cyclomatic-complexity-skill, 405 stars) and Effect TS (mattiacerutti/supernova, 187 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jd-solanki (a GitHub user) maintains it in jd-solanki/slidev-theme-dracula, which has 161 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on July 6, 2026.
Source: jd-solanki/slidev-theme-dracula on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.