crewly 1.20.114 → 1.20.115

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.
@@ -1,9 +1,64 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "lastUpdated": "2026-05-30T00:00:00.000Z",
3
+ "lastUpdated": "2026-09-24T19:55:44.195Z",
4
4
  "cdnBaseUrl": "https://raw.githubusercontent.com/stevehuang0115/crewly/main",
5
5
  "source": "github",
6
6
  "items": [
7
+ {
8
+ "id": "agent-send-pdf-to-slack",
9
+ "type": "skill",
10
+ "name": "Send PDF to Slack",
11
+ "description": "Convert a markdown file to PDF and upload it to a Slack channel.",
12
+ "author": "Crewly Team",
13
+ "version": "1.0.0",
14
+ "category": "communication",
15
+ "tags": [
16
+ "communication",
17
+ "slack",
18
+ "pdf",
19
+ "markdown",
20
+ "export"
21
+ ],
22
+ "license": "MIT",
23
+ "downloads": 0,
24
+ "rating": 0,
25
+ "createdAt": "2026-02-22T23:57:06.027Z",
26
+ "updatedAt": "2026-09-24T19:55:44.195Z",
27
+ "source": "config/skills/agent/marketplace/send-pdf-to-slack",
28
+ "assets": {
29
+ "archive": "config/skills/agent/marketplace/send-pdf-to-slack",
30
+ "checksum": "",
31
+ "sizeBytes": 8170
32
+ },
33
+ "metadata": {
34
+ "skillType": "claude-skill",
35
+ "assignableRoles": [
36
+ "developer",
37
+ "qa",
38
+ "tpm",
39
+ "designer",
40
+ "frontend-developer",
41
+ "backend-developer",
42
+ "fullstack-dev",
43
+ "qa-engineer",
44
+ "product-manager",
45
+ "architect",
46
+ "generalist",
47
+ "sales",
48
+ "support"
49
+ ],
50
+ "triggers": [
51
+ "send pdf",
52
+ "pdf to slack",
53
+ "markdown to pdf",
54
+ "export pdf"
55
+ ],
56
+ "files": [
57
+ "execute.sh",
58
+ "SKILL.md"
59
+ ]
60
+ }
61
+ },
7
62
  {
8
63
  "id": "ai-studio",
9
64
  "type": "skill",
@@ -24,16 +79,15 @@
24
79
  "downloads": 0,
25
80
  "rating": 0,
26
81
  "createdAt": "2026-02-27T00:00:00.000Z",
27
- "updatedAt": "2026-02-27T00:00:00.000Z",
82
+ "updatedAt": "2026-09-24T19:55:44.195Z",
28
83
  "source": "config/skills/agent/marketplace/ai-studio",
29
84
  "assets": {
30
85
  "archive": "config/skills/agent/marketplace/ai-studio",
31
86
  "checksum": "",
32
- "sizeBytes": 3000
87
+ "sizeBytes": 9468
33
88
  },
34
89
  "metadata": {
35
90
  "skillType": "claude-skill",
36
- "assignableRoles": [],
37
91
  "triggers": [
38
92
  "ai studio",
39
93
  "google ai studio",
@@ -42,8 +96,65 @@
42
96
  "gemini app"
43
97
  ],
44
98
  "files": [
45
- "skill.json",
46
- "instructions.md"
99
+ "SKILL.md"
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "id": "browse-stealth",
105
+ "type": "skill",
106
+ "name": "Stealth Browser (Patchright + CDP)",
107
+ "description": "Anti-detection browser automation using Patchright (Playwright fork) connected to a real Chrome instance via CDP. Bypasses navigator.webdriver checks, fingerprint anomalies, and headless detection used by platforms like 小红书, X/Twitter, and LinkedIn.",
108
+ "author": "Crewly Team",
109
+ "version": "1.0.0",
110
+ "category": "development",
111
+ "tags": [
112
+ "browser",
113
+ "stealth",
114
+ "patchright",
115
+ "cdp",
116
+ "anti-detection",
117
+ "automation"
118
+ ],
119
+ "license": "MIT",
120
+ "downloads": 0,
121
+ "rating": 0,
122
+ "createdAt": "2026-02-28T00:00:00.000Z",
123
+ "updatedAt": "2026-09-24T19:55:44.195Z",
124
+ "source": "config/skills/agent/browse-stealth",
125
+ "assets": {
126
+ "archive": "config/skills/agent/browse-stealth",
127
+ "checksum": "",
128
+ "sizeBytes": 23734
129
+ },
130
+ "metadata": {
131
+ "skillType": "claude-skill",
132
+ "assignableRoles": [
133
+ "developer",
134
+ "qa",
135
+ "qa-engineer",
136
+ "fullstack-dev",
137
+ "backend-developer",
138
+ "frontend-developer",
139
+ "generalist",
140
+ "ops",
141
+ "content-strategist"
142
+ ],
143
+ "triggers": [
144
+ "stealth browse",
145
+ "browse stealth",
146
+ "anti-detection",
147
+ "xiaohongshu",
148
+ "rednote browse",
149
+ "patchright",
150
+ "cdp browse",
151
+ "stealth scrape"
152
+ ],
153
+ "files": [
154
+ "execute.sh",
155
+ "launch-chrome-cdp.sh",
156
+ "SKILL.md",
157
+ "stealth-browse.py"
47
158
  ]
48
159
  }
49
160
  },
@@ -67,12 +178,12 @@
67
178
  "downloads": 0,
68
179
  "rating": 0,
69
180
  "createdAt": "2026-02-22T23:57:06.027Z",
70
- "updatedAt": "2026-02-22T23:57:06.027Z",
181
+ "updatedAt": "2026-09-24T19:55:44.195Z",
71
182
  "source": "config/skills/agent/marketplace/bug-triage",
72
183
  "assets": {
73
184
  "archive": "config/skills/agent/marketplace/bug-triage",
74
185
  "checksum": "",
75
- "sizeBytes": 8144
186
+ "sizeBytes": 8009
76
187
  },
77
188
  "metadata": {
78
189
  "skillType": "claude-skill",
@@ -90,6 +201,10 @@
90
201
  "classify bug",
91
202
  "prioritize bug",
92
203
  "analyze bug"
204
+ ],
205
+ "files": [
206
+ "execute.sh",
207
+ "SKILL.md"
93
208
  ]
94
209
  }
95
210
  },
@@ -112,16 +227,15 @@
112
227
  "downloads": 0,
113
228
  "rating": 0,
114
229
  "createdAt": "2026-02-22T23:57:06.027Z",
115
- "updatedAt": "2026-02-22T23:57:06.027Z",
230
+ "updatedAt": "2026-09-24T19:55:44.195Z",
116
231
  "source": "config/skills/agent/marketplace/chrome-browser",
117
232
  "assets": {
118
233
  "archive": "config/skills/agent/marketplace/chrome-browser",
119
234
  "checksum": "",
120
- "sizeBytes": 2887
235
+ "sizeBytes": 2542
121
236
  },
122
237
  "metadata": {
123
238
  "skillType": "mcp",
124
- "assignableRoles": [],
125
239
  "triggers": [
126
240
  "browser",
127
241
  "chrome",
@@ -133,7 +247,7 @@
133
247
  ],
134
248
  "files": [
135
249
  "skill.json",
136
- "instructions.md"
250
+ "SKILL.md"
137
251
  ]
138
252
  }
139
253
  },
