redis-search
Scaffold RediSearch full-text, vector, or search-cache adapters in an ArchiPy app.
Skill by SyntaxArc
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/syntaxarc-redis-search
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/redis-search
What's inside
- Skill name
redis-search- Description
- Scaffold RediSearch full-text, vector, or search-cache adapters in an ArchiPy app. Use for "add search", "full-text/semantic/vector search", "embeddings index", or "cache search results".
- License
- MIT
- Instructions
- 103 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- SKILL.md
- fulltext_adapter.py · reference/
- search_cache_adapter.py · reference/
- vector_adapter.py · reference/
SKILL.md (first lines)
# Redis Search Skills
## Overview
Redis search via ArchiPy (`archipy[redis]`):
- **RediSearch**: full-text via `RedisAdapter.search_index(name)` → `RedisSearchHandle`
- **Vector search**: KNN / range via `SearchQueryDTO.from_knn` / `from_range`
- **Search caching**: cache-aside around expensive search results
Canonical layout and ArchiPy constraints: `../archipy-docs/reference/adapters.md` (Adapters + Redis Search), resolved relative
to this `SKILL.md`'s directory in the plugin installation — not the app workspace. Templates:
`reference/fulltext_adapter.py`, `reference/vector_adapter.py`, `reference/search_cache_adapter.py`.
Resolve files under `reference/` relative to this `SKILL.md` in the plugin installation
(`$CURSOR_PLUGIN_ROOT/skills/redis-search/` or `${CLAUDE_SKILL_DIR}/`). These are plugin templates,
not app-relative paths. Copy and adapt them into the app; never edit the plugin copies.
## Read first
Read these plugin rules in full before generating files (paths relative to this skill directory; Claude Code: `${CLAUDE_SKILL_DIR}/../../rules/`):
- `../../rules/using-archipy-adapters.mdc`
## Before writing files
1. Inspect the domain, Redis config/adapters, DTOs, index naming, key prefixes, DI wiring, and tests.
2. Infer data structure, sync/async style, and existing search conventions.
3. Ask only for unresolved choices: search type, domain, query behavior, and vector dimension/metric when applicable.
4. Preserve existing indexes and adapters. Treat schema or prefix changes as migrations; do not silently replace them.
## Prefer ArchiPy
```bash
uv add "archipy[redis]"
```
Thin domain wrapper around `RedisAdapter.search_index()` — **not** raw `client.ft()`.
Key library symbols:
- `RedisAdapter.search_index(name)` / `list_search_indexes()`
- DTOs: `IndexSchemaDTO`, `TextFieldConfig`, `TagFieldConfig`, `NumericFieldConfig`, `VectorFieldConfig`
- Queries: `SearchQueryDTO`, `SearchQueryDTO.from_knn(...)`, `SearchQueryDTO.from_range(...)`
- Documents: `HashDocumentUpsertDTO`, `JsonDocumentUpsertDTO`
- Types: `RedisIndexType`, `VectorAlgorithm`, `VectorDistanceMetric`, …
- Helpers: `pack_vector` / `unpack_vector` from `archipy.adapters.redis.search`
Requires **Redis 8+** (query engine). Cluster needs hash-tagged prefixes (e.g. `{products}:`).
## Generate
```text
repositories/<domain>/
├── adapters/
│ └── <domain>_search_adapter.py # or _vector_ / _search_cache_
└── <domain>_repository.py
```
1. Copy the matching template from `reference/`, rename class/index/prefix to the domain.
2. Define a domain error (e.g. `ProductSearchError`) under `models/errors/` — templates import it.
3. Wire via DI in `configs/containers.py`.
4. Map Redis/RediSearch failures with `raise DomainError(...) from e`.
### Full-text
Use `reference/fulltext_adapter.py`: `ensure_index` via `info()` → `create_index(IndexSchemaDTO, …)` only when missing;
search via `handle.search(SearchQueryDTO(...))`.
### Vector
Use `reference/vector_adapter.py`: `VectorFieldConfig` + `SearchQueryDTO.from_knn`. Adjust `DIM` / algorithm.
### Search caching
Use `reference/search_cache_adapter.py`: cache-aside with Redis get/setex. Repository orchestrates search + cache;
logics own invalidation rules.
## Do not
- Sync and async must be separate classes.
- No business logic in adapters — map data and talk to infrastructure only.
- Do **not** create a top-level `adapters/<name>/` package — domain adapters live under repositories.
- Prefer ArchiPy search handle API; only drop to raw Redis for operations the handle does not cover.
- Use specific exceptions; always `raise ... from e`.
- Prefer the ArchiPy search-handle API — never raw `client.ft()` for operations the handle covers.
## Verify
1. Run formatter/linter, then Behave scenarios (`@needs-redis`, `/scaffold-bdd`) that hit the search endpoint for
matches, empty results, and mapped failures.
2. For vector search, verify encoded vector dimension and distance metric match the schema.
3. If Docker is unavailable, say so; do not replace the Redis container with a mock.
4. Run the `archipy-reviewer` subagent on the changes and fix every **Must fix** finding it reports.
5. Report files, schema assumptions, dependency changes, and commands run.
## Docs
- https://syntaxarc.github.io/ArchiPy/tutorials/adapters/ (Redis Search section)
- https://syntaxarc.github.io/ArchiPy/api_reference/adapters/
- Bundled: `../archipy-docs/reference.md`From SyntaxArc/archipy-plugin, MIT.
More from SyntaxArc/archipy-plugin
- 0.601score
scaffold-observability
SyntaxArc
Configure ArchiPy 5.x OpenTelemetry traces, metrics, logs, and instrumentation.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
archipy-docs
SyntaxArc
Answer how-to questions about ArchiPy 5.x in an app (config, DI, adapters, helpers, errors, layout, observability) from the bundled reference and live docs.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-adapter
SyntaxArc
Scaffold a domain adapter under repositories/{domain}/adapters/ wrapping an ArchiPy adapter or external client.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-bdd
SyntaxArc
Scaffold Behave BDD tests that drive an ArchiPy app through its REST/gRPC services layer against real testcontainers (Postgres, Redis, Kafka, Temporal, …).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-decorator
SyntaxArc
Add or wire helpers/decorators, preferring ArchiPy's (ttl_cache, atomic UoW, trace_span, measure_duration, retry).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-domain
SyntaxArc
Scaffold a full ArchiPy domain slice (DTOs, errors, repository + adapter, logic, service).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-health-checks
SyntaxArc
Scaffold FastAPI/gRPC liveness, readiness, and startup health checks, graceful shutdown, and optional Kubernetes probes.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-interceptor
SyntaxArc
Add or wire cross-cutting FastAPI/gRPC interceptors or middleware, preferring ArchiPy's.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-models
SyntaxArc
Scaffold ArchiPy models under models/: domain/repository DTOs, errors, optional entities and types.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-app
SyntaxArc
Bootstrap a new ArchiPy service layout (configs, models, repositories, logics, services, helpers, manage.py).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-logic
SyntaxArc
Scaffold an ArchiPy logic (use case) under logics/{domain}/ with a unit-of-work decorator and DTO I/O.
SkillAFreshness: A★ 3Claude Code +9 - 0.595score
docs-observability
SyntaxArc
Open ArchiPy OpenTelemetry guidance (traces, metrics, logs)
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 26, 2026 (1 month ago)
- Last release
- Oct 18, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/SyntaxArc/archipy-plugin
- Website
- syntaxarc.github.io/ArchiPy/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SyntaxArc
- 0.601score
scaffold-adapter
SyntaxArc
Scaffold a domain adapter under repositories/{domain}/adapters/ wrapping an ArchiPy adapter or external client.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-bdd
SyntaxArc
Scaffold Behave BDD tests that drive an ArchiPy app through its REST/gRPC services layer against real testcontainers (Postgres, Redis, Kafka, Temporal, …).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-app
SyntaxArc
Bootstrap a new ArchiPy service layout (configs, models, repositories, logics, services, helpers, manage.py).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-logic
SyntaxArc
Scaffold an ArchiPy logic (use case) under logics/{domain}/ with a unit-of-work decorator and DTO I/O.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
archipy-docs
SyntaxArc
Answer how-to questions about ArchiPy 5.x in an app (config, DI, adapters, helpers, errors, layout, observability) from the bundled reference and live docs.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
scaffold-decorator
SyntaxArc
Add or wire helpers/decorators, preferring ArchiPy's (ttl_cache, atomic UoW, trace_span, measure_duration, retry).
SkillAFreshness: A★ 3Claude Code +9
Cite this page
redis-search skill. Agent Mart. https://agentmart.dev/skills/syntaxarc-redis-search (last updated 2026-10-24)