@tickernelz/paperclip-pro-skills-catalog 2026.925.0

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.
Files changed (76) hide show
  1. package/LICENSE +22 -0
  2. package/catalog/bundled/docs/doc-maintenance/SKILL.md +75 -0
  3. package/catalog/bundled/paperclip-operations/issue-triage/SKILL.md +74 -0
  4. package/catalog/bundled/paperclip-operations/reflection-coach/SKILL.md +202 -0
  5. package/catalog/bundled/paperclip-operations/status-card-query/SKILL.md +137 -0
  6. package/catalog/bundled/paperclip-operations/summarize-status/SKILL.md +121 -0
  7. package/catalog/bundled/paperclip-operations/task-planning/SKILL.md +84 -0
  8. package/catalog/bundled/product/paperclip-capsules/SKILL.md +99 -0
  9. package/catalog/bundled/product/paperclip-capsules/references/generator-workflows.md +120 -0
  10. package/catalog/bundled/product/paperclip-capsules/references/hero-capsule-bank.md +189 -0
  11. package/catalog/bundled/product/paperclip-capsules/references/identicon-prototyper.md +213 -0
  12. package/catalog/bundled/product/paperclip-capsules/references/individual-status-capsules.md +113 -0
  13. package/catalog/bundled/product/wireframe/SKILL.md +193 -0
  14. package/catalog/bundled/product/wireframe/assets/site-template.html +356 -0
  15. package/catalog/bundled/product/wireframe/assets/template-mobile.svg +21 -0
  16. package/catalog/bundled/product/wireframe/assets/template.svg +24 -0
  17. package/catalog/bundled/product/wireframe/references/components.md +482 -0
  18. package/catalog/bundled/product/wireframe/references/examples.md +362 -0
  19. package/catalog/bundled/product/wireframe/references/grid-system.md +107 -0
  20. package/catalog/bundled/quality/qa-acceptance/SKILL.md +93 -0
  21. package/catalog/bundled/software-development/github-pr-workflow/SKILL.md +93 -0
  22. package/catalog/optional/browser/agent-browser/SKILL.md +93 -0
  23. package/catalog/optional/content/release-announcement/SKILL.md +218 -0
  24. package/catalog/optional/content/simplified-english/SKILL.md +40 -0
  25. package/catalog/optional/finance/ramp/SKILL.md +98 -0
  26. package/catalog/optional/product/design-critique/SKILL.md +121 -0
  27. package/catalog/optional/research/last30days/catalog-ref.json +44 -0
  28. package/catalog/optional/software-development/prepare-mcp-integration/SKILL.md +230 -0
  29. package/catalog/optional/software-development/prepare-mcp-integration/examples/notion-mcp-research-gate.md +43 -0
  30. package/dist/generated/catalog.json +1165 -0
  31. package/dist/scripts/build-catalog-manifest.d.ts +2 -0
  32. package/dist/scripts/build-catalog-manifest.d.ts.map +1 -0
  33. package/dist/scripts/build-catalog-manifest.js +15 -0
  34. package/dist/scripts/build-catalog-manifest.js.map +1 -0
  35. package/dist/scripts/validate-catalog.d.ts +2 -0
  36. package/dist/scripts/validate-catalog.d.ts.map +1 -0
  37. package/dist/scripts/validate-catalog.js +15 -0
  38. package/dist/scripts/validate-catalog.js.map +1 -0
  39. package/dist/src/catalog-builder.d.ts +16 -0
  40. package/dist/src/catalog-builder.d.ts.map +1 -0
  41. package/dist/src/catalog-builder.js +688 -0
  42. package/dist/src/catalog-builder.js.map +1 -0
  43. package/dist/src/catalog-builder.test.d.ts +2 -0
  44. package/dist/src/catalog-builder.test.d.ts.map +1 -0
  45. package/dist/src/catalog-builder.test.js +355 -0
  46. package/dist/src/catalog-builder.test.js.map +1 -0
  47. package/dist/src/frontmatter.d.ts +3 -0
  48. package/dist/src/frontmatter.d.ts.map +1 -0
  49. package/dist/src/frontmatter.js +3 -0
  50. package/dist/src/frontmatter.js.map +1 -0
  51. package/dist/src/frontmatter.test.d.ts +2 -0
  52. package/dist/src/frontmatter.test.d.ts.map +1 -0
  53. package/dist/src/frontmatter.test.js +31 -0
  54. package/dist/src/frontmatter.test.js.map +1 -0
  55. package/dist/src/index.d.ts +7 -0
  56. package/dist/src/index.d.ts.map +1 -0
  57. package/dist/src/index.js +21 -0
  58. package/dist/src/index.js.map +1 -0
  59. package/dist/src/packaged-artifacts.test.d.ts +2 -0
  60. package/dist/src/packaged-artifacts.test.d.ts.map +1 -0
  61. package/dist/src/packaged-artifacts.test.js +48 -0
  62. package/dist/src/packaged-artifacts.test.js.map +1 -0
  63. package/dist/src/release-content-cases-contract.test.d.ts +2 -0
  64. package/dist/src/release-content-cases-contract.test.d.ts.map +1 -0
  65. package/dist/src/release-content-cases-contract.test.js +37 -0
  66. package/dist/src/release-content-cases-contract.test.js.map +1 -0
  67. package/dist/src/shipped-catalog.test.d.ts +2 -0
  68. package/dist/src/shipped-catalog.test.d.ts.map +1 -0
  69. package/dist/src/shipped-catalog.test.js +179 -0
  70. package/dist/src/shipped-catalog.test.js.map +1 -0
  71. package/dist/src/types.d.ts +54 -0
  72. package/dist/src/types.d.ts.map +1 -0
  73. package/dist/src/types.js +2 -0
  74. package/dist/src/types.js.map +1 -0
  75. package/generated/catalog.json +1165 -0
  76. package/package.json +54 -0
