# software-design-principles

A Markdown engineering guide for code review, module planning, and refactoring. It enforces clean boundaries, non-functional requirements, and layered design across pull requests.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 36
- Author: databricks-solutions
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/databricks-solutions/consort/tree/HEAD/skills/software-design-principles/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/software-design-principles

## What it does

This skill contains no executable scripts or background services. It acts as a reference document for agents and developers during architectural design. The guidelines define conventions for SOLID patterns and directional dependency rules.

Before any pull request merges, the instructions mandate mapping architectural concerns. Teams assign authentication and domain logic to specific layers. Refactoring must preserve external tests. Database schema changes require deleting deprecated fields from migrations and ORM models in the same step.

The skill relies entirely on Markdown text. Adherence to these architectural rules depends on engineer discipline during code reviews.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks-solutions/consort --skill software-design-principles -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/software-design-principles/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/software-design-principles/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks-solutions/consort --skill software-design-principles -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/software-design-principles/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks-solutions/consort --skill software-design-principles -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/software-design-principles/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install databricks-solutions/consort software-design-principles
```

2. **Manually: put the files in place**
- File: `.github/skills/software-design-principles/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks-solutions/consort --skill software-design-principles -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/databricks-solutions/consort --path skills/software-design-principles
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/software-design-principles/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add databricks-solutions/consort --skill software-design-principles -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/databricks-solutions/consort/tree/HEAD/skills/software-design-principles/SKILL.md

## When to use it
- map cross-cutting requirements to distinct architectural layers
- verify inward module dependencies during pull request reviews
- keep database schema migrations synchronized with backend models
- distinguish superseded assertions from actual software regressions

## Example prompts
- Review this pull request against software-design-principles and map our architectural concerns.
- Plan a refactor for the authorization service with inward-pointing dependencies.
- Help remove the deprecated database column across models and migrations.

## Similar
- [improve-codebase-architecture](https://affpapa.org/en/nevibecode/skills/improve-codebase-architecture.md) — skill · 1163035 installs
- [tdd](https://affpapa.org/en/nevibecode/skills/tdd.md) — skill · 1141062 installs
- [triage](https://affpapa.org/en/nevibecode/skills/triage.md) — skill · 990453 installs
- [codebase-design](https://affpapa.org/en/nevibecode/skills/codebase-design.md) — skill · 850344 installs
- [code-review](https://affpapa.org/en/nevibecode/skills/code-review.md) — skill · 789521 installs
- [implement](https://affpapa.org/en/nevibecode/skills/implement.md) — skill · 774700 installs

From the same set: [databricks-solutions/consort](https://affpapa.org/en/nevibecode/by/databricks-solutions/consort.md) — 4 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
