一键导入
fabric-api
Create, search, and manage Fabric resources via the Fabric HTTP API (notepads/notes, folders, bookmarks, files, tags).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create, search, and manage Fabric resources via the Fabric HTTP API (notepads/notes, folders, bookmarks, files, tags).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Audit or design websites, docs, apps, CLIs/TUIs, APIs, SDKs, MCP/A2A agents, Agent Skills, and repos so AI agents can discover, understand, safely operate, verify, and recover from real tasks. Use for agent-readiness audits, action/context parity reviews, AGENTS.md/llms.txt/OpenAPI/API catalog/MCP/A2A/tool design, CLI JSON/non-interactive ergonomics, shared workspaces, prompt-native features, evals, templates, and implementation roadmaps.
Coach users to plan, create, rehearse, and deliver high-impact presentations, talks, keynotes, pitches, board updates, scientific or technical talks, lectures, webinars, demos, and slide decks. Use when the user is preparing a presentation, wants a stronger story or slide flow, needs speaker notes or rehearsal and Q&A practice, is anxious about presenting, or asks how to make a talk clearer, more persuasive, memorable, engaging, accessible, or executive-ready.
Audit and harden OpenClaw deployments and interpret `openclaw security audit` findings. Use when the user wants to secure OpenClaw, review gateway exposure/auth/reverse proxies/Tailscale Serve or Funnel, check DM/group access (pairing, allowlists, mention gating, `session.dmScope`), minimise tool permissions and sandboxing, review plugins/skills/secrets/transcripts/log retention, or lock down Docker/macOS/laptop/EC2 installs. Not for generic OS, Docker, or cloud hardening unrelated to OpenClaw.
Use this skill when the user needs to design, critique, redesign, audit, generate, code, or explain quantitative graphics: charts, dashboards, tables, maps, scientific/statistical figures, visual evidence, or chart specifications. It helps choose display forms, avoid misleading encodings, compute lie factors, inspect CSV structure, generate simple SVG charts, check color contrast, and produce Tufte-informed but non-formulaic recommendations. Do not use for decorative illustration or general data cleaning unless a quantitative display is involved.
Generates genuinely novel, useful ideas for products, businesses, features, campaigns, names, research directions, and process redesign. Use when the user asks to brainstorm, ideate, improve a weak concept, escape generic answers, find differentiated options under real constraints, or turn a vague opportunity into a shortlist of strong concepts with wedges and tests. Preserves diversity with independent idea pools, analogy transfer, contradiction solving, critique-and-repair, and reality checks. Do not use for simple rewriting, proofreading, or purely factual research.
Use this skill when the user wants to integrate with, call, debug, or operate the Resend API or official SDKs/MCP tooling. Covers sending and scheduling emails, batch sends, templates, domains and DNS verification, API keys, contacts, segments, topics, broadcasts, inbound email, webhooks, receiving attachments, and Resend workflows/events. Also use it when the user mentions Resend, resend.emails.send, verified domains, email.received, broadcast campaigns, template publishing, or needs help choosing between single email, batch, broadcast, inbound, or workflow patterns.
| name | fabric-api |
| description | Create, search, and manage Fabric resources via the Fabric HTTP API (notepads/notes, folders, bookmarks, files, tags). |
| homepage | https://fabric.so |
| metadata | {"openclaw":{"emoji":"🧵","homepage":"https://fabric.so","requires":{"env":["FABRIC_API_KEY"],"anyBins":["node","python3","python","curl"]},"primaryEnv":"FABRIC_API_KEY"},"clawdbot":{"emoji":"🧵","homepage":"https://fabric.so","requires":{"env":["FABRIC_API_KEY"],"anyBins":["node","python3","python","curl"]},"primaryEnv":"FABRIC_API_KEY"}} |
Use this skill when you need to read or write content in a user's Fabric workspace using the Fabric HTTP API (https://api.fabric.so).
This version avoids bash-only wrapper scripts. It ships cross-platform helpers:
{baseDir}/scripts/fabric.mjs (recommended){baseDir}/scripts/fabric.pyPOST /v2/notes endpoint in the bundled OpenAPI spec. To create a “note”, use POST /v2/notepads.parentId:
@alias::inbox, @alias::binparentIdtext (markdown string) or ydoc (advanced/structured)tags must be an array of objects, each item either:
{ "name": "tag name" } or { "id": "<uuid>" }name (not title). If the user says “title”, map it to name in requests.When the user doesn’t specify a destination folder, default to:
parentId: "@alias::inbox"This skill expects the Fabric API key in:
FABRIC_API_KEYOpenClaw config example (~/.openclaw/openclaw.json):
{
skills: {
entries: {
"fabric-api": {
enabled: true,
apiKey: "YOUR_FABRIC_API_KEY"
}
}
}
}
Notes:
apiKey is a convenience for skills that declare primaryEnv; it injects FABRIC_API_KEY for the duration of an agent run.https://api.fabric.so (override with FABRIC_BASE if needed)X-Api-Key: $FABRIC_API_KEYContent-Type: application/jsonnode {baseDir}/scripts/fabric.mjs GET /v2/user/me
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"name":"Test note","text":"Hello","parentId":"@alias::inbox"}'
python3 {baseDir}/scripts/fabric.py GET /v2/user/me
python3 {baseDir}/scripts/fabric.py POST /v2/notepads --json '{"name":"Test note","text":"Hello","parentId":"@alias::inbox"}'
Notes:
HTTP <code> <reason> to stderr and still print the response body, then exit non‑zero (similar to curl --fail-with-body).https://...), the helpers do not attach X-Api-Key unless you explicitly pass --with-key.Endpoint: POST /v2/notepads
Rules:
nametext for markdown contentparentIdname, then tags.Minimal create:
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"parentId":"@alias::inbox","text":"Hello"}'
Create with a name:
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"name":"Calendar Test Note","text":"Created via OpenClaw","parentId":"@alias::inbox"}'
Create with tags (correct shape):
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"name":"Ideas","text":"# Ideas\\n\\n- First\\n- Second\\n","parentId":"@alias::inbox","tags":[{"name":"ideas"},{"name":"draft"}]}'
If you keep seeing tag validation errors, temporarily omit tags and create the notepad first.
Endpoint: POST /v2/folders
node {baseDir}/scripts/fabric.mjs POST /v2/folders --json '{"name":"My new folder","parentId":"@alias::inbox","description":null}'
Endpoint: POST /v2/bookmarks
node {baseDir}/scripts/fabric.mjs POST /v2/bookmarks --json '{"url":"https://example.com","parentId":"@alias::inbox","name":"Example","tags":[{"name":"reading"}]}'
Endpoint: POST /v2/resources/filter
Important:
parentId expects a UUID (not an alias).node {baseDir}/scripts/fabric.mjs POST /v2/resources/filter --json '{"parentId":"PARENT_UUID_HERE","limit":50,"order":{"property":"modifiedAt","direction":"DESC"}}'
Endpoint: POST /v2/search
Use search when the user gives a fuzzy description (“the note about…”).
node {baseDir}/scripts/fabric.mjs POST /v2/search --json '{"queries":[{"mode":"text","text":"meeting notes","filters":{"kinds":["notepad"]}}],"pagination":{"page":1,"pageSize":20},"sort":{"field":"modifiedAt","order":"desc"}}'
tags is [{name}|{id}] not nested.{baseDir}/fabric-api.yaml{baseDir}/references/REFERENCE.md{baseDir}/references/TROUBLESHOOTING.md