kalilurrahman/kr-claudiator-skills/data-serialization
Claude Code and agent skill by kalilurrahman/kr-claudiator-skills
Trust tier 3
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Choose and implement data serialization formats for APIs, storage, and messaging. Outputs format comparison, schema design, versioning strategy, and performance benchmarks.
Install
npx vskill@latest install kalilurrahman/kr-claudiator-skills/data-serializationSKILL.md
Data Serialization
Serialization converts in-memory data structures to a transmittable/storable format. Choosing the right format affects performance, schema evolution, human readability, and ecosystem compatibility. Most systems need at least two: one human-readable (JSON) and one efficient binary (Protobuf/Avro) format.
Format Comparison
| Format | Type | Schema | Size | Speed | Evolution | Best For | |
|---|---|---|---|---|---|---|---|
| JSON | Text | None/optional | Large | Slow | Loose | REST APIs, config | |
| JSON Schema | Text | Explicit | Large | Slow | Versioned | Validated REST APIs | |
| Protocol Buffers | Binary | Required | Small | Fast | Strict | gRPC, high-volume messaging | |
| Apache Avro | Binary | Required | Smallest | Fast | Best | Kafka, data pipelines | |
| MessagePack | Binary | None | Medium | Medium | Loose | Drop-in JSON replacement | |
| CBOR | Binary | None | Medium | Medium | Loose | IoT, embedded |
Protobuf Schema Design
Avro Schema (for Kafka)
Schema Evolution Rules
Python Pydantic + JSON
Anti-Patterns to Avoid
| Anti-Pattern | Problem | Fix | |
|---|---|---|---|
| Storing amounts as floats | 0.1 + 0.2 != 0.3 — financial bugs | Store as integer cents; use Decimal for display | |
| No schema validation | Bad data silently corrupts downstream | Schema validation at deserialization time | |
| Breaking schema changes without version bump | Consumers crash silently | Backward-compatible changes only in same version | |
| Serializing entire ORM objects | Leaks internal structure; couples API to DB | Explicit serialization layer (DTOs) | |
| Timestamps without timezone | Ambiguous in multi-region; DST bugs | Always UTC; ISO 8601 with Z suffix |
10 Rules
- Money is always integers (cents) — never floats.
- Timestamps are always UTC ISO 8601 — never naive datetimes.
- Schema changes must be backward compatible — add optional fields; never rename or remove.
- Reserve field numbers in Protobuf when removing fields — prevents reuse.
- Validate at deserialization time — fail fast on schema violations, not in business logic.
- Separate serialization schemas (DTOs) from domain models — they change at different rates.
- JSON for human-facing APIs; binary formats (Protobuf/Avro) for high-volume internal messaging.
- Store raw bytes alongside decoded content for debugging — binary formats are unreadable otherwise.
- Generate code from schemas — don't handwrite Protobuf/Avro structs.
- Schema registry for Kafka Avro — centralize schema management; prevent incompatible producers.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking01-software-dev/data-serialization/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/kalilurrahman/kr-claudiator-skills/data-serialization)