@@ -141,7 +255,7 @@
141
255
  "id": "code-review",
142
256
  "type": "skill",
143
257
  "name": "Code Review",
144
- "description": "Analyze git changes and produce a structured code review with checks for style, complexity, security, and test coverage.",
258
+ "description": "Analyze git changes and produce a structured code review with automated checks for missing tests, debug statements, potential secrets, large changes, and dependency modifications. Use when reviewing staged changes, unstaged diffs, recent commits, or branch comparisons before submitting a pull request. For task-level quality gates, use check-quality-gates instead.",
145
259
  "author": "Crewly Team",
146
260
  "version": "1.0.0",
147
261
  "category": "development",
@@ -157,12 +271,12 @@
157
271
  "downloads": 0,
158
272
  "rating": 0,
159
273
  "createdAt": "2026-02-22T23:57:06.027Z",
160
- "updatedAt": "2026-02-22T23:57:06.027Z",
274
+ "updatedAt": "2026-09-24T19:55:44.195Z",
161
275
  "source": "config/skills/agent/marketplace/code-review",
162
276
  "assets": {
163
277
  "archive": "config/skills/agent/marketplace/code-review",
164
278
  "checksum": "",
165
- "sizeBytes": 9265
279
+ "sizeBytes": 11012
166
280
  },
167
281
  "metadata": {
168
282
  "skillType": "claude-skill",
@@ -181,6 +295,10 @@
181
295
  "review changes",
182
296
  "review PR",
183
297
  "review diff"
298
+ ],
299
+ "files": [
300
+ "execute.sh",
301
+ "SKILL.md"
184
302
  ]
185
303
  }
186
304
  },
@@ -206,12 +324,12 @@
206
324
  "downloads": 0,
207
325
  "rating": 0,
208
326
  "createdAt": "2026-02-22T23:57:06.027Z",
209
- "updatedAt": "2026-02-22T23:57:06.027Z",
327
+ "updatedAt": "2026-09-24T19:55:44.195Z",
210
328
  "source": "config/skills/agent/marketplace/computer-use",
211
329
  "assets": {
212
330
  "archive": "config/skills/agent/marketplace/computer-use",
213
331
  "checksum": "",
214
- "sizeBytes": 23108
332
+ "sizeBytes": 24786
215
333
  },
216
334
  "metadata": {
217
335
  "skillType": "claude-skill",
@@ -231,6 +349,10 @@
231
349
  "scroll",
232
350
  "accessibility",
233
351
  "ui elements"
352
+ ],
353
+ "files": [
354
+ "execute.sh",
355
+ "SKILL.md"
234
356
  ]
235
357
  }
236
358
  },
@@ -254,12 +376,12 @@
254
376
  "downloads": 0,
255
377
  "rating": 0,
256
378
  "createdAt": "2026-02-22T23:57:06.027Z",
257
- "updatedAt": "2026-02-22T23:57:06.027Z",
379
+ "updatedAt": "2026-09-24T19:55:44.195Z",
258
380
  "source": "config/skills/agent/marketplace/daily-standup-report",
259
381
  "assets": {
260
382
  "archive": "config/skills/agent/marketplace/daily-standup-report",
261
383
  "checksum": "",
262
- "sizeBytes": 6268
384
+ "sizeBytes": 6271
263
385
  },
