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.zip

Installs 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).
844 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

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

You give it
Unstructured information, search queries, entity creation requests
You get back
Structured entities in Synap pod, retrieved information, linked entities

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:

  1. list_profiles / list_views / list_capabilities({query}) in the active lenses
  2. market.search({query, kind?}) over capability | template | automation | cell
  3. 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".

NeedPreferTool sketch
Role/hat missingExisting role attachdefine_role only after list_profiles empty for that role
Field missingExisting propertydefine_kind with the existing kind's slug + the new field in properties[] (slug-idempotent)
Kind missingClosest parent kinddefine_kind (extend, don't fork). Pod-wide by default — pass entityScope:'workspace' only for an app-specific kind
View missingExisting viewlist_views first, then create_view (recovery or proactive)
Domain missingTemplatemarket.search(kind:template) → install/propose before freehand create_workspace
Capability missingMarketplacemarket.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…LaneWhere it goesGovernance
is about the CURRENT WORK — a reusable conclusion or caveat in the project/task you're onWork (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 projectsGlobalpod-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

SYNAP_HUB_API_KEYSYNAP_POD_URL

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.

SkillInstallsUpdatedSafetyDifficulty
synap (this skill)01moReviewIntermediate
agent-memory-mcp86moReviewIntermediate
braindump75moNo flagsBeginner
context-management18moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry