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.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
README.mdcommands/doc-deletecommands/doc-infocommands/doc-linkcommands/doc-pullcommands/doc-pushcommands/doc-querycommands/doc-readcommands/doc-searchcommands/lib/client.pycommands/lib/config.pyreferences/COMMANDS.mdreferences/CONFIGURATION.mdreferences/TROUBLESHOOTING.mdWhat: 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:
Key Benefits:
CRITICAL: Always use absolute paths - NEVER use cd:
doc-push - Upload Documentsuv run <skill-root>/commands/doc-push <file> [--tags TEXT] [--description TEXT]
# Example: uv run <skill-root>/commands/doc-push specs.md --tags "api,v2"
Use when: Store a document for future reference.
doc-query - Search by Tags/Nameuv run <skill-root>/commands/doc-query [--tags TEXT] [--name TEXT] [--include-relations]
# Example: uv run <skill-root>/commands/doc-query --tags "api,v2"
# With relations: uv run <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 Searchuv run <skill-root>/commands/doc-search "<query>" [--limit INT] [--include-relations]
# Example: uv run <skill-root>/commands/doc-search "how to configure authentication"
# With relations: uv run <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 & Relationsuv run <skill-root>/commands/doc-info <document-id>
# Example: uv run <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 Documentsuv run <skill-root>/commands/doc-read <document-id> [--offset INT] [--limit INT]
# Example: uv run <skill-root>/commands/doc-read doc_abc123
# Partial: uv run <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 Documentsuv run <skill-root>/commands/doc-pull <document-id> [-o PATH]
# Example: uv run <skill-root>/commands/doc-pull doc_abc123 -o specs.md
Use when: Retrieve a document by its ID.
doc-delete - Remove Documentsuv run <skill-root>/commands/doc-delete <document-id>
# Example: uv run <skill-root>/commands/doc-delete doc_abc123
Use when: Permanently remove a document.
doc-link - Manage Document Relationsuv run <skill-root>/commands/doc-link --types # List relation types
uv run <skill-root>/commands/doc-link --create <from> <to> [opts] # Create relation
uv run <skill-root>/commands/doc-link --update <id> --note "..." # Update note
uv run <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)# Upload with tags
uv run <skill-root>/commands/doc-push specs.md --tags "api,v2"
# Find it later
uv run <skill-root>/commands/doc-query --tags "api,v2"
# Download it
uv run <skill-root>/commands/doc-pull doc_abc123
# Upload multiple documents with consistent tags
uv run <skill-root>/commands/doc-push architecture.md --tags "design,mvp"
uv run <skill-root>/commands/doc-push api-spec.md --tags "api,mvp"
# Query by project phase
uv run <skill-root>/commands/doc-query --tags "mvp"
# Search by meaning
uv run <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 <skill-root>/commands/doc-read doc_abc --offset 2000 --limit 1000
# Get relation types
uv run <skill-root>/commands/doc-link --types
# Create a sequential relationship
uv run <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 <skill-root>/commands/doc-link --create doc_architecture doc_api --type parent-child --from-to-note "API spec"
# Create peer relationship
uv run <skill-root>/commands/doc-link --create doc_api doc_models --type related --from-to-note "Data models"
# View document with its relations
uv run <skill-root>/commands/doc-info doc_architecture
IMPORTANT: Multiple tags means ALL must match:
--tags "python,api" → Document must have BOTH tags--tags "v2,design,spec" → Document must have ALL THREE tagsAll commands output JSON. Save document IDs from upload for later retrieval/deletion.
Relation Types:
Bidirectional: Relations are stored from both perspectives. Creating a parent-child link adds:
parent relation on the parent documentchild relation on the child documentpython not Python)doc-info to see document relations without a separate callStore 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)
references/COMMANDS.mdreferences/CONFIGURATION.mdreferences/TROUBLESHOOTING.md