@@ -0,0 +1,1165 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packageName": "@tickernelz/paperclip-pro-skills-catalog",
4
+ "packageVersion": "0.3.1",
5
+ "generatedAt": "2026-08-11T15:05:34.526Z",
6
+ "skills": [
7
+ {
8
+ "id": "paperclipai:bundled:docs:doc-maintenance",
9
+ "key": "paperclipai/bundled/docs/doc-maintenance",
10
+ "kind": "bundled",
11
+ "category": "docs",
12
+ "slug": "doc-maintenance",
13
+ "name": "doc-maintenance",
14
+ "description": "Keep project docs aligned with recent code and feature changes — detect drift, update affected pages, and add release-relevant notes without rewriting unchanged sections.",
15
+ "path": "catalog/bundled/docs/doc-maintenance",
16
+ "entrypoint": "SKILL.md",
17
+ "trustLevel": "markdown_only",
18
+ "compatibility": "compatible",
19
+ "defaultInstall": false,
20
+ "recommendedForRoles": [
21
+ "engineer",
22
+ "product",
23
+ "devrel"
24
+ ],
25
+ "requires": [],
26
+ "tags": [
27
+ "docs",
28
+ "documentation",
29
+ "release-notes"
30
+ ],
31
+ "files": [
32
+ {
33
+ "path": "SKILL.md",
34
+ "kind": "skill",
35
+ "sizeBytes": 4478,
36
+ "sha256": "fb0353386c5e5e5e13bcbb3233f044e3dccecf371f429d6328f26c26d7cb6169"
37
+ }
38
+ ],
39
+ "contentHash": "sha256:2e02299210fd17c1fe1867b4ee8c144a11b6fe1fe481f83b8268cfbaaf10f9aa"
40
+ },
41
+ {
42
+ "id": "paperclipai:bundled:paperclip-operations:issue-triage",
43
+ "key": "paperclipai/bundled/paperclip-operations/issue-triage",
44
+ "kind": "bundled",
45
+ "category": "paperclip-operations",
46
+ "slug": "issue-triage",
47
+ "name": "issue-triage",
48
+ "description": "Triage Paperclip inbox issues that are stale, blocked, in-review, or assigned-but-not-progressing, and decide a single next action per issue (resume, reassign, unblock, escalate, or close).",
49
+ "path": "catalog/bundled/paperclip-operations/issue-triage",
50
+ "entrypoint": "SKILL.md",
51
+ "trustLevel": "markdown_only",
52
+ "compatibility": "compatible",
53
+ "defaultInstall": false,
54
+ "recommendedForRoles": [
55
+ "manager",
56
+ "ceo",
57
+ "engineer"
58
+ ],
59
+ "requires": [],
60
+ "tags": [
61
+ "paperclip",
62
+ "triage",
63
+ "inbox",
64
+ "workflow"
65
+ ],
66
+ "files": [
67
+ {
68
+ "path": "SKILL.md",
69
+ "kind": "skill",
70
+ "sizeBytes": 4042,
71
+ "sha256": "df5bdc8bf5e017b7ba5f70a4b5323fad51d0c323278f386580f26cf43ad09160"
72
+ }
73
+ ],
74
+ "contentHash": "sha256:88dc13560371fb364963782cb4f6eeb4090fcde92ee3774479428ed6b90e11c1"
75
+ },
76
+ {
77
+ "id": "paperclipai:bundled:paperclip-operations:reflection-coach",
78
+ "key": "paperclipai/bundled/paperclip-operations/reflection-coach",
79
+ "kind": "bundled",
80
+ "category": "paperclip-operations",
81
+ "slug": "reflection-coach",
82
+ "name": "reflection-coach",
83
+ "description": "Reflect on another agent's recent execution record and propose the smallest durable instruction, skill, or tool-description change. Use for evidence-backed coaching proposals, never hot-swaps.",
84
+ "path": "catalog/bundled/paperclip-operations/reflection-coach",
85
+ "entrypoint": "SKILL.md",
86
+ "trustLevel": "markdown_only",
87
+ "compatibility": "compatible",
88
+ "defaultInstall": false,
89
+ "recommendedForRoles": [
90
+ "manager",
91
+ "general"
92
+ ],
93
+ "requires": [],
94
+ "tags": [
95
+ "paperclip",
96
+ "reflection",
97
+ "coaching",
98
+ "agents",
99
+ "skills"
100
+ ],
101
+ "files": [
102
+ {
103
+ "path": "SKILL.md",
104
+ "kind": "skill",
105
+ "sizeBytes": 12028,
106
+ "sha256": "083d5fa8dc43c3ce7747e89c1afb6f6f42d0603a31808bffc5f8e56735f2d865"
107
+ }
108
+ ],
109
+ "contentHash": "sha256:f2592d81f616628a3eba92636616424f2eed82ec22bb504240a58f6be115e407"
110
+ },
111
+ {
112
+ "id": "paperclipai:bundled:paperclip-operations:status-card-query",
113
+ "key": "paperclipai/bundled/paperclip-operations/status-card-query",
114
+ "kind": "bundled",
115
+ "category": "paperclip-operations",
116
+ "slug": "status-card-query",
117
+ "name": "status-card-query",
118
+ "description": "Create and maintain agent-authored Paperclip status cards, or compile a prose interest prompt into bounded CompanySearchQuery objects and write the first summary from the assigned Summarizer run.",
119
+ "path": "catalog/bundled/paperclip-operations/status-card-query",
120
+ "entrypoint": "SKILL.md",
121
+ "trustLevel": "markdown_only",
122
+ "compatibility": "compatible",
123
+ "defaultInstall": false,
124
+ "recommendedForRoles": [
125
+ "general",
126
+ "manager"
127
+ ],
128
+ "requires": [],
129
+ "tags": [
130
+ "paperclip",
131
+ "status",
132
+ "search",
133
+ "reporting",
134
+ "operations"
135
+ ],
136
+ "files": [
137
+ {
138
+ "path": "SKILL.md",
139
+ "kind": "skill",
140
+ "sizeBytes": 6368,
141
+ "sha256": "0c6140f51d503cbadc98723ce54c0def48e7e31ea159b0935b8ad6369291498a"
142
+ }
143
+ ],
144
+ "contentHash": "sha256:2b6e53bf8491f027afdbd6961ad84f677cfd385a0a6a73616ea84111ca8886ed"
145
+ },
146
+ {
147
+ "id": "paperclipai:bundled:paperclip-operations:summarize-status",
148
+ "key": "paperclipai/bundled/paperclip-operations/summarize-status",
149
+ "kind": "bundled",
150
+ "category": "paperclip-operations",
151
+ "slug": "summarize-status",
152
+ "name": "summarize-status",
153
+ "description": "Write a short, colloquial summary for a Paperclip summary slot: open with the 1–3 specific, concrete actions the reader needs to take right now to unblock the work, then a brief plain-language status, streaming progress as it works.",
154
+ "path": "catalog/bundled/paperclip-operations/summarize-status",
155
+ "entrypoint": "SKILL.md",
156
+ "trustLevel": "markdown_only",
157
+ "compatibility": "compatible",
158
+ "defaultInstall": false,
159
+ "recommendedForRoles": [
160
+ "general",
161
+ "manager"
162
+ ],
163
+ "requires": [],
164
+ "tags": [
165
+ "paperclip",
166
+ "summary",
167
+ "status",
168
+ "reporting",
169
+ "operations"
170
+ ],
171
+ "files": [
172
+ {
173
+ "path": "SKILL.md",
174
+ "kind": "skill",
175
+ "sizeBytes": 8877,
176
+ "sha256": "4cb3d177f5d16e3cc2052d2f80e7fb245ab95e79c1e947abdc84cd4ee3d8c61e"
177
+ }
178
+ ],
179
+ "contentHash": "sha256:3e49ee2b8d83d1371fb0f59197bb96c46b64f722540405f46d4a5a756fbe1b89"
180
+ },
181
+ {
182
+ "id": "paperclipai:bundled:paperclip-operations:task-planning",
183
+ "key": "paperclipai/bundled/paperclip-operations/task-planning",
184
+ "kind": "bundled",
185
+ "category": "paperclip-operations",
186
+ "slug": "task-planning",
187
+ "name": "task-planning",
188
+ "description": "Turn a Paperclip issue or request into a structured implementation plan with child task graph, blockers, owners, and acceptance criteria, then save it as the issue `plan` document.",
189
+ "path": "catalog/bundled/paperclip-operations/task-planning",
190
+ "entrypoint": "SKILL.md",
191
+ "trustLevel": "markdown_only",
192
+ "compatibility": "compatible",
193
+ "defaultInstall": false,
194
+ "recommendedForRoles": [
195
+ "manager",
196
+ "engineer",
197
+ "product"
198
+ ],
199
+ "requires": [],
200
+ "tags": [
201
+ "paperclip",
202
+ "planning",
203
+ "issues",
204
+ "delegation"
205
+ ],
206
+ "files": [
207
+ {
208
+ "path": "SKILL.md",
209
+ "kind": "skill",
210
+ "sizeBytes": 4938,
211
+ "sha256": "9c52a44a30ec8d306119da51bf298e9e3e6c382a9a9559ffd3054bf5e0c75f36"
212
+ }
213
+ ],
214
+ "contentHash": "sha256:487c3116eead89fef4f71c984329c41836bd69951b7ef9ed8736c69435e02438"
215
+ },
216
+ {
217
+ "id": "paperclipai:bundled:product:paperclip-capsules",
218
+ "key": "paperclipai/bundled/product/paperclip-capsules",
219
+ "kind": "bundled",
220
+ "category": "product",
221
+ "slug": "paperclip-capsules",
222
+ "name": "paperclip-capsules",
223
+ "description": "Generate, implement, or review Paperclip capsule visuals. Use for capsule art, agent capsules, heartbeat status capsules, identicons, capsule banks, or brand-usage validation.",
224
+ "path": "catalog/bundled/product/paperclip-capsules",
225
+ "entrypoint": "SKILL.md",
226
+ "trustLevel": "markdown_only",
227
+ "compatibility": "compatible",
228
+ "defaultInstall": false,
229
+ "recommendedForRoles": [
230
+ "designer",
231
+ "product",
232
+ "engineer",
233
+ "marketing"
234
+ ],
235
+ "requires": [],
236
+ "tags": [
237
+ "paperclip",
238
+ "brand",
239
+ "capsules",
240
+ "agents",
241
+ "visual-design",
242
+ "hyperframes"
243
+ ],
244
+ "files": [
245
+ {
246
+ "path": "SKILL.md",
247
+ "kind": "skill",
248
+ "sizeBytes": 5831,
249
+ "sha256": "dd659ccb46e105336eb00fbe689b1d5531347fc69493c3156390d40ee413c93e"
250
+ },
251
+ {
252
+ "path": "references/generator-workflows.md",
253
+ "kind": "reference",
254
+ "sizeBytes": 4356,
255
+ "sha256": "b5f72e5b6683e8f93f2d852e84c2cc19e6ab438b250bf777dfb2480dd4f6e1b6"
256
+ },
257
+ {
258
+ "path": "references/hero-capsule-bank.md",
259
+ "kind": "reference",
260
+ "sizeBytes": 5981,
261
+ "sha256": "ec3d34113aa7bb527560d1eb4d8ab7667c73e18284c85a2019122743a767525a"
262
+ },
263
+ {
264
+ "path": "references/identicon-prototyper.md",
265
+ "kind": "reference",
266
+ "sizeBytes": 6669,
267
+ "sha256": "0b19419efa1396a402097decabe24ea9ae649678569449c8ce855e0678df6bfe"
268
+ },
269
+ {
270
+ "path": "references/individual-status-capsules.md",
271
+ "kind": "reference",
272
+ "sizeBytes": 5031,
273
+ "sha256": "be1f2eccf96b4d2deefe45b3bc1dd0a3597278472c2ffedadc43c57161e9103d"
274
+ }
275
+ ],
276
+ "contentHash": "sha256:a2b26cf6895affeeb70c85567a061094450a59bd3c4fdcf28ee65858599ac12c"
277
+ },
278
+ {
279
+ "id": "paperclipai:bundled:product:wireframe",
280
+ "key": "paperclipai/bundled/product/wireframe",
281
+ "kind": "bundled",
282
+ "category": "product",
283
+ "slug": "wireframe",
284
+ "name": "wireframe",
285
+ "description": "Produce low-fidelity black-and-white UI wireframes as SVGs or viewer pages. Use when asked to wireframe, sketch a screen, draft a layout, make a low-fi mockup, or publish wireframes.",
286
+ "path": "catalog/bundled/product/wireframe",
287
+ "entrypoint": "SKILL.md",
288
+ "trustLevel": "assets",
289
+ "compatibility": "compatible",
290
+ "defaultInstall": false,
291
+ "recommendedForRoles": [
292
+ "designer",
293
+ "product",
294
+ "engineer"
295
+ ],
296
+ "requires": [],
297
+ "tags": [
298
+ "design",
299
+ "wireframe",
300
+ "ux",
301
+ "prototyping",
302
+ "svg"
303
+ ],
304
+ "files": [
305
+ {
306
+ "path": "SKILL.md",
307
+ "kind": "skill",
308
+ "sizeBytes": 11509,
309
+ "sha256": "6992047cc97b67211cc8c1183718ab9aa26b8afc34c70d54d20558c215daaf48"
310
+ },
311
+ {
312
+ "path": "assets/site-template.html",
313
+ "kind": "asset",
314
+ "sizeBytes": 14791,
315
+ "sha256": "8886ad77c386c17b0457f11624aab136c33db7f28dcd6f10fc18e9d833d0950f"
316
+ },
317
+ {
318
+ "path": "assets/template-mobile.svg",
319
+ "kind": "asset",
320
+ "sizeBytes": 925,
321
+ "sha256": "dc32af257df1f986b87a7b30a6104de825057dc4d6f12b381f5a28308f0002f0"
322
+ },
323
+ {
324
+ "path": "assets/template.svg",
325
+ "kind": "asset",
326
+ "sizeBytes": 1262,
327
+ "sha256": "63f8adb8eb4b21dea6fd442b9e9312704c419535eb577d4ef0bfb54410fd576b"
328
+ },
329
+ {
330
+ "path": "references/components.md",
331
+ "kind": "reference",
332
+ "sizeBytes": 14806,
333
+ "sha256": "4ce18f418d78b13cdfa6fe8070173044a631576cd2b999571e6703f58894496c"
334
+ },
335
+ {
336
+ "path": "references/examples.md",
337
+ "kind": "reference",
338
+ "sizeBytes": 16108,
339
+ "sha256": "18f486e95a578a50cf6c9f93394b82534392771320692e4876edf17054bfae55"
340
+ },
341
+ {
342
+ "path": "references/grid-system.md",
343
+ "kind": "reference",
344
+ "sizeBytes": 4581,
345
+ "sha256": "017260d2216859d57e5fa869e0efc6b88c7ed4d8a8a4f5af04fe89a3ef2445bd"
346
+ }
347
+ ],
348
+ "contentHash": "sha256:7106d84fc9db2053090f692706e41cfc586e7dd85a44f568e3319c4eefbdde46"
349
+ },
350
+ {
351
+ "id": "paperclipai:bundled:quality:qa-acceptance",
352
+ "key": "paperclipai/bundled/quality/qa-acceptance",
353
+ "kind": "bundled",
354
+ "category": "quality",
355
+ "slug": "qa-acceptance",
356
+ "name": "qa-acceptance",
357
+ "description": "Produce QA acceptance criteria and a manual validation plan for a feature change — golden path, edge cases, error states, performance limits, and explicit pass/fail evidence.",
358
+ "path": "catalog/bundled/quality/qa-acceptance",
359
+ "entrypoint": "SKILL.md",
360
+ "trustLevel": "markdown_only",
361
+ "compatibility": "compatible",
362
+ "defaultInstall": false,
363
+ "recommendedForRoles": [
364
+ "qa",
365
+ "engineer",
366
+ "product"
367
+ ],
368
+ "requires": [],
369
+ "tags": [
370
+ "qa",
371
+ "acceptance",
372
+ "validation",
373
+ "testing"
374
+ ],
375
+ "files": [
376
+ {
377
+ "path": "SKILL.md",
378
+ "kind": "skill",
379
+ "sizeBytes": 3861,
380
+ "sha256": "c631b437ab26d104af6cdb963d8f679a9341439041b3cb3ec8835f4ff551b378"
381
+ }
382
+ ],
383
+ "contentHash": "sha256:32372dacaf62e93454b9855968c4eec96456ba78b509f450b3dfaa48e31ef356"
384
+ },
385
+ {
386
+ "id": "paperclipai:bundled:software-development:github-pr-workflow",
387
+ "key": "paperclipai/bundled/software-development/github-pr-workflow",
388
+ "kind": "bundled",
389
+ "category": "software-development",
390
+ "slug": "github-pr-workflow",
391
+ "name": "github-pr-workflow",
392
+ "description": "Prepare a GitHub pull request from a feature branch — branch hygiene, commit shape, title/body, verification notes, screenshots for UI work, and replies to review comments.",
393
+ "path": "catalog/bundled/software-development/github-pr-workflow",
394
+ "entrypoint": "SKILL.md",
395
+ "trustLevel": "markdown_only",
396
+ "compatibility": "compatible",
397
+ "defaultInstall": false,
398
+ "recommendedForRoles": [
399
+ "engineer"
400
+ ],
401
+ "requires": [],
402
+ "tags": [
403
+ "github",
404
+ "pull-requests",
405
+ "code-review",
406
+ "release"
407
+ ],
408
+ "files": [
409
+ {
410
+ "path": "SKILL.md",
411
+ "kind": "skill",
412
+ "sizeBytes": 3970,
413
+ "sha256": "f498ec4ebb1779dea37adeb1db8a8b22316282798e35ee02e2fc5ff627d7e261"
414
+ }
415
+ ],
416
+ "contentHash": "sha256:90f278c89aa0711be150c1cd2456ca25620d02f36995b113ca9837d756a37f6c"
417
+ },
418
+ {
419
+ "id": "paperclipai:optional:browser:agent-browser",
420
+ "key": "paperclipai/optional/browser/agent-browser",
421
+ "kind": "optional",
422
+ "category": "browser",
423
+ "slug": "agent-browser",
424
+ "name": "agent-browser",
425
+ "description": "Drive a real browser to inspect or interact with a web page or app — navigate, take screenshots, read console and network, fill simple forms — for verification tasks, not unattended automation.",
426
+ "path": "catalog/optional/browser/agent-browser",
427
+ "entrypoint": "SKILL.md",
428
+ "trustLevel": "markdown_only",
429
+ "compatibility": "compatible",
430
+ "defaultInstall": false,
431
+ "recommendedForRoles": [
432
+ "qa",
433
+ "engineer",
434
+ "researcher"
435
+ ],
436
+ "requires": [],
437
+ "tags": [
438
+ "browser",
439
+ "puppeteer",
440
+ "playwright",
441
+ "verification"
442
+ ],
443
+ "files": [
444
+ {
445
+ "path": "SKILL.md",
446
+ "kind": "skill",
447
+ "sizeBytes": 5133,
448
+ "sha256": "362f7b9d02297782bc6f0c093f495b8a0304a75bcf4b42e5c280a42b1f757b7d"
449
+ }
450
+ ],
451
+ "contentHash": "sha256:eabb2c9f7b5e1a27ebb1e05a711d61433a266478154cd671a685e99e67aadea2"
452
+ },
453
+ {
454
+ "id": "paperclipai:optional:content:release-announcement",
455
+ "key": "paperclipai/optional/content/release-announcement",
456
+ "kind": "optional",
457
+ "category": "content",
458
+ "slug": "release-announcement",
459
+ "name": "release-announcement",
460
+ "description": "Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.",
461
+ "path": "catalog/optional/content/release-announcement",
462
+ "entrypoint": "SKILL.md",
463
+ "trustLevel": "markdown_only",
464
+ "compatibility": "compatible",
465
+ "defaultInstall": false,
466
+ "recommendedForRoles": [
467
+ "devrel",
468
+ "product",
469
+ "writer"
470
+ ],
471
+ "requires": [],
472
+ "tags": [
473
+ "release",
474
+ "changelog",
475
+ "announcement",
476
+ "communication"
477
+ ],
478
+ "files": [
479
+ {
480
+ "path": "SKILL.md",
481
+ "kind": "skill",
482
+ "sizeBytes": 6945,
483
+ "sha256": "d745cca96350518fabae14f5c407d779e1df2c5d091b5b4a5c55bb888b569e5f"
484
+ }
485
+ ],
486
+ "contentHash": "sha256:efe8ea89b552df95222609867c9c75f1b40e16f457d34e7e4a124f54daa33efa"
487
+ },
488
+ {
489
+ "id": "paperclipai:optional:content:simplified-english",
490
+ "key": "paperclipai/optional/content/simplified-english",
491
+ "kind": "optional",
492
+ "category": "content",
493
+ "slug": "simplified-english",
494
+ "name": "simplified-english",
495
+ "description": "Write user-facing comments, plans, and documents in ASD-STE100 Simplified Technical English — short, unambiguous sentences with approved words and one meaning each — so readers understand them the first time.",
496
+ "path": "catalog/optional/content/simplified-english",
497
+ "entrypoint": "SKILL.md",
498
+ "trustLevel": "markdown_only",
499
+ "compatibility": "compatible",
500
+ "defaultInstall": false,
501
+ "recommendedForRoles": [
502
+ "engineer",
503
+ "product",
504
+ "writer",
505
+ "devrel"
506
+ ],
507
+ "requires": [],
508
+ "tags": [
509
+ "writing",
510
+ "communication",
511
+ "clarity",
512
+ "style"
513
+ ],
514
+ "files": [
515
+ {
516
+ "path": "SKILL.md",
517
+ "kind": "skill",
518
+ "sizeBytes": 1578,
519
+ "sha256": "a0f7385599873910e2fabf400346016a07dacbc7ece27c0e3616ae8fd94ebfbb"
520
+ }
521
+ ],
522
+ "contentHash": "sha256:642321f40d51e0125df05c6fbace49aeb07ec30392058756909c259c9c5eac6a"
523
+ },
524
+ {
525
+ "id": "paperclipai:optional:finance:ramp",
526
+ "key": "paperclipai/optional/finance/ramp",
527
+ "kind": "optional",
528
+ "category": "finance",
529
+ "slug": "ramp",
530
+ "name": "ramp",
531
+ "description": "Fetch and follow Ramp's published agent playbooks inside Paperclip, with mandatory approval gates for spend, incorporation, cards, account setup, and other financial actions.",
532
+ "path": "catalog/optional/finance/ramp",
533
+ "entrypoint": "SKILL.md",
534
+ "trustLevel": "markdown_only",
535
+ "compatibility": "compatible",
536
+ "defaultInstall": false,
537
+ "recommendedForRoles": [
538
+ "finance",
539
+ "operations",
540
+ "founder",
541
+ "engineer"
542
+ ],
543
+ "requires": [],
544
+ "tags": [
545
+ "ramp",
546
+ "finance",
547
+ "spend",
548
+ "approvals",
549
+ "agent-cards"
550
+ ],
551
+ "files": [
552
+ {
553
+ "path": "SKILL.md",
554
+ "kind": "skill",
555
+ "sizeBytes": 7016,
556
+ "sha256": "698cd69ebf2f2481ed83c8e9477b56ae78288cc4c751d7d35f649ff2483802a3"
557
+ }
558
+ ],
559
+ "contentHash": "sha256:276d85e98a4732f278204e26438aa95fde158dd2d15c1e427c4c7c7d492e769d"
560
+ },
561
+ {
562
+ "id": "paperclipai:optional:product:design-critique",
563
+ "key": "paperclipai/optional/product/design-critique",
564
+ "kind": "optional",
565
+ "category": "product",
566
+ "slug": "design-critique",
567
+ "name": "design-critique",
568
+ "description": "Give a structured product design critique — user job clarity, hierarchy, affordance, error states, accessibility, and consistency — focused on what to change, in what order, and why.",
569
+ "path": "catalog/optional/product/design-critique",
570
+ "entrypoint": "SKILL.md",
571
+ "trustLevel": "markdown_only",
572
+ "compatibility": "compatible",
573
+ "defaultInstall": false,
574
+ "recommendedForRoles": [
575
+ "designer",
576
+ "product",
577
+ "engineer"
578
+ ],
579
+ "requires": [],
580
+ "tags": [
581
+ "design",
582
+ "product",
583
+ "ux",
584
+ "review"
585
+ ],
586
+ "files": [
587
+ {
588
+ "path": "SKILL.md",
589
+ "kind": "skill",
590
+ "sizeBytes": 4851,
591
+ "sha256": "022e619baf6cc25725946279cb8052d22af090dd6cd6dc8c20f17867f71a5d8e"
592
+ }
593
+ ],
594
+ "contentHash": "sha256:429f94df398a0697042b5bbe4755b1ff1a230aa5f41d99118ad37493ac65d21c"
595
+ },
596
+ {
597
+ "id": "paperclipai:optional:research:last30days",
598
+ "key": "paperclipai/optional/research/last30days",
599
+ "kind": "optional",
600
+ "category": "research",
601
+ "slug": "last30days",
602
+ "name": "last30days",
603
+ "description": "Research what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web.",
604
+ "path": "catalog/optional/research/last30days",
605
+ "entrypoint": "SKILL.md",
606
+ "trustLevel": "scripts_executables",
607
+ "compatibility": "compatible",
608
+ "defaultInstall": false,
609
+ "recommendedForRoles": [
610
+ "researcher",
611
+ "marketer",
612
+ "product-manager",
613
+ "analyst"
614
+ ],
615
+ "requires": [
616
+ "node",
617
+ "python3"
618
+ ],
619
+ "tags": [
620
+ "research",
621
+ "last-30-days",
622
+ "social-media",
623
+ "trends",
624
+ "citations",
625
+ "reddit",
626
+ "x",
627
+ "youtube"
628
+ ],
629
+ "files": [
630
+ {
631
+ "path": "SKILL.md",
632
+ "kind": "skill",
633
+ "sizeBytes": 130813,
634
+ "sha256": "534f0347f304ec51254a7d3a210e07c86cc252175cc6a588e97d32ce94f0f745"
635
+ },
636
+ {
637
+ "path": "agents/openai.yaml",
638
+ "kind": "other",
639
+ "sizeBytes": 448,
640
+ "sha256": "f46e7f09d3118dee7324ac165391ccb7ffe55323d1d75304e34062017913939c"
641
+ },
642
+ {
643
+ "path": "references/save-html-brief.md",
644
+ "kind": "reference",
645
+ "sizeBytes": 5940,
646
+ "sha256": "ca15e03bf63a3af1cfa0347df36b0aee999c6c6c631f31b4171a5df09e765d43"
647
+ },
648
+ {
649
+ "path": "scripts/briefing.py",
650
+ "kind": "script",
651
+ "sizeBytes": 8342,
652
+ "sha256": "d4881d16493f5504c5a947f31ced861d674e2423e5fc668305beaf5e849420b7"
653
+ },
654
+ {
655
+ "path": "scripts/compare.sh",
656
+ "kind": "script",
657
+ "sizeBytes": 2291,
658
+ "sha256": "cdb2538522a60c803aeebc3336673c8702380a902604ad85770206382996a6f5"
659
+ },
660
+ {
661
+ "path": "scripts/last30days.py",
662
+ "kind": "script",
663
+ "sizeBytes": 44282,
664
+ "sha256": "818d6b839eb04417a5d0acf3bee24258fbc70543df968619fd3573597dc88e8e"
665
+ },
666
+ {
667
+ "path": "scripts/lib/__init__.py",
668
+ "kind": "script",
669
+ "sizeBytes": 29,
670
+ "sha256": "3fb925405f898201188f9b5eea04e214ea8c8a64643397fd727f08ffeea234d9"
671
+ },
672
+ {
673
+ "path": "scripts/lib/bird_x.py",
674
+ "kind": "script",
675
+ "sizeBytes": 17960,
676
+ "sha256": "c7cbd33a5b4c317b07eeca7c7e3c1aa57369487cd4cd3602abbe9b6acb019e6a"
677
+ },
678
+ {
679
+ "path": "scripts/lib/bluesky.py",
680
+ "kind": "script",
681
+ "sizeBytes": 12343,
682
+ "sha256": "af7bbaa68f6944a50089447992b95881e15c085de829426360f50740a35cba89"
683
+ },
684
+ {
685
+ "path": "scripts/lib/categories.py",
686
+ "kind": "script",
687
+ "sizeBytes": 7635,
688
+ "sha256": "e4ab8435e09c371f2475751fdc1c58150799b3746afcc7e38d5dad30adb210d5"
689
+ },
690
+ {
691
+ "path": "scripts/lib/chrome_cookies.py",
692
+ "kind": "script",
693
+ "sizeBytes": 10911,
694
+ "sha256": "eeb8f99b92cfc9aa65b20b6dbedfcfd321166f3fa771a95299ffb0b950b1cedc"
695
+ },
696
+ {
697
+ "path": "scripts/lib/cluster.py",
698
+ "kind": "script",
699
+ "sizeBytes": 11018,
700
+ "sha256": "fa9fb8905552e7bb5a2a2854f8b3c620a464054238a008d74ba89d0c247a776e"
701
+ },
702
+ {
703
+ "path": "scripts/lib/competitors.py",
704
+ "kind": "script",
705
+ "sizeBytes": 7332,
706
+ "sha256": "a76c5d679b7f3c93a07e389811f79526f11e1e03411cecd4d9569e3aca32a77d"
707
+ },
708
+ {
709
+ "path": "scripts/lib/cookie_extract.py",
710
+ "kind": "script",
711
+ "sizeBytes": 14450,
712
+ "sha256": "9d34ea3a8565eae8b67f72e8b625c22a29d41274c3b8d6c8b6aa171c18ebad5b"
713
+ },
714
+ {
715
+ "path": "scripts/lib/dates.py",
716
+ "kind": "script",
717
+ "sizeBytes": 3201,
718
+ "sha256": "ae4ec6455021c82ef3321ef5dde6f7ba41e6b91a3e6ff601174ac9aa20e5c8f9"
719
+ },
720
+ {
721
+ "path": "scripts/lib/dedupe.py",
722
+ "kind": "script",
723
+ "sizeBytes": 3315,
724
+ "sha256": "b9acabf496e0743189fbeed43d447280fee17e10a40931f9083d2a1f2894d863"
725
+ },
726
+ {
727
+ "path": "scripts/lib/digg.py",
728
+ "kind": "script",
729
+ "sizeBytes": 13305,
730
+ "sha256": "95a2845d4751efb5738d2a69c7246f8269447395a7da324e0d6ae0feefd7c9d8"
731
+ },
732
+ {
733
+ "path": "scripts/lib/entity_extract.py",
734
+ "kind": "script",
735
+ "sizeBytes": 4211,
736
+ "sha256": "b04103103981915557fd410305f3a8031d5e71d687491ca89976be25d9bc84a4"
737
+ },
738
+ {
739
+ "path": "scripts/lib/env.py",
740
+ "kind": "script",
741
+ "sizeBytes": 25940,
742
+ "sha256": "9ca2e2341565a6c933d51800a510d07b84707825d19234d991eb472454b46933"
743
+ },
744
+ {
745
+ "path": "scripts/lib/fanout.py",
746
+ "kind": "script",
747
+ "sizeBytes": 3155,
748
+ "sha256": "43f21244f9bd1bf143d2f4c478cc2fcc9ffc4e403539e8c08e86e106ed5f0b83"
749
+ },
750
+ {
751
+ "path": "scripts/lib/fusion.py",
752
+ "kind": "script",
753
+ "sizeBytes": 8553,
754
+ "sha256": "c764709a7d4576121c193ae75ded057dd177b6bea512ca57dd72680d74030b41"
755
+ },
756
+ {
757
+ "path": "scripts/lib/github.py",
758
+ "kind": "script",
759
+ "sizeBytes": 34879,
760
+ "sha256": "0f8eb97c20463b975b3bb752d0e3afec98ef853430e495f21fc06f01c27d2baf"
761
+ },
762
+ {
763
+ "path": "scripts/lib/grounding.py",
764
+ "kind": "script",
765
+ "sizeBytes": 11723,
766
+ "sha256": "440386c32afb3c01678fe5dfab197449a9a910018a40cbbc1e9e10ecb9d4843a"
767
+ },
768
+ {
769
+ "path": "scripts/lib/hackernews.py",
770
+ "kind": "script",
771
+ "sizeBytes": 11619,
772
+ "sha256": "95db30a3bf441ee73fb49a04fa8974440e381e56c7d70e87b48e3b69ae0cdfa5"
773
+ },
774
+ {
775
+ "path": "scripts/lib/html_render.py",
776
+ "kind": "script",
777
+ "sizeBytes": 17791,
778
+ "sha256": "5070f6a58d6fcae44a20ecd9108fd204b042bea1d47f8a67efce6d3831aa87ad"
779
+ },
780
+ {
781
+ "path": "scripts/lib/http.py",
782
+ "kind": "script",
783
+ "sizeBytes": 10191,
784
+ "sha256": "760308aa8b8e3abbaa3273a4ca4df5b0bc8cc71ba8864b5740aaac545972731e"
785
+ },
786
+ {
787
+ "path": "scripts/lib/instagram.py",
788
+ "kind": "script",
789
+ "sizeBytes": 18874,
790
+ "sha256": "cda8c8558e6cdc9b4bf3f7bb470c2e223db927acc6a77f139a83ec7987488bb1"
791
+ },
792
+ {
793
+ "path": "scripts/lib/log.py",
794
+ "kind": "script",
795
+ "sizeBytes": 831,
796
+ "sha256": "11c4d61cdb5b1ff91919dcd28ec62ce88e555def30eed62a8071973b5ffe8317"
797
+ },
798
+ {
799
+ "path": "scripts/lib/normalize.py",
800
+ "kind": "script",
801
+ "sizeBytes": 19870,
802
+ "sha256": "e79e294e4ff8ebfa34f7561c63e0846af0380b8be299d484cc8a2f490e82b474"
803
+ },
804
+ {
805
+ "path": "scripts/lib/perplexity.py",
806
+ "kind": "script",
807
+ "sizeBytes": 4789,
808
+ "sha256": "70859e7296035936ae0da441119edfe381158d5d0de06afee87a3504007f91c7"
809
+ },
810
+ {
811
+ "path": "scripts/lib/pinterest.py",
812
+ "kind": "script",
813
+ "sizeBytes": 5366,
814
+ "sha256": "a6ac5085c900072b84930fafab8c81c9e5a792a718c21801d3fa0bd293d279f6"
815
+ },
816
+ {
817
+ "path": "scripts/lib/pipeline.py",
818
+ "kind": "script",
819
+ "sizeBytes": 45491,
820
+ "sha256": "9641f56faff2d685b0c5c483b2113721d151174a2eef265afe644e131c554454"
821
+ },
822
+ {
823
+ "path": "scripts/lib/planner.py",
824
+ "kind": "script",
825
+ "sizeBytes": 30490,
826
+ "sha256": "c0953abea402454a88c2573aa0c97bb6bba4c87e529d9f157a881e15c4123154"
827
+ },
828
+ {
829
+ "path": "scripts/lib/polymarket.py",
830
+ "kind": "script",
831
+ "sizeBytes": 30318,
832
+ "sha256": "cbd54a66988b4ebc4aebf2db6c637d4e516065518c333cd0495332458c2d9080"
833
+ },
834
+ {
835
+ "path": "scripts/lib/preflight.py",
836
+ "kind": "script",
837
+ "sizeBytes": 4541,
838
+ "sha256": "0fafa53bc63a44ad4525d99d6bb37080b0693e2d45265ce36af09b4a0e9b2c9b"
839
+ },
840
+ {
841
+ "path": "scripts/lib/providers.py",
842
+ "kind": "script",
843
+ "sizeBytes": 15817,
844
+ "sha256": "7460004a2e8df0f8c94d764c0eb01f8d782bb160ce2e157105fadd0dd2953a5d"
845
+ },
846
+ {
847
+ "path": "scripts/lib/quality_nudge.py",
848
+ "kind": "script",
849
+ "sizeBytes": 13438,
850
+ "sha256": "69b6d58abea8171c895f105ee62b2db6f7ea35cebbe08d7e6e8884d810891fef"
851
+ },
852
+ {
853
+ "path": "scripts/lib/query.py",
854
+ "kind": "script",
855
+ "sizeBytes": 4018,
856
+ "sha256": "6bc2e0649034cdb28471346a66e2448ba58762cb7774c4fce45c055ab160912a"
857
+ },
858
+ {
859
+ "path": "scripts/lib/reddit_enrich.py",
860
+ "kind": "script",
861
+ "sizeBytes": 9535,
862
+ "sha256": "652a9c5abecf22f3c26ff6d6b732a43703113a559ce31acab7af012eb25d4e7a"
863
+ },
864
+ {
865
+ "path": "scripts/lib/reddit_public.py",
866
+ "kind": "script",
867
+ "sizeBytes": 13066,
868
+ "sha256": "ea25034726aa895c123216e356c03856a8116efedd29620bb2ebc0d01ff4c420"
869
+ },
870
+ {
871
+ "path": "scripts/lib/reddit.py",
872
+ "kind": "script",
873
+ "sizeBytes": 24701,
874
+ "sha256": "dba1019f67f677c869f14a1f892b1562dd10b6f96bffc75ffad37eb4d3bc9877"
875
+ },
876
+ {
877
+ "path": "scripts/lib/relevance.py",
878
+ "kind": "script",
879
+ "sizeBytes": 5941,
880
+ "sha256": "b9f776f9f8e5d4fbf1fcc86f6604bc0c391c988153d3264b8dc431ff34783382"
881
+ },
882
+ {
883
+ "path": "scripts/lib/render.py",
884
+ "kind": "script",
885
+ "sizeBytes": 71577,
886
+ "sha256": "189ffa786428515a3b02f680e71069b7907eaa24c7aadd315e9abaecb0a6a9fc"
887
+ },
888
+ {
889
+ "path": "scripts/lib/rerank.py",
890
+ "kind": "script",
891
+ "sizeBytes": 17106,
892
+ "sha256": "419c52fc08144c41e08f7574093c5b6cd21271900b51680b6393e61441ffea3c"
893
+ },
894
+ {
895
+ "path": "scripts/lib/resolve.py",
896
+ "kind": "script",
897
+ "sizeBytes": 12448,
898
+ "sha256": "b23f3dd54d6ede0986219aacdda81ece72f1a0a629d72a9ec56b24bc645ccb7c"
899
+ },
900
+ {
901
+ "path": "scripts/lib/safari_cookies.py",
902
+ "kind": "script",
903
+ "sizeBytes": 5698,
904
+ "sha256": "4d66c27cbf5725cc7cb815ca42191e70261c52196c2823bab9c6050ca32ccf71"
905
+ },
906
+ {
907
+ "path": "scripts/lib/schema.py",
908
+ "kind": "script",
909
+ "sizeBytes": 11206,
910
+ "sha256": "8d815d3daee8d469e504bb1264fc174af4abc179dd7d1fa87d7313ed01d914c6"
911
+ },
912
+ {
913
+ "path": "scripts/lib/setup_wizard.py",
914
+ "kind": "script",
915
+ "sizeBytes": 18688,
916
+ "sha256": "be0f867e96d15f7458faac2194c444dc0ec9ec4f3c9fe4d74459e083b80c1a73"
917
+ },
918
+ {
919
+ "path": "scripts/lib/signals.py",
920
+ "kind": "script",
921
+ "sizeBytes": 9715,
922
+ "sha256": "4071cf5fa4c99b0ee51d949ca69ec4594d7e1986ec6a8019b55bb877e219d49a"
923
+ },
924
+ {
925
+ "path": "scripts/lib/skill_meta.py",
926
+ "kind": "script",
927
+ "sizeBytes": 1207,
928
+ "sha256": "e922e6ecdb19fa3daf9c6673acb13a9b23f97362eac1cb11211c998dea0fdbd1"
929
+ },
930
+ {
931
+ "path": "scripts/lib/snippet.py",
932
+ "kind": "script",
933
+ "sizeBytes": 1560,
934
+ "sha256": "6bd2143a4264fe11d5be1b805742336ab82397ae0293c13e8b5b3084bfa2612d"
935
+ },
936
+ {
937
+ "path": "scripts/lib/subproc.py",
938
+ "kind": "script",
939
+ "sizeBytes": 2807,
940
+ "sha256": "cf7bf3dcaf79375c5bd014718a8eb5f6565275294eeaa0059fef93d8e4b6452d"
941
+ },
942
+ {
943
+ "path": "scripts/lib/threads.py",
944
+ "kind": "script",
945
+ "sizeBytes": 6728,
946
+ "sha256": "7508629028c3b4a187699797ab0d9e7b179cbae3c53b9fabdaf9d905b1fc2c1d"
947
+ },
948
+ {
949
+ "path": "scripts/lib/tiktok.py",
950
+ "kind": "script",
951
+ "sizeBytes": 20993,
952
+ "sha256": "f0074737c4bbf176118382ad4c0c9e8c8d6f4544bd9fc42d224f7c1da13a8d73"
953
+ },
954
+ {
955
+ "path": "scripts/lib/truthsocial.py",
956
+ "kind": "script",
957
+ "sizeBytes": 5196,
958
+ "sha256": "fd745d0a61b1c69bea813832f3e2c5923b08d476766a378c07f0963b0be2f330"
959
+ },
960
+ {
961
+ "path": "scripts/lib/ui.py",
962
+ "kind": "script",
963
+ "sizeBytes": 25907,
964
+ "sha256": "cdc0ea376fc4ee017449f2aa87a7513add3fa5306f27d4663fb6f7203f12974e"
965
+ },
966
+ {
967
+ "path": "scripts/lib/vendor/bird-search/bird-search.mjs",
968
+ "kind": "script",
969
+ "sizeBytes": 3998,
970
+ "sha256": "584482e894c38bbde7a915013f741974fa8ea722ac34c56704dccf184f7c3d56"
971
+ },
972
+ {
973
+ "path": "scripts/lib/vendor/bird-search/lib/cookies.js",
974
+ "kind": "script",
975
+ "sizeBytes": 8153,
976
+ "sha256": "66044440cef3d3b3e3136091b6e224051e8ff97fb1d156f40ccf2d4f3cf203ae"
977
+ },
978
+ {
979
+ "path": "scripts/lib/vendor/bird-search/lib/features.json",
980
+ "kind": "script",
981
+ "sizeBytes": 523,
982
+ "sha256": "36361f4cae0040255f84709459ebb1f0131566a567269ed7b99d073cad930f66"
983
+ },
984
+ {
985
+ "path": "scripts/lib/vendor/bird-search/lib/paginate-cursor.js",
986
+ "kind": "script",
987
+ "sizeBytes": 1225,
988
+ "sha256": "5f20227de1d68250ad59b7ad593db4bfb1d0f1a21694963eab3ed413c2d0d5c0"
989
+ },
990
+ {
991
+ "path": "scripts/lib/vendor/bird-search/lib/query-ids.json",
992
+ "kind": "script",
993
+ "sizeBytes": 815,
994
+ "sha256": "eba47a9d26f87d0b4eb8a4f554833ed8d11b3d8728e363deeae702d09f87fc02"
995
+ },
996
+ {
997
+ "path": "scripts/lib/vendor/bird-search/lib/runtime-features.js",
998
+ "kind": "script",
999
+ "sizeBytes": 5036,
1000
+ "sha256": "f41614d62b6c91dfc85fc4af389e6f49435324bf26460b715a991486609579d8"
1001
+ },
1002
+ {
1003
+ "path": "scripts/lib/vendor/bird-search/lib/runtime-query-ids.js",
1004
+ "kind": "script",
1005
+ "sizeBytes": 9424,
1006
+ "sha256": "0f5c61dbaad3de7fb44a14c57ed005228e51f9fc361472eff59bff4cb2a1199e"
1007
+ },
1008
+ {
1009
+ "path": "scripts/lib/vendor/bird-search/lib/twitter-client-base.js",
1010
+ "kind": "script",
1011
+ "sizeBytes": 4853,
1012
+ "sha256": "ea972b7894458e78edd1927d102a052ae45726a7c967b376ac7f5544f5b65499"
1013
+ },
1014
+ {
1015
+ "path": "scripts/lib/vendor/bird-search/lib/twitter-client-constants.js",
1016
+ "kind": "script",
1017
+ "sizeBytes": 2535,
1018
+ "sha256": "27bd1416ff1f5d4f4516d784a8fb9ee08a87413f07b375752821a32e5b0cd6e3"
1019
+ },
1020
+ {
1021
+ "path": "scripts/lib/vendor/bird-search/lib/twitter-client-features.js",
1022
+ "kind": "script",
1023
+ "sizeBytes": 18400,
1024
+ "sha256": "4b4f2048069f751a821777cb2084f3b9126d99a958494fef71f0699d8145c4dd"
1025
+ },
1026
+ {
1027
+ "path": "scripts/lib/vendor/bird-search/lib/twitter-client-search.js",
1028
+ "kind": "script",
1029
+ "sizeBytes": 7310,
1030
+ "sha256": "3dfbe18ea54215d9a6393ff0884d9977dd9ddf0884a06486bdaee8a4e30d4616"
1031
+ },
1032
+ {
1033
+ "path": "scripts/lib/vendor/bird-search/lib/twitter-client-types.js",
1034
+ "kind": "script",
1035
+ "sizeBytes": 59,
1036
+ "sha256": "6450f74c664db958d703e09288184ef1ca5f622782f9e11a5a9bfa3d3c78c534"
1037
+ },
1038
+ {
1039
+ "path": "scripts/lib/vendor/bird-search/lib/twitter-client-utils.js",
1040
+ "kind": "script",
1041
+ "sizeBytes": 19169,
1042
+ "sha256": "b230db5583760ccd0b5b5fb1592f449a7d0bc92f6184808e8ffb6f8968df20e9"
1043
+ },
1044
+ {
1045
+ "path": "scripts/lib/vendor/bird-search/LICENSE",
1046
+ "kind": "script",
1047
+ "sizeBytes": 1074,
1048
+ "sha256": "62316704df7426e5a79d2827ff8aca36e9abb3a73b8e68557030749ebefec667"
1049
+ },
1050
+ {
1051
+ "path": "scripts/lib/vendor/bird-search/package.json",
1052
+ "kind": "script",
1053
+ "sizeBytes": 331,
1054
+ "sha256": "96b65305969a179ee7a7735f1b475599d6035f32fda1fd030ea57ee09380cdb5"
1055
+ },
1056
+ {
1057
+ "path": "scripts/lib/xai_x.py",
1058
+ "kind": "script",
1059
+ "sizeBytes": 7509,
1060
+ "sha256": "6cc244293ed6ea3b0f78a6515b583ff36da96ad30acf1d5457278ab020f1bd47"
1061
+ },
1062
+ {
1063
+ "path": "scripts/lib/xiaohongshu_api.py",
1064
+ "kind": "script",
1065
+ "sizeBytes": 5321,
1066
+ "sha256": "c7a29dfa03f871993dc13a8ad528beed8a648102404b658242ca57878077ef60"
1067
+ },
1068
+ {
1069
+ "path": "scripts/lib/xquik.py",
1070
+ "kind": "script",
1071
+ "sizeBytes": 6839,
1072
+ "sha256": "7c487cb2ba543ff12e38ec6466a2de6ff6762ccd415c1f07093620b49137681a"
1073
+ },
1074
+ {
1075
+ "path": "scripts/lib/xurl_x.py",
1076
+ "kind": "script",
1077
+ "sizeBytes": 5302,
1078
+ "sha256": "8cf6bb235cfc7f39386b282a922487816089fa6ebf4fa49a4d562d95f9686e78"
1079
+ },
1080
+ {
1081
+ "path": "scripts/lib/youtube_yt.py",
1082
+ "kind": "script",
1083
+ "sizeBytes": 37339,
1084
+ "sha256": "787908d06a845ad70654c4939ebabc856311a95b34444f0987ff7ee3db4c0a49"
1085
+ },
1086
+ {
1087
+ "path": "scripts/setup-keychain.sh",
1088
+ "kind": "script",
1089
+ "sizeBytes": 3229,
1090
+ "sha256": "5d2a6b678c905eefe537fbcb98063db3e471c22b7ab4b06d51615d99b14556db"
1091
+ },
1092
+ {
1093
+ "path": "scripts/store.py",
1094
+ "kind": "script",
1095
+ "sizeBytes": 28534,
1096
+ "sha256": "c1e95a00132768e6c38170bee85161a59b5bce3feaa6297a85f1a49d1bfc9fd3"
1097
+ },
1098
+ {
1099
+ "path": "scripts/watchlist.py",
1100
+ "kind": "script",
1101
+ "sizeBytes": 8929,
1102
+ "sha256": "c06378f70f9145f3bd957170dec2549a31463a41b400bbf1ce722911aa2150a1"
1103
+ }
1104
+ ],
1105
+ "contentHash": "sha256:9e11e9d2ed3d2062273d131a826cdeedea39bdd269063e2f73ca7f218770c769",
1106
+ "source": {
1107
+ "type": "github",
1108
+ "hostname": "github.com",
1109
+ "owner": "mvanhorn",
1110
+ "repo": "last30days-skill",
1111
+ "ref": "v3.3.0",
1112
+ "commit": "daca71f89eb71d0d56d01a43ed7627aa919dba4f",
1113
+ "path": "skills/last30days",
1114
+ "url": "https://github.com/mvanhorn/last30days-skill/tree/v3.3.0/skills/last30days"
1115
+ }
1116
+ },
1117
+ {
1118
+ "id": "paperclipai:optional:software-development:prepare-mcp-integration",
1119
+ "key": "paperclipai/optional/software-development/prepare-mcp-integration",
1120
+ "kind": "optional",
1121
+ "category": "software-development",
1122
+ "slug": "prepare-mcp-integration",
1123
+ "name": "prepare-mcp-integration",
1124
+ "description": "Prepare MCP/vendor integrations through cited research, a content PR, exact-revision human approval, and one governed Paperclip connector PR per approved connection. Use for new integration research and delivery; not for ad hoc connector coding that bypasses the playbooks.",
1125
+ "path": "catalog/optional/software-development/prepare-mcp-integration",
1126
+ "entrypoint": "SKILL.md",
1127
+ "trustLevel": "markdown_only",
1128
+ "compatibility": "compatible",
1129
+ "defaultInstall": false,
1130
+ "recommendedForRoles": [
1131
+ "engineer",
1132
+ "product-manager",
1133
+ "researcher"
1134
+ ],
1135
+ "requires": [
1136
+ "git",
1137
+ "gh",
1138
+ "curl"
1139
+ ],
1140
+ "tags": [
1141
+ "mcp",
1142
+ "integrations",
1143
+ "connectors",
1144
+ "research",
1145
+ "github",
1146
+ "human-approval"
1147
+ ],
1148
+ "files": [
1149
+ {
1150
+ "path": "SKILL.md",
1151
+ "kind": "skill",
1152
+ "sizeBytes": 12409,
1153
+ "sha256": "5278d288a0cbfe10fdda4ef3d99cf61e6ed068f4b6c1282406b0e001c9f45253"
1154
+ },
1155
+ {
1156
+ "path": "examples/notion-mcp-research-gate.md",
1157
+ "kind": "markdown",
1158
+ "sizeBytes": 1900,
1159
+ "sha256": "944b13ac67c06c65643eb236e856f1479106749861535648d29334f84cf1b50b"
1160
+ }
1161
+ ],
1162
+ "contentHash": "sha256:84f2a28d7d004393719684f2b435e5ee01ddc58591e0dfeb73d72c7605db7f49"
1163
+ }
1164
+ ]
1165
+ }