clawskills-mcp 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.test.js +1 -1
- package/package.json +23 -1
- package/skills/INDEX.md +43 -1
- package/skills/ROADMAP.md +109 -184
- package/skills/notion/skill.md +800 -0
- package/skills/stripe/skill.md +823 -0
package/dist/index.test.js
CHANGED
|
@@ -185,7 +185,7 @@ const REQUIRED_SECTIONS = [
|
|
|
185
185
|
const KNOWN_SKILLS = [
|
|
186
186
|
"asana", "dynamics365", "figma", "github", "hubspot",
|
|
187
187
|
"jira", "monday", "salesforce", "servicenow", "zendesk",
|
|
188
|
-
"slack",
|
|
188
|
+
"slack", "stripe", "notion",
|
|
189
189
|
];
|
|
190
190
|
describe("real skills", () => {
|
|
191
191
|
let skills;
|
package/package.json
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawskills-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "MCP server exposing ClawSkills API integration skill docs to AI agents",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "ClawSkills Contributors",
|
|
7
|
+
"homepage": "https://github.com/Shanksg/clawskills#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Shanksg/clawskills.git"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"mcp",
|
|
14
|
+
"claude",
|
|
15
|
+
"ai",
|
|
16
|
+
"integration",
|
|
17
|
+
"api",
|
|
18
|
+
"skill",
|
|
19
|
+
"salesforce",
|
|
20
|
+
"hubspot",
|
|
21
|
+
"jira",
|
|
22
|
+
"zendesk",
|
|
23
|
+
"slack",
|
|
24
|
+
"crm",
|
|
25
|
+
"saas"
|
|
26
|
+
],
|
|
5
27
|
"type": "module",
|
|
6
28
|
"bin": {
|
|
7
29
|
"clawskills-mcp": "dist/index.js"
|
package/skills/INDEX.md
CHANGED
|
@@ -21,6 +21,8 @@ A curated library of integration skill documents for the most common SaaS platfo
|
|
|
21
21
|
| GitHub | [github/skill.md](./github/skill.md) | Engineering, DevOps | Source control, PRs, CI/CD automation via REST + GraphQL |
|
|
22
22
|
| Figma | [figma/skill.md](./figma/skill.md) | Design, Product, DevOps | Design file inspection, asset export, webhooks, design-to-dev handoff |
|
|
23
23
|
| Slack | [slack/skill.md](./slack/skill.md) | All teams | Real-time messaging, notifications, event-driven automation via Web API |
|
|
24
|
+
| Stripe | [stripe/skill.md](./stripe/skill.md) | Engineering, Finance, RevOps | Payments, subscriptions, refunds, webhooks, and Connect for platforms |
|
|
25
|
+
| Notion | [notion/skill.md](./notion/skill.md) | Product, Engineering, Ops | Docs, databases, and blocks API for knowledge base and project automation |
|
|
24
26
|
|
|
25
27
|
---
|
|
26
28
|
|
|
@@ -180,6 +182,34 @@ A curated library of integration skill documents for the most common SaaS platfo
|
|
|
180
182
|
|
|
181
183
|
---
|
|
182
184
|
|
|
185
|
+
### Notion → [skill.md](./notion/skill.md)
|
|
186
|
+
1. Create a database row (page with properties: title, select, date, people)
|
|
187
|
+
2. Query a database with AND/OR filters and sorts, paginating all results
|
|
188
|
+
3. Update page properties (select, date, checkbox, rich_text)
|
|
189
|
+
4. Archive (trash) a page
|
|
190
|
+
5. Create a page with rich content blocks (headings, callout, to-do, code)
|
|
191
|
+
6. Append blocks to an existing page in batches of 100
|
|
192
|
+
7. Read all blocks from a page recursively (handling has_children)
|
|
193
|
+
8. Search for pages and databases by title
|
|
194
|
+
9. Incremental sync — query pages modified since a given timestamp
|
|
195
|
+
10. Upsert pattern — create-or-update using an external ID property
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
### Stripe → [skill.md](./stripe/skill.md)
|
|
200
|
+
1. Create a PaymentIntent for a one-time charge and confirm with Stripe.js
|
|
201
|
+
2. Save a card for future off-session charges (SetupIntent → attach PaymentMethod)
|
|
202
|
+
3. Create a recurring subscription (Customer + Price + Subscription)
|
|
203
|
+
4. Launch a hosted Checkout Session and fulfil on `checkout.session.completed`
|
|
204
|
+
5. Issue a full or partial refund
|
|
205
|
+
6. Handle a failed subscription payment: notify customer, update payment method, retry invoice
|
|
206
|
+
7. Receive and verify webhooks (Stripe-Signature HMAC-SHA256 verification)
|
|
207
|
+
8. Stripe Connect: create a connected account, generate onboarding link, destination charge
|
|
208
|
+
9. List all charges for a customer with cursor pagination
|
|
209
|
+
10. Cancel a subscription at period end
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
183
213
|
## Common Cross-Tool Patterns
|
|
184
214
|
|
|
185
215
|
These scenarios span multiple skill docs — reference both tools:
|
|
@@ -197,6 +227,12 @@ These scenarios span multiple skill docs — reference both tools:
|
|
|
197
227
|
| Bug report → GitHub issue + PR | Zendesk / ServiceNow | GitHub | Auto-create issue, label, assign; link ticket ID in body |
|
|
198
228
|
| Design ready → engineering task | Figma | Jira / Asana / GitHub | `DEV_MODE_STATUS_UPDATE` webhook → create/update issue with frame link |
|
|
199
229
|
| Asset pipeline | Figma | S3 / CDN | `FILE_VERSION_UPDATE` webhook → export frames as PNG, upload to storage |
|
|
230
|
+
| Payment succeeded → CRM deal closed | Stripe | Salesforce / HubSpot | `payment_intent.succeeded` webhook → update deal stage to Closed Won |
|
|
231
|
+
| Deal closed → Notion project page | Salesforce / HubSpot | Notion | Closed Won trigger → create onboarding project row in Notion database |
|
|
232
|
+
| GitHub release → Notion changelog | GitHub | Notion | `release` event → append block to changelog database page |
|
|
233
|
+
| Alert fired → Notion runbook page | PagerDuty / any webhook | Notion | Incident fires → create structured runbook page with checklist blocks |
|
|
234
|
+
| Subscription cancelled → support ticket | Stripe | Zendesk / Jira | `customer.subscription.deleted` → create ticket for churn review |
|
|
235
|
+
| Invoice paid → project provisioned | Stripe | Asana / Monday.com | `invoice.paid` webhook → create onboarding project or board item |
|
|
200
236
|
|
|
201
237
|
---
|
|
202
238
|
|
|
@@ -215,6 +251,8 @@ These scenarios span multiple skill docs — reference both tools:
|
|
|
215
251
|
| GitHub | Fine-grained PAT or GitHub App installation token | Bearer token | Per-resource permissions (contents, issues, pull_requests, etc.) |
|
|
216
252
|
| Figma | Personal Access Token (PAT) or OAuth 2.0 | `X-Figma-Token` (PAT) / `Authorization: Bearer` (OAuth) | Granular scopes: `file_content:read`, `webhooks:write`, etc. |
|
|
217
253
|
| Slack | Bot token (OAuth 2.0 app install) | `xoxb-...` Bearer token | Per-method scopes: `chat:write`, `channels:read`, `users:read`, etc. |
|
|
254
|
+
| Stripe | Secret API key or Restricted key | `Authorization: Bearer sk_live_...` | Per-resource scopes on restricted keys (None / Read / Write) |
|
|
255
|
+
| Notion | Internal Integration Secret or OAuth token | `Authorization: Bearer secret_...` | Per-capability: Read/Insert/Update content, Read users |
|
|
218
256
|
|
|
219
257
|
---
|
|
220
258
|
|
|
@@ -233,10 +271,12 @@ These scenarios span multiple skill docs — reference both tools:
|
|
|
233
271
|
| GitHub | PAT: 5,000/hr · GitHub App: 5k–12.5k/hr · Enterprise Cloud: 15,000/hr · Secondary: 900 pts/min, 80 create/min | 1 hour (primary) + sliding (secondary) | `x-ratelimit-remaining` / `x-ratelimit-reset`; 403 or 429 |
|
|
234
272
|
| Figma | Starter: 10/min (T1), 25/min (T2) · Professional: 15/min (T1), 50/min (T2) · Org: 20/min (T1), 100/min (T2) | Per minute (leaky bucket) | `Retry-After` / `X-Figma-Rate-Limit-Type` / `X-Figma-Plan-Tier` |
|
|
235
273
|
| Slack | Tier 1: 1/min · Tier 2: 20/min · Tier 3: 50/min · Tier 4: 100/min · `chat.postMessage`: 1/sec/channel sub-limit | Per method per workspace | HTTP 429 + `Retry-After` header (seconds) |
|
|
274
|
+
| Stripe | Live: **100 req/sec** · Sandbox: **25 req/sec** · Search: 20/sec | Per account | HTTP 429 + `Stripe-Rate-Limited-Reason` header |
|
|
275
|
+
| Notion | **3 req/sec average** (burst allowed) | Per workspace | HTTP 429 + `Retry-After` header (seconds) |
|
|
236
276
|
|
|
237
277
|
---
|
|
238
278
|
|
|
239
|
-
*Last updated: 2026-02
|
|
279
|
+
*Last updated: 2026-03-02 (Notion skill added) | See [ROADMAP.md](./ROADMAP.md) for versioning and governance details.*
|
|
240
280
|
|
|
241
281
|
### API version reference (as of 2026-02-22)
|
|
242
282
|
|
|
@@ -253,3 +293,5 @@ These scenarios span multiple skill docs — reference both tools:
|
|
|
253
293
|
| GitHub | REST API + GraphQL v4 | Pin `X-GitHub-Api-Version: 2022-11-28`; fine-grained PATs recommended |
|
|
254
294
|
| Figma | REST API v1 / Webhooks V2 | Path-based versioning (`/v1/`, `/v2/`); `files:read` scope deprecated — use granular scopes |
|
|
255
295
|
| Slack | Web API (no versioned path) | Always check `ok` field (HTTP 200 even on errors); `files.upload` deprecated — use `files.getUploadURLExternal` |
|
|
296
|
+
| Stripe | `2026-02-25.clover` | Pin with `Stripe-Version` header; amounts in smallest currency unit (cents); never log raw card data |
|
|
297
|
+
| Notion | `2025-09-03` | `Notion-Version` header required on every request; share pages with integration before API access works |
|
package/skills/ROADMAP.md
CHANGED
|
@@ -12,229 +12,152 @@ This skill set enables end-to-end automation and integration across the most com
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Current state (as of 2026-03-01)
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
### What's shipped
|
|
18
18
|
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
| **
|
|
22
|
-
| **
|
|
23
|
-
| **
|
|
24
|
-
| **
|
|
25
|
-
| **
|
|
19
|
+
| Layer | Status |
|
|
20
|
+
|-------|--------|
|
|
21
|
+
| **11 skill docs** — Monday.com, Salesforce, Jira, Dynamics 365, HubSpot, ServiceNow, Zendesk, Asana, GitHub, Figma, Slack | ✅ Live |
|
|
22
|
+
| **MCP server** — `clawskills-mcp` v0.2.3 on npm; `list_skills`, `get_skill`, `search_skills` | ✅ Live |
|
|
23
|
+
| **CI pipeline** — build + test on every push/PR via `ci.yml` | ✅ Live |
|
|
24
|
+
| **Release automation** — `release.yml` workflow_dispatch → bump, tag, npm publish via OIDC | ✅ Live |
|
|
25
|
+
| **Test suite** — Vitest unit tests + real-skills validation (required sections, ≥5 KB, all 11 tools) | ✅ Live |
|
|
26
|
+
| **Public repo readiness** — MIT license, `.gitignore`, full `package.json` metadata | ✅ Ready |
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
### Content coverage by original phase
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
| Phase | Theme | Status |
|
|
31
|
+
|-------|-------|--------|
|
|
32
|
+
| Phase 1 — Foundation (Auth + Core CRUD) | Auth flows, basic CRUD, retry patterns | ✅ Complete — all 11 tools |
|
|
33
|
+
| Phase 2 — High-Frequency Workflows | 6–12 recipes per tool | ✅ Complete — all 11 tools |
|
|
34
|
+
| Phase 3 — Event-Driven & Real-Time | Webhook setup, signature verification, event handling | ✅ Complete — all 11 tools |
|
|
35
|
+
| Phase 4 — Bulk & Advanced Operations | Batch APIs, large-volume patterns | ⚠️ Partial — documented for most tools; not all have >500-record examples |
|
|
36
|
+
| Phase 5 — Cross-Tool Orchestration | Multi-system recipes spanning 2+ tools | ❌ Not started — patterns listed in INDEX.md but no dedicated recipes |
|
|
30
37
|
|
|
31
38
|
---
|
|
32
39
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
### Phase 1 — Foundation: Auth + Core CRUD (Weeks 1–4)
|
|
40
|
+
## Next development phase
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
### Priority 1 — Content expansion: 3 new skills
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
- All 8 `skill.md` files: Authentication & Permissions section fully validated against live environments
|
|
41
|
-
- Core CRUD recipes for each tool (Create, Read by ID, Update, List/Search)
|
|
42
|
-
- Error handling playbook (auth errors, 429s, 5xx retries)
|
|
43
|
-
- Shared retry/backoff library or pattern documented
|
|
44
|
+
Each new skill follows the 11-section template, lives on a `skill/<name>` branch, and is validated by CI before merge.
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
46
|
+
| Skill | Why | Key areas to cover |
|
|
47
|
+
|-------|-----|--------------------|
|
|
48
|
+
| **Stripe** | Most common payments API; revenue-critical workflows missing from current library | Webhooks (event types + signature), Checkout Sessions, subscriptions, refunds, idempotency keys, Connect (multi-account) |
|
|
49
|
+
| **Notion** | Knowledge base + lightweight PM; high demand for doc/wiki automation | Pages API, Databases + filters + sorts, Blocks API (rich text), Search, cursor pagination |
|
|
50
|
+
| **Linear** | Fast-growing engineering tool, increasingly replacing Jira at startups | Issues, Projects, Teams, Cycles, GraphQL API, webhooks, OAuth + PAT auth |
|
|
48
51
|
|
|
49
|
-
**
|
|
50
|
-
- [ ] Each tool: auth flow documented end-to-end with working curl example
|
|
51
|
-
- [ ] Each tool: create + read + update recipe tested against sandbox/dev environment
|
|
52
|
-
- [ ] 429 rate-limit retry returns success within 3 attempts for all tools
|
|
53
|
-
- [ ] No credentials stored in code or logs
|
|
52
|
+
**Order:** Stripe → Notion → Linear (payments coverage is the biggest gap).
|
|
54
53
|
|
|
55
|
-
**
|
|
54
|
+
**Acceptance criteria for each:**
|
|
55
|
+
- [ ] All 11 required sections present (CI enforces)
|
|
56
|
+
- [ ] `Last validated:` date in header
|
|
57
|
+
- [ ] Auth section has working `curl` example tested against sandbox/dev environment
|
|
58
|
+
- [ ] At least 8 recipes with request/response examples
|
|
59
|
+
- [ ] Rate limits verified against official docs
|
|
60
|
+
- [ ] INDEX.md and README.md updated
|
|
56
61
|
|
|
57
62
|
---
|
|
58
63
|
|
|
59
|
-
###
|
|
64
|
+
### Priority 2 — Freshness CI pipeline (the moat)
|
|
60
65
|
|
|
61
|
-
|
|
66
|
+
A weekly automated check that skill docs aren't stale and that key API patterns still work.
|
|
62
67
|
|
|
63
|
-
**
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
- HubSpot: Contact/Company sync, Deal stage update, Engagement logging (call/email/note)
|
|
69
|
-
- ServiceNow: Incident create from alert, state transition + work notes, assignment group routing
|
|
70
|
-
- Zendesk: Ticket creation, status/priority update, internal note vs public reply
|
|
71
|
-
- Asana: Task creation in project/section, status update, comment/story append
|
|
68
|
+
**Phase A — Staleness detection (low-effort, high-value):**
|
|
69
|
+
- Parse `Last validated:` date from each `skill.md` header
|
|
70
|
+
- Flag any doc older than 90 days in CI output
|
|
71
|
+
- Open a GitHub issue automatically when a doc exceeds the threshold
|
|
72
|
+
- Deliverable: `.github/workflows/freshness.yml` (weekly cron, `0 9 * * 1`) + `scripts/check-freshness.ts`
|
|
72
73
|
|
|
73
|
-
**
|
|
74
|
-
-
|
|
75
|
-
-
|
|
74
|
+
**Phase B — Live smoke tests (medium-effort, highest-value — the real moat):**
|
|
75
|
+
- For each tool, maintain a minimal test that hits: auth endpoint + one read
|
|
76
|
+
- Run weekly against sandbox environments using stored credentials (GitHub Secrets)
|
|
77
|
+
- Failure creates a doc-review issue with the tool name and failing assertion
|
|
78
|
+
- Candidates to start with: Jira (`/rest/api/3/myself`), GitHub (`/user`), HubSpot (`/crm/v3/objects/contacts?limit=1`)
|
|
76
79
|
|
|
77
80
|
**Acceptance criteria:**
|
|
78
|
-
- [ ]
|
|
79
|
-
- [ ]
|
|
80
|
-
- [ ]
|
|
81
|
-
- [ ] Dedup logic documented and tested (same input twice = no duplicate record)
|
|
82
|
-
|
|
83
|
-
**Definition of done:** Each recipe can be executed end-to-end by an automation builder without consulting external docs.
|
|
81
|
+
- [ ] Weekly cron runs without manual intervention
|
|
82
|
+
- [ ] A PR that backdates a `Last validated:` date beyond 90 days fails the staleness check
|
|
83
|
+
- [ ] Smoke test failure creates an issue and does not block `main` CI (it's a separate workflow)
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
87
|
-
###
|
|
87
|
+
### Priority 3 — Distribution
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
- HubSpot: Webhook subscriptions, event types (contact.creation, deal.propertyChange), signature verification
|
|
97
|
-
- ServiceNow: Outbound REST + Business Rules as webhook equivalent; Flow Designer basics
|
|
98
|
-
- Zendesk: Webhook + Trigger setup, event payload structure, signature validation (X-Zendesk-Webhook-Signature)
|
|
99
|
-
- Asana: Webhook registration, X-Hook-Secret handshake, event filtering
|
|
100
|
-
|
|
101
|
-
**Cross-tool dependencies:**
|
|
102
|
-
- Phase 2 update recipes required (webhooks trigger updates cross-system)
|
|
103
|
-
- Shared webhook receiver pattern: signature verification, deduplication by event ID, idempotent handler
|
|
104
|
-
|
|
105
|
-
**Acceptance criteria:**
|
|
106
|
-
- [ ] Each tool: webhook registered, test event fired, handler receives and validates payload
|
|
107
|
-
- [ ] Signature verification implemented and tested (reject tampered payload)
|
|
108
|
-
- [ ] Idempotent event handler: same event delivered twice = processed once
|
|
109
|
-
- [ ] Retry/dead-letter behavior documented per tool
|
|
110
|
-
|
|
111
|
-
**Definition of done:** End-to-end event flow demonstrated: source system change → webhook delivery → target system update, with no polling.
|
|
89
|
+
| Channel | Status | Next action |
|
|
90
|
+
|---------|--------|-------------|
|
|
91
|
+
| GitHub (public) | Ready to flip | Make repo public |
|
|
92
|
+
| npm (`clawskills-mcp`) | ✅ Live — v0.2.3 | Maintain via `release.yml` |
|
|
93
|
+
| MCP registry listings | Not submitted | Submit to glama.ai, mcp.so, smithery.ai after public launch |
|
|
94
|
+
| Docs website | Planned | Mintlify — fastest path to SEO-friendly browsable docs |
|
|
95
|
+
| Lane A vs B | TBD | Revisit after first traction signals from public launch |
|
|
112
96
|
|
|
113
97
|
---
|
|
114
98
|
|
|
115
|
-
###
|
|
116
|
-
|
|
117
|
-
**Theme:** Scale up. Handle large datasets, bulk operations, and complex cross-tool orchestration.
|
|
99
|
+
### Priority 4 — Complete Phase 4 & 5 gaps
|
|
118
100
|
|
|
119
|
-
|
|
120
|
-
- Salesforce: Bulk API v2 (CSV ingest), SOQL aggregate queries, Composite API for multi-step
|
|
121
|
-
- HubSpot: Batch create/update/read (up to 100 per batch), Import API for CSV
|
|
122
|
-
- Jira: Bulk label/component updates, sprint management, custom field batch updates
|
|
123
|
-
- ServiceNow: Import Sets with transform maps, batch table API calls
|
|
124
|
-
- Zendesk: Bulk ticket update (update_many), Incremental Export API for full sync
|
|
125
|
-
- Monday.com: Multiple mutations in single request, board duplication, subitems
|
|
126
|
-
- Dynamics 365: $batch endpoint, FetchXML for complex aggregations
|
|
127
|
-
- Asana: Parallel task creation patterns (respecting rate limits), Portfolio batch reads
|
|
101
|
+
These are lower priority than new skills but worth finishing:
|
|
128
102
|
|
|
129
|
-
**
|
|
130
|
-
-
|
|
131
|
-
-
|
|
103
|
+
**Phase 4 gaps (Bulk operations):**
|
|
104
|
+
- Salesforce Bulk API v2: end-to-end CSV ingest tested at ≥500 rows with error-row reporting
|
|
105
|
+
- HubSpot batch create/update: tested at max batch size (100 records), partial-success handling
|
|
106
|
+
- Zendesk Incremental Export API: full-sync recipe with cursor continuation
|
|
132
107
|
|
|
133
|
-
**
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
- [ ] Error partial-success handling documented (some rows fail, some succeed)
|
|
108
|
+
**Phase 5 (Cross-tool orchestration) — first 3 recipes:**
|
|
109
|
+
- Zendesk Ticket → Jira Bug (bidirectional status sync)
|
|
110
|
+
- HubSpot Deal Won → Asana project creation (onboarding trigger)
|
|
111
|
+
- Salesforce Lead → HubSpot Contact sync (dedup on email)
|
|
138
112
|
|
|
139
|
-
|
|
113
|
+
Each recipe lives as a `## Cross-tool recipe` appendix section in the relevant primary skill doc (e.g., the Zendesk→Jira recipe goes in both `zendesk/skill.md` and `jira/skill.md`).
|
|
140
114
|
|
|
141
115
|
---
|
|
142
116
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
**Theme:** Connect the systems. Build the integration recipes that span multiple tools, and prepare data flows for AI enrichment.
|
|
117
|
+
## Prioritization framework
|
|
146
118
|
|
|
147
|
-
|
|
148
|
-
- Cross-tool recipes (documented separately or as appendices in relevant skill.md files):
|
|
149
|
-
- Salesforce Lead → HubSpot Contact sync
|
|
150
|
-
- Zendesk Ticket → Jira Bug creation (bidirectional status)
|
|
151
|
-
- ServiceNow Incident → Monday.com item (ops escalation board)
|
|
152
|
-
- HubSpot Deal Won → Asana project creation (onboarding workflow)
|
|
153
|
-
- Dynamics 365 Opportunity → Jira Epic (delivery handoff)
|
|
154
|
-
- Enrichment patterns: append AI-generated summaries to ticket/task descriptions
|
|
155
|
-
- Reporting aggregation: pull data from multiple tools into unified payload
|
|
156
|
-
|
|
157
|
-
**Cross-tool dependencies:**
|
|
158
|
-
- All Phase 1–4 skills stable
|
|
159
|
-
- Canonical data model (shared field mapping table) agreed across tools
|
|
160
|
-
|
|
161
|
-
**Acceptance criteria:**
|
|
162
|
-
- [ ] Each cross-tool recipe: end-to-end tested in staging environments
|
|
163
|
-
- [ ] Canonical IDs (external_id / reference fields) used to link records across systems
|
|
164
|
-
- [ ] No data loss on failure (dead-letter queue or retry log)
|
|
165
|
-
- [ ] Latency < 30s for real-time cross-tool sync
|
|
166
|
-
|
|
167
|
-
**Definition of done:** A single external event (e.g., new support ticket) can automatically create linked records in 2+ systems with correct field mapping, documented in a runbook.
|
|
119
|
+
Each skill/recipe is scored on five dimensions (1–5 each):
|
|
168
120
|
|
|
169
|
-
|
|
121
|
+
| Dimension | Description |
|
|
122
|
+
|-----------|-------------|
|
|
123
|
+
| **Impact** | Business value if automated (revenue, hours saved, error reduction) |
|
|
124
|
+
| **Frequency** | How often the workflow runs daily/weekly |
|
|
125
|
+
| **Complexity** | Inverse score — simpler = higher priority |
|
|
126
|
+
| **Risk** | Inverse score — lower risk of data loss = higher priority |
|
|
127
|
+
| **Dependencies** | Whether other workflows depend on this one being stable |
|
|
170
128
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
| Tool | Phase | Deliverable | Notes | Dependencies |
|
|
174
|
-
|------|-------|-------------|-------|--------------|
|
|
175
|
-
| All tools | 1 | Auth + Core CRUD skill sections | Sandbox environments required | None |
|
|
176
|
-
| Monday.com | 1 | Auth (token + OAuth), Board/Item CRUD | GraphQL API — different pattern from REST tools | None |
|
|
177
|
-
| Monday.com | 2 | Intake workflow, status sync, approval tracking | Column value JSON shapes per type | Phase 1 |
|
|
178
|
-
| Monday.com | 3 | Webhook setup + column-change events | Webhooks require HTTPS endpoint | Phase 1 |
|
|
179
|
-
| Monday.com | 4 | Multi-mutation requests, subitems | Complexity points budget management | Phase 2 |
|
|
180
|
-
| Salesforce | 1 | Connected App, OAuth JWT, REST CRUD | Sandbox org required | None |
|
|
181
|
-
| Salesforce | 2 | Lead capture, Opportunity update, Task logging | Validation rules awareness | Phase 1 |
|
|
182
|
-
| Salesforce | 3 | Platform Events / CDC / Outbound Messaging | Streaming API is separate product | Phase 2 |
|
|
183
|
-
| Salesforce | 4 | Bulk API v2, Composite API, SOQL aggregates | Bulk API best for >1000 rows | Phase 2 |
|
|
184
|
-
| Salesforce | 5 | Lead → HubSpot sync, Opp → Jira Epic | Canonical field mapping required | Phase 4 |
|
|
185
|
-
| Jira | 1 | API Token auth, Issue CRUD | Cloud vs Server distinction | None |
|
|
186
|
-
| Jira | 2 | JQL search, workflow transitions, triage | ADF for rich text comments | Phase 1 |
|
|
187
|
-
| Jira | 3 | Webhook registration + issue-updated events | Webhook URL must be publicly reachable | Phase 2 |
|
|
188
|
-
| Jira | 4 | Bulk label/component updates, sprint ops | No native bulk create — workarounds needed | Phase 2 |
|
|
189
|
-
| Jira | 5 | Zendesk Ticket → Jira Bug (bidirectional) | Status mapping table required | Phase 4 |
|
|
190
|
-
| Dynamics 365 | 1 | Azure AD app registration, Web API CRUD | Azure tenant required; security roles | None |
|
|
191
|
-
| Dynamics 365 | 2 | Account/Contact upsert, Opportunity update, Activity log | Solution prefix awareness | Phase 1 |
|
|
192
|
-
| Dynamics 365 | 3 | Plugin/webhook setup, OData change notifications | Plugin Registration Tool needed | Phase 2 |
|
|
193
|
-
| Dynamics 365 | 4 | $batch endpoint, FetchXML complex queries | FetchXML for anything OData can't express | Phase 2 |
|
|
194
|
-
| Dynamics 365 | 5 | Opportunity → Jira Epic handoff | Canonical ID linking | Phase 4 |
|
|
195
|
-
| HubSpot | 1 | Private App token, OAuth, CRM Object CRUD | Scopes per object type | None |
|
|
196
|
-
| HubSpot | 2 | Contact/Company sync, Deal updates, Engagement logging | Properties API for custom fields | Phase 1 |
|
|
197
|
-
| HubSpot | 3 | Webhook subscriptions + event handling | App registration required for webhooks | Phase 2 |
|
|
198
|
-
| HubSpot | 4 | Batch APIs, Import API for CSV | 100-record batch limit | Phase 2 |
|
|
199
|
-
| HubSpot | 5 | Salesforce Lead → HubSpot Contact sync | Dedup on email field | Phase 4 |
|
|
200
|
-
| ServiceNow | 1 | Basic auth + OAuth, Table API CRUD | Dev instance recommended | None |
|
|
201
|
-
| ServiceNow | 2 | Incident create/update, work notes, assignment | State values are integers — verify per instance | Phase 1 |
|
|
202
|
-
| ServiceNow | 3 | Outbound REST + Business Rule webhooks | Flow Designer alternative | Phase 2 |
|
|
203
|
-
| ServiceNow | 4 | Import Sets + transform maps, batch GETs | Transform map must be configured in UI | Phase 2 |
|
|
204
|
-
| ServiceNow | 5 | Incident → Monday.com escalation board | State-to-status mapping required | Phase 4 |
|
|
205
|
-
| Zendesk | 1 | API Token, OAuth, Ticket CRUD | Subdomain required for all calls | None |
|
|
206
|
-
| Zendesk | 2 | Ticket create/update, note vs reply, bulk update | Status machine strictly enforced | Phase 1 |
|
|
207
|
-
| Zendesk | 3 | Webhook + Trigger setup, signature verification | New webhook API vs deprecated HTTP targets | Phase 2 |
|
|
208
|
-
| Zendesk | 4 | Bulk update_many, Incremental Export API | Incremental API requires Enterprise or above | Phase 2 |
|
|
209
|
-
| Zendesk | 5 | Zendesk Ticket → Jira Bug (bidirectional) | Requires external_id / tag mapping | Phase 4 |
|
|
210
|
-
| Asana | 1 | PAT + OAuth, Task/Project CRUD | opt_fields required for all reads | None |
|
|
211
|
-
| Asana | 2 | Task creation in section, status update, story/comment | Memberships array for project placement | Phase 1 |
|
|
212
|
-
| Asana | 3 | Webhook registration + X-Hook-Secret handshake | Webhook events are coarse-grained | Phase 2 |
|
|
213
|
-
| Asana | 4 | Parallel task creation, Portfolio reads | No native bulk — rate limit math required | Phase 2 |
|
|
214
|
-
| Asana | 5 | HubSpot Deal Won → Asana project (onboarding) | Template project duplication | Phase 4 |
|
|
129
|
+
**Priority score = (Impact × 2) + (Frequency × 1.5) + Complexity + Risk + Dependencies**
|
|
215
130
|
|
|
216
131
|
---
|
|
217
132
|
|
|
218
|
-
## Quality
|
|
133
|
+
## Quality bar & governance
|
|
219
134
|
|
|
220
135
|
### Keeping docs accurate
|
|
221
136
|
|
|
222
|
-
- **Version pinning:** Each skill.md
|
|
223
|
-
- **Quarterly review cycle:**
|
|
224
|
-
- **Changelog
|
|
137
|
+
- **Version pinning:** Each skill.md notes the API version it was validated against. Update the version header when re-validating.
|
|
138
|
+
- **Quarterly review cycle:** Docs older than 90 days are flagged by the freshness pipeline for re-review.
|
|
139
|
+
- **Changelog notes:** Major API changes (new auth flows, deprecated endpoints, rate limit changes) noted inline with `> ⚠️ Changed [date]:` callouts.
|
|
225
140
|
|
|
226
141
|
### Validation approach
|
|
227
142
|
|
|
228
|
-
- **
|
|
229
|
-
- **
|
|
143
|
+
- **CI test suite:** Real-skills tests in `mcp-server/src/index.test.ts` verify all skills load, have required sections, and are ≥5 KB.
|
|
144
|
+
- **Freshness pipeline:** Weekly cron checks `Last validated:` dates (see Priority 2 above).
|
|
145
|
+
- **Live smoke tests:** Optional phase B — weekly auth + read tests against sandboxes.
|
|
146
|
+
- **Breaking change monitoring:** Subscribe to each vendor's developer changelog:
|
|
230
147
|
- Monday: https://developer.monday.com/changelog
|
|
231
148
|
- Salesforce: https://help.salesforce.com/s/articleView?id=release-notes.salesforce_release_notes.htm
|
|
232
149
|
- Jira: https://developer.atlassian.com/cloud/jira/platform/changelog/
|
|
233
150
|
- Dynamics 365: https://learn.microsoft.com/en-us/dynamics365/release-plans/
|
|
234
151
|
- HubSpot: https://developers.hubspot.com/changelog
|
|
235
|
-
- ServiceNow: https://developer.servicenow.com/dev.do
|
|
152
|
+
- ServiceNow: https://developer.servicenow.com/dev.do
|
|
236
153
|
- Zendesk: https://developer.zendesk.com/api-reference/ticketing/introduction/#api-changelog
|
|
237
154
|
- Asana: https://developers.asana.com/docs/changelog
|
|
155
|
+
- GitHub: https://github.blog/changelog/
|
|
156
|
+
- Figma: https://www.figma.com/developers/api#changelog
|
|
157
|
+
- Slack: https://api.slack.com/changelog
|
|
158
|
+
- Stripe: https://stripe.com/docs/changelog
|
|
159
|
+
- Notion: https://developers.notion.com/page/changelog
|
|
160
|
+
- Linear: https://linear.app/changelog
|
|
238
161
|
|
|
239
162
|
### Handling deprecations
|
|
240
163
|
|
|
@@ -245,29 +168,31 @@ Phases are ordered by descending average priority score within a theme.
|
|
|
245
168
|
|
|
246
169
|
### Contribution process
|
|
247
170
|
|
|
248
|
-
- PRs to skill.md files require: (a) reference to official doc, (b) tested curl/pseudocode example, (c) updated `Last validated:` date.
|
|
249
|
-
-
|
|
171
|
+
- PRs to `skill.md` files require: (a) reference to official doc, (b) tested curl/pseudocode example, (c) updated `Last validated:` date.
|
|
172
|
+
- Branch convention: `skill/<toolname>` → PR → merge to main.
|
|
173
|
+
- CI runs `npm test` on every PR — validates skill loads and has all required sections.
|
|
174
|
+
- Releases: merge to main, then GitHub Actions → **Release** → Run workflow → pick `patch / minor / major`.
|
|
250
175
|
|
|
251
176
|
---
|
|
252
177
|
|
|
253
|
-
## Backlog (
|
|
254
|
-
|
|
255
|
-
These items are out of scope for Phases 1–5 but worth tracking for future investment:
|
|
178
|
+
## Backlog (tracked, not yet scheduled)
|
|
256
179
|
|
|
257
180
|
| Item | Tool(s) | Value | Complexity |
|
|
258
181
|
|------|---------|-------|------------|
|
|
259
|
-
| AI-powered ticket summarization (append
|
|
182
|
+
| AI-powered ticket summarization (append LLM summary to description) | Zendesk, Jira, ServiceNow | High | Medium |
|
|
260
183
|
| Automated lead scoring sync | Salesforce, HubSpot | High | Medium |
|
|
261
184
|
| Revenue analytics aggregation (pull pipeline across CRMs) | Salesforce, HubSpot, Dynamics 365 | High | High |
|
|
262
|
-
|
|
|
185
|
+
| Token rotation automation (refresh before expiry) | All OAuth tools | High | Low |
|
|
186
|
+
| Twilio skill (SMS/voice notifications) | Twilio | High | Medium |
|
|
187
|
+
| Intercom skill (in-app messaging, user segments) | Intercom | Medium | Medium |
|
|
188
|
+
| Okta/Auth0 skill (identity + SSO) | Okta | Medium | Medium |
|
|
189
|
+
| PagerDuty skill (on-call, incident escalation) | PagerDuty | Medium | Low |
|
|
190
|
+
| Docs website (Mintlify/Docusaurus) | — | High | Medium |
|
|
191
|
+
| VS Code extension (inject skill doc into editor context) | — | Medium | High |
|
|
192
|
+
| REST API / hosted endpoint for skill doc retrieval | — | Medium | High |
|
|
193
|
+
| Admin automation: user provisioning/deprovisioning | All tools | Medium | Medium |
|
|
263
194
|
| Compliance export (GDPR data subject requests) | Zendesk, Salesforce, HubSpot | Medium | High |
|
|
264
|
-
| Monday → Asana project migration utility | Monday, Asana | Low | Medium |
|
|
265
|
-
| Jira custom field schema introspection | Jira | Medium | Low |
|
|
266
|
-
| Dynamics 365 Power Automate connector alternatives | Dynamics 365 | Medium | Low |
|
|
267
|
-
| ServiceNow CMDB auto-discovery integration | ServiceNow | High | High |
|
|
268
195
|
| Zendesk → Salesforce Case sync (bidirectional) | Zendesk, Salesforce | High | High |
|
|
269
|
-
|
|
|
270
|
-
| Monday dashboards → BI tool (Looker/Tableau) export | Monday | Medium | Medium |
|
|
196
|
+
| ServiceNow CMDB auto-discovery integration | ServiceNow | High | High |
|
|
271
197
|
| Multi-workspace / multi-org management recipes | All tools | Medium | High |
|
|
272
|
-
| Token rotation automation (refresh before expiry) | All OAuth tools | High | Low |
|
|
273
198
|
| Audit log export to SIEM | Salesforce, Zendesk, ServiceNow | Medium | Medium |
|