원클릭으로
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