264
386
  "metadata": {
265
387
  "skillType": "claude-skill",
@@ -275,6 +397,56 @@
275
397
  "daily standup",
276
398
  "standup report",
277
399
  "what did we do yesterday"
400
+ ],
401
+ "files": [
402
+ "execute.sh",
403
+ "SKILL.md"
404
+ ]
405
+ }
406
+ },
407
+ {
408
+ "id": "decompose-okr",
409
+ "type": "skill",
410
+ "name": "Decompose OKR",
411
+ "description": "Decompose a parent Mission (OKR) into child OKRs one cascade tier down (company→team→project) as a PROPOSAL. The runtime drafts the child objectives + Key Results; the skill submits them to the backend as pending_approval. Children are NOT active until the human owner approves. Output includes an [APPROVE] block naming the parent and proposed children for the owner's decision.",
412
+ "author": "Crewly Team",
413
+ "version": "1.0.0",
414
+ "category": "development",
415
+ "tags": [
416
+ "okr",
417
+ "cascade",
418
+ "mission",
419
+ "planning",
420
+ "proposal",
421
+ "approval"
422
+ ],
423
+ "license": "MIT",
424
+ "downloads": 0,
425
+ "rating": 0,
426
+ "createdAt": "2026-05-30T00:00:00.000Z",
427
+ "updatedAt": "2026-09-24T19:55:44.195Z",
428
+ "source": "config/skills/orchestrator/decompose-okr",
429
+ "assets": {
430
+ "archive": "config/skills/orchestrator/decompose-okr",
431
+ "checksum": "",
432
+ "sizeBytes": 8425
433
+ },
434
+ "metadata": {
435
+ "skillType": "claude-skill",
436
+ "assignableRoles": [
437
+ "orchestrator",
438
+ "team-leader"
439
+ ],
440
+ "triggers": [
441
+ "decompose okr",
442
+ "cascade okr",
443
+ "propose child okrs",
444
+ "break okr into team okrs",
445
+ "okr decomposition"
446
+ ],
447
+ "files": [
448
+ "execute.sh",
449
+ "SKILL.md"
278
450
  ]
279
451
  }
280
452
  },
@@ -297,12 +469,12 @@
297
469
  "downloads": 0,
298
470
  "rating": 0,
299
471
  "createdAt": "2026-02-22T23:57:06.027Z",
300
- "updatedAt": "2026-02-22T23:57:06.027Z",
472
+ "updatedAt": "2026-09-24T19:55:44.195Z",
301
473
  "source": "config/skills/agent/marketplace/dep-updater",
302
474
  "assets": {
303
475
  "archive": "config/skills/agent/marketplace/dep-updater",
304
476
  "checksum": "",
305
- "sizeBytes": 4675
477
+ "sizeBytes": 4530
306
478
  },
307
479
  "metadata": {
308
480
  "skillType": "claude-skill",
@@ -319,6 +491,10 @@
319
491
  "update deps",
320
492
  "dependency check",
321
493
  "npm outdated"
494
+ ],
495
+ "files": [
496
+ "execute.sh",
497
+ "SKILL.md"
322
498
  ]
323
499
  }
324
500
  },
@@ -341,12 +517,12 @@
341
517
  "downloads": 0,
342
518
  "rating": 0,
343
519
  "createdAt": "2026-02-22T23:57:06.027Z",
344
- "updatedAt": "2026-02-22T23:57:06.027Z",
520
+ "updatedAt": "2026-09-24T19:55:44.195Z",
345
521
  "source": "config/skills/agent/marketplace/email-responder",
346
522
  "assets": {
347
523
  "archive": "config/skills/agent/marketplace/email-responder",
348
524
  "checksum": "",
349
- "sizeBytes": 9989
525
+ "sizeBytes": 9859
350
526
  },
351
527
  "metadata": {
352
528
  "skillType": "claude-skill",
@@ -361,6 +537,10 @@
361
537
  "email response",
362
538
  "draft email",
363
539
  "respond to email"
540
+ ],
541
+ "files": [
542
+ "execute.sh",
543
+ "SKILL.md"
364
544
  ]
365
545
  }
366
546
  },
@@ -384,12 +564,12 @@
384
564
  "downloads": 0,
385
565
  "rating": 0,
386
566
  "createdAt": "2026-02-22T23:57:06.027Z",
387
- "updatedAt": "2026-02-22T23:57:06.027Z",
567
+ "updatedAt": "2026-09-24T19:55:44.195Z",
388
568
  "source": "config/skills/agent/marketplace/env-setup-checker",
389
569
  "assets": {
390
570
  "archive": "config/skills/agent/marketplace/env-setup-checker",
391
571
  "checksum": "",
392
- "sizeBytes": 5610
572
+ "sizeBytes": 5447
393
573
  },
394
574
  "metadata": {
395
575
  "skillType": "claude-skill",
@@ -407,6 +587,10 @@
407
587
  "setup check",
408
588
  "verify setup",
409
589
  "health check"
590
+ ],
591
+ "files": [
592
+ "execute.sh",
593
+ "SKILL.md"
410
594
  ]
411
595
  }
412
596
  },
@@ -429,12 +613,12 @@
429
613
  "downloads": 0,
430
614
  "rating": 0,
431
615
  "createdAt": "2026-02-22T23:57:06.027Z",
432
- "updatedAt": "2026-02-22T23:57:06.027Z",
616
+ "updatedAt": "2026-09-24T19:55:44.195Z",
433
617
  "source": "config/skills/agent/marketplace/feedback-analyzer",
434
618
  "assets": {
435
619
  "archive": "config/skills/agent/marketplace/feedback-analyzer",
436
620
  "checksum": "",
437
- "sizeBytes": 11779
621
+ "sizeBytes": 11626
438
622
  },
439
623
  "metadata": {
440
624
  "skillType": "claude-skill",
@@ -449,6 +633,58 @@
449
633
  "customer feedback",
450
634
  "feedback analysis",
451
635
  "sentiment analysis"
636
+ ],
637
+ "files": [
638
+ "execute.sh",
639
+ "SKILL.md"
640
+ ]
641
+ }
642
+ },
643
+ {
644
+ "id": "gemini-video",
645
+ "type": "skill",
646
+ "name": "Gemini Video Understanding",
647
+ "description": "Analyze videos using Google's Gemini API. Supports YouTube URLs (direct analysis) and local video files (upload via Files API). Produces summaries, key points, transcript highlights, and answers questions about video content.",
648
+ "author": "Crewly Team",
649
+ "version": "1.0.0",
650
+ "category": "development",
651
+ "tags": [
652
+ "video",
653
+ "analysis",
654
+ "youtube",
655
+ "gemini",
656
+ "ai",
657
+ "content",
658
+ "summary"
659
+ ],
660
+ "license": "MIT",
661
+ "downloads": 0,
662
+ "rating": 0,
663
+ "createdAt": "2026-02-28T00:00:00.000Z",
664
+ "updatedAt": "2026-09-24T19:55:44.195Z",
665
+ "source": "config/skills/agent/marketplace/gemini-video",
666
+ "assets": {
667
+ "archive": "config/skills/agent/marketplace/gemini-video",
668
+ "checksum": "",
669
+ "sizeBytes": 11751
670
+ },
671
+ "metadata": {
672
+ "skillType": "claude-skill",
673
+ "assignableRoles": [
674
+ "developer",
675
+ "researcher",
676
+ "content"
677
+ ],
678
+ "triggers": [
679
+ "analyze video",
680
+ "video summary",
681
+ "youtube analysis",
682
+ "video understanding",
683
+ "gemini video"
684
+ ],
685
+ "files": [
686
+ "execute.sh",
687
+ "SKILL.md"
452
688
  ]
453
689
  }
454
690
  },
