879 lines
30 KiB
JSON
879 lines
30 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"packageName": "@paperclipai/skills-catalog",
|
|
"packageVersion": "0.3.1",
|
|
"generatedAt": "2026-06-04T19:57:14.020Z",
|
|
"skills": [
|
|
{
|
|
"id": "paperclipai:bundled:docs:doc-maintenance",
|
|
"key": "paperclipai/bundled/docs/doc-maintenance",
|
|
"kind": "bundled",
|
|
"category": "docs",
|
|
"slug": "doc-maintenance",
|
|
"name": "doc-maintenance",
|
|
"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.",
|
|
"path": "catalog/bundled/docs/doc-maintenance",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"engineer",
|
|
"product",
|
|
"devrel"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"docs",
|
|
"documentation",
|
|
"release-notes"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 4478,
|
|
"sha256": "fb0353386c5e5e5e13bcbb3233f044e3dccecf371f429d6328f26c26d7cb6169"
|
|
}
|
|
],
|
|
"contentHash": "sha256:2e02299210fd17c1fe1867b4ee8c144a11b6fe1fe481f83b8268cfbaaf10f9aa"
|
|
},
|
|
{
|
|
"id": "paperclipai:bundled:paperclip-operations:issue-triage",
|
|
"key": "paperclipai/bundled/paperclip-operations/issue-triage",
|
|
"kind": "bundled",
|
|
"category": "paperclip-operations",
|
|
"slug": "issue-triage",
|
|
"name": "issue-triage",
|
|
"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).",
|
|
"path": "catalog/bundled/paperclip-operations/issue-triage",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"manager",
|
|
"ceo",
|
|
"engineer"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"paperclip",
|
|
"triage",
|
|
"inbox",
|
|
"workflow"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 4042,
|
|
"sha256": "df5bdc8bf5e017b7ba5f70a4b5323fad51d0c323278f386580f26cf43ad09160"
|
|
}
|
|
],
|
|
"contentHash": "sha256:88dc13560371fb364963782cb4f6eeb4090fcde92ee3774479428ed6b90e11c1"
|
|
},
|
|
{
|
|
"id": "paperclipai:bundled:paperclip-operations:task-planning",
|
|
"key": "paperclipai/bundled/paperclip-operations/task-planning",
|
|
"kind": "bundled",
|
|
"category": "paperclip-operations",
|
|
"slug": "task-planning",
|
|
"name": "task-planning",
|
|
"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.",
|
|
"path": "catalog/bundled/paperclip-operations/task-planning",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"manager",
|
|
"engineer",
|
|
"product"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"paperclip",
|
|
"planning",
|
|
"issues",
|
|
"delegation"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 4649,
|
|
"sha256": "2ff61e12dfaa4cf8cc548529fd176f55f1b1f5292ff9dd3eb2cb331417ab5e4e"
|
|
}
|
|
],
|
|
"contentHash": "sha256:4fb46a4bcefad4fd46fae48c433ee497112509a8e19fb8a7745ead44d219b498"
|
|
},
|
|
{
|
|
"id": "paperclipai:bundled:product:wireframe",
|
|
"key": "paperclipai/bundled/product/wireframe",
|
|
"kind": "bundled",
|
|
"category": "product",
|
|
"slug": "wireframe",
|
|
"name": "wireframe",
|
|
"description": "Produce low-fidelity black-and-white UI wireframes as standalone SVG files, optionally bundled into a single-page HTML viewer and published via the here-now skill. Use when the user asks to \"wireframe X\", \"sketch a screen for\", \"draft a layout\", \"low-fi mockup\", \"rough mock\", \"make a page to view the wireframes\", \"build a viewer for these screens\", or to \"deploy / publish / host the wireframes\". Do NOT use when the user wants production UI code, branded designs, hi-fi mockups, or animated/interactive prototypes — use frontend-design or similar instead.",
|
|
"path": "catalog/bundled/product/wireframe",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "assets",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"designer",
|
|
"product",
|
|
"engineer"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"design",
|
|
"wireframe",
|
|
"ux",
|
|
"prototyping",
|
|
"svg"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 11887,
|
|
"sha256": "a910d038d8cdd13615b82f44a2195b781ebccf01c49f9c58babd43b0701fe644"
|
|
},
|
|
{
|
|
"path": "assets/site-template.html",
|
|
"kind": "asset",
|
|
"sizeBytes": 14791,
|
|
"sha256": "8886ad77c386c17b0457f11624aab136c33db7f28dcd6f10fc18e9d833d0950f"
|
|
},
|
|
{
|
|
"path": "assets/template-mobile.svg",
|
|
"kind": "asset",
|
|
"sizeBytes": 925,
|
|
"sha256": "dc32af257df1f986b87a7b30a6104de825057dc4d6f12b381f5a28308f0002f0"
|
|
},
|
|
{
|
|
"path": "assets/template.svg",
|
|
"kind": "asset",
|
|
"sizeBytes": 1262,
|
|
"sha256": "63f8adb8eb4b21dea6fd442b9e9312704c419535eb577d4ef0bfb54410fd576b"
|
|
},
|
|
{
|
|
"path": "references/components.md",
|
|
"kind": "reference",
|
|
"sizeBytes": 14806,
|
|
"sha256": "4ce18f418d78b13cdfa6fe8070173044a631576cd2b999571e6703f58894496c"
|
|
},
|
|
{
|
|
"path": "references/examples.md",
|
|
"kind": "reference",
|
|
"sizeBytes": 16108,
|
|
"sha256": "18f486e95a578a50cf6c9f93394b82534392771320692e4876edf17054bfae55"
|
|
},
|
|
{
|
|
"path": "references/grid-system.md",
|
|
"kind": "reference",
|
|
"sizeBytes": 4581,
|
|
"sha256": "017260d2216859d57e5fa869e0efc6b88c7ed4d8a8a4f5af04fe89a3ef2445bd"
|
|
}
|
|
],
|
|
"contentHash": "sha256:0bd9a9fdc656d529e3f97c00cd504dcf72d3a4fecb8b0504ca2fe3e00d63287f"
|
|
},
|
|
{
|
|
"id": "paperclipai:bundled:quality:qa-acceptance",
|
|
"key": "paperclipai/bundled/quality/qa-acceptance",
|
|
"kind": "bundled",
|
|
"category": "quality",
|
|
"slug": "qa-acceptance",
|
|
"name": "qa-acceptance",
|
|
"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.",
|
|
"path": "catalog/bundled/quality/qa-acceptance",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"qa",
|
|
"engineer",
|
|
"product"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"qa",
|
|
"acceptance",
|
|
"validation",
|
|
"testing"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 3861,
|
|
"sha256": "c631b437ab26d104af6cdb963d8f679a9341439041b3cb3ec8835f4ff551b378"
|
|
}
|
|
],
|
|
"contentHash": "sha256:32372dacaf62e93454b9855968c4eec96456ba78b509f450b3dfaa48e31ef356"
|
|
},
|
|
{
|
|
"id": "paperclipai:bundled:software-development:github-pr-workflow",
|
|
"key": "paperclipai/bundled/software-development/github-pr-workflow",
|
|
"kind": "bundled",
|
|
"category": "software-development",
|
|
"slug": "github-pr-workflow",
|
|
"name": "github-pr-workflow",
|
|
"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.",
|
|
"path": "catalog/bundled/software-development/github-pr-workflow",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"engineer"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"github",
|
|
"pull-requests",
|
|
"code-review",
|
|
"release"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 3970,
|
|
"sha256": "f498ec4ebb1779dea37adeb1db8a8b22316282798e35ee02e2fc5ff627d7e261"
|
|
}
|
|
],
|
|
"contentHash": "sha256:90f278c89aa0711be150c1cd2456ca25620d02f36995b113ca9837d756a37f6c"
|
|
},
|
|
{
|
|
"id": "paperclipai:optional:browser:agent-browser",
|
|
"key": "paperclipai/optional/browser/agent-browser",
|
|
"kind": "optional",
|
|
"category": "browser",
|
|
"slug": "agent-browser",
|
|
"name": "agent-browser",
|
|
"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.",
|
|
"path": "catalog/optional/browser/agent-browser",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"qa",
|
|
"engineer",
|
|
"researcher"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"browser",
|
|
"puppeteer",
|
|
"playwright",
|
|
"verification"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 5133,
|
|
"sha256": "362f7b9d02297782bc6f0c093f495b8a0304a75bcf4b42e5c280a42b1f757b7d"
|
|
}
|
|
],
|
|
"contentHash": "sha256:eabb2c9f7b5e1a27ebb1e05a711d61433a266478154cd671a685e99e67aadea2"
|
|
},
|
|
{
|
|
"id": "paperclipai:optional:content:release-announcement",
|
|
"key": "paperclipai/optional/content/release-announcement",
|
|
"kind": "optional",
|
|
"category": "content",
|
|
"slug": "release-announcement",
|
|
"name": "release-announcement",
|
|
"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.",
|
|
"path": "catalog/optional/content/release-announcement",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"devrel",
|
|
"product",
|
|
"writer"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"release",
|
|
"changelog",
|
|
"announcement",
|
|
"communication"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 4416,
|
|
"sha256": "062810ac34e9edc89efa701fec2eee60f16949d1944cc2cae49803cb91e8cbf4"
|
|
}
|
|
],
|
|
"contentHash": "sha256:f22a9ed696e6614c6db2757a149f48b3295e81f78c27d065d9cb164cf4f8a9bd"
|
|
},
|
|
{
|
|
"id": "paperclipai:optional:product:design-critique",
|
|
"key": "paperclipai/optional/product/design-critique",
|
|
"kind": "optional",
|
|
"category": "product",
|
|
"slug": "design-critique",
|
|
"name": "design-critique",
|
|
"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.",
|
|
"path": "catalog/optional/product/design-critique",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "markdown_only",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"designer",
|
|
"product",
|
|
"engineer"
|
|
],
|
|
"requires": [],
|
|
"tags": [
|
|
"design",
|
|
"product",
|
|
"ux",
|
|
"review"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 4851,
|
|
"sha256": "022e619baf6cc25725946279cb8052d22af090dd6cd6dc8c20f17867f71a5d8e"
|
|
}
|
|
],
|
|
"contentHash": "sha256:429f94df398a0697042b5bbe4755b1ff1a230aa5f41d99118ad37493ac65d21c"
|
|
},
|
|
{
|
|
"id": "paperclipai:optional:research:last30days",
|
|
"key": "paperclipai/optional/research/last30days",
|
|
"kind": "optional",
|
|
"category": "research",
|
|
"slug": "last30days",
|
|
"name": "last30days",
|
|
"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.",
|
|
"path": "catalog/optional/research/last30days",
|
|
"entrypoint": "SKILL.md",
|
|
"trustLevel": "scripts_executables",
|
|
"compatibility": "compatible",
|
|
"defaultInstall": false,
|
|
"recommendedForRoles": [
|
|
"researcher",
|
|
"marketer",
|
|
"product-manager",
|
|
"analyst"
|
|
],
|
|
"requires": [
|
|
"node",
|
|
"python3"
|
|
],
|
|
"tags": [
|
|
"research",
|
|
"last-30-days",
|
|
"social-media",
|
|
"trends",
|
|
"citations",
|
|
"reddit",
|
|
"x",
|
|
"youtube"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "SKILL.md",
|
|
"kind": "skill",
|
|
"sizeBytes": 130813,
|
|
"sha256": "534f0347f304ec51254a7d3a210e07c86cc252175cc6a588e97d32ce94f0f745"
|
|
},
|
|
{
|
|
"path": "agents/openai.yaml",
|
|
"kind": "other",
|
|
"sizeBytes": 448,
|
|
"sha256": "f46e7f09d3118dee7324ac165391ccb7ffe55323d1d75304e34062017913939c"
|
|
},
|
|
{
|
|
"path": "references/save-html-brief.md",
|
|
"kind": "reference",
|
|
"sizeBytes": 5940,
|
|
"sha256": "ca15e03bf63a3af1cfa0347df36b0aee999c6c6c631f31b4171a5df09e765d43"
|
|
},
|
|
{
|
|
"path": "scripts/briefing.py",
|
|
"kind": "script",
|
|
"sizeBytes": 8342,
|
|
"sha256": "d4881d16493f5504c5a947f31ced861d674e2423e5fc668305beaf5e849420b7"
|
|
},
|
|
{
|
|
"path": "scripts/compare.sh",
|
|
"kind": "script",
|
|
"sizeBytes": 2291,
|
|
"sha256": "cdb2538522a60c803aeebc3336673c8702380a902604ad85770206382996a6f5"
|
|
},
|
|
{
|
|
"path": "scripts/last30days.py",
|
|
"kind": "script",
|
|
"sizeBytes": 44282,
|
|
"sha256": "818d6b839eb04417a5d0acf3bee24258fbc70543df968619fd3573597dc88e8e"
|
|
},
|
|
{
|
|
"path": "scripts/lib/__init__.py",
|
|
"kind": "script",
|
|
"sizeBytes": 29,
|
|
"sha256": "3fb925405f898201188f9b5eea04e214ea8c8a64643397fd727f08ffeea234d9"
|
|
},
|
|
{
|
|
"path": "scripts/lib/bird_x.py",
|
|
"kind": "script",
|
|
"sizeBytes": 17960,
|
|
"sha256": "c7cbd33a5b4c317b07eeca7c7e3c1aa57369487cd4cd3602abbe9b6acb019e6a"
|
|
},
|
|
{
|
|
"path": "scripts/lib/bluesky.py",
|
|
"kind": "script",
|
|
"sizeBytes": 12343,
|
|
"sha256": "af7bbaa68f6944a50089447992b95881e15c085de829426360f50740a35cba89"
|
|
},
|
|
{
|
|
"path": "scripts/lib/categories.py",
|
|
"kind": "script",
|
|
"sizeBytes": 7635,
|
|
"sha256": "e4ab8435e09c371f2475751fdc1c58150799b3746afcc7e38d5dad30adb210d5"
|
|
},
|
|
{
|
|
"path": "scripts/lib/chrome_cookies.py",
|
|
"kind": "script",
|
|
"sizeBytes": 10911,
|
|
"sha256": "eeb8f99b92cfc9aa65b20b6dbedfcfd321166f3fa771a95299ffb0b950b1cedc"
|
|
},
|
|
{
|
|
"path": "scripts/lib/cluster.py",
|
|
"kind": "script",
|
|
"sizeBytes": 11018,
|
|
"sha256": "fa9fb8905552e7bb5a2a2854f8b3c620a464054238a008d74ba89d0c247a776e"
|
|
},
|
|
{
|
|
"path": "scripts/lib/competitors.py",
|
|
"kind": "script",
|
|
"sizeBytes": 7332,
|
|
"sha256": "a76c5d679b7f3c93a07e389811f79526f11e1e03411cecd4d9569e3aca32a77d"
|
|
},
|
|
{
|
|
"path": "scripts/lib/cookie_extract.py",
|
|
"kind": "script",
|
|
"sizeBytes": 14450,
|
|
"sha256": "9d34ea3a8565eae8b67f72e8b625c22a29d41274c3b8d6c8b6aa171c18ebad5b"
|
|
},
|
|
{
|
|
"path": "scripts/lib/dates.py",
|
|
"kind": "script",
|
|
"sizeBytes": 3201,
|
|
"sha256": "ae4ec6455021c82ef3321ef5dde6f7ba41e6b91a3e6ff601174ac9aa20e5c8f9"
|
|
},
|
|
{
|
|
"path": "scripts/lib/dedupe.py",
|
|
"kind": "script",
|
|
"sizeBytes": 3315,
|
|
"sha256": "b9acabf496e0743189fbeed43d447280fee17e10a40931f9083d2a1f2894d863"
|
|
},
|
|
{
|
|
"path": "scripts/lib/digg.py",
|
|
"kind": "script",
|
|
"sizeBytes": 13305,
|
|
"sha256": "95a2845d4751efb5738d2a69c7246f8269447395a7da324e0d6ae0feefd7c9d8"
|
|
},
|
|
{
|
|
"path": "scripts/lib/entity_extract.py",
|
|
"kind": "script",
|
|
"sizeBytes": 4211,
|
|
"sha256": "b04103103981915557fd410305f3a8031d5e71d687491ca89976be25d9bc84a4"
|
|
},
|
|
{
|
|
"path": "scripts/lib/env.py",
|
|
"kind": "script",
|
|
"sizeBytes": 25940,
|
|
"sha256": "9ca2e2341565a6c933d51800a510d07b84707825d19234d991eb472454b46933"
|
|
},
|
|
{
|
|
"path": "scripts/lib/fanout.py",
|
|
"kind": "script",
|
|
"sizeBytes": 3155,
|
|
"sha256": "43f21244f9bd1bf143d2f4c478cc2fcc9ffc4e403539e8c08e86e106ed5f0b83"
|
|
},
|
|
{
|
|
"path": "scripts/lib/fusion.py",
|
|
"kind": "script",
|
|
"sizeBytes": 8553,
|
|
"sha256": "c764709a7d4576121c193ae75ded057dd177b6bea512ca57dd72680d74030b41"
|
|
},
|
|
{
|
|
"path": "scripts/lib/github.py",
|
|
"kind": "script",
|
|
"sizeBytes": 34879,
|
|
"sha256": "0f8eb97c20463b975b3bb752d0e3afec98ef853430e495f21fc06f01c27d2baf"
|
|
},
|
|
{
|
|
"path": "scripts/lib/grounding.py",
|
|
"kind": "script",
|
|
"sizeBytes": 11723,
|
|
"sha256": "440386c32afb3c01678fe5dfab197449a9a910018a40cbbc1e9e10ecb9d4843a"
|
|
},
|
|
{
|
|
"path": "scripts/lib/hackernews.py",
|
|
"kind": "script",
|
|
"sizeBytes": 11619,
|
|
"sha256": "95db30a3bf441ee73fb49a04fa8974440e381e56c7d70e87b48e3b69ae0cdfa5"
|
|
},
|
|
{
|
|
"path": "scripts/lib/html_render.py",
|
|
"kind": "script",
|
|
"sizeBytes": 17791,
|
|
"sha256": "5070f6a58d6fcae44a20ecd9108fd204b042bea1d47f8a67efce6d3831aa87ad"
|
|
},
|
|
{
|
|
"path": "scripts/lib/http.py",
|
|
"kind": "script",
|
|
"sizeBytes": 10191,
|
|
"sha256": "760308aa8b8e3abbaa3273a4ca4df5b0bc8cc71ba8864b5740aaac545972731e"
|
|
},
|
|
{
|
|
"path": "scripts/lib/instagram.py",
|
|
"kind": "script",
|
|
"sizeBytes": 18874,
|
|
"sha256": "cda8c8558e6cdc9b4bf3f7bb470c2e223db927acc6a77f139a83ec7987488bb1"
|
|
},
|
|
{
|
|
"path": "scripts/lib/log.py",
|
|
"kind": "script",
|
|
"sizeBytes": 831,
|
|
"sha256": "11c4d61cdb5b1ff91919dcd28ec62ce88e555def30eed62a8071973b5ffe8317"
|
|
},
|
|
{
|
|
"path": "scripts/lib/normalize.py",
|
|
"kind": "script",
|
|
"sizeBytes": 19870,
|
|
"sha256": "e79e294e4ff8ebfa34f7561c63e0846af0380b8be299d484cc8a2f490e82b474"
|
|
},
|
|
{
|
|
"path": "scripts/lib/perplexity.py",
|
|
"kind": "script",
|
|
"sizeBytes": 4789,
|
|
"sha256": "70859e7296035936ae0da441119edfe381158d5d0de06afee87a3504007f91c7"
|
|
},
|
|
{
|
|
"path": "scripts/lib/pinterest.py",
|
|
"kind": "script",
|
|
"sizeBytes": 5366,
|
|
"sha256": "a6ac5085c900072b84930fafab8c81c9e5a792a718c21801d3fa0bd293d279f6"
|
|
},
|
|
{
|
|
"path": "scripts/lib/pipeline.py",
|
|
"kind": "script",
|
|
"sizeBytes": 45491,
|
|
"sha256": "9641f56faff2d685b0c5c483b2113721d151174a2eef265afe644e131c554454"
|
|
},
|
|
{
|
|
"path": "scripts/lib/planner.py",
|
|
"kind": "script",
|
|
"sizeBytes": 30490,
|
|
"sha256": "c0953abea402454a88c2573aa0c97bb6bba4c87e529d9f157a881e15c4123154"
|
|
},
|
|
{
|
|
"path": "scripts/lib/polymarket.py",
|
|
"kind": "script",
|
|
"sizeBytes": 30318,
|
|
"sha256": "cbd54a66988b4ebc4aebf2db6c637d4e516065518c333cd0495332458c2d9080"
|
|
},
|
|
{
|
|
"path": "scripts/lib/preflight.py",
|
|
"kind": "script",
|
|
"sizeBytes": 4541,
|
|
"sha256": "0fafa53bc63a44ad4525d99d6bb37080b0693e2d45265ce36af09b4a0e9b2c9b"
|
|
},
|
|
{
|
|
"path": "scripts/lib/providers.py",
|
|
"kind": "script",
|
|
"sizeBytes": 15817,
|
|
"sha256": "7460004a2e8df0f8c94d764c0eb01f8d782bb160ce2e157105fadd0dd2953a5d"
|
|
},
|
|
{
|
|
"path": "scripts/lib/quality_nudge.py",
|
|
"kind": "script",
|
|
"sizeBytes": 13438,
|
|
"sha256": "69b6d58abea8171c895f105ee62b2db6f7ea35cebbe08d7e6e8884d810891fef"
|
|
},
|
|
{
|
|
"path": "scripts/lib/query.py",
|
|
"kind": "script",
|
|
"sizeBytes": 4018,
|
|
"sha256": "6bc2e0649034cdb28471346a66e2448ba58762cb7774c4fce45c055ab160912a"
|
|
},
|
|
{
|
|
"path": "scripts/lib/reddit_enrich.py",
|
|
"kind": "script",
|
|
"sizeBytes": 9535,
|
|
"sha256": "652a9c5abecf22f3c26ff6d6b732a43703113a559ce31acab7af012eb25d4e7a"
|
|
},
|
|
{
|
|
"path": "scripts/lib/reddit_public.py",
|
|
"kind": "script",
|
|
"sizeBytes": 13066,
|
|
"sha256": "ea25034726aa895c123216e356c03856a8116efedd29620bb2ebc0d01ff4c420"
|
|
},
|
|
{
|
|
"path": "scripts/lib/reddit.py",
|
|
"kind": "script",
|
|
"sizeBytes": 24701,
|
|
"sha256": "dba1019f67f677c869f14a1f892b1562dd10b6f96bffc75ffad37eb4d3bc9877"
|
|
},
|
|
{
|
|
"path": "scripts/lib/relevance.py",
|
|
"kind": "script",
|
|
"sizeBytes": 5941,
|
|
"sha256": "b9f776f9f8e5d4fbf1fcc86f6604bc0c391c988153d3264b8dc431ff34783382"
|
|
},
|
|
{
|
|
"path": "scripts/lib/render.py",
|
|
"kind": "script",
|
|
"sizeBytes": 71577,
|
|
"sha256": "189ffa786428515a3b02f680e71069b7907eaa24c7aadd315e9abaecb0a6a9fc"
|
|
},
|
|
{
|
|
"path": "scripts/lib/rerank.py",
|
|
"kind": "script",
|
|
"sizeBytes": 17106,
|
|
"sha256": "419c52fc08144c41e08f7574093c5b6cd21271900b51680b6393e61441ffea3c"
|
|
},
|
|
{
|
|
"path": "scripts/lib/resolve.py",
|
|
"kind": "script",
|
|
"sizeBytes": 12448,
|
|
"sha256": "b23f3dd54d6ede0986219aacdda81ece72f1a0a629d72a9ec56b24bc645ccb7c"
|
|
},
|
|
{
|
|
"path": "scripts/lib/safari_cookies.py",
|
|
"kind": "script",
|
|
"sizeBytes": 5698,
|
|
"sha256": "4d66c27cbf5725cc7cb815ca42191e70261c52196c2823bab9c6050ca32ccf71"
|
|
},
|
|
{
|
|
"path": "scripts/lib/schema.py",
|
|
"kind": "script",
|
|
"sizeBytes": 11206,
|
|
"sha256": "8d815d3daee8d469e504bb1264fc174af4abc179dd7d1fa87d7313ed01d914c6"
|
|
},
|
|
{
|
|
"path": "scripts/lib/setup_wizard.py",
|
|
"kind": "script",
|
|
"sizeBytes": 18688,
|
|
"sha256": "be0f867e96d15f7458faac2194c444dc0ec9ec4f3c9fe4d74459e083b80c1a73"
|
|
},
|
|
{
|
|
"path": "scripts/lib/signals.py",
|
|
"kind": "script",
|
|
"sizeBytes": 9715,
|
|
"sha256": "4071cf5fa4c99b0ee51d949ca69ec4594d7e1986ec6a8019b55bb877e219d49a"
|
|
},
|
|
{
|
|
"path": "scripts/lib/skill_meta.py",
|
|
"kind": "script",
|
|
"sizeBytes": 1207,
|
|
"sha256": "e922e6ecdb19fa3daf9c6673acb13a9b23f97362eac1cb11211c998dea0fdbd1"
|
|
},
|
|
{
|
|
"path": "scripts/lib/snippet.py",
|
|
"kind": "script",
|
|
"sizeBytes": 1560,
|
|
"sha256": "6bd2143a4264fe11d5be1b805742336ab82397ae0293c13e8b5b3084bfa2612d"
|
|
},
|
|
{
|
|
"path": "scripts/lib/subproc.py",
|
|
"kind": "script",
|
|
"sizeBytes": 2807,
|
|
"sha256": "cf7bf3dcaf79375c5bd014718a8eb5f6565275294eeaa0059fef93d8e4b6452d"
|
|
},
|
|
{
|
|
"path": "scripts/lib/threads.py",
|
|
"kind": "script",
|
|
"sizeBytes": 6728,
|
|
"sha256": "7508629028c3b4a187699797ab0d9e7b179cbae3c53b9fabdaf9d905b1fc2c1d"
|
|
},
|
|
{
|
|
"path": "scripts/lib/tiktok.py",
|
|
"kind": "script",
|
|
"sizeBytes": 20993,
|
|
"sha256": "f0074737c4bbf176118382ad4c0c9e8c8d6f4544bd9fc42d224f7c1da13a8d73"
|
|
},
|
|
{
|
|
"path": "scripts/lib/truthsocial.py",
|
|
"kind": "script",
|
|
"sizeBytes": 5196,
|
|
"sha256": "fd745d0a61b1c69bea813832f3e2c5923b08d476766a378c07f0963b0be2f330"
|
|
},
|
|
{
|
|
"path": "scripts/lib/ui.py",
|
|
"kind": "script",
|
|
"sizeBytes": 25907,
|
|
"sha256": "cdc0ea376fc4ee017449f2aa87a7513add3fa5306f27d4663fb6f7203f12974e"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/bird-search.mjs",
|
|
"kind": "script",
|
|
"sizeBytes": 3998,
|
|
"sha256": "584482e894c38bbde7a915013f741974fa8ea722ac34c56704dccf184f7c3d56"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/cookies.js",
|
|
"kind": "script",
|
|
"sizeBytes": 8153,
|
|
"sha256": "66044440cef3d3b3e3136091b6e224051e8ff97fb1d156f40ccf2d4f3cf203ae"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/features.json",
|
|
"kind": "script",
|
|
"sizeBytes": 523,
|
|
"sha256": "36361f4cae0040255f84709459ebb1f0131566a567269ed7b99d073cad930f66"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/paginate-cursor.js",
|
|
"kind": "script",
|
|
"sizeBytes": 1225,
|
|
"sha256": "5f20227de1d68250ad59b7ad593db4bfb1d0f1a21694963eab3ed413c2d0d5c0"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/query-ids.json",
|
|
"kind": "script",
|
|
"sizeBytes": 815,
|
|
"sha256": "eba47a9d26f87d0b4eb8a4f554833ed8d11b3d8728e363deeae702d09f87fc02"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/runtime-features.js",
|
|
"kind": "script",
|
|
"sizeBytes": 5036,
|
|
"sha256": "f41614d62b6c91dfc85fc4af389e6f49435324bf26460b715a991486609579d8"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/runtime-query-ids.js",
|
|
"kind": "script",
|
|
"sizeBytes": 9424,
|
|
"sha256": "0f5c61dbaad3de7fb44a14c57ed005228e51f9fc361472eff59bff4cb2a1199e"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/twitter-client-base.js",
|
|
"kind": "script",
|
|
"sizeBytes": 4853,
|
|
"sha256": "ea972b7894458e78edd1927d102a052ae45726a7c967b376ac7f5544f5b65499"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/twitter-client-constants.js",
|
|
"kind": "script",
|
|
"sizeBytes": 2535,
|
|
"sha256": "27bd1416ff1f5d4f4516d784a8fb9ee08a87413f07b375752821a32e5b0cd6e3"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/twitter-client-features.js",
|
|
"kind": "script",
|
|
"sizeBytes": 18400,
|
|
"sha256": "4b4f2048069f751a821777cb2084f3b9126d99a958494fef71f0699d8145c4dd"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/twitter-client-search.js",
|
|
"kind": "script",
|
|
"sizeBytes": 7310,
|
|
"sha256": "3dfbe18ea54215d9a6393ff0884d9977dd9ddf0884a06486bdaee8a4e30d4616"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/twitter-client-types.js",
|
|
"kind": "script",
|
|
"sizeBytes": 59,
|
|
"sha256": "6450f74c664db958d703e09288184ef1ca5f622782f9e11a5a9bfa3d3c78c534"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/lib/twitter-client-utils.js",
|
|
"kind": "script",
|
|
"sizeBytes": 19169,
|
|
"sha256": "b230db5583760ccd0b5b5fb1592f449a7d0bc92f6184808e8ffb6f8968df20e9"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/LICENSE",
|
|
"kind": "script",
|
|
"sizeBytes": 1074,
|
|
"sha256": "62316704df7426e5a79d2827ff8aca36e9abb3a73b8e68557030749ebefec667"
|
|
},
|
|
{
|
|
"path": "scripts/lib/vendor/bird-search/package.json",
|
|
"kind": "script",
|
|
"sizeBytes": 331,
|
|
"sha256": "96b65305969a179ee7a7735f1b475599d6035f32fda1fd030ea57ee09380cdb5"
|
|
},
|
|
{
|
|
"path": "scripts/lib/xai_x.py",
|
|
"kind": "script",
|
|
"sizeBytes": 7509,
|
|
"sha256": "6cc244293ed6ea3b0f78a6515b583ff36da96ad30acf1d5457278ab020f1bd47"
|
|
},
|
|
{
|
|
"path": "scripts/lib/xiaohongshu_api.py",
|
|
"kind": "script",
|
|
"sizeBytes": 5321,
|
|
"sha256": "c7a29dfa03f871993dc13a8ad528beed8a648102404b658242ca57878077ef60"
|
|
},
|
|
{
|
|
"path": "scripts/lib/xquik.py",
|
|
"kind": "script",
|
|
"sizeBytes": 6839,
|
|
"sha256": "7c487cb2ba543ff12e38ec6466a2de6ff6762ccd415c1f07093620b49137681a"
|
|
},
|
|
{
|
|
"path": "scripts/lib/xurl_x.py",
|
|
"kind": "script",
|
|
"sizeBytes": 5302,
|
|
"sha256": "8cf6bb235cfc7f39386b282a922487816089fa6ebf4fa49a4d562d95f9686e78"
|
|
},
|
|
{
|
|
"path": "scripts/lib/youtube_yt.py",
|
|
"kind": "script",
|
|
"sizeBytes": 37339,
|
|
"sha256": "787908d06a845ad70654c4939ebabc856311a95b34444f0987ff7ee3db4c0a49"
|
|
},
|
|
{
|
|
"path": "scripts/setup-keychain.sh",
|
|
"kind": "script",
|
|
"sizeBytes": 3229,
|
|
"sha256": "5d2a6b678c905eefe537fbcb98063db3e471c22b7ab4b06d51615d99b14556db"
|
|
},
|
|
{
|
|
"path": "scripts/store.py",
|
|
"kind": "script",
|
|
"sizeBytes": 28534,
|
|
"sha256": "c1e95a00132768e6c38170bee85161a59b5bce3feaa6297a85f1a49d1bfc9fd3"
|
|
},
|
|
{
|
|
"path": "scripts/watchlist.py",
|
|
"kind": "script",
|
|
"sizeBytes": 8929,
|
|
"sha256": "c06378f70f9145f3bd957170dec2549a31463a41b400bbf1ce722911aa2150a1"
|
|
}
|
|
],
|
|
"contentHash": "sha256:9e11e9d2ed3d2062273d131a826cdeedea39bdd269063e2f73ca7f218770c769",
|
|
"source": {
|
|
"type": "github",
|
|
"hostname": "github.com",
|
|
"owner": "mvanhorn",
|
|
"repo": "last30days-skill",
|
|
"ref": "v3.3.0",
|
|
"commit": "daca71f89eb71d0d56d01a43ed7627aa919dba4f",
|
|
"path": "skills/last30days",
|
|
"url": "https://github.com/mvanhorn/last30days-skill/tree/v3.3.0/skills/last30days"
|
|
}
|
|
}
|
|
]
|
|
}
|