cawskills-mcp

cawskills-mcp

skills for claw services and msp

Category
访问服务器

README

ClawSkills

A library of integration skill documents for the most common SaaS platforms used in go-to-market and operations workflows. Each skill doc teaches an AI agent, automation builder, or LLM how to reliably use a platform's API with working code examples, rate limit rules, error playbooks, and platform-specific version details.


What's in here

playbooks/
├── INDEX.md                 ← Workflow-level guides spanning multiple tools
├── hubspot-asana-onboarding.md
├── salesforce-hubspot-lead-sync.md
├── slack-jira-incident.md
└── zendesk-jira-bug-escalation.md

skills/
├── INDEX.md                 ← Start here: all tools, top workflows, quick-ref tables
├── ROADMAP.md               ← Phased build plan and governance model
├── monday/skill.md          ← Monday.com (GraphQL API v2026-01)
├── salesforce/skill.md      ← Salesforce Sales Cloud (REST API v66.0)
├── jira/skill.md            ← Jira Cloud (REST API v3)
├── dynamics365/skill.md     ← Microsoft Dynamics 365 (Dataverse Web API v9.2)
├── hubspot/skill.md         ← HubSpot CRM (API v3, 190 req/10s)
├── servicenow/skill.md      ← ServiceNow (Yokohama release, Table API)
├── zendesk/skill.md         ← Zendesk Support (API v2)
├── asana/skill.md           ← Asana (REST API 1.0)
├── github/skill.md          ← GitHub (REST API + GraphQL v4, 2022-11-28)
├── figma/skill.md           ← Figma (REST API v1, Webhooks V2)
├── slack/skill.md           ← Slack (Web API, Block Kit, Events API)
├── stripe/skill.md          ← Stripe (Payments API v2026-02-25, Billing, Connect)
├── notion/skill.md          ← Notion (REST API v2025-09-03, Pages, Databases, Blocks)
└── linear/skill.md          ← Linear (GraphQL API, Issues, Cycles, Webhooks)

Each skill.md follows the same structure:

  • What this skill enables — outcome-focused bullets
  • Best-fit use cases — table of 8–15 real workflows with triggers and success criteria
  • Key concepts & data model — objects, fields, relationships, IDs
  • Authentication & permissions — auth flows with working curl examples, least-privilege scopes
  • Common workflows (recipes) — 6–12 step-by-step recipes with request/response examples
  • Query patterns & filtering — pagination, incremental sync, dedup
  • Reliability: rate limits, retries, idempotency — verified limits, backoff code in Python
  • Error handling & troubleshooting — "if you see X, do Y" playbook
  • Security & compliance — PII, audit trails, token guidance
  • Testing checklist — QA checklist you can run against a sandbox
  • Sources — official doc links

Each skill tracks its own platform version and Last validated date in the document header. The MCP package has a separate npm version because it versions the server/tooling layer, not the underlying SaaS APIs.

The playbooks/ layer captures cross-tool workflows end to end: trigger, system sequence, field mapping, idempotency, failure policy, and operational guardrails.


Use with Claude via MCP (recommended)

ClawSkills ships as an MCP server that exposes all skill docs as tools directly inside Claude.

npx -y clawskills-mcp

Or install permanently:

npm install -g clawskills-mcp

Add to your Claude Desktop / Claude Code config:

{
  "mcpServers": {
    "clawskills": {
      "command": "npx",
      "args": ["-y", "clawskills-mcp"]
    }
  }
}

Once connected, Claude can call three tools:

  • list_skills — see all available skill docs
  • get_skill — fetch a full skill or a specific section (auth, rate-limits, recipes, errors, etc.)
  • search_skills — full-text search across all skills

How to use these skills with AI tools

With Claude (claude.ai or Claude Code)

The most direct use: paste a skill doc (or a section of it) into your conversation as context, then ask Claude to write integration code, debug an error, or plan a workflow.

Option 1 — Reference a specific section

[paste the "Authentication & permissions" section from skills/salesforce/skill.md]

Using the above, write a Python function that exchanges a JWT for an access token
and caches it until 5 minutes before expiry.

Option 2 — Full skill as system context

If you're using the Claude API, load the skill doc as part of the system prompt:

