smithery.ai

context-store

Context Store - Document management system for storing, querying, and retrieving documents across Claude Code sessions.

First seen Apr 30, 2026

Installation

$ npx skills add https://smithery.ai

Summary

  • Context Store - Document management system for storing, querying, and retrieving documents across Claude Code sessions.
  • Use this to maintain knowledge bases, share documents between agents.
  • Whenever you encounter a <document id=*> in a session, use this skill to retrieve its content.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 8,643 B
  • docs SUMMARY.md 305 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Context Store Skill

What & When

What: Commands for uploading, downloading, querying and deleting documents with metadata and tags through the Context Store server. Also linking to one another via relations.

When to use:

  • Store important documents for retrieval in future sessions
  • Build a knowledge base of project documentation
  • Share architecture, API specs, or design documents across different work sessions
  • Query documents by tags to find relevant information

Key Benefits:

  • Cross-session persistence
  • Tag-based organization with AND logic
  • Simple JSON output

Quick Reference

CRITICAL: Always use absolute paths - NEVER use cd:

doc-push - Upload Documents

uv run --script <skill-root>/commands/doc-push <file> [--tags TEXT] [--description TEXT]
# Example: uv run --script <skill-root>/commands/doc-push specs.md --tags "api,v2"

Use when: Store a document for future reference.

doc-query - Search by Tags/Name

uv run --script <skill-root>/commands/doc-query [--tags TEXT] [--name TEXT] [--include-relations]
# Example: uv run --script <skill-root>/commands/doc-query --tags "api,v2"
# With relations: uv run --script <skill-root>/commands/doc-query --tags "api" --include-relations

Use when: Find documents by tags (AND logic) or name patterns. Option: --include-relations adds relations to each document in response.

doc-search - Semantic Search

uv run --script <skill-root>/commands/doc-search "<query>" [--limit INT] [--include-relations]
# Example: uv run --script <skill-root>/commands/doc-search "how to configure authentication"
# With relations: uv run --script <skill-root>/commands/doc-search "auth" --include-relations

Use when: Find documents by meaning using natural language queries. Note: Requires semantic search enabled on server. Returns section offsets for partial reads. Option: --include-relations adds relations to each result.

doc-info - Get Document Metadata & Relations

uv run --script <skill-root>/commands/doc-info <document-id>
# Example: uv run --script <skill-root>/commands/doc-info doc_abc123

Use when: View metadata and relations for a specific document without downloading it. Output: Includes relations field with parent/child/related document links.

doc-read - Read Text Documents

uv run --script <skill-root>/commands/doc-read <document-id> [--offset INT] [--limit INT]
# Example: uv run --script <skill-root>/commands/doc-read doc_abc123
# Partial: uv run --script <skill-root>/commands/doc-read doc_abc123 --offset 2000 --limit 1000

Use when: Output text document content directly to stdout (text files only). Partial reads: Use --offset and --limit to retrieve specific sections (useful with semantic search results).

doc-pull - Download Documents

uv run --script <skill-root>/commands/doc-pull <document-id> [-o PATH]
# Example: uv run --script <skill-root>/commands/doc-pull doc_abc123 -o specs.md

Use when: Retrieve a document by its ID.

doc-delete - Remove Documents

uv run --script <skill-root>/commands/doc-delete <document-id>
# Example: uv run --script <skill-root>/commands/doc-delete doc_abc123

Use when: Permanently remove a document.

doc-link - Manage Document Relations

uv run --script <skill-root>/commands/doc-link --types                     # List relation types
uv run --script <skill-root>/commands/doc-link --create <from> <to> [opts] # Create relation
uv run --script <skill-root>/commands/doc-link --update <id> --note "..."  # Update note
uv run --script <skill-root>/commands/doc-link --remove <id>               # Remove relation

