---
title: "code-craftsmanship"
description: "Code quality and software design skills including Clean Code (Robert C. Martin), Refactoring patterns (Martin Fowler), A Philosophy of Software Design (John Ousterhout), The Pragmatic Programmer (Hunt & Thomas), Domain-D"
canonical: https://agentpluginsdirectory.com/plugins/code-craftsmanship
last-updated: 2026-09-25
---

# code-craftsmanship
Code quality and software design skills including Clean Code (Robert C. Martin), Refactoring patterns (Martin Fowler), A Philosophy of Software Design (John Ousterhout), The Pragmatic Programmer (Hunt & Thomas), Domain-Driven Design (Eric Evans), Working Effectively with Legacy Code (Michael Feathers), and Google's Developer Documentation Style Guide (technical-documentation)
- Slug: code-craftsmanship
- Publisher: Wondel.ai
- Repository: https://github.com/wondelai/skills
- Manifest: plugins/code-craftsmanship/plugin.json
- Version: 1.8.0
- License: MIT
- Category (editorial): code-review
- Skills: 7 (clean-code, domain-driven-design, pragmatic-programmer, refactoring-patterns, software-design-philosophy, technical-documentation, working-with-legacy-code)
- MCP servers: 0
- Stars: 2255
- Repository created: 2026-01-29
- Repository last pushed: 2026-09-10
- Publisher type: Organization
- Listing: https://agentpluginsdirectory.com/plugins/code-craftsmanship
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## Skills

- clean-code: Write readable, maintainable code through disciplined naming, small functions, and clean error handling. Use when the user mentions "clean up this code", "this function is too long", "code smells", "naming conventions", "boy scout rule", "single responsibility", or "unit test quality". Also trigger…
- domain-driven-design: Model software around the business domain using bounded contexts, aggregates, and ubiquitous language. Use when the user mentions "domain modeling", "bounded context", "aggregate root", "ubiquitous language", "anti-corruption layer", "context mapping", "domain events", "strategic design", "the code…
- pragmatic-programmer: Apply meta-principles of software craftsmanship: DRY, orthogonality, tracer bullets, and design by contract. Use when the user mentions "best practices", "pragmatic approach", "broken windows", "tracer bullet", "software craftsmanship", "avoid technical debt", "code ownership", or "how do I become…
- refactoring-patterns: Apply named refactoring transformations to improve code structure without changing behavior. Use when the user mentions "refactor this", "code smells", "extract method", "replace conditional", "technical debt", "move method", "inline variable", "decompose conditional", or "clean up this messy code"…
- software-design-philosophy: Manage software complexity through deep modules, information hiding, and strategic programming. Use when the user mentions "module design", "API too complex", "shallow class", "complexity budget", "strategic vs tactical", "deep module", "information leakage", "pass-through method", "this code is ov…
- technical-documentation: Audit, write, and improve developer documentation using Google''s Developer Documentation Style Guide and Technical Writing courses. Use this skill for any documentation work, even when the user names no style guide: "audit our docs", "review this README", "write a README", "getting started guide",…
- working-with-legacy-code: Safely change and test untested codebases using Feathers'' "Working Effectively with Legacy Code". Use when the user mentions "legacy code", "no tests", "untested codebase", "how do I test this", "seams", "characterization tests", "golden master", "sprout method", "afraid to change this code", "mon…

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.
