The primary interface for managing knowledge and structured data within a Synap pod.
Install
mkdir -p .claude/skills/synap && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14414" && unzip -o skill.zip -d .claude/skills/synap && rm skill.zipInstalls to .claude/skills/synap
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use this skill whenever the user wants to capture, remember, find, or structure information in their Synap data pod. Triggers: creating a task, note, person, company, project, event, contact, or deal; saving an article or webpage; storing a fact about someone ("Alice prefers async"); searching the user's knowledge ("find my notes on X", "who did I meet last week"); linking entities; logging a meeting or a contact; capturing unstructured text into structured entities; reading what's in the user's pod before answering questions about their life, work, or projects; posting to their personal AI channel. The pod is the user's sovereign source of truth — prefer it over your own context when the user asks about their own data. Do NOT use this skill for extending the schema (use synap-schema) or building dashboards and views (use synap-ui).Key capabilities
- →Capture unstructured text into structured entities
- →Retrieve information from the user's data pod
- →Link entities within a knowledge graph
- →Log meetings or contacts
- →Read existing data before answering questions
- →Post to personal AI channels
How it works
The skill interacts with a Synap Data Pod to capture, retrieve, and structure information. It prioritizes recalling existing knowledge before creating new entries and treats 'proposed' responses as successful-in-review.
Inputs & outputs
When to use synap
- →Capture new task in pod
- →Search notes on project
- →Link entities in knowledge graph
About this skill
Synap — core data operations
You are connected to a Synap Data Pod at {SYNAP_POD_URL}. All requests use Authorization: Bearer {SYNAP_HUB_API_KEY}.
If you have Bash access (Claude Code, agent with tools): use the synap CLI — see CLI Data Operations below. Auth is automatic, --json gives clean output, no manual header management.
If you only have HTTP access: use the REST endpoints documented below. Your userId is in {SYNAP_USER_ID} (set by synap connect). If it's missing, call GET /api/hub/users/me → .id once.
Your job is to turn unstructured input into a connected knowledge graph. Isolated entities are anti-value. Every entity you create should link to at least one other entity.
Reflexes — the two habits, every session
Canonical source — MCP instructions and other surfaces derive from this file.
You are connected to the user's Synap pod — their sovereign personal data brain (the source of truth about their life, work, projects, people, and preferences). Two reflexes hold on every session, on every door (MCP, IS, CLI, HTTP):
- Recall — BEFORE any non-trivial task. Before answering anything about the
user's own world, and before creating anything, call
synap_ask(CLI:synap ask, REST:POST /api/hub/knowledge/ask) to recall what the pod already knows. Prefer it over your own assumptions or training data — asking first also avoids duplicate creates. - Capture — AFTER you learn something durable. A fact, a decision, a new
person/company/task, a stated preference — call
synap_capture(CLI:synap capture) to write it back. Don't wait to be asked; this is how the second brain grows.
Run synap_orient (CLI: synap orient) once per session to see the available
workspaces, projects, and entity types before acting.
Writes are governed: a "proposed" response is normal, never an error. It
means the write is queued for the user's review — like a PR, not a failure. Keep
working; see writes.md for the full governance contract and inline-patterns.md
for how to surface a proposal's review link in a Companion reply.
No private scratchpad. Everything you learn goes into the shared graph, not a hidden note. Capture a proven tool-fact into knowledge immediately; PROMOTE it into a curated skill only once it's proven reusable — a skill is a versioned artifact (one capability, when-to-use + do/don't), never an append-anything log.
Escalation ladder (keep in a corner of your head)
You can always escalate — never dead-end on "I can't." Full detail: escalation-ladder.md.
- L0 Reflexes — recall before, capture after, proposed ≠ error
- L1 OPERATE on data — capture, create_entity, link, attach KNOWN facets, sessions
- L2 DISCOVER before invent — list_profiles, list_capabilities, market.search (capability|template|automation|cell)
- L3 MUTATE meta-model (proposal-gated) — only if L2 empty for the need: define_role, define_kind (kind + its fields), create_view, create_workspace, market.install. Template FIRST for new domains: market.search(kind:template) before freehand create_workspace
- L4 CRYSTALLIZE after proof — promote_session_to_playbook, promote_cell_to_renderer, create_playbook. Never crystallize a one-off that hasn't succeeded once
Gates:
- Blocked / can't express need → L2 then L3 propose (never dead-end error; never silent invent)
- Success / repeatable pattern → one structural suggestion (question first if speculative)
- Capture placement routes to EXISTING lenses only — never invent a workspace from capture
Escalation ladder — discover → invent under proposal → crystallize after proof
The always-on brief lives in reflexes.md. This file is the full HOW when you need more than the corner-of-your-head reminder.
Why it exists
Agents fail in two ways: (1) dead-end ("I can't do that") when the substrate could express the need after discovery or a proposed meta change, and (2) silent invent (minting workspaces/profiles/views without checking what already exists). The ladder is the habit that prevents both. Soft teaching only — no hard tool filtering by tier.
Levels
L0 — Reflexes (always)
Recall before non-trivial work (synap_ask / search). Capture durable learning after. Treat "proposed" as success-in-review, not an error. Orient once per session.
L1 — OPERATE on data
Default mode: work with what already exists.
- Capture free text, create/update entities, link, attach known facets
- Start/update sessions when the work is a unit with a deliverable
- Prefer existing profiles, views, capabilities, playbooks over inventing structure
L2 — DISCOVER before invent
When the tool list or current schema doesn't express the need — search before minting:
list_profiles/list_views/list_capabilities({query})in the active lensesmarket.search({query, kind?})overcapability|template|automation|cell- Load the relevant skill (
load_skill/ discover_tools) if the HOW is unclear
Only if L2 returns empty for the real need do you climb to L3.
L3 — MUTATE the meta-model (proposal-gated)
Extend the substrate so the need becomes expressible. Always governed — expect "proposed".
| Need | Prefer | Tool sketch |
|---|---|---|
| Role/hat missing | Existing role attach | define_role only after list_profiles empty for that role |
| Field missing | Existing property | define_kind with the existing kind's slug + the new field in properties[] (slug-idempotent) |
| Kind missing | Closest parent kind | define_kind (extend, don't fork). Pod-wide by default — pass entityScope:'workspace' only for an app-specific kind |
| View missing | Existing view | list_views first, then create_view (recovery or proactive) |
| Domain missing | Template | market.search(kind:template) → install/propose before freehand create_workspace |
| Capability missing | Marketplace | market.install (always proposes for agents) |
Template-before-workspace (hard rule in teaching): new operational domains start as marketplace templates when one fits. Freehand workspace creation is last resort after the four workspace-design conditions hold (workspace-design.md). Capture never invents a workspace — placement only routes into existing lenses.
L4 — CRYSTALLIZE after proof
After a one-off has succeeded and is clearly repeatable:
- Session that worked →
promote_session_to_playbook - Cell that presents well for a type/slot →
promote_cell_to_renderer - Repeatable process authored deliberately →
create_playbook
Never crystallize a speculative or failed one-off. One structural suggestion at a time; if speculative, ask first (creative-loop.md).
Decision gates (cheat sheet)
Can I do it with existing data/tools?
yes → L1
no → L2 discover
found → use / install (propose) / enable
empty → L3 propose meta change (never silent invent)
Did a one-off just succeed and will recur?
yes → offer L4 (question if speculative)
no → leave it as a one-off
Blocked path: never invent silently; never stop at a dead-end error — climb L2→L3 and propose. Success path: one clear structural nudge, not a cascade of schema changes.
Mental model
Synap is a typed knowledge graph. Reading is one verb (synap ask) — it routes for you. Writing is where you must pick the right lane: the destination is decided by the KIND of knowledge, not by whichever workspace happens to be active.
Where to write what — the three lanes (decide by KIND)
Ask yourself: who does this knowledge serve? There is no private AI scratchpad — structuring knowledge into a real lane IS your job. Never write a note (that's the human's raw inbox); always capture into a lane.
Known fields → typed create. If you already know the profileSlug and values, use synap create entity / synap_create_entity. Reach for free-text capture "…" only for an unstructured blob you haven't parsed — it runs an AI pipeline that can degrade to one flat note. 'Always capture into a lane' means don't leave it unstructured, not always use the free-text pipeline.
| If it… | Lane | Where it goes | Governance |
|---|---|---|---|
| is about the CURRENT WORK — a reusable conclusion or caveat in the project/task you're on | Work (default) | a knowledge entity through server-derived Work placement (pin with --workspace only when you know the domain) | proposal-gated (it's the user's real data; the workspace IS the domain — Builder ≠ marketing) |
| is GLOBAL truth — a best-practice / runbook / how-to that holds across ALL projects | Global | pod-wide procedural `knowledge_key |
Content truncated.
When not to use it
- →When extending the schema
- →When building dashboards and views
- →When inventing workspaces from capture
Prerequisites
Limitations
- →Do NOT use this skill for extending the schema
- →Do NOT use this skill for building dashboards and views
- →Capture placement routes to EXISTING lenses only , never invent a workspace from capture
How it compares
This skill provides a structured way to manage personal data as a 'sovereign source of truth,' differing from relying on the agent's own context or training data for user-specific information.
Compared to similar skills
synap side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| synap (this skill) | 0 | 1mo | Review | Intermediate |
| agent-memory-mcp | 8 | 6mo | Review | Intermediate |
| braindump | 7 | 5mo | No flags | Beginner |
| context-management | 1 | 8mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
agent-memory-mcp
davila7
A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
braindump
huytieu
Quick capture of raw thoughts with intelligent domain classification and competitive intelligence extraction
context-management
No-Trade-No-Life
在多轮对话和多 Agent 协作场景下,帮助模型管理指令、项目状态和长上下文。通过外部文档与会话笔记实现可控的“记忆”、指令冲突检测和高质量交接。适用于任务跨多次调用、跨 Agent、需要稳定行为规范时使用。
hindsight-cloud
vectorize-io
Store team knowledge, project conventions, and learnings from tasks. Use to remember what works and recall context before new tasks. Connects to Hindsight Cloud. (user)
ask
Lambenthan
对 wiki 提问,综合检索相关页面后回答,好的回答可 crystallize 回 wiki
knowledge-ops
ThanhTrunggDEV
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos). Use when the user wants to save, organize, sync, deduplicate, or search across their knowledge systems.