flowstate-epic-flowstate-community-epicdm-kv-shim
Package-local agent skill for @epicdm/kv-shim.
Tags
Publisher
Versions
1 version published — latest: 0.1.0
- 0.1.0publishedInvalid Date
Skill
kv-shim Package Skill
Package: @epicdm/kv-shim
Repository: epic-flowstate-community
Path: packages/kv-shim
Version: 0.1.0
Use this published Dojo skill as the package-level entrypoint. For detailed workflows, use the package-local skills listed below.
Primary Package Workflow
KV Adapter Selection
Use this skill when a service or test needs a KVStore.
Interface-First Pattern
Accept the interface at boundaries:
async function loadValue(kv: KVStore, key: string) {
return kv.get(key)
}
This lets production Cloudflare services pass a KV binding directly while local services can pass a shim adapter.
Redis Adapter
const kv = new RedisKVStore(redis, 'flowstate:')
Use Redis for local or server-side services that need persistence and have an ioredis connection. The optional prefix isolates keys and is stripped from list results.
In-Memory Adapter
const kv = new InMemoryKVStore()
Use memory for tests and lightweight development flows only. It has no persistence and prunes expired entries lazily during reads/lists.
Watch Outs
- Do not use
InMemoryKVStorefor production persistence. - Cloudflare KV already satisfies the interface; do not wrap it unnecessarily.
- Prefixes apply only to
RedisKVStore.
Package Skill Inventory
Package Skill Inventory: @epicdm/kv-shim
Package path: packages/kv-shim.
Skill Map
| Skill | Type | Trigger | Teaches | Dojo |
|---|---|---|---|---|
flowstate-kv-shim | orchestrator | Use when integrating, changing, testing, or documenting @epicdm/kv-shim | Package purpose, routing, public KV surface | local-only |
flowstate-kv-shim-adapter-selection | workflow | Use when choosing Cloudflare KV, Redis, or in-memory KV behavior | KVStore, RedisKVStore, InMemoryKVStore, key prefixes, test/dev/prod selection | ready-after-review |
flowstate-kv-shim-list-ttl-contracts | reference | Use when implementing or debugging put TTLs or list pagination | expirationTtl, expiration, Redis SCAN caveat, cursor semantics, Cloudflare TTL minimum | ready-after-review |
flowstate-kv-shim-maintenance | maintenance | Use before changing the KV interface, adapters, tests, docs, Dojo, or feature matrix | Verification, optional ioredis peer contract, generated content gate | local-only |
Anti-Sprawl Decision
Do not create separate skills for get, put, delete, and list. The useful learning units are adapter selection, TTL/list contracts, and maintenance.
Review Gate
Package Skill Review: @epicdm/kv-shim
Package path: packages/kv-shim.
Review Result
Status: drafted, source-backed, partially verified, pending lint repair and publication.
The skillset is compact and workflow-shaped around adapter selection, TTL/list contracts, and maintenance.
Checks
- Source review: completed from package exports, adapters, tests, and reverse-reference scan.
- Skill inventory: completed.
- Skill files: completed.
- ASCII/frontmatter scan: passed.
- Package tests: passed, 2 suites and 33 tests.
- Package typecheck: passed.
- Package lint: could not run because
eslintwas not found by the package lint script. - Generated Dojo replacement: pending.
- Cloud Dojo publication: pending.
Verification Commands
Run before publication:
yarn workspace @epicdm/kv-shim test
yarn workspace @epicdm/kv-shim typecheck
yarn workspace @epicdm/kv-shim lint
Publication Gate
Do not publish existing .flowstate/dojo artifacts until they are rebuilt from reviewed package skills.
Usage
Start with this skill to understand the package purpose, then use the package-local focused skills for specific workflows. Keep this Dojo version aligned with packages/kv-shim/package.json. Do not treat generated feature lists as lessons; use workflow evidence from CODE-REVIEW.md, SKILL-INVENTORY.md, and REVIEW.md.
Install
Run this in your project to install via CLI:
fscloud dojo skill install flowstate-epic-flowstate-community-epicdm-kv-shim --target <target> --out ./skillsReplace <target> with your agent target identifier. See the CLI docs for details.