import anthropic

with open("skills/jira/skill.md") as f:
    jira_skill = f.read()

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=4096,
    system=f"""You are an integration engineer. Use the following Jira skill doc as your
reference for all API calls, auth patterns, and error handling:

{jira_skill}

Always follow the rate limit and retry patterns from the skill doc.""",
    messages=[{
        "role": "user",
        "content": "Write a function that creates a Jira bug from a PagerDuty alert payload."
    }]
)

Option 3 — Claude Code (this repo)

If you're already in Claude Code with this repo open, just reference the file:

Using skills/hubspot/skill.md, write a Python script that syncs new Salesforce
leads (created in the last hour) to HubSpot contacts, deduplicating by email.

With ChatGPT / GPT-4

Use the skill docs as file attachments or pasted context in the ChatGPT interface.

In the ChatGPT web UI:

  1. Open a new conversation.
  2. Click the paperclip (attach file) and upload the relevant skill.md.
  3. Ask your question — ChatGPT will use the skill doc as reference.

Via the OpenAI API:

from openai import OpenAI

with open("skills/zendesk/skill.md") as f:
    zendesk_skill = f.read()

client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "system",
            "content": f"You are an integration engineer. Reference this Zendesk skill doc for all API patterns:\n\n{zendesk_skill}"
        },
        {
            "role": "user",
            "content": "Write a webhook handler that creates a Zendesk ticket from an incoming JSON alert."
        }
    ]
)

With Cursor / GitHub Copilot (editor context)

Both tools pick up files in your project as context.

Cursor:

  • Add the relevant skill.md to your Cursor context via @file mention:
    @skills/monday/skill.md  Write a function that creates a Monday.com item
    from a webhook payload with these fields: name, status, due_date, assignee_email
    
  • Or add skills/ to your Cursor rules (.cursorrules) so the agent always has context available for integration-related tasks.

GitHub Copilot Chat:

#file:skills/servicenow/skill.md

Write a Python function that creates a ServiceNow incident from a CloudWatch alarm.
Include proper error handling and the work_notes vs comments distinction.

With LangChain / LlamaIndex (RAG pipeline)

Use the skill docs as a knowledge base for a retrieval-augmented generation system. Each skill doc is self-contained and works well as a RAG document.

LangChain example:

from langchain_community.document_loaders import DirectoryLoader, TextLoader
from langchain.text_splitter import MarkdownHeaderTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI

# Load all skill docs
loader = DirectoryLoader("skills/", glob="**/*.md", loader_cls=TextLoader)
docs = loader.load()

# Split by Markdown headers to keep sections coherent
splitter = MarkdownHeaderTextSplitter(
    headers_to_split_on=[("##", "section"), ("###", "subsection")]
)
chunks = []
for doc in docs:
    chunks.extend(splitter.split_text(doc.page_content))

# Index into vector store
vectorstore = Chroma.from_documents(
    chunks,
    embedding=OpenAIEmbeddings(),
    persist_directory="./skills_index"
)

# Query
qa = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(model="gpt-4o"),
    retriever=vectorstore.as_retriever(search_kwargs={"k": 4})
)

answer = qa.invoke("What is the rate limit for HubSpot Pro and how do I handle 429s?")

LlamaIndex example:

from llama_index.core import SimpleDirectoryReader, VectorStoreIndex

documents = SimpleDirectoryReader("skills/", recursive=True).load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()

response = query_engine.query(
    "How do I upsert a Salesforce contact by email and log a Task against it in one operation?"
)
print(response)

Injecting skill docs into Claude API calls

If you're building a custom agent using the Claude API with tool use, you can inject relevant skill docs based on which tool the agent is about to call:

import anthropic
from pathlib import Path

SKILL_DIR = Path("skills")

def get_skill(tool_name: str) -> str:
    """Load skill doc for a given tool slug."""
    skill_path = SKILL_DIR / tool_name / "skill.md"
    if skill_path.exists():
        return skill_path.read_text()
    return ""

