
Redis Core
Model Redis data correctly—key naming, TTL, atomic primitives, JSON vs Hash, and Streams vs Pub/Sub—before shipping caching or real-time features.
Overview
Redis Core is an agent skill most often used in Build (also Operate) that teaches core Redis data modeling—structures, keys, TTL, atomics, and JSON vs Hash vs Streams choices.
Install
npx skills add https://github.com/redis/agent-skills --skill redis-coreWhat is this skill?
- Core Redis modeling: data structures, key naming, memory and TTL discipline
- Atomic primitives and when to prefer JSON versus Hash documents
- Streams versus Pub/Sub decision framing for event fan-out
- Official Redis agent-skills package (MIT) with evaluated skill benchmarks
- Eval suite reports ~0.95 pass rate across with/without-skill runs on core iteration-1 tasks
- Bundled eval iteration-1 reports 0.95 pass rate with and without skill (8 runs per configuration)
- Core suite covers 4 eval scenarios with measured token and timing deltas in repository benchmarks
Adoption & trust: 1 installs on skills.sh; 70 GitHub stars.
What problem does it solve?
You reached for Redis as a quick cache but your keys, TTLs, and message patterns will not scale or will race under concurrent writers.
Who is it for?
Indie backend devs introducing Redis for sessions, queues, or live updates who want agent-checked modeling discipline.
Skip if: Teams needing full Redis Cluster failover runbooks or managed-cloud-only setups with no self-modeled keys.
When should I use this skill?
User is modeling Redis data structures, keys, TTL, atomics, or choosing JSON/Hash/Streams patterns.
What do I get? / Deliverables
You get consistent Redis modeling guidance—key conventions, structure picks, and atomic patterns—aligned with Redis.io best practices for your feature.
- Key naming and TTL plan
- Structure choice (Hash, JSON, Stream, etc.) with rationale
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Schema and access-pattern choices for Redis belong on the Build backend shelf, though the same rules govern Operate incidents and Grow analytics pipelines fed from Redis. Backend is where solo builders pick structures and key conventions that prevent memory blowups and race conditions in production.
Where it fits
Design session and feature-flag keys with shared prefixes and TTL before shipping auth middleware.
Refactor hot keys and add expiration after memory alerts without changing user-visible API contracts.
Choose Streams over Pub/Sub when you need consumer groups for funnel events without losing messages.
How it compares
Focused modeling primer—not a replacement for Redis Enterprise docs or a dedicated observability MCP server.
Common Questions / FAQ
Who is redis-core for?
Solo builders and small teams using AI coding agents to implement Redis-backed features who want official Redis modeling guardrails.
When should I use redis-core?
In Build backend while designing keys and TTLs; in Operate iterate when investigating memory spikes; or in Grow analytics when piping Stream events into dashboards.
Is redis-core safe to install?
MIT-licensed Redis-maintained skill content; review the Security Audits panel on this page before granting agents production Redis credentials or unrestricted network access.
SKILL.md
READMESKILL.md - Redis Core
{ "name": "redis-core", "version": "1.0.0", "description": "Core Redis modeling — data structures, key naming, memory and TTL, atomic primitives, JSON vs Hash, Streams vs Pub/Sub.", "author": { "name": "Redis", "email": "support@redis.com" }, "homepage": "https://redis.io", "repository": "https://github.com/redis/agent-skills", "license": "MIT", "keywords": ["redis", "database", "data-modeling", "data-structures", "key-naming"] } { "generated_at": "2026-05-22T10:36:23.032Z", "input_root": "eval-workspaces/redis-core/core/iteration-1", "context": { "skill_name": "redis-core", "suite_name": "core" }, "models": [ { "model_dir": "anthropic__claude-haiku-4-5-20251001", "model": "claude-haiku-4-5-20251001", "provider": "anthropic", "analyzer_model": "<model-name>", "runs_per_configuration": 3, "evals_run": [ 1, 2, 3, 4 ], "without_skill": { "count": 8, "pass_rate": 0.95, "time_seconds": 9.009375, "tokens": 1156.125 }, "with_skill": { "count": 8, "pass_rate": 0.95, "time_seconds": 18.1815, "tokens": 1080.75 }, "delta": { "pass_rate": 0, "time_seconds": 9.172125, "tokens": -75.375 }, "cost": { "generation_usd": 0.608038, "grading_usd": 1.513413, "total_usd": 2.121451, "with_skill_usd": 1.227107, "without_skill_usd": 0.894344, "delta_usd": 0.041595, "runs_with_cost": 16 }, "verdict": "neutral" }, { "model_dir": "anthropic__claude-opus-4-7", "model": "claude-opus-4-7", "provider": "anthropic", "analyzer_model": "<model-name>", "runs_per_configuration": 3, "evals_run": [ 1, 2, 3, 4 ], "without_skill": { "count": 8, "pass_rate": 0.975, "time_seconds": 16.212, "tokens": 1917.375 }, "with_skill": { "count": 8, "pass_rate": 1, "time_seconds": 14.751375, "tokens": 1203.5 }, "delta": { "pass_rate": 0.025000000000000022, "time_seconds": -1.4606250000000003, "tokens": -713.875 }, "cost": { "generation_usd": 1.812924, "grading_usd": 1.542798, "total_usd": 3.355722, "with_skill_usd": 1.791716, "without_skill_usd": 1.564006, "delta_usd": 0.028464, "runs_with_cost": 16 }, "verdict": "neutral" }, { "model_dir": "anthropic__claude-sonnet-4-6", "model": "claude-sonnet-4-6", "provider": "anthropic", "analyzer_model": "<model-name>", "runs_per_configuration": 3, "evals_run": [ 1, 2, 3, 4 ], "without_skill": { "count": 8, "pass_rate": 0.95, "time_seconds": 14.230625, "tokens": 1391.25 }, "with_skill": { "count": 8, "pass_rate": 0.975, "time_seconds": 20.34725, "tokens": 1254.625 }, "delta": { "pass_rate": 0.025000000000000022, "time_seconds": 6.116624999999999, "tokens": -136.625 }, "cost": { "generation_usd": 1.00935, "grading_usd": 1.534102, "total_usd": 2.543452, "with_skill_usd": 1.424765, "without_skill_usd": 1.118687, "delta_usd": 0.03826, "runs_with_cost": 16 }, "verdict": "neutral" } ], "evals": [ { "eval_id": 1, "eval_name": "object-profile-cache", "without_skill": { "count": 6, "pass_rate": 0.8666666666666667, "time_seconds": 13.931333333333333, "tokens": 1448.5 }, "with_skill": { "count": 6, "pass_rate": 0.9, "time_seconds": 20.580166666666667, "tokens": 1201.1666666666667