@@ -470,12 +706,12 @@
470
706
  "downloads": 0,
471
707
  "rating": 0,
472
708
  "createdAt": "2026-02-22T23:57:06.027Z",
473
- "updatedAt": "2026-02-22T23:57:06.027Z",
709
+ "updatedAt": "2026-09-24T19:55:44.195Z",
474
710
  "source": "config/skills/agent/marketplace/git-commit-helper",
475
711
  "assets": {
476
712
  "archive": "config/skills/agent/marketplace/git-commit-helper",
477
713
  "checksum": "",
478
- "sizeBytes": 4226
714
+ "sizeBytes": 4080
479
715
  },
480
716
  "metadata": {
481
717
  "skillType": "claude-skill",
@@ -491,22 +727,28 @@
491
727
  "git commit",
492
728
  "conventional commit",
493
729
  "commit changes"
730
+ ],
731
+ "files": [
732
+ "execute.sh",
733
+ "SKILL.md"
494
734
  ]
495
735
  }
496
736
  },
497
737
  {
498
738
  "id": "gmail",
499
739
  "type": "skill",
500
- "name": "Gmail Suite",
501
- "description": "Multi-action Gmail skill for agents \u2014 list/read/search/send messages, manage labels (add/remove/list), and toggle read/unread. Requires a google-oauth credential bound to the 'gmail' slot with gmail.modify scope.",
740
+ "name": "Gmail",
741
+ "description": "Multi-action Gmail skill for agents — list/read/search/send messages, manage labels (add/remove/list), and toggle read/unread. Requires a google-oauth credential bound to the 'gmail' slot with gmail.modify scope.",
502
742
  "author": "Crewly Team",
503
743
  "version": "1.1.0",
504
744
  "category": "communication",
505
745
  "tags": [
506
- "email",
507
746
  "gmail",
747
+ "email",
748
+ "oauth",
508
749
  "google",
509
- "communication",
750
+ "send",
751
+ "search",
510
752
  "labels",
511
753
  "modify"
512
754
  ],
@@ -514,7 +756,7 @@
514
756
  "downloads": 0,
515
757
  "rating": 0,
516
758
  "createdAt": "2026-04-25T00:15:10.000Z",
517
- "updatedAt": "2026-04-25T00:15:10.000Z",
759
+ "updatedAt": "2026-09-24T19:55:44.195Z",
518
760
  "source": "config/skills/agent/marketplace/gmail",
519
761
  "assets": {
520
762
  "archive": "config/skills/agent/marketplace/gmail",
@@ -524,20 +766,17 @@
524
766
  "metadata": {
525
767
  "skillType": "claude-skill",
526
768
  "assignableRoles": [
527
- "generalist",
528
- "support",
529
- "sales",
530
- "product-manager",
531
- "developer",
532
769
  "orchestrator",
533
770
  "assistant"
534
771
  ],
535
772
  "triggers": [
536
- "send an email",
537
- "check my gmail",
538
- "search emails",
539
- "read email content",
540
- "list recent messages",
773
+ "send email",
774
+ "reply to email",
775
+ "search gmail",
776
+ "list emails",
777
+ "read email",
778
+ "check inbox",
779
+ "find email",
541
780
  "mark email as read",
542
781
  "mark email as unread",
543
782
  "add label to email",
@@ -545,13 +784,54 @@
545
784
  "list gmail labels"
546
785
  ],
547
786
  "files": [
548
- "skill.json",
787
+ "execute.sh",
549
788
  "instructions.md",
789
+ "skill.json",
790
+ "SKILL.md"
791
+ ]
792
+ }
793
+ },
794
+ {
795
+ "id": "gmail-reader",
796
+ "type": "skill",
797
+ "name": "Gmail Reader",
798
+ "description": "List unread emails from a Google account's inbox. Requires a google-oauth credential bound to the 'gmail' slot with gmail.readonly scope.",
799
+ "author": "Crewly Team",
800
+ "version": "1.0.0",
801
+ "category": "communication",
802
+ "tags": [
803
+ "gmail",
804
+ "email",
805
+ "oauth",
806
+ "google"
807
+ ],
808
+ "license": "MIT",
809
+ "downloads": 0,
810
+ "rating": 0,
811
+ "createdAt": "2026-09-24T19:40:56.903Z",
812
+ "updatedAt": "2026-09-24T19:55:44.195Z",
813
+ "source": "config/skills/agent/marketplace/gmail-reader",
814
+ "assets": {
815
+ "archive": "config/skills/agent/marketplace/gmail-reader",
816
+ "checksum": "",
817
+ "sizeBytes": 7703
818
+ },
819
+ "metadata": {
820
+ "skillType": "claude-skill",
821
+ "assignableRoles": [
822
+ "orchestrator",
823
+ "assistant"
824
+ ],
825
+ "triggers": [
826
+ "read gmail",
827
+ "unread emails",
828
+ "check inbox",
829
+ "list emails",
830
+ "my unread messages"
831
+ ],
832
+ "files": [
550
833
  "execute.sh",
551
- "SKILL.md",
552
- "execute.test.sh",
553
- "execute.live.test.sh",
554
- "mock-gmail-server.py"
834
+ "SKILL.md"
555
835
  ]
556
836
  }
557
837
  },
@@ -574,12 +854,12 @@
574
854
  "downloads": 0,
575
855
  "rating": 0,
576
856
  "createdAt": "2026-02-22T23:57:06.027Z",
577
- "updatedAt": "2026-02-22T23:57:06.027Z",
857
+ "updatedAt": "2026-09-24T19:55:44.195Z",
578
858
  "source": "config/skills/agent/marketplace/marketplace-publish",
579
859
  "assets": {
580
860
  "archive": "config/skills/agent/marketplace/marketplace-publish",
581
861
  "checksum": "",
582
- "sizeBytes": 9815
862
+ "sizeBytes": 10263
583
863
  },
584
864
  "metadata": {
585
865
  "skillType": "claude-skill",
@@ -596,6 +876,10 @@
596
876
  "marketplace publish",
597
877
  "package skill",
598
878
  "share skill"
879
+ ],
880
+ "files": [
881
+ "execute.sh",
882
+ "SKILL.md"
599
883
  ]
600
884
  }
