AWS Storage
aws/agent-toolkit-for-aws
Selects, investigates, and compares AWS object, file, and block storage services, and answers cost, performance, configuration, security, and troubleshooting questions about storage services.
Designing Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann.
$ npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luoling8192/ai-coding-principles ddia-principles --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/luoling8192/ai-coding-principles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ddia-principles .claude/skills/ddia-principles && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ddia-principles" agent skill from https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principles into .claude/skills/ddia-principles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddia-principles", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principlesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luoling8192/ai-coding-principles ddia-principles --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luoling8192/ai-coding-principles.git skills-src && mkdir -p .agents/skills && cp -r skills-src/ddia-principles .agents/skills/ddia-principles && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ddia-principles" agent skill from https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principles into .agents/skills/ddia-principles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddia-principles", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luoling8192/ai-coding-principles ddia-principles --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luoling8192/ai-coding-principles.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/ddia-principles .cursor/skills/ddia-principles && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ddia-principles" agent skill from https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principles into .cursor/skills/ddia-principles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddia-principles", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/luoling8192/ai-coding-principles.git --path ddia-principles--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luoling8192/ai-coding-principles ddia-principles --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luoling8192/ai-coding-principles.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/ddia-principles .gemini/skills/ddia-principles && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ddia-principles" agent skill from https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principles into .gemini/skills/ddia-principles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddia-principles", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install luoling8192/ai-coding-principles ddia-principlesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/luoling8192/ai-coding-principles.git skills-src && mkdir -p .github/skills && cp -r skills-src/ddia-principles .github/skills/ddia-principles && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ddia-principles" agent skill from https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principles into .github/skills/ddia-principles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddia-principles", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install luoling8192/ai-coding-principles ddia-principles --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luoling8192/ai-coding-principles.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/ddia-principles .opencode/skills/ddia-principles && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ddia-principles" agent skill from https://github.com/luoling8192/ai-coding-principles/tree/main/ddia-principles into .opencode/skills/ddia-principles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddia-principles", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ddia-principlesDesigning Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann.
Ddia Principles is an agent skill from luoling8192/ai-coding-principles. Designing Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann. MUST be loaded when: designing database schemas, choosing storage engines, implementing replication or partitioning, handling distributed transactions, building batch/stream processing pipelines, choosing consistency models, implementing consensus, designing data flow architectures, evaluating trade-offs between availability and consistency, encoding/serialization decisions, data modeling (relational vs document vs graph)…
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Databases, covering Database schema design, Data warehousing and Database administration. It works with Apache Kafka. The repository describes itself as: A collection of Claude Code skills that enforce coding discipline and prevent common AI coding anti-patterns. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 27db986. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ddia Principles loads about 4.7k tokens when it runs. Until then it costs about 253 tokens; SKILL.md has 1,817 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from luoling8192/ai-coding-principles at commit 27db986, republished under its MIT licence (© luoling8192). 1,817 words, ~4,653 tokens.
.claude/skills/ddia-principles/SKILL.md (or your agent's skills folder).Source: Martin Kleppmann, Designing Data-Intensive Applications Central thesis: Data is the core challenge of modern applications — not compute.
| Pillar | Definition | Key Metric |
|---|---|---|
| Reliability | System works correctly even when faults occur | Fault ≠ Failure; tolerate faults, prevent failures |
| Scalability | System handles load growth gracefully | Measure with percentiles: p50, p95, p99, p999 |
| Maintainability | System is easy to operate, understand, evolve | Operability + Simplicity + Evolvability |
Twitter fan-out case study: 4.6k writes/s but 300k reads/s. Solution: pre-compute timelines (write fan-out) for most users; read-time merge for celebrities.
| Model | Best For | Weakness |
|---|---|---|
| Relational | Structured data, complex joins, ACID transactions | Rigid schema, impedance mismatch with OOP |
| Document | Hierarchical data, flexible schema, data locality | Poor joins, many-to-many relationships |
| Graph | Highly connected data, variable-depth traversals | Less mature tooling, harder to partition |
Trend: Models converge — PostgreSQL supports JSON, MongoDB added joins. Choose based on access patterns, not ideology.
| Feature | B-Tree | LSM-Tree |
|---|---|---|
| Write throughput | Lower (in-place update + WAL) | Higher (sequential append) |
| Read latency | More predictable | May check multiple SSTables |
| Write amplification | Higher | Lower |
| Space efficiency | Fragmentation possible | Better compression |
| Transaction support | Simpler (lock on tree node) | More complex |
| Used by | PostgreSQL, MySQL, Oracle | LevelDB, RocksDB, Cassandra |
| Aspect | OLTP | OLAP |
|---|---|---|
| Access | Random, few records | Sequential scan, millions of rows |
| Users | End users | Analysts |
| Data | Current state | Historical events |
| Scale | GB–TB | TB–PB |
| Optimize for | Low latency | Throughput |
| Format | Size (example) | Schema | Evolution | Cross-language |
|---|---|---|---|---|
| JSON | 81 bytes | Implicit | Manual | Excellent |
| Thrift | 59 bytes | Required | Field tags | Good |
| Protobuf | 33 bytes | Required | Field tags | Excellent |
| Avro | 32 bytes | Required | Name matching | Good |
Avoid: Language-specific serialization (Java Serializable, Python pickle) — vendor lock-in + security risk.
| Model | Writes | Conflict | Use Case |
|---|---|---|---|
| Single-leader | One node | None | Most common (PostgreSQL, MySQL) |
| Multi-leader | Multiple nodes | Must resolve | Multi-datacenter, offline clients |
| Leaderless | Any node | Must resolve | Cassandra, Riak, Voldemort |
| Problem | Symptom | Solution |
|---|---|---|
| Read-after-write | User doesn't see own write | Read from leader for user's own data |
| Monotonic reads | Data goes backward in time | Stick user to one replica |
| Consistent prefix reads | Causal order violated | Write causally related data to same partition |
w + r > n| Strategy | Pros | Cons |
|---|---|---|
| Key-range | Efficient range queries | Hotspot risk on sequential keys |
| Hash | Even distribution | No range queries |
| Compound | First part hashed, rest sorted | More complex, best of both |
| Level | Prevents | Allows | Implementation |
|---|---|---|---|
| Read Committed | Dirty reads, dirty writes | Non-repeatable reads, lost updates | Row locks + old value copy |
| Snapshot Isolation | + Non-repeatable reads | Write skew, phantoms | MVCC (multi-version) |
| Serializable | Everything | Nothing | 2PL, serial execution, or SSI |
| Anomaly | Description | Example |
|---|---|---|
| Dirty read | See uncommitted data | Reading half-written transfer |
| Dirty write | Overwrite uncommitted data | Two buyers "winning" same item |
| Lost update | Read-modify-write race | Two concurrent counter increments |
| Write skew | Decision based on stale read | Two doctors both going off-call |
| Phantom | New rows change query result | Meeting room double-booking |
Networks: Async packet networks — no delivery guarantee, no timing guarantee. Cannot distinguish crash from network delay. Timeouts are the only failure detector, but no correct timeout value exists.
Clocks:
Processes: GC pauses, VM suspension, page faults — threads stop without warning. A paused node doesn't know time passed.
| Model | Guarantee | Cost |
|---|---|---|
| Linearizability | Behaves as if one copy, all ops atomic | High latency, reduced availability during partition |
| Causal consistency | Respects cause-effect ordering | Better performance, partition-tolerant |
| Eventual consistency | Replicas converge eventually | Best performance, weakest guarantee |
These three problems are mathematically equivalent. Solving one solves all.
Input → Mapper (extract key-value) → Sort/Partition → Reducer (aggregate by key) → Output
| Join Type | When | How |
|---|---|---|
| Sort-merge | Both inputs large | Sort by join key, merge in reducer |
| Broadcast hash | One input small (fits in RAM) | Load small side as hash table |
| Partitioned hash | Both inputs partitioned identically | Per-partition hash join |
| Model | Delivery | Ordering | Replay | Use Case |
|---|---|---|---|---|
| AMQP/JMS | Per-message ack, delete after | No ordering guarantee | No | Task queues, async RPC |
| Log-based (Kafka) | Offset-based, retained | Per-partition ordering | Yes | Event streaming, CDC |
Extract database changes as event stream → keep derived systems (search indexes, caches, warehouses) in sync. Source of truth stays in database; derived views are consumers.
Model state as append-only sequence of business events (not DB operations). Events are immutable facts. Current state = fold over event history.
| Join | Input A | Input B | State |
|---|---|---|---|
| Stream-Stream | Events | Events | Time-windowed buffer |
| Stream-Table | Events | DB snapshot (via CDC) | Local materialized table |
| Table-Table | CDC stream | CDC stream | Derived materialized view |
| Window | Description |
|---|---|
| Tumbling | Fixed-size, non-overlapping (e.g., every 1 min) |
| Hopping | Fixed-size, overlapping (e.g., 1 min window every 30s) |
| Sliding | All events within time threshold of each other |
| Session | Grouped by activity gap (e.g., 30 min inactivity) |
Event time ≠ processing time. Always use event time for correctness. Handle late events with watermarks or correction publishes.
No single database does everything. Use event log as integration backbone:
Separate concerns:
Low-level guarantees (TCP, DB transactions) don't ensure application correctness. Require:
Instead of distributed transactions:
Many-to-many relationships? → Relational or Graph
Hierarchical / nested data? → Document
Highly connected data? → Graph
Flexible / evolving schema? → Document (schema-on-read)
Strong consistency required? → Relational (ACID)Write-heavy workload? → LSM-tree (RocksDB, Cassandra)
Read-heavy, predictable? → B-tree (PostgreSQL, MySQL)
Analytical queries? → Column store (ClickHouse, Redshift)
Full-text search? → Inverted index (Elasticsearch)Single datacenter? → Single-leader
Multi-datacenter? → Multi-leader
Offline-first clients? → Multi-leader or Leaderless
Maximum availability? → Leaderless with sloppy quorum
Strong consistency? → Single-leader with sync replicationRead-only analytics? → Snapshot isolation
General OLTP? → Read committed (default in most DBs)
Financial / critical? → Serializable (prefer SSI over 2PL)
High write contention? → Serial execution (if data fits in RAM)Historical data reprocessing? → Batch (Spark, Flink batch mode)
Real-time derived views? → Stream (Kafka + Flink/Spark Streaming)
Both needed? → Unified engine (Flink) over Lambda architecture© luoling8192, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in ddia-principles of luoling8192/ai-coding-principles.
Open the folder on GitHubat commit 27db986
Ddia Principles next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ddia Principles this skillluoling8192/ai-coding-principles | 173 | — | ~4.7k | Automated safety check: Pass | MIT | |
| AWS Storageaws/agent-toolkit-for-aws | 2.8k | — | ~5.8k | Automated safety check: Pass | Apache-2.0 | |
| DB SculptorEliasOulkadi/shokunin | 114 | — | ~3.1k | Automated safety check: Notes | MIT | |
| Opensourcefaqdigoal/blog | 8.6k | — | ~966 | Automated safety check: Pass | GPL-2.0 | |
| Monitoring Ingestion PipelinePostHog/posthog | 40k | — | ~9.1k | Automated safety check: Pass | Custom licence | |
| Io ConnectorsKilo-Org/kilo-marketplace | 190 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
aws/agent-toolkit-for-aws
Selects, investigates, and compares AWS object, file, and block storage services, and answers cost, performance, configuration, security, and troubleshooting questions about storage services.
EliasOulkadi/shokunin
Design database schemas with Prisma/Drizzle, PostgreSQL index strategy (B-tree, GIN, GiST, BRIN, Hash), query optimization (EXPLAIN ANALYZE), migration safety (expand/contract, zero-downtime), and…
digoal/blog
解答与开源产品有关的深度技术问题,输出图文并茂的 Markdown 技术文章。触发条件:用户提出与开源项目(如 PostgreSQL、Redis、Kafka、Kubernetes、ClickHouse、Flink 等)相关的技术问题,并提供源码目录或 URL、deepwiki repo 名称。即使用户只说"帮我解答这个开源问题"或"分析一下这个项目的某个机制",也应使用本…
PostHog/posthog
Guide for using the Grafana MCP to monitor and diagnose the Node.js ingestion pipeline workers in production.
Kilo-Org/kilo-marketplace
Guides development and usage of I/O connectors in Apache Beam.
wshobson/agents
Designs event stores for event-sourced systems: requirements, a comparison of EventStoreDB, PostgreSQL, Kafka, DynamoDB and Marten, and stream and versioning practices.
luoling8192/ai-coding-principles
Mandatory coding discipline rules that prevent common AI coding anti-patterns.
Works with
Categories
Designing Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann. Ddia Principles is an agent skill from luoling8192/ai-coding-principles. Designing Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann.
Ddia Principles fits situations like: : database design; isolation levels; batch processing; stream processing.
Run `npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a claude-code`. Or copy the skill folder (ddia-principles in luoling8192/ai-coding-principles) into .claude/skills/ddia-principles in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a codex`. Or copy the skill folder (ddia-principles in luoling8192/ai-coding-principles) into .agents/skills/ddia-principles in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add luoling8192/ai-coding-principles --skill ddia-principles -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ddia-principles, .gemini/skills/ddia-principles, .github/skills/ddia-principles and .opencode/skills/ddia-principles in your project.
SKILL.md names no scripts, command-line tools or credentials: Ddia Principles is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ddia Principles is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ddia Principles: AWS Storage (aws/agent-toolkit-for-aws, 2.8k stars), DB Sculptor (EliasOulkadi/shokunin, 114 stars), Opensourcefaq (digoal/blog, 8.6k stars) and Monitoring Ingestion Pipeline (PostHog/posthog, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
luoling8192 (a GitHub user) maintains it in luoling8192/ai-coding-principles, which has 173 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on March 26, 2026.
Source: luoling8192/ai-coding-principles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.