Use when: Link documents together in parent-child or peer relationships. Options for --create:

  • --type - Required: parent-child (hierarchical) or related (peer)
  • --from-to-note - Note on edge from source to target (source's note about target)
  • --to-from-note - Note on edge from target to source (target's note about source)

Typical Workflows

Store and Retrieve

# Upload with tags
uv run --script <skill-root>/commands/doc-push specs.md --tags "api,v2"

# Find it later
uv run --script <skill-root>/commands/doc-query --tags "api,v2"

# Download it
uv run --script <skill-root>/commands/doc-pull doc_abc123

Build Knowledge Base

# Upload multiple documents with consistent tags
uv run --script <skill-root>/commands/doc-push architecture.md --tags "design,mvp"
uv run --script <skill-root>/commands/doc-push api-spec.md --tags "api,mvp"

# Query by project phase
uv run --script <skill-root>/commands/doc-query --tags "mvp"

Semantic Search + Partial Read

# Search by meaning
uv run --script <skill-root>/commands/doc-search "how to authenticate users"
# Returns: {"results": [{"document_id": "doc_abc", "sections": [{"offset": 2000, "limit": 1000}]}]}

# Read only the relevant section
uv run --script <skill-root>/commands/doc-read doc_abc --offset 2000 --limit 1000

Link Related Documents

# Get relation types
uv run --script <skill-root>/commands/doc-link --types

# Create a sequential relationship
uv run --script <skill-root>/commands/doc-link --create doc_design doc_implementation --type predecessor-successor --from-to-note "Design doc" --to-from-note "Implementation plan"

# Create hierarchical relationship (parent owns children)
uv run --script <skill-root>/commands/doc-link --create doc_architecture doc_api --type parent-child --from-to-note "API spec"

# Create peer relationship
uv run --script <skill-root>/commands/doc-link --create doc_api doc_models --type related --from-to-note "Data models"

# View document with its relations
uv run --script <skill-root>/commands/doc-info doc_architecture

Key Concepts

Tag AND Logic

IMPORTANT: Multiple tags means ALL must match:

  • --tags "python,api" → Document must have BOTH tags
  • --tags "v2,design,spec" → Document must have ALL THREE tags

Output Format

All commands output JSON. Save document IDs from upload for later retrieval/deletion.

Document Relations

Relation Types:

  • parent-child: Hierarchical ownership. Deleting parent cascades to children.
  • related: Peer relationship. No cascade delete.

Bidirectional: Relations are stored from both perspectives. Creating a parent-child link adds:

  • parent relation on the parent document
  • child relation on the child document

Notes for AI Assistants

  1. Tag AND logic - Multiple tags = ALL must match
  2. Save document IDs - From upload output for future operations
  3. Check server running - Handle connection errors gracefully
  4. Parse JSON output - All commands return JSON
  5. Tags are lowercase - Use consistent tag naming (python not Python)
  6. Relations in doc-info - Use doc-info to see document relations without a separate call
  7. Relation IDs - Save relation IDs from create output for update/remove operations
  8. Cascade delete - Deleting a parent document also deletes its children

Quick Decision Tree

Store document?doc-push <file> --tags "tag1,tag2"

Find by tags?doc-query --tags "tag1,tag2" (AND logic, add --include-relations for links)

Find by meaning?doc-search "your question" (add --include-relations for links)

Check metadata?doc-info <doc-id> (metadata + relations)

Read text file?doc-read <doc-id> (text files to stdout)

Read section?doc-read <doc-id> --offset 2000 --limit 1000 (partial read)

Download document?doc-pull <doc-id> (ID from query)

Remove document?doc-delete <doc-id> (permanent)

List all?doc-query (no args)

Link documents?doc-link --create <from> <to> --type parent-child

List relation types?doc-link --types

Update link note?doc-link --update <id> --note "text"

Remove link?doc-link --remove <id> (removes both directions)


Additional Resources

  • Detailed Command Reference: See references/COMMANDS.md
  • Configuration Options: See references/CONFIGURATION.md
  • Error Handling: See references/TROUBLESHOOTING.md