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.
@@ -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.2.3",
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-26 (Slack skill added) | See [ROADMAP.md](./ROADMAP.md) for versioning and governance details.*
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
- ## Prioritization Framework
15
+ ## Current state (as of 2026-03-01)
16
16
 
17
- Each skill/recipe is scored on five dimensions (1–5 each):
17
+ ### What's shipped
18
18
 
19
- | Dimension | Description |
20
- |-----------|-------------|
21
- | **Impact** | Business value if automated (revenue, hours saved, error reduction) |
22
- | **Frequency** | How often the workflow runs daily/weekly |
23
- | **Complexity** | Inverse score — simpler = higher priority for Phase 1 |
24
- | **Risk** | Inverse score — lower risk of data loss/compliance issue = higher priority |
25
- | **Dependencies** | Whether other workflows or skills depend on this one being stable first |
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
- **Priority score = (Impact × 2) + (Frequency × 1.5) + Complexity + Risk + Dependencies**
28
+ ### Content coverage by original phase
28
29
 
29
- Phases are ordered by descending average priority score within a theme.
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
- ## Phased Plan
34
-
35
- ### Phase 1 — Foundation: Auth + Core CRUD (Weeks 1–4)
40
+ ## Next development phase
36
41
 
37
- **Theme:** Get the basics right. Every subsequent skill depends on reliable authentication and basic object manipulation.
42
+ ### Priority 1 — Content expansion: 3 new skills
38
43
 
39
- **Deliverables:**
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
- **Cross-tool dependencies:**
46
- - OAuth 2.0 / token management pattern established first (applies to Salesforce JWT, Dynamics Azure AD, HubSpot Private Apps, Jira API Token, Asana PAT/OAuth, Zendesk API Token, ServiceNow OAuth, Monday token)
47
- - Secret storage convention agreed (env vars, vault reference) before any recipe is productionized
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
- **Acceptance criteria:**
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
- **Definition of done:** A developer unfamiliar with any given tool can authenticate and perform a basic CRUD operation in under 30 minutes using only the skill doc.
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
- ### Phase 2 — High-Frequency Workflows (Weeks 5–10)
64
+ ### Priority 2 — Freshness CI pipeline (the moat)
60
65
 
61
- **Theme:** The top 5 daily workflows per tool, covering the scenarios that save the most manual effort.
66
+ A weekly automated check that skill docs aren't stale and that key API patterns still work.
62
67
 
63
- **Deliverables:**
64
- - Monday.com: Intake form → item creation, status sync, approval tracking
65
- - Salesforce: Lead capture & dedup, opportunity stage update, activity logging (Task/Event)
66
- - Jira: Ticket creation from external event, JQL search + triage, workflow transition with required fields
67
- - Dynamics 365: Contact/Account upsert, opportunity pipeline update, activity logging
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
- **Cross-tool dependencies:**
74
- - Phase 1 auth foundation must be stable
75
- - Dedup/idempotency patterns (Phase 1) applied to all create recipes
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
- - [ ] Each recipe has a validated request/response example
79
- - [ ] Pagination tested to >1 page of results
80
- - [ ] Incremental sync (updated_since / cursor) demonstrated for at least one search per tool
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
- ### Phase 3 — Event-Driven & Real-Time (Weeks 11–15)
87
+ ### Priority 3 — Distribution
88
88
 
89
- **Theme:** Replace polling with push. Webhooks and event triggers for real-time automation.
90
-
91
- **Deliverables:**
92
- - Monday.com: Webhook setup, column-change events, item-status triggers
93
- - Salesforce: Platform Events / Change Data Capture (CDC) basics; Outbound Messaging for simpler cases
94
- - Jira: Webhook registration (UI + API), issue-updated event structure, filtering by project/type
95
- - Dynamics 365: Webhooks via Plugin Registration Tool / Azure Service Bus; OData notifications
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
- ### Phase 4 — Bulk & Advanced Operations (Weeks 16–20)
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
- **Deliverables:**
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
- **Cross-tool dependencies:**
130
- - All Phase 2 & 3 recipes stable
131
- - Rate limit / backoff patterns from Phase 1 must handle burst scenarios
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
- **Acceptance criteria:**
134
- - [ ] Bulk create tested with ≥500 records per supported tool
135
- - [ ] Bulk job status polling recipe documented (for async APIs: Salesforce Bulk, ServiceNow Import Set)
136
- - [ ] Memory/time complexity noted for large payloads
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
- **Definition of done:** An integration can process a 10,000-row export from one system and upsert into another using bulk APIs, with error reporting per failed row.
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
- ### Phase 5 — Cross-Tool Orchestration & AI-Ready Patterns (Weeks 21–28)
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
- **Deliverables:**
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
- ## Deliverables by Tool
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 Bar & Governance
133
+ ## Quality bar & governance
219
134
 
220
135
  ### Keeping docs accurate
221
136
 
222
- - **Version pinning:** Each skill.md must note the API version it was validated against (e.g., Salesforce API v62.0, Jira REST API v3, Dynamics 365 v9.2). Update the version header when re-validating.
223
- - **Quarterly review cycle:** Each skill.md has a `Last validated:` date in its header. Docs older than 90 days are flagged for re-review.
224
- - **Changelog section:** Major API changes (new auth flows, deprecated endpoints, rate limit changes) are logged in a `## Changelog` section at the bottom of each skill.md.
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
- - **Automated smoke tests:** For each tool, maintain a minimal test script (curl or SDK) that hits auth, a read, and a write. Run weekly in CI against sandbox environments. Failure triggers a doc-review issue.
229
- - **Breaking change monitoring:** Subscribe to each vendor's developer changelog / API release notes. Sources:
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 (release notes per version)
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
- - All changes reviewed by at least one person who has tested against the live API.
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 (Nice-to-Have)
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 GPT summary to description) | Zendesk, Jira, ServiceNow | High | Medium |
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
- | Admin automation: user provisioning / deprovisioning | All tools | Medium | Medium |
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
- | HubSpot Sequences → Outreach/Salesloft parity | HubSpot | Medium | Medium |
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 |