Agent skill · software engineering · sundial-org

fabric-api

Create/search Fabric resources via HTTP API (notepads, folders, bookmarks, files).

Why this skill is useful

Provides specific curl commands and API usage patterns for interacting with the Fabric HTTP API that the AI wouldn't reliably generate on its own.

What it needs

Requires curl installed locally. Requires fabric account access. About 3k tokens when loaded. Last updated 2026-03-07. 639 stars on the source repository.

What this skill does

Fabric API (HTTP via curl) Use this skill to read/write content in a user's Fabric workspace using the Fabric HTTP API (https://api.fabric.so). Critical gotchas (read first) "Notes" are created via POST /v2/notepads (not /v2/notes). Most create endpoints require parentId: A UUID or one of: @alias::inbox, @alias::bin. Notepad create requires: parentId AND either text (markdown string) or ydoc (advanced/structured). tags must be an array of objects, each either: { "name": "tag name" } or { "id": "<uuid>" } Never nested arrays; never strings. When the user doesn't specify a destination folder: default to parentId: "@alias::inbox". Setup (Clawdbot) This skill expects the API key in: FABRICAPIKEY Recommended config (use apiKey; Clawdbot will inject FABRICAPIKEY because primaryEnv is set): HTTP basics Base: https://api.fabric.so Auth: X-Api-Key: $FABRICAPIKEY JSON: Content-Type: application/json For debugging: prefer --fail-with-body so 4xx bodies are shown. Canonical curl templates (use heredocs to avoid quoting bugs) GET POST (JSON) Core workflows 1) Create a notepad (note) Endpoint: POST /v2/notepads Map user-provided "title" → name in the API payload. Always include parentId. Use text for markdown content. If tags cause validation trouble, omit them and create/assign later via /v2/tags. 2) Create a folder Endpoint: POST /v2/folders 3) Create a bookmark Endpoint: POST /v2/bookmarks 4) Browse resources (list children of a folder) Endpoint: POST /v2/resources/filter Use this to list what's inside a folder (use a folder UUID as parentId). 5) Search Endpoint: POST /v2/search Use search when the user gives a fuzzy description (“the note about…”). Tags (safe patterns) List tags GET /v2/tags?limit=100 Create tag POST /v2/tags with { "name": "tag name", "description": null, "resourceId": null } Assign tags on create Use tags: [{"name":"x"}] or tags: [{"id":"<uuid>"}] only. Rate limiting + retries If you get 429 Too Many Requests: Back off (sleep + jitter) and retry. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills sundial-org/fabric-api

View the source on GitHub

Browse the @skills marketplace