Syncore Wiki for Claude, Cursor, ChatGPT & agents
The user's persistent cross-session memory — plain markdown + git at ~/.syncore/wiki/<name>/
curl -fsSL https://syncorelabs.ai/install.sh | shmacOS / Linux. Windows + manual install.
What it does
The user's persistent cross-session memory — plain markdown + git at ~/.syncore/wiki/<name>/. Obsidian-compatible, no lock-in. CORE PRINCIPLE — wiki is GROUND TRUTH. When the user mentions a person / company / project / topic, CHECK WIKI FIRST — before inferring from chat history, before asking clarifying questions. Empty result IS information ('no prior notes on X') and the user should hear it verbatim. One unnecessary search costs one round-trip; skipping a needed one costs trust. READ-SIDE TRIGGERS (the often-skipped half — actively reach for these): 'prep for my meeting with X' / 'background on X' / 'what do I know about Y' / 'have I read about Z' / 'what did we say about' / 'remind me what we discussed' / 'find that note about' / 'who is X' / 'what's the deal with Y' / '我之前跟X聊过什么' / '上次聊到Y' / '记得X吗' / 'X的背景' → wiki__search (BM25 page-level ranked) or wiki__grep (line-level, every match, no ranking) → read_page() the top hits in full before composing. Snippets are retrieval excerpts, not answers. WRITE-SIDE TRIGGERS: 'save this' / 'remember this' / 'store this' / 'add to my notes' / 'archive this' / '记下来' / '保存到 wiki' / '存到笔记' / '记录一下' / '放到知识库' → wiki__write_page on raw/<type>/ for immutable sources, on wiki/{concepts,entities,analyses}/ for LLM-distilled synthesis. Every raw write returns a synthesis_next_step pointing at the matching entity page — execute it; that's how raw/ becomes wiki/. LAYERED LAYOUT — 4 canonical wikis auto-bootstrap on first call: `default` (catch-all) / `work` (jobs, clients, projects, colleagues) / `personal` (health, finance, family, journal) / `hobbies` (recipes, practice, gear). Each is fully isolated (own .git, Obsidian vault, FTS index) so personal content never bleeds into work. Pick the `name` arg deliberately per call; '*' on read-side tools when the question doesn't hint at which life-context the answer lives in. WITHIN each wiki: raw/ = immutable sources (meetings/papers/web/books/videos/podcasts/docs/messages/code/media), wiki/ = LLM-distilled synthesis (concepts/entities/analyses). Call wiki_rules() once per conversation for the full maintenance contract.
The Syncore Wiki skill is one of 75+ pre-wired Syncore integrations that any MCP-compatible client — Claude Desktop, Claude Code, Cursor, Windsurf, Codex CLI, and ChatGPT desktop — can call out of the box. You don't configure MCP servers or copy API keys into a JSON file; the Syncore daemon discovers the skill at startup and exposes its tools to whichever AI client is running.
Sample prompts
Once Syncore is installed and Syncore Wiki is connected, ask your agent something like:
- “Read the maintenance contract, then file the latest meeting transcript into the work wiki.”
- “Search my personal wiki for everything I know about my therapist appointments.”
- “Show the index page of the work wiki and list all active topics.”
Tools available (24)
wiki__wiki_initBootstrap a wiki at ~/.syncore/wiki/<name>/. Runs git init, scaffolds raw/{meetings,papers,web,books,videos,podcasts,docs,messages,code,media}/ (subset based on per-wiki preset for personal/hobbies) and wiki/{concepts,entities,analyses}/, writes README.md + index.md + log.md, drops .obsidian/app.json so the directory i
wiki__wiki_listEnumerate every wiki on disk under ~/.syncore/wiki/ — name, page count, last commit, per-wiki extensions. Use this when you need to know which wikis exist before deciding where to file content, or when the user asks 'what wikis do I have'. Auto-fires the canonical bootstrap on first call so default/work/personal/hobbie
wiki__wiki_rulesReturn the full wiki maintenance contract — layout, ingest workflow, page conventions, citation rules, anti-patterns. CALL THIS ONCE per conversation before doing any wiki work; the rules are too long to embed in every tool description and you need them to behave as a disciplined wiki maintainer instead of a generic ag
wiki__read_pageRead a markdown file in the wiki by path relative to the wiki root (e.g. 'wiki/concepts/attention.md', 'raw/papers/vaswani-2017.md'). Returns parsed frontmatter + body + raw text. Use this BEFORE write_page on existing files so you integrate rather than overwrite. Returns exists=false if the path doesn't exist (not an
wiki__write_pageStore / save / write / archive / persist / commit / record a markdown page in the wiki. The canonical path for 'remember this for later', 'add to my notes', 'save to wiki', '保存到', '记录到'. Auto-commits to git so writes are durable. Path must start with 'raw/' or 'wiki/' and end with .md. NEVER edit raw/ files once writte
wiki__list_pagesList markdown files in one or more wikis, optionally filtered by path prefix, frontmatter type/tag, or recency (since/since_field). Returns frontmatter summaries (NO body — use read_page for full content). Sorted by last-updated descending. Common uses: scope a search ('what concept pages exist?'), check what already e
wiki__searchFull-text BM25 search across one or more wikis using SQLite FTS5. Returns ranked hits with snippet excerpts (matches highlighted with «»). READ-side default — call this whenever the user mentions a person / company / project / topic and your answer would benefit from prior context. Triggers: 'prep for my meeting with X
wiki__grepLine-level grep across wiki markdown — the companion to `search`. Where `search` returns BM25-ranked PAGE-level hits (good for 'find the relevant doc'), `grep` returns EVERY line-level match within max_results, with NO ranking — the agent picks. Use this when: • Compound queries (`Bob` AND `roadmap` both appearing):
wiki__create_entityAtomic synthesis-layer write — entity (or concept/analysis) page PLUS optional index.md append PLUS optional log.md append in ONE tool call with a single git commit. Replaces the 3-call sequence (write_page entity → write_page index → log) so the agent doesn't burn 3 user-confirmation round-trips on clients like Claude
wiki__attach_fileCopy a binary file (image, PDF, etc.) from anywhere on disk into raw/<subdir>/. Used for sources whose ground truth is non-text. Workflow: (1) agent reads the image via its native vision capability OR reads the PDF via Read; (2) agent calls attach_file to copy the original binary into the wiki; (3) agent calls write_pa
wiki__attach_urlDownload an HTTP(S) URL into raw/<dest>. Companion to attach_file: instead of taking a local path, takes a URL — useful for arxiv papers, public PDFs, web images that the user references by URL but hasn't saved to disk. Skill streams the response, fails fast on Content-Length over 10 MB, and aborts mid-stream if runnin
wiki__delete_pageHard-delete a page via `git rm`. Auto-commits. Use sparingly — for legitimate removal (mistaken file, merged duplicate, wrong slug). Preferred over write_page with empty body (which leaves the file as a 0-byte zombie). Recoverable via git: `git checkout HEAD~1 -- <path>` from the wiki root. NEVER delete raw/ files unle
wiki__move_pageRename / relocate a page via `git mv` AND auto-rewrite every [[wikilink]] in the wiki that pointed at the old path so it points at the new one. The rewrite preserves each link's original .md/no-.md style plus any #anchor or |alias suffix, and the entire move + rewrites land in a single git commit. Both paths must be in
wiki__list_backlinksReturn every page that references the given path, two ways: `wikilinks` (pages whose body contains a [[wikilink]] to this path — 'mentions / connects to') and `cited_in` (pages whose frontmatter.sources lists this path — 'derives from'). Both are returned because asking 'which pages reference X?' typically wants both.
wiki__graph_neighborsWalk the wiki's link graph and return everything within `depth` hops of `path`. Goes beyond list_backlinks: traverses three edge types — body wikilinks, frontmatter.sources, and frontmatter.superseded_by — in either or both directions, multi-hop. Use when you want the full neighbourhood around a page in one call (clust
wiki__graph_pathShortest path between two pages in the link graph. BFS-guaranteed shortest. Returns the ordered node sequence + the edge sequence between them, or `path: null` if no path within max_depth. Use when you want to explain WHY two pages are connected ('trace the chain that joins decision X to paper Y') — list_backlinks only
wiki__graph_centralityRank pages by structural importance in the link graph. Three flavours: 'degree' (in-degree, most-cited; default — single SQL group-by, ~instant), 'out_degree' (most-citing — finds hub pages), 'pagerank' (transitive importance via 30-iter power method — captures 'cited by other important pages' rather than raw citation
wiki__graph_subgraphExtract the subgraph rooted at a SET of starting pages — either listed explicitly via `paths` or matched via `prefix`. Returns the same node/edge shape as graph_neighbors so callers can post-process uniformly. Use this when you want the neighbourhood around an entire topic, not just one page (graph_subgraph(prefix='wik
wiki__supersede_sourceRedirect all wiki/ frontmatter.sources references from old_path to new_path in a single commit. Used when a raw/ source has been re-ingested under a versioned slug (raw/papers/foo.md → raw/papers/foo-v2.md) and the existing wiki/ pages should now cite the newer version. Walks every wiki/ page, replaces old_path with ne
wiki__lintRun a static health-check scan over the wiki. Pure scan — no LLM, no edits. Use when the user asks to 'audit / lint / clean up the wiki' or after a batch of moves / deletes / ingests where dead links may have accumulated. Returns structured findings the agent should review with the user before acting on. Checks (defaul
wiki__git_syncCommit any external (Obsidian / VS Code / manual) edits sitting in the wiki's working tree to git so the next read or write sees a consistent state. Every individual write_page / move_page / delete_page / attach_file already runs this automatically as a pre-write step — you only need to call git_sync explicitly at the
wiki__open_wikiOpen the wiki root (or a specific page) in the user's preferred app. By default ('auto' mode) routes to Obsidian when it's installed (detected via obsidian.json existence) and to the system file manager otherwise — opening into Obsidian is the natural target since wiki_init ships an Obsidian-friendly .obsidian/app.json
wiki__logAppend a structured timestamped entry to wiki/log.md. Call this after each ingest (raw source → wiki pages), each lint pass, or any notable wiki edit, so the user has a chronological record of how the wiki evolved. Format on disk: '## [<ISO date>] <kind> | <text>'. Common kinds: ingest, query, edit, lint, note. Don't l
wiki__reindex_pathRe-index a single page in a wiki's FTS sqlite. Idempotent — re-running on the same path replaces the row in place. Use when an EXTERNAL writer (e.g. the daemon's note-taker snapshot hook, or note-taker's finalize_meeting writing summary blocks directly) has touched a .md file that wiki itself didn't write — without thi
How to connect
Syncore Wiki is a no-auth skill — there's nothing to connect. Once Syncore is installed, your agent can call its tools immediately.
- Run
curl -fsSL https://syncorelabs.ai/install.sh | shon macOS / Linux (or the PowerShell command on Windows). - Run
syncore loginto create your account and a device-bound encryption key. - Run
syncore updateto sync the skill + credentials to every installed AI client.
Pricing
Free at every Syncore tier. Connect your account once at /connect; the OAuth or API-key credential stays encrypted on your machine and syncs to your other devices via the Syncore vault.
See the full Syncore pricing breakdown — Free $0/mo, Pro $29/mo, Ultra $99/mo — on the homepage.
Related
Looking at Syncore Wiki? You may also want:
- Airtable — list bases, read / query records with filter formulas, create new rows, and update fields on existing records via Airtable REST API
- Apple Calendar — list calendars, today's events, upcoming events, search by free-text, create / update / delete events with attendees, location, all-day flag
- Apple Reminders — list reminder lists with incomplete counts, list reminders inside a list, surface today's due + overdue items, create / update / complete / del...
- Asana — list workspaces and projects, list / create tasks, set due dates, and mark tasks complete
- Cal.com — list and manage bookings, event types, availability schedules; create / cancel / reschedule meetings on the user's Cal.com account
Or browse all 75 skills in the Syncore catalog.