Skip to content
cccskills
FreePublished on GitHub

fabric-api

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

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671 stars(GitHub 671 + cccskills 0)

Run score Not tested

See how to install

Files included (2)

  • SKILL.md5.1 KB
  • fabric-api.yaml76.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:

  • FABRIC_API_KEY

Recommended config (use apiKey; Clawdbot will inject FABRIC_API_KEY because primaryEnv is set):

{
  skills: {
    entries: {
      "fabric-api": {
        enabled: true,
        apiKey: "YOUR_FABRIC_API_KEY"
      }
    }
  }
}

HTTP basics

  • Base: https://api.fabric.so
  • Auth: X-Api-Key: $FABRIC_API_KEY
  • 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

curl -sS --fail-with-body "https://api.fabric.so/v2/user/me" \
  -H "X-Api-Key: $FABRIC_API_KEY"

POST (JSON)

curl -sS --fail-with-body -X POST "https://api.fabric.so/v2/ENDPOINT" \
  -H "X-Api-Key: $FABRIC_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{ "replace": "me" }
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.
curl -sS --fail-with-body -X POST "https://api.fabric.so/v2/notepads" \
  -H "X-Api-Key: $FABRIC_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "name": "Calendar Test Note",
  "text": "Created via Clawdbot",
  "parentId": "@alias::inbox",
  "tags": [{"name":"calendar"},{"name":"draft"}]
}
JSON

If tags cause validation trouble, omit them and create/assign later via /v2/tags.

2) Create a folder

Endpoint: POST /v2/folders

curl -sS --fail-with-body -X POST "https://api.fabric.so/v2/folders" \
  -H "X-Api-Key: $FABRIC_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "name": "My new folder",
  "parentId": "@alias::inbox",
  "description": null
}
JSON

3) Create a bookmark

Endpoint: POST /v2/bookmarks

curl -sS --fail-with-body -X POST "https://api.fabric.so/v2/bookmarks" \
  -H "X-Api-Key: $FABRIC_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "url": "https://example.com",
  "parentId": "@alias::inbox",
  "name": "Example",
  "tags": [{"name":"reading"}]
}
JSON

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

curl -sS --fail-with-body -X POST "https://api.fabric.so/v2/resources/filter" \
  -H "X-Api-Key: $FABRIC_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "parentId": "PARENT_UUID_HERE",
  "limit": 50,
  "order": { "property": "modifiedAt", "direction": "DESC" }
}
JSON

5) Search

Endpoint: POST /v2/search

Use search when the user gives a fuzzy description (“the note about…”).

curl -sS --fail-with-body -X POST "https://api.fabric.so/v2/search" \
  -H "X-Api-Key: $FABRIC_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "queries": [
    {
      "mode": "text",
      "text": "meeting notes",
      "filters": { "kinds": ["notepad"] }
    }
  ],
  "pagination": { "page": 1, "pageSize": 20 },
  "sort": { "field": "modifiedAt", "order": "desc" }
}
JSON

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.
  • Avoid tight loops; do pagination slowly.

Do not blindly retry create requests without idempotency (you may create duplicates).

Troubleshooting quick map

  • 404 Not Found: almost always wrong endpoint, wrong resourceId/parentId, or permissions.
  • 400 Bad Request: schema validation; check required fields and tag shape.
  • 403 Forbidden: subscription/permission limits.
  • 429 Too Many Requests: back off + retry.

API reference

The OpenAPI schema lives here:

  • {baseDir}/fabric-api.yaml

When in doubt, consult it before guessing endpoint names or payload shapes.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671Updated Mar 7, 2026

A股实时行情与分时量能分析。获取沪深股票实时价格、涨跌、成交量,分析分时量能分布(早盘/尾盘放量)、主力动向(抢筹/出货信号)、涨停封单。支持持仓管理和盈亏分析。Use when: (1) 查询A股实时行情, (2) 分析主力资金动向, (3) 查看分时成交量分布, (4) 管理股票持仓, (5) 分析持仓盈亏。

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671Updated Mar 7, 2026

Scan HTML and JSX for accessibility issues with AI-powered fix suggestions

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671Updated Mar 7, 2026

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," or "hypothesis." For tracking implementation, see analytics-tracking.

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671Updated Mar 7, 2026

Multi-channel ABM automation that turns LinkedIn URLs into coordinated outbound campaigns. Scrapes profiles, enriches with Apollo (email + phone), gets mailing addresses via Skip Trace, then orchestrates email sequences, LinkedIn touches, and handwritten letters via Scribeless. The secret weapon for standing out in crowded inboxes.

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671Updated Mar 7, 2026

accli

Free

This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.

The English summary is being prepared. Showing the original description.

sundial-org/awesome-openclaw-skills671Updated Mar 7, 2026

See all skills by sundial-org

Report a problem with this skill