601
885
  },
@@ -619,12 +903,12 @@
619
903
  "downloads": 0,
620
904
  "rating": 0,
621
905
  "createdAt": "2026-02-22T23:57:06.027Z",
622
- "updatedAt": "2026-02-22T23:57:06.027Z",
906
+ "updatedAt": "2026-09-24T19:55:44.195Z",
623
907
  "source": "config/skills/agent/marketplace/nano-banana-image",
624
908
  "assets": {
625
909
  "archive": "config/skills/agent/marketplace/nano-banana-image",
626
910
  "checksum": "",
627
- "sizeBytes": 4632
911
+ "sizeBytes": 3944
628
912
  },
629
913
  "metadata": {
630
914
  "skillType": "claude-skill",
@@ -639,9 +923,9 @@
639
923
  "ai image"
640
924
  ],
641
925
  "files": [
642
- "skill.json",
926
+ ".env.example",
643
927
  "generate.sh",
644
- "instructions.md"
928
+ "SKILL.md"
645
929
  ]
646
930
  }
647
931
  },
@@ -665,12 +949,12 @@
665
949
  "downloads": 0,
666
950
  "rating": 0,
667
951
  "createdAt": "2026-02-28T00:00:00.000Z",
668
- "updatedAt": "2026-02-28T00:00:00.000Z",
952
+ "updatedAt": "2026-09-24T19:55:44.195Z",
669
953
  "source": "config/skills/agent/marketplace/notebooklm",
670
954
  "assets": {
671
955
  "archive": "config/skills/agent/marketplace/notebooklm",
672
956
  "checksum": "",
673
- "sizeBytes": 5000
957
+ "sizeBytes": 2702
674
958
  },
675
959
  "metadata": {
676
960
  "skillType": "mcp-skill",
@@ -688,6 +972,10 @@
688
972
  "create notebook",
689
973
  "audio overview",
690
974
  "research notebook"
975
+ ],
976
+ "files": [
977
+ "execute.sh",
978
+ "SKILL.md"
691
979
  ]
692
980
  }
693
981
  },
@@ -712,16 +1000,15 @@
712
1000
  "downloads": 0,
713
1001
  "rating": 0,
714
1002
  "createdAt": "2026-02-22T23:57:06.027Z",
715
- "updatedAt": "2026-02-22T23:57:06.027Z",
1003
+ "updatedAt": "2026-09-24T19:55:44.195Z",
716
1004
  "source": "config/skills/agent/marketplace/playwright-chrome-browser",
717
1005
  "assets": {
718
1006
  "archive": "config/skills/agent/marketplace/playwright-chrome-browser",
719
1007
  "checksum": "",
720
- "sizeBytes": 5112
1008
+ "sizeBytes": 4667
721
1009
  },
722
1010
  "metadata": {
723
1011
  "skillType": "mcp",
724
- "assignableRoles": [],
725
1012
  "triggers": [
726
1013
  "playwright",
727
1014
  "browser",
@@ -733,8 +1020,7 @@
733
1020
  "headless"
734
1021
  ],
735
1022
  "files": [
736
- "skill.json",
737
- "instructions.md"
1023
+ "SKILL.md"
738
1024
  ]
739
1025
  }
740
1026
  },
@@ -756,12 +1042,12 @@
756
1042
  "downloads": 0,
757
1043
  "rating": 0,
758
1044
  "createdAt": "2026-02-22T23:57:06.027Z",
759
- "updatedAt": "2026-02-22T23:57:06.027Z",
1045
+ "updatedAt": "2026-09-24T19:55:44.195Z",
760
1046
  "source": "config/skills/agent/marketplace/readme-generator",
761
1047
  "assets": {
762
1048
  "archive": "config/skills/agent/marketplace/readme-generator",
763
1049
  "checksum": "",
764
- "sizeBytes": 4725
1050
+ "sizeBytes": 4574
765
1051
  },
766
1052
  "metadata": {
767
1053
  "skillType": "claude-skill",
@@ -778,16 +1064,20 @@
778
1064
  "create readme",
779
1065
  "readme",
780
1066
  "project docs"
1067
+ ],
1068
+ "files": [
1069
+ "execute.sh",
1070
+ "SKILL.md"
781
1071
  ]
782
1072
  }
783
1073
  },