def run_integration_agent(task: str, tools_needed: list[str]) -> str:
    """Run an agent that has skill docs injected for the tools it needs."""
    skill_context = "\n\n---\n\n".join(
        f"# {tool.upper()} SKILL REFERENCE\n{get_skill(tool)}"
        for tool in tools_needed
        if get_skill(tool)
    )

    client = anthropic.Anthropic()
    response = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=8192,
        system=f"""You are an integration engineer building reliable API integrations.

Use the following skill references for all API calls, auth flows, rate limiting,
and error handling. Do not deviate from the patterns described.

{skill_context}""",
        messages=[{"role": "user", "content": task}]
    )
    return response.content[0].text

# Example
result = run_integration_agent(
    task="Write a Python script that syncs Zendesk tickets (status=open, priority=urgent) to Jira bugs.",
    tools_needed=["zendesk", "jira"]
)

In a .claude/CLAUDE.md project instruction file

If you work in Claude Code regularly, you can tell Claude to always use these docs:

# Integration Skills

When writing code that integrates with any of the following tools, always read the
corresponding skill doc before writing code:

- Monday.com → @skills/monday/skill.md
- Salesforce → @skills/salesforce/skill.md
- Jira → @skills/jira/skill.md
- Dynamics 365 → @skills/dynamics365/skill.md
- HubSpot → @skills/hubspot/skill.md
- ServiceNow → @skills/servicenow/skill.md
- Zendesk → @skills/zendesk/skill.md
- Asana → @skills/asana/skill.md
- GitHub → @skills/github/skill.md
- Figma → @skills/figma/skill.md
- Slack → @skills/slack/skill.md
- Stripe → @skills/stripe/skill.md
- Notion → @skills/notion/skill.md
- Linear → @skills/linear/skill.md

Follow the auth patterns, rate limit handling, and error codes exactly as documented.
Always pin API version headers where specified.

Best practices for prompting with skill docs

Goal What to include in the prompt
Write integration code Full skill doc or the "Auth" + "Recipes" sections
Debug an error "Error handling" section + the exact error message you received
Plan a workflow "Best-fit use cases" table + "Key concepts" section
Review existing code Full skill doc (the AI can spot deviations from documented patterns)
Handle rate limits "Reliability" section only — it's self-contained
Set up webhooks The webhook recipe from "Common workflows" + "Testing checklist"

Tips:

  • When working across two tools (e.g., Zendesk → Jira sync), include both skill docs.
  • For code generation, always mention the target language — the recipes are in curl/Python pseudocode by default.
  • The "Testing checklist" section at the bottom of each skill is useful as a prompt to verify generated code: "Check this code against the testing checklist in the skill doc."

Keeping skills current

Skills are validated against live API docs. Each doc has a Last validated: date in the header. Key things to watch:

  • Monday.com — new API version released every quarter; always pin API-Version header to 2026-01 (current) or check developer.monday.com/api-reference/docs/api-versioning
  • Salesforce — new API version each seasonal release (Spring/Summer/Winter); currently v66.0. Check /services/data/ on your org for available versions.
  • Jira — GET /rest/api/3/search is deprecated; use POST /rest/api/3/search/jql
  • HubSpot — date-based versioning (2025-09 style) rolling out alongside v3; rate limits updated Sep 2024
  • ServiceNow — currently Yokohama release (March 2025); update URL bundle names on instance upgrade
  • GitHub — always pin X-GitHub-Api-Version: 2022-11-28; prefer fine-grained PATs over classic PATs; GITHUB_TOKEN in Actions is limited to 1,000 req/repo/hr
  • Figma — files:read scope is deprecated; use granular scopes (file_content:read, file_comments:write, etc.); rate limits updated Nov 2025 and now vary by plan + seat type

See ROADMAP.md for the full governance and update process.


Contributing

To add or update a skill:

  1. Create a branch: git checkout -b skill/<toolname>
  2. Follow the template structure in any existing skill.md — all 11 sections required.
  3. Verify all endpoints, rate limits, and auth flows against the official vendor docs before committing.
  4. Add a Last validated: date to the doc header.
  5. Update skills/INDEX.md and README.md when adding a new tool.
  6. Link to official sources in the ## Sources section — no unverified claims.
  7. Open a PR — CI runs npm test which validates that your skill loads and has all required sections.

Releases are automated: merge to main, then go to GitHub Actions → Release → Run workflow → pick patch / minor / major.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选