| name | context-store |
| description | 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. |
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]
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]
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]
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>
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]
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]
Use when: Retrieve a document by its ID.
doc-delete - Remove Documents
uv run --script <skill-root>/commands/doc-delete <document-id>
Use when: Permanently remove a document.
doc-link - Manage Document Relations
uv run --script <skill-root>/commands/doc-link --types
uv run --script <skill-root>/commands/doc-link --create <from> <to> [opts]
uv run --script <skill-root>/commands/doc-link --update <id> --note "..."
uv run --script <skill-root>/commands/doc-link --remove <id>
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
uv run --script <skill-root>/commands/doc-push specs.md --tags "api,v2"
uv run --script <skill-root>/commands/doc-query --tags "api,v2"
uv run --script <skill-root>/commands/doc-pull doc_abc123
Build Knowledge Base
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"
uv run --script <skill-root>/commands/doc-query --tags "mvp"
Semantic Search + Partial Read
uv run --script <skill-root>/commands/doc-search "how to authenticate users"
uv run --script <skill-root>/commands/doc-read doc_abc --offset 2000 --limit 1000
Link Related Documents
uv run --script <skill-root>/commands/doc-link --types
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"
uv run --script <skill-root>/commands/doc-link --create doc_architecture doc_api --type parent-child --from-to-note "API spec"
uv run --script <skill-root>/commands/doc-link --create doc_api doc_models --type related --from-to-note "Data models"
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
- Tag AND logic - Multiple tags = ALL must match
- Save document IDs - From upload output for future operations
- Check server running - Handle connection errors gracefully
- Parse JSON output - All commands return JSON
- Tags are lowercase - Use consistent tag naming (
python not Python)
- Relations in doc-info - Use
doc-info to see document relations without a separate call
- Relation IDs - Save relation IDs from create output for update/remove operations
- 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