784
1074
  {
785
1075
  "id": "rednote-reader",
786
1076
  "type": "skill",
787
- "name": "RedNote (\u5c0f\u7ea2\u4e66) Reader",
788
- "description": "Read content from the \u5c0f\u7ea2\u4e66 (RedNote) macOS iPad app via Accessibility API. Extracts feed posts, titles, authors, like counts, and navigation structure without screenshots.",
1077
+ "name": "RedNote (小红书) Reader",
1078
+ "description": "Read content from 小红书 (RedNote) iPad app on macOS via Accessibility API + screencapture. Actions: feed (read posts), scroll-feed, nav, screenshot (capture window), search (type keyword), tap (click coordinates), read-detail (screenshot + text), goto-profile (navigate to user profile by username). Zero network requests — cannot trigger account bans.",
789
1079
  "author": "Crewly Team",
790
- "version": "1.0.0",
1080
+ "version": "3.0.0",
791
1081
  "category": "automation",
792
1082
  "tags": [
793
1083
  "automation",
@@ -795,18 +1085,19 @@
795
1085
  "xiaohongshu",
796
1086
  "accessibility",
797
1087
  "content-reading",
798
- "macos"
1088
+ "macos",
1089
+ "screenshot"
799
1090
  ],
800
1091
  "license": "MIT",
801
1092
  "downloads": 0,
802
1093
  "rating": 0,
803
1094
  "createdAt": "2026-02-22T23:57:06.027Z",
804
- "updatedAt": "2026-02-22T23:57:06.027Z",
1095
+ "updatedAt": "2026-09-24T19:55:44.195Z",
805
1096
  "source": "config/skills/agent/marketplace/rednote-reader",
806
1097
  "assets": {
807
1098
  "archive": "config/skills/agent/marketplace/rednote-reader",
808
1099
  "checksum": "",
809
- "sizeBytes": 15855
1100
+ "sizeBytes": 60050
810
1101
  },
811
1102
  "metadata": {
812
1103
  "skillType": "claude-skill",
@@ -816,62 +1107,67 @@
816
1107
  ],
817
1108
  "triggers": [
818
1109
  "rednote",
819
- "\u5c0f\u7ea2\u4e66",
1110
+ "小红书",
820
1111
  "xiaohongshu",
821
1112
  "red note",
822
1113
  "discover app",
823
1114
  "read rednote"
1115
+ ],
1116
+ "files": [
1117
+ "execute.sh",
1118
+ "SKILL.md"
824
1119
  ]
825
1120
  }
826
1121
  },
827
1122
  {
828
- "id": "agent-send-pdf-to-slack",
1123
+ "id": "remotion-video",
829
1124
  "type": "skill",
830
- "name": "Send PDF to Slack",
831
- "description": "Convert a markdown file to PDF and upload it to a Slack channel.",
1125
+ "name": "Remotion Video Generator",
1126
+ "description": "Generate motion graphic videos programmatically using Remotion and React. Supports template-based video creation with customizable text, colors, images, and transitions. Renders to MP4 locally.",
832
1127
  "author": "Crewly Team",
833
1128
  "version": "1.0.0",
834
- "category": "communication",
1129
+ "category": "development",
835
1130
  "tags": [
836
- "communication",
837
- "slack",
838
- "pdf",
839
- "markdown",
840
- "export"
1131
+ "video",
1132
+ "remotion",
1133
+ "react",
1134
+ "motion-graphics",
1135
+ "animation",
1136
+ "mp4",
1137
+ "content"
841
1138
  ],
842
1139
  "license": "MIT",
843
1140
  "downloads": 0,
844
1141
  "rating": 0,
845
- "createdAt": "2026-02-22T23:57:06.027Z",
846
- "updatedAt": "2026-02-22T23:57:06.027Z",
847
- "source": "config/skills/agent/marketplace/send-pdf-to-slack",
1142
+ "createdAt": "2026-02-28T00:00:00.000Z",
1143
+ "updatedAt": "2026-09-24T19:55:44.195Z",
1144
+ "source": "config/skills/agent/marketplace/remotion-video",
848
1145
  "assets": {
849
- "archive": "config/skills/agent/marketplace/send-pdf-to-slack",
1146
+ "archive": "config/skills/agent/marketplace/remotion-video",
850
1147
  "checksum": "",
851
- "sizeBytes": 8313
1148
+ "sizeBytes": 11133
852
1149
  },
853
1150
  "metadata": {
854
1151
  "skillType": "claude-skill",
855
1152
  "assignableRoles": [
856
1153
  "developer",
857
- "qa",
858
- "tpm",
859
1154
  "designer",
860
- "frontend-developer",
861
- "backend-developer",
862
- "fullstack-dev",
863
- "qa-engineer",
864
- "product-manager",
865
- "architect",
1155
+ "content",
866
1156
  "generalist",
867
- "sales",
868
- "support"
1157
+ "product-manager"
869
1158
  ],
870
1159
  "triggers": [
871
- "send pdf",
872
- "pdf to slack",
873
- "markdown to pdf",
874
- "export pdf"
1160
+ "create video",
1161
+ "generate video",
1162
+ "motion graphics",
1163
+ "remotion",
1164
+ "launch video",
1165
+ "promo video",
1166
+ "video animation"
1167
+ ],
1168
+ "files": [
1169
+ "execute.sh",
1170
+ "SKILL.md"
875
1171
  ]
876
1172
  }
877
1173
  },
@@ -894,12 +1190,12 @@
894
1190
  "downloads": 0,
895
1191
  "rating": 0,
896
1192
  "createdAt": "2026-02-22T23:57:06.027Z",
897
- "updatedAt": "2026-02-22T23:57:06.027Z",
1193
+ "updatedAt": "2026-09-24T19:55:44.195Z",
898
1194
  "source": "config/skills/agent/marketplace/seo-blog-writer",
899
1195
  "assets": {
900
1196
  "archive": "config/skills/agent/marketplace/seo-blog-writer",
901
1197
  "checksum": "",
902
- "sizeBytes": 10529
1198
+ "sizeBytes": 10386
903
1199
  },
