ork-assess
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a request asks to assess, rate,…
Right-sizes architecture to project scope, classifying projects into 6 tiers to prevent over-engineering. Use when designing architecture, selecting patterns, or detecting a project tier.
$ npx -y skills add yonatangross/orchestkit --skill scope-appropriate-architecture --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/scope-appropriate-architectureContext preview
The summary Claude sees to decide when to auto-load this skill.
Right-sizes architecture to project scope, classifying projects into 6 tiers to prevent over-engineering. Use when designing architecture, selecting patterns, or detecting a project tier.
name: scope-appropriate-architecture license: MIT compatibility: "Claude Code 2.1.251+" description: Right-sizes architecture to project scope, classifying projects into 6 tiers to prevent over-engineering. Use when designing architecture, selecting patterns, or detecting a project tier. tags: [architecture, yagni, over-engineering, scope, patterns] version: 1.0.0 author: OrchestKit user-invocable: false context: inherit complexity: low persuasion-type: guidance effort: low model: haiku metadata: category: architecture allowed-tools: - Read - Glob - Grep - WebFetch - WebSearch
Right-size every architectural decision to the project's actual needs. Not every project needs hexagonal architecture, CQRS, or microservices.
**Core principle:** Detect the project tier first, then constrain all downstream pattern choices to that tier's complexity ceiling.
---
| Tier | LOC Ratio | Architecture | DB | Auth | Tests | |------|-----------|-------------|-----|------|-------| | **1. Interview/Take-home** | 1.0-1.3x | Flat files, no layers | SQLite / JSON | None or basic | 8-15 focused | | **2. Hackathon/Prototype** | 0.8-1.0x | Single file if possible | SQLite / in-memory | None | Zero | | **3. Startup/MVP** | 1.0-1.5x | MVC monolith | Managed Postgres | Clerk/Supabase Auth | Happy path + critical | | **4. Growth-stage** | 1.5-2.0x | Modular monolith | Postgres + Redis | Auth service | Unit + integration | | **5. Enterprise** | 2.0-3.0x | Hexagonal/DDD | Postgres + queues | OAuth2/SAML | Full pyramid | | **6. Open Source** | 1.2-1.8x | Minimal API surface | Configurable | Optional | Exhaustive public API |
**LOC Ratio** = total lines / core business logic lines. Higher ratio = more infrastructure code relative to business value.
---
| Signal | Tier Indicator | |--------|---------------| | README contains "take-home", "assignment", "interview" | Tier 1 | | Time limit mentioned (e.g., "4 hours", "weekend") | Tier 1-2 | | < 10 files, no CI, no Docker | Tier 1-2 | | `.github/workflows/` present | Tier 3+ | | `package.json` with 20+ dependencies | Tier 3+ | | Kubernetes/Terraform files present | Tier 4-5 | | `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md` | Tier 6 | | Monorepo with `packages/` or `apps/` | Tier 4-5 |
**When confidence is low:** Ask the user with `AskUserQuestion`.
---
| Pattern | Interview | Hackathon | MVP | Growth | Enterprise | |---------|-----------|-----------|-----|--------|------------| | Repository pattern | OVERKILL | OVERKILL | BORDERLINE | APPROPRIATE | REQUIRED | | Event-driven arch | OVERKILL | OVERKILL | OVERKILL | SELECTIVE | APPROPRIATE | | DI containers | OVERKILL | OVERKILL | LIGHT ONLY | APPROPRIATE | REQUIRED | | Separate DTO layers | OVERKILL | OVERKILL | 1 EXTRA | 2 LAYERS | ALL LAYERS | | Microservices | NEVER | NEVER | NEVER | EXTRACT ONLY | APPROPRIATE | | CQRS | OVERKILL | OVERKILL | OVERKILL | OVERKILL | WHEN JUSTIFIED | | Hexagonal architecture | OVERKILL | OVERKILL | OVERKILL | BORDERLINE | APPROPRIATE | | DDD (bounded contexts) | OVERKILL | OVERKILL | OVERKILL | SELECTIVE | APPROPRIATE | | Message queues | OVERKILL | OVERKILL | BORDERLINE | APPROPRIATE | REQUIRED | | API versioning | SKIP | SKIP | URL prefix | Header-based | Full strategy | | Error handling | try/catch | console.log | Error boundary | Error service | RFC 9457 | | Logging | console.log | none | Structured JSON | Centralized | OpenTelemetry |
**Rule of thumb:** If a pattern shows OVERKILL for the detected tier, do NOT use it. Suggest the simpler alternative instead.
---
| Choice | Interview | Hackathon | MVP | Growth | Enterprise | |--------|-----------|-----------|-----|--------|------------| | **Database** | SQLite / JSON file | In-memory / SQLite | Managed Postgres | Postgres + Redis | Postgres + queues + cache | | **Auth** | Hardcoded / none | None | Clerk / Supabase Auth | Auth service | OAuth2 / SAML / SSO | | **State mgmt** | useState | useState | Zustand / Context | Zustand + React Query | Redux / custom + cache | | **CSS** | Inline / Tailwind | Tailwind | Tailwind | Tailwind + design tokens | Design system | | **API** | Express routes | Single file handler | Next.js API routes | FastAPI / Express | Gateway + services | | **Deployment** | localhost | Vercel / Railway | Vercel / Railway | Docker + managed | K8s / ECS | | **CI/CD** | None | None | GitHub Actions basic | Multi-stage pipeline | Full pipeline + gates | | **Monitoring** | None | None | Error tracking only | APM + logs | Full observability stack |
---
For Interview, Hackathon, and MVP tiers, **always prefer buying over building**:
| Capability | BUY (use SaaS) | BUILD (only if) | |-----------|----------------|-----------------| | Auth | Clerk, Supabase Auth, Auth0 | Core product IS auth | | Payments | Stripe | Core product IS payments | | Email | Resend, SendGrid | Core product IS email | | File storage | S3, Cloudflare R2 | Compliance requires on-prem | | Search | Algolia, Typesense Cloud | > 10M docs or custom ranking | | Analytics | PostHog, Mixpanel | Unique data requirements |
**Time savings:** Auth alone is 2-4 weeks build vs 2 hours integrate.
---
When a project grows beyond its current tier, upgrade incrementally:
Tier 2 (Prototype) → Tier 3 (MVP) Add: Postgres, basic auth, error boundaries, CI Tier 3 (MVP) → Tier 4 (Growth) Add: Redis cache, background jobs, monitoring, module boundaries Tier 4 (Growth) → Tier 5 (Enterprise) Add: DI, bounded contexts, message queues, full observability Extract: First microservice (only the proven bottleneck)
**Key insight:** You can always add complexity later. You cannot easily remove it.
---
This skill is loaded by:
The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install `ork` for stable (v9.x), or `ork-alpha` for the v10 line, which ships daily.
Repo: yonatangross/orchestkit
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a request asks to assess, rate,…
Compare plausible implementation, architecture, product, or operational approaches before committing to one. Use when a request asks to brainstorm, think…
Map an unfamiliar codebase, feature, architecture, data flow, or operational path with file-backed evidence. Use when a request asks how a system works, where…
Make an approved, scoped change and prove the affected behavior. Use when a request asks to implement, build, add, or land a feature that already has an agreed…
Review a pull request or branch for correctness, regressions, security, operational risk, and missing evidence. Use when a request asks to review a PR, review…
Verify that existing work is ready to merge, release, or hand off using an explicit evidence contract. Use when a request asks to verify, validate, prove,…