Synap

Use MCP Synap for persistent task and data storage across context windows.

11 stars

Best use case

Synap is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use MCP Synap for persistent task and data storage across context windows.

Teams using Synap should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/synap/SKILL.md --create-dirs "https://raw.githubusercontent.com/hivellm/rulebook/main/templates/skills/modules/synap/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/synap/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Synap Compares

Feature / AgentSynapStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use MCP Synap for persistent task and data storage across context windows.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

<!-- SYNAP:START -->
# Synap Instructions

**CRITICAL**: Use MCP Synap for persistent task and data storage across context windows.

## Core Features

### Key-Value Store
```
synap_kv_set(key, value, ttl?)   # Store with optional TTL
synap_kv_get(key)                 # Retrieve  
synap_kv_delete(key)              # Remove
synap_kv_scan(prefix)             # List by prefix
```

### Queue & Pub/Sub
```
synap_queue_publish(queue, message, priority)  # Add to queue
synap_queue_consume(queue)                     # Process from queue
synap_pubsub_publish(topic, message)           # Broadcast
synap_stream_publish(room, event)              # Stream events
```

## Common Patterns

### Task Tracking
```
Pattern: "task:<feature>:<subtask-id>"

synap_kv_set("task:auth:login", JSON.stringify({
  status: "in_progress",
  tests: ["test_login_success"],
  coverage: 95.2
}))
```

### Session State
```
Pattern: "session:<id>:<data-type>"

synap_kv_set("session:abc:current-file", "/src/auth.ts")
synap_kv_set("session:abc:todo-list", JSON.stringify([...]))
```

### Test Results
```
Pattern: "test:<suite>:<timestamp>"

synap_kv_set("test:integration:latest", JSON.stringify({
  passed: 42,
  failed: 0,
  coverage: 96.5
}), 86400) // TTL: 24 hours
```

## Best Practices

✅ **DO:**
- Use TTL for temporary data
- Use prefixes for organization
- Store session state before context switch
- Clean up old data regularly

❌ **DON'T:**
- Store large binary data
- Use random keys (use structured prefixes)
- Skip TTL for temporary data

<!-- SYNAP:END -->