From Claude DB
Audits horizontal scaling topology — checks partitioning fit for large/time-series tables, hot-partition or skewed key risk, and premature sharding that adds complexity without justification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-db:db-partitioning-shardingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scaling topology is **Performance & Scale** (axis `performance`); feeds relational *Escala* w12
Scaling topology is Performance & Scale (axis performance); feeds relational Escala w12
(shared with M17/M2/M9) and the Shard-key / Partición&hot categories in NoSQL profiles. The two
failure directions are symmetric: scaling too late (a monster table that should be partitioned) and
scaling too early (sharding a 5 GB database that a single node handles trivially).
tenant_id where one tenant is 90% of traffic, or all writes hitting
"today's" partition). On wide-column stores an unbounded/hot partition on an event table is
severity:5 (perf) with live write-rate evidence — otherwise directional.Feeds performance only (relational Escala w12; Shard-key document / Partición&hot KV+WC / Escala vector+graph).
Detect partitioning DDL (PARTITION BY, partition children), the chosen partition/shard key and its
apparent cardinality, large-table candidates from naming/columns (timestamp + high insert intent), and
shard-fanout code. Table size, row counts, and per-partition write rate are runtime →
needs_api at Tier-0 (never a silent pass).
-- partition inventory + sizes (Tier-1):
SELECT inhparent::regclass AS parent, inhrelid::regclass AS partition,
pg_size_pretty(pg_total_relation_size(inhrelid)) AS sz
FROM pg_inherits ORDER BY pg_total_relation_size(inhrelid) DESC;
-- candidate (unpartitioned) large tables:
SELECT relname, pg_size_pretty(pg_total_relation_size(oid)) AS sz, reltuples::bigint AS est_rows
FROM pg_class WHERE relkind='r' ORDER BY pg_total_relation_size(oid) DESC LIMIT 20;
Method schema_introspect / query_stat. A large unpartitioned table confirms a partitioning-fit
finding as established; per-partition skew needs Tier-2 write stats — without them, hot-partition is
directional and never caps.
Emit findings per schema/finding.schema.json. Examples:
M16.events.unpartitioned_large_table — large append-only table as a single heap (severity:3,
warn, axis performance, confidence established Tier-1 / needs_api Tier-0, fixable: advisory).M16.metrics.hot_partition_today — all writes to the current partition / skewed key (severity:3,
warn, directional static / established Tier-2; severity:5 only with live write-rate on a WC
event table, fixable: advisory).M16.app.premature_sharding — sharding with no size/throughput justification (severity:2, warn,
directional, fixable: advisory).Each finding: evidence.observed quotes the DDL / shard code / catalog row verbatim;
verification.reproduce is the query above referencing $DATABASE_URL; expected_impact is banded +
confidence-tagged (no naked %).
needs_api.directional and cannot cap.advisory (or proposed for a concrete declarative-partition
migration), never auto.npx claudepluginhub hainrixz/claude-db --plugin claude-dbProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.