904
1200
  "metadata": {
905
1201
  "skillType": "claude-skill",
@@ -915,16 +1211,20 @@
915
1211
  "seo blog",
916
1212
  "content writing",
917
1213
  "blog outline"
1214
+ ],
1215
+ "files": [
1216
+ "execute.sh",
1217
+ "SKILL.md"
918
1218
  ]
919
1219
  }
920
1220
  },
921
1221
  {
922
1222
  "id": "social-media-post",
923
1223
  "type": "skill",
924
- "name": "Social Media Post Generator",
925
- "description": "Generate platform-optimized social media posts for Twitter/X, LinkedIn, and Reddit from a topic or content summary.",
1224
+ "name": "Social Media Draft Generator",
1225
+ "description": "Generate platform-optimized social media DRAFTS for Twitter/X, LinkedIn, and Reddit. DRAFT ONLY — X/Twitter posts must be manually published by Steve (Tier B asset, unauthorized publishing = P0 incident).",
926
1226
  "author": "Crewly Team",
927
- "version": "1.0.0",
1227
+ "version": "1.1.0",
928
1228
  "category": "development",
929
1229
  "tags": [
930
1230
  "social-media",
@@ -938,12 +1238,12 @@
938
1238
  "downloads": 0,
939
1239
  "rating": 0,
940
1240
  "createdAt": "2026-02-22T23:57:06.027Z",
941
- "updatedAt": "2026-02-22T23:57:06.027Z",
1241
+ "updatedAt": "2026-09-24T19:55:44.195Z",
942
1242
  "source": "config/skills/agent/marketplace/social-media-post",
943
1243
  "assets": {
944
1244
  "archive": "config/skills/agent/marketplace/social-media-post",
945
1245
  "checksum": "",
946
- "sizeBytes": 9858
1246
+ "sizeBytes": 10438
947
1247
  },
948
1248
  "metadata": {
949
1249
  "skillType": "claude-skill",
@@ -959,160 +1259,10 @@
959
1259
  "linkedin post",
960
1260
  "social post",
961
1261
  "create post"
962
- ]
963
- }
964
- },
965
- {
966
- "id": "browse-stealth",
967
- "type": "skill",
968
- "name": "Stealth Browser (Patchright + CDP)",
969
- "description": "Anti-detection browser automation using Patchright (Playwright fork) connected to a real Chrome instance via CDP. Bypasses navigator.webdriver checks, fingerprint anomalies, and headless detection used by platforms like \u5c0f\u7ea2\u4e66, X/Twitter, and LinkedIn.",
970
- "author": "Crewly Team",
971
- "version": "1.0.0",
972
- "category": "automation",
973
- "tags": [
974
- "browser",
975
- "stealth",
976
- "patchright",
977
- "cdp",
978
- "anti-detection",
979
- "automation"
980
- ],
981
- "license": "MIT",
982
- "downloads": 0,
983
- "rating": 0,
984
- "createdAt": "2026-02-28T00:00:00.000Z",
985
- "updatedAt": "2026-02-28T00:00:00.000Z",
986
- "source": "config/skills/agent/browse-stealth",
987
- "assets": {
988
- "archive": "config/skills/agent/browse-stealth",
989
- "checksum": "",
990
- "sizeBytes": 20000
991
- },
992
- "metadata": {
993
- "skillType": "claude-skill",
994
- "assignableRoles": [
995
- "developer",
996
- "qa",
997
- "qa-engineer",
998
- "fullstack-dev",
999
- "backend-developer",
1000
- "frontend-developer",
1001
- "generalist",
1002
- "ops",
1003
- "content-strategist"
1004
- ],
1005
- "triggers": [
1006
- "stealth browse",
1007
- "browse stealth",
1008
- "anti-detection",
1009
- "xiaohongshu",
1010
- "rednote browse",
1011
- "patchright",
1012
- "cdp browse",
1013
- "stealth scrape"
1014
1262
  ],
1015
1263
  "files": [
1016
- "skill.json",
1017
1264
  "execute.sh",
1018
- "instructions.md",
1019
- "launch-chrome-cdp.sh",
1020
- "stealth-browse.py"
1021
- ]
1022
- }
1023
- },
1024
- {
1025
- "id": "remotion-video",
1026
- "type": "skill",
1027
- "name": "Remotion Video Generator",
1028
- "description": "Generate motion graphic videos programmatically using Remotion and React. Supports template-based video creation with customizable text, colors, images, and transitions. Renders to MP4 locally.",
1029
- "author": "Crewly Team",
1030
- "version": "1.0.0",
1031
- "category": "content",
1032
- "tags": [
1033
- "video",
1034
- "remotion",
1035
- "react",
1036
- "motion-graphics",
1037
- "animation",
1038
- "mp4",
1039
- "content"
1040
- ],
1041
- "license": "MIT",
1042
- "downloads": 0,
1043
- "rating": 0,
1044
- "createdAt": "2026-02-28T00:00:00.000Z",
1045
- "updatedAt": "2026-02-28T00:00:00.000Z",
1046
- "source": "config/skills/agent/marketplace/remotion-video",
1047
- "assets": {
1048
- "archive": "config/skills/agent/marketplace/remotion-video",
1049
- "checksum": "",
1050
- "sizeBytes": 25000
1051
- },
1052
- "metadata": {
1053
- "skillType": "claude-skill",
1054
- "assignableRoles": [
1055
- "developer",
1056
- "designer",
1057
- "content",
1058
- "generalist",
1059
- "product-manager"
1060
- ],
1061
- "triggers": [
1062
- "create video",
1063
- "generate video",
1064
- "motion graphics",
1065
- "remotion",
1066
- "launch video",
1067
- "promo video",
1068
- "video animation"
1069
- ]
1070
- }
1071
- },
1072
- {
1073
- "id": "gemini-video",
1074
- "type": "skill",
1075
- "name": "Gemini Video Understanding",
1076
- "description": "Analyze videos using Google's Gemini API. Supports YouTube URLs (direct analysis) and local video files (upload via Files API). Produces summaries, key points, transcript highlights, and Q&A.",
1077
- "author": "Crewly Team",
1078
- "version": "1.0.0",
1079
- "category": "content",
1080
- "tags": [
1081
- "video",
1082
- "analysis",
1083
- "youtube",
1084
- "gemini",
1085
- "ai",
1086
- "content",
1087
- "summary"
1088
- ],
1089
- "license": "MIT",
1090
- "downloads": 0,
1091
- "rating": 0,
1092
- "createdAt": "2026-02-28T00:00:00.000Z",
1093
- "updatedAt": "2026-02-28T00:00:00.000Z",
1094
- "source": "config/skills/agent/marketplace/gemini-video",
1095
- "assets": {
1096
- "archive": "config/skills/agent/marketplace/gemini-video",
1097
- "checksum": "",
1098
- "sizeBytes": 8500
1099
- },
1100
- "metadata": {
1101
- "skillType": "claude-skill",
1102
- "assignableRoles": [
1103
- "developer",
1104
- "researcher",
1105
- "content",
1106
- "product-manager",
1107
- "generalist"
1108
- ],
1109
- "triggers": [
1110
- "analyze video",
1111
- "video summary",
1112
- "youtube analysis",
1113
- "video understanding",
1114
- "gemini video",
1115
- "watch video"
1265
+ "SKILL.md"
1116
1266
  ]
1117
1267
  }
1118
1268
  },
