Skip to content

nohemi20231/design-skills

v1.1.0Apache-2.0

Skills for reasoning about software design: design judgment, refactor proposals, clean code, TDD, architecture, and a living architecture diagram.

Design Skills

Skills for Claude Code and GitHub Copilot that cover reasoning about software design, from a single function up to service boundaries. One folder per skill under skills/, each with a SKILL.md.

SkillUse it when
skills/software-design/Deciding how to design a change before writing it, reviewing a PR for design quality, or judging whether a design is "good": just-in-time design, economics of change, minimalism vs. extensibility, cohesion and coupling, readability, non-functional requirements.
skills/refactor-proposal/Planning, writing, or reviewing a refactor: the ask, the benefits, what changes; whether a new requirement needs a refactor first; duplicated code and payloads, flags and hard-coded values, centralized error handling, judging a refactor PR by its tests.
skills/clean-code/Writing, refactoring, or reviewing code at the function, class, and module level: naming, function design, SOLID, error handling, tests, code smells.
skills/tdd/Implementing a feature or fixing a bug test-first: red-green-refactor, choosing the next test, test doubles, testing levels.
skills/software-architecture/Designing or reviewing system structure: layering, module and service boundaries, microservices, data ownership, integration patterns, ADRs.
skills/architecture-diagram/Starting any design, feature, or refactoring work in a repo: read the living architecture diagram first, and update it whenever services, modules, data stores, or integrations change. Ships scripts/build-viewer.py to render it.

How they fit together

software-design is the reasoning layer: it decides whether a design is good and why. clean-code gives the rules below the class level and software-architecture the rules above it. refactor-proposal turns a concrete new ask into a justified set of changes, leaning on clean-code for the smell catalog and on tdd to keep behavior pinned while structure changes. architecture-diagram keeps the repo's living diagram current so software-architecture reviews start from the real structure. The skills reference each other by name, so install them together.

Install

Personal (available in every project):

git clone https://github.com/nohemi20231/design-skills.git
cp -R design-skills/skills/* ~/.claude/skills/

Per project (shared with the team through git):

cp -R design-skills/skills/* your-project/.claude/skills/

Claude Code picks up any folder under .claude/skills/ that contains a SKILL.md. Invoke a skill with /software-design, /refactor-proposal, /architecture-diagram, and so on, or let Claude load it when the description matches the task.

GitHub Copilot

The same files work unchanged. Each skill is a folder with a SKILL.md whose frontmatter has only name and description, which is the shared Agent Skills format Copilot reads.

As a plugin, in a terminal with the GitHub Copilot CLI:

copilot plugin marketplace add nohemi20231/design-skills
copilot plugin install design-skills@design-skills

To update, run the install command again. The repo is a plugin in the Agent Plugins 1.0 format: plugin.json at the root and the skills under skills/.

Or copy the folders by hand. In a project, Copilot loads skills from .github/skills/ and also from .claude/skills/, so one copy serves both tools. For personal skills, copy the folders into ~/.copilot/skills/.

License

Apache License 2.0. See LICENSE and NOTICE.