redis-core — скилл для Claude Code: моделирование данных в Redis
Скилл подсказывает агенту, какой тип данных Redis выбрать под задачу и как назвать ключи. Пригодится при проектировании кэша, счётчиков и сессий.
npx skills add redis/agent-skills --skill redis-core -a claude-codeЧто делает redis-core
Скилл закрывает два решения, от которых сильнее всего зависят память и удобство поддержки: выбор типа данных и схему имён ключей. Агент получает таблицу соответствия «задача — тип»: String для простых значений и счётчиков, Hash для объекта с полями, которые обновляются по отдельности, List для очередей, Set для проверки членства, Sorted Set для рейтингов, JSON для вложенных структур, Stream для журнала событий, Vector Set для поиска по векторам.
Отдельно разобран антипаттерн: плоский объект, засунутый в сериализованную строку. Обновление одного поля превращается в чтение, разбор, правку и полную перезапись — вместо этого стоит взять Hash. По именам ключей правило простое: нижний регистр, сегменты через двоеточие, стабильная иерархия вида user:1001:profile. Полные URL в ключах не нужны, лучше короткий идентификатор или хеш. Для мультитенантности — префикс вроде tenant:42:user:7:cart, чтобы сканы и ACL целились в арендатора.
Внутри два справочника: references/choose-data-structure.md с обоснованием выбора и примерами на Python и Java, и references/key-naming.md с разбором чистки ключей и краевых случаев. Установка идёт через npx skills add, так что нужен Node.js с npx.
Какие задачи решает
- выбрать тип данных Redis под конкретный шаблон доступа
- разложить объект с часто обновляемыми полями вместо сериализованной строки
- привести имена ключей к единой схеме через двоеточие
- добавить префикс арендатора, чтобы сканы и ACL не задевали чужие данные
- разобрать существующие ключи и переписать их по одной конвенции
Примеры запросов агенту
- Помоги спроектировать модель данных Redis для корзины пользователя
- Hash или JSON выбрать для профиля, где поля обновляются по отдельности?
- Проверь имена ключей в проекте и приведи их к одной схеме
Как установить redis-core
1Через Skills CLI (Vercel)
npx skills add redis/agent-skills --skill redis-core -a claude-code2Вручную: положить файлы
~/.claude/skills/redis-core/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/redis-core/
1Через Skills CLI (Vercel)
npx skills add redis/agent-skills --skill redis-core -a codex2Вручную: положить файлы
.agents/skills/redis-core/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add redis/agent-skills --skill redis-core -a cursor2Вручную: положить файлы
.cursor/skills/redis-core/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install redis/agent-skills redis-core2Вручную: положить файлы
.github/skills/redis-core/SKILL.md1Через Skills CLI (Vercel)
npx skills add redis/agent-skills --skill redis-core -a gemini-cli2Командой платформы
gemini skills install https://github.com/redis/agent-skills --path skills/redis-coreВручную: положить файлы
.devin/skills/redis-core/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add redis/agent-skills --skill redis-core -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора7
Похожие
Рядом в теме «Данные и базы»
Всё по теме «Данные и базы» →Вопросы о redis-core
Как установить redis-core в Claude?
Выполните npx skills add redis/agent-skills --skill redis-core -a claude-code. Скилл окажется в ~/.claude/skills/redis-core/SKILL.md.
Что делает redis-core?
Даёт агенту правила выбора типа данных Redis под задачу и единую схему имён ключей с сегментами через двоеточие.
Какие типы данных разбирает скилл?
String, Hash, List, Set, Sorted Set, JSON, Stream и Vector Set — с указанием, под какой шаблон доступа каждый подходит.
Исходный текст
SKILL.md · MIT
---
name: redis-core
description: Core Redis modeling guidance — choose the right data structure (String, Hash, List, Set, Sorted Set, JSON, Stream, Vector Set) and use consistent colon-separated key names. Use when designing a Redis data model, caching objects, deciding between Hash and JSON, building counters, leaderboards, membership sets, or session stores, or when reviewing/cleaning up Redis key naming.
license: MIT
metadata:
author: Redis, Inc.
version: "0.1.0"
---
# Redis Core
Foundational guidance for modeling data in Redis. Covers data-type selection and key-name conventions — the two decisions that most directly drive memory, performance, and maintainability.
## When to apply
- Caching objects, sessions, or per-user state.
- Counters, leaderboards, recent-items lists, unique-membership sets.
- Reviewing or refactoring Redis key names.
- Deciding between a Redis Hash and a JSON document for an entity.
## 1. Choose the right data structure
Pick the type that matches the *access pattern*, not just the shape of the data.
| Use case | Recommended type | Why |
|---|---|---|
| Simple values, counters | String | Atomic `INCR`/`DECR`, `SET`/`GET` |
| Object with independently updated fields | Hash | Per-field reads/writes, no whole-object rewrite |
| Queue, recent-N items | List | O(1) push/pop at ends |
| Unique items, membership checks | Set | O(1) `SADD`/`SISMEMBER`/`SCARD` |
| Rankings, score-based ranges | Sorted Set | Score-ordered; `ZADD`/`ZRANGE`/`ZRANK` |
| Nested / hierarchical data | JSON | Path-level updates, nested arrays, RQE indexing |
| Event log, fan-out messaging | Stream | Persistent, consumer groups |
| Vector similarity | Vector Set | Native vector storage with HNSW |
**Common anti-pattern:** stuffing a flat object into a serialized string. Updating one field means fetch + parse + mutate + rewrite. Use a Hash instead.
See [references/choose-data-structure.md](references/choose-data-structure.md) for full rationale and Python/Java examples.
## 2. Use consistent key names
Use `colon-separated` segments with a stable hierarchy:
```
{entity}:{id}:{attribute}
user:1001:profile
user:1001:settings
order:2024:items
session:abc123
article:987:likes
game:space-invaders:leaderboard
```
Rules of thumb:
- **Lowercase, colon-separated.** No spaces, no mixed casing (`User_1001_Profile` is bad).
- **Keep keys short but readable** — keys live in memory and appear in every command.
- **Don't use full URLs or long strings as keys.** Extract a short identifier, or use a hash digest of the URL.
- **Prefix for multi-tenancy** (`tenant:42:user:7:cart`) so scans and ACLs can target a tenant cleanly.
- **Be consistent.** Pick one convention per service and apply it across all keys.
See [references/key-naming.md](references/key-naming.md) for cleanup examples and edge cases.
## References
- [Redis: Choosing the right data type](https://redis.io/docs/latest/develop/data-types/compare-data-types/)
- [Redis: Keys](https://redis.io/docs/latest/develop/use/keyspace/)
© Redis, Inc. · MIT · redis/agent-skills