@@ -1136,12 +1286,12 @@
1136
1286
  "downloads": 0,
1137
1287
  "rating": 0,
1138
1288
  "createdAt": "2026-02-22T23:57:06.027Z",
1139
- "updatedAt": "2026-02-22T23:57:06.027Z",
1289
+ "updatedAt": "2026-09-24T19:55:44.195Z",
1140
1290
  "source": "config/skills/agent/marketplace/test-runner",
1141
1291
  "assets": {
1142
1292
  "archive": "config/skills/agent/marketplace/test-runner",
1143
1293
  "checksum": "",
1144
- "sizeBytes": 4929
1294
+ "sizeBytes": 4794
1145
1295
  },
1146
1296
  "metadata": {
1147
1297
  "skillType": "claude-skill",
@@ -1160,52 +1310,60 @@
1160
1310
  "test runner",
1161
1311
  "execute tests",
1162
1312
  "check tests"
1313
+ ],
1314
+ "files": [
1315
+ "execute.sh",
1316
+ "SKILL.md"
1163
1317
  ]
1164
1318
  }
1165
1319
  },
1166
1320
  {
1167
- "id": "decompose-okr",
1321
+ "id": "xhs-downloader",
1168
1322
  "type": "skill",
1169
- "name": "Decompose OKR",
1170
- "description": "Decompose a parent Mission (OKR) into child OKRs one cascade tier down (company\u2192team\u2192project) as a proposal. Children are created as pending_approval and are NOT active until the human owner approves. Emits an [APPROVE] block for the owner's decision.",
1323
+ "name": "XHS (小红书) Note Downloader",
1324
+ "description": "Download images and videos from 小红书 (RedNote/XHS) share links. Pass a URL or xhslink.com short link; returns downloaded file paths + metadata (title, author, type). Uses XHS-Downloader Python library — no account login required.",
1171
1325
  "author": "Crewly Team",
1172
1326
  "version": "1.0.0",
1173
- "category": "planning",
1327
+ "category": "automation",
1174
1328
  "tags": [
1175
- "okr",
1176
- "cascade",
1177
- "mission",
1178
- "planning",
1179
- "proposal",
1180
- "approval"
1329
+ "automation",
1330
+ "rednote",
1331
+ "xiaohongshu",
1332
+ "download",
1333
+ "media",
1334
+ "images",
1335
+ "video"
1181
1336
  ],
1182
1337
  "license": "MIT",
1183
1338
  "downloads": 0,
1184
1339
  "rating": 0,
1185
- "createdAt": "2026-05-30T00:00:00.000Z",
1186
- "updatedAt": "2026-05-30T00:00:00.000Z",
1187
- "source": "config/skills/orchestrator/decompose-okr",
1340
+ "createdAt": "2026-09-24T19:40:56.903Z",
1341
+ "updatedAt": "2026-09-24T19:55:44.195Z",
1342
+ "source": "config/skills/agent/marketplace/xhs-downloader",
1188
1343
  "assets": {
1189
- "archive": "config/skills/orchestrator/decompose-okr",
1344
+ "archive": "config/skills/agent/marketplace/xhs-downloader",
1190
1345
  "checksum": "",
1191
- "sizeBytes": 6000
1346
+ "sizeBytes": 9369
1192
1347
  },
1193
1348
  "metadata": {
1194
1349
  "skillType": "claude-skill",
1195
1350
  "assignableRoles": [
1196
- "orchestrator",
1197
- "team-leader"
1351
+ "generalist",
1352
+ "researcher"
1198
1353
  ],
1199
1354
  "triggers": [
1200
- "decompose okr",
1201
- "cascade okr",
1202
- "propose child okrs",
1203
- "break okr into team okrs",
1204
- "okr decomposition"
1355
+ "download xhs",
1356
+ "download rednote",
1357
+ "下载小红书",
1358
+ "xhs download",
1359
+ "save rednote note",
1360
+ "保存小红书笔记"
1205
1361
  ],
1206
1362
  "files": [
1207
- "SKILL.md",
1208
- "execute.sh"
1363
+ "download.py",
1364
+ "execute.sh",
1365
+ "instructions.md",
1366
+ "skill.json"
1209
1367
  ]
1210
1368
  }
1211
1369
  }