skillpack-one 0.1.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/atom-analyze-market/SKILL.md +8 -0
- package/.agents/skills/atom-analyze-market/agents/openai.yaml +7 -0
- package/.agents/skills/atom-analyze-market/skill.contract.yaml +27 -0
- package/.agents/skills/atom-analyze-tabular-data/SKILL.md +8 -0
- package/.agents/skills/atom-analyze-tabular-data/agents/openai.yaml +7 -0
- package/.agents/skills/atom-analyze-tabular-data/skill.contract.yaml +26 -0
- package/.agents/skills/atom-audit-source-security/SKILL.md +8 -0
- package/.agents/skills/atom-audit-source-security/agents/openai.yaml +7 -0
- package/.agents/skills/atom-audit-source-security/skill.contract.yaml +27 -0
- package/.agents/skills/atom-classify-capability/SKILL.md +8 -0
- package/.agents/skills/atom-classify-capability/agents/openai.yaml +7 -0
- package/.agents/skills/atom-classify-capability/skill.contract.yaml +26 -0
- package/.agents/skills/atom-design-automation-workflow/SKILL.md +8 -0
- package/.agents/skills/atom-design-automation-workflow/agents/openai.yaml +7 -0
- package/.agents/skills/atom-design-automation-workflow/skill.contract.yaml +26 -0
- package/.agents/skills/atom-design-interface-spec/SKILL.md +8 -0
- package/.agents/skills/atom-design-interface-spec/agents/openai.yaml +7 -0
- package/.agents/skills/atom-design-interface-spec/skill.contract.yaml +26 -0
- package/.agents/skills/atom-find-research-sources/SKILL.md +8 -0
- package/.agents/skills/atom-find-research-sources/agents/openai.yaml +7 -0
- package/.agents/skills/atom-find-research-sources/skill.contract.yaml +26 -0
- package/.agents/skills/atom-implement-code-change/SKILL.md +8 -0
- package/.agents/skills/atom-implement-code-change/agents/openai.yaml +7 -0
- package/.agents/skills/atom-implement-code-change/skill.contract.yaml +26 -0
- package/.agents/skills/atom-organize-personal-tasks/SKILL.md +8 -0
- package/.agents/skills/atom-organize-personal-tasks/agents/openai.yaml +7 -0
- package/.agents/skills/atom-organize-personal-tasks/skill.contract.yaml +26 -0
- package/.agents/skills/atom-plan-code-change/SKILL.md +8 -0
- package/.agents/skills/atom-plan-code-change/agents/openai.yaml +7 -0
- package/.agents/skills/atom-plan-code-change/skill.contract.yaml +26 -0
- package/.agents/skills/atom-translate-document/SKILL.md +8 -0
- package/.agents/skills/atom-translate-document/agents/openai.yaml +7 -0
- package/.agents/skills/atom-translate-document/skill.contract.yaml +26 -0
- package/.agents/skills/category-automation-operations/SKILL.md +13 -0
- package/.agents/skills/category-automation-operations/agents/openai.yaml +7 -0
- package/.agents/skills/category-automation-operations/references/index.en.md +11 -0
- package/.agents/skills/category-automation-operations/references/index.md +11 -0
- package/.agents/skills/category-automation-operations/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-automation-operations/references/index.zh.md +11 -0
- package/.agents/skills/category-automation-operations/skill.contract.yaml +26 -0
- package/.agents/skills/category-business-growth/SKILL.md +13 -0
- package/.agents/skills/category-business-growth/agents/openai.yaml +7 -0
- package/.agents/skills/category-business-growth/references/index.en.md +11 -0
- package/.agents/skills/category-business-growth/references/index.md +11 -0
- package/.agents/skills/category-business-growth/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-business-growth/references/index.zh.md +11 -0
- package/.agents/skills/category-business-growth/skill.contract.yaml +26 -0
- package/.agents/skills/category-data-analytics/SKILL.md +13 -0
- package/.agents/skills/category-data-analytics/agents/openai.yaml +7 -0
- package/.agents/skills/category-data-analytics/references/index.en.md +11 -0
- package/.agents/skills/category-data-analytics/references/index.md +11 -0
- package/.agents/skills/category-data-analytics/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-data-analytics/references/index.zh.md +11 -0
- package/.agents/skills/category-data-analytics/skill.contract.yaml +26 -0
- package/.agents/skills/category-design-media/SKILL.md +13 -0
- package/.agents/skills/category-design-media/agents/openai.yaml +7 -0
- package/.agents/skills/category-design-media/references/index.en.md +11 -0
- package/.agents/skills/category-design-media/references/index.md +11 -0
- package/.agents/skills/category-design-media/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-design-media/references/index.zh.md +11 -0
- package/.agents/skills/category-design-media/skill.contract.yaml +26 -0
- package/.agents/skills/category-documents-communication/SKILL.md +13 -0
- package/.agents/skills/category-documents-communication/agents/openai.yaml +7 -0
- package/.agents/skills/category-documents-communication/references/index.en.md +11 -0
- package/.agents/skills/category-documents-communication/references/index.md +11 -0
- package/.agents/skills/category-documents-communication/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-documents-communication/references/index.zh.md +11 -0
- package/.agents/skills/category-documents-communication/skill.contract.yaml +26 -0
- package/.agents/skills/category-personal-productivity/SKILL.md +13 -0
- package/.agents/skills/category-personal-productivity/agents/openai.yaml +7 -0
- package/.agents/skills/category-personal-productivity/references/index.en.md +11 -0
- package/.agents/skills/category-personal-productivity/references/index.md +11 -0
- package/.agents/skills/category-personal-productivity/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-personal-productivity/references/index.zh.md +11 -0
- package/.agents/skills/category-personal-productivity/skill.contract.yaml +26 -0
- package/.agents/skills/category-research-knowledge/SKILL.md +13 -0
- package/.agents/skills/category-research-knowledge/agents/openai.yaml +7 -0
- package/.agents/skills/category-research-knowledge/references/index.en.md +14 -0
- package/.agents/skills/category-research-knowledge/references/index.md +14 -0
- package/.agents/skills/category-research-knowledge/references/index.zh-CN.md +14 -0
- package/.agents/skills/category-research-knowledge/references/index.zh.md +14 -0
- package/.agents/skills/category-research-knowledge/skill.contract.yaml +26 -0
- package/.agents/skills/category-security-trust/SKILL.md +13 -0
- package/.agents/skills/category-security-trust/agents/openai.yaml +7 -0
- package/.agents/skills/category-security-trust/references/index.en.md +11 -0
- package/.agents/skills/category-security-trust/references/index.md +11 -0
- package/.agents/skills/category-security-trust/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-security-trust/references/index.zh.md +11 -0
- package/.agents/skills/category-security-trust/skill.contract.yaml +26 -0
- package/.agents/skills/category-skill-agent-governance/SKILL.md +13 -0
- package/.agents/skills/category-skill-agent-governance/agents/openai.yaml +7 -0
- package/.agents/skills/category-skill-agent-governance/references/index.en.md +11 -0
- package/.agents/skills/category-skill-agent-governance/references/index.md +11 -0
- package/.agents/skills/category-skill-agent-governance/references/index.zh-CN.md +11 -0
- package/.agents/skills/category-skill-agent-governance/references/index.zh.md +11 -0
- package/.agents/skills/category-skill-agent-governance/skill.contract.yaml +26 -0
- package/.agents/skills/category-software-engineering/SKILL.md +14 -0
- package/.agents/skills/category-software-engineering/agents/openai.yaml +7 -0
- package/.agents/skills/category-software-engineering/references/index.en.md +17 -0
- package/.agents/skills/category-software-engineering/references/index.md +17 -0
- package/.agents/skills/category-software-engineering/references/index.zh-CN.md +17 -0
- package/.agents/skills/category-software-engineering/references/index.zh.md +17 -0
- package/.agents/skills/category-software-engineering/skill.contract.yaml +26 -0
- package/.agents/skills/meta-skill-governor/SKILL.md +33 -0
- package/.agents/skills/meta-skill-governor/agents/openai.yaml +7 -0
- package/.agents/skills/meta-skill-governor/references/evolution-policy.en.md +8 -0
- package/.agents/skills/meta-skill-governor/references/evolution-policy.zh-CN.md +8 -0
- package/.agents/skills/meta-skill-governor/references/knowledge-policy.en.md +9 -0
- package/.agents/skills/meta-skill-governor/references/knowledge-policy.zh-CN.md +9 -0
- package/.agents/skills/meta-skill-governor/skill.contract.yaml +51 -0
- package/.codex-plugin/plugin.json +41 -0
- package/.skill-system/knowledge/index.md +8 -0
- package/.skill-system/knowledge/patterns/experience-insights-fragment-across-iterations.yaml +21 -0
- package/.skill-system/knowledge/patterns/long-horizon-history-obscures-current-state.yaml +21 -0
- package/CONTRIBUTING.md +51 -0
- package/LICENSE +201 -0
- package/README.md +176 -0
- package/README.zh-CN.md +176 -0
- package/SECURITY.md +24 -0
- package/THIRD_PARTY.md +23 -0
- package/catalog/decomposition-map.yaml +137 -0
- package/catalog/duplicate-clusters.yaml +60 -0
- package/catalog/entries/mcp-ac-inference-sh-mcp-b6adcacabe.yaml +31 -0
- package/catalog/entries/mcp-ac-tandem-docs-mcp-3bae5d0f2c.yaml +31 -0
- package/catalog/entries/mcp-ad-inside-inside-ads-eb6a3fc37c.yaml +31 -0
- package/catalog/entries/mcp-ae-propick-propick-43ddac803b.yaml +31 -0
- package/catalog/entries/mcp-ag-hood-name-service-31bc511aa8.yaml +31 -0
- package/catalog/entries/mcp-agency-goji-goji-7bfac3efd0.yaml +31 -0
- package/catalog/entries/mcp-agency-kesey-pretrip-c22b002385.yaml +31 -0
- package/catalog/entries/mcp-agency-lona-trading-5dee98bc05.yaml +31 -0
- package/catalog/entries/mcp-ai-1325-mcp-0a0c91e00f.yaml +31 -0
- package/catalog/entries/mcp-ai-aarna-atars-mcp-5da4791912.yaml +31 -0
- package/catalog/entries/mcp-ai-abmeter-abmeter-5207fe8f2e.yaml +31 -0
- package/catalog/entries/mcp-ai-actwise-ideation-d02d4f008a.yaml +31 -0
- package/catalog/entries/mcp-ai-adadvisor-mcp-server-a53afb4445.yaml +31 -0
- package/catalog/entries/mcp-ai-adeu-adeu-1631351397.yaml +28 -0
- package/catalog/entries/mcp-ai-adoraads-beauty-4a2ab953db.yaml +30 -0
- package/catalog/entries/mcp-ai-adplane-google-ads-e10978363f.yaml +31 -0
- package/catalog/entries/mcp-ai-adramp-google-ads-d80252c892.yaml +30 -0
- package/catalog/entries/mcp-ai-adside-adside-c8c4e070c3.yaml +31 -0
- package/catalog/entries/mcp-ai-advisorsai-service-navigator-63aa4ac793.yaml +30 -0
- package/catalog/entries/mcp-ai-advisorsai-store-readiness-45613bf2fa.yaml +31 -0
- package/catalog/entries/mcp-ai-adweave-meta-ads-mcp-0101481be2.yaml +31 -0
- package/catalog/entries/mcp-ai-aetherwealth-mcp-bb9db238f0.yaml +31 -0
- package/catalog/entries/mcp-ai-afmr-discovery-eae2af4a44.yaml +31 -0
- package/catalog/entries/mcp-ai-agentberg-agentberg-80d775bed8.yaml +31 -0
- package/catalog/entries/mcp-ai-agentdm-agentdm-e6f6c34b94.yaml +31 -0
- package/catalog/entries/mcp-ai-agentgates-mcp-c176ad8f95.yaml +31 -0
- package/catalog/entries/mcp-ai-agentic-news-mcp-28244bedf9.yaml +31 -0
- package/catalog/entries/mcp-ai-agenticaffiliate-affiliate-networks-mcp-8bfc8f7216.yaml +31 -0
- package/catalog/entries/mcp-ai-agenticfabricationnetwork-ufp-afacc64871.yaml +31 -0
- package/catalog/entries/mcp-ai-agenticshelf-graffeo-f44c7f89f4.yaml +31 -0
- package/catalog/entries/mcp-ai-agenticshelf-mcp-870c9513df.yaml +31 -0
- package/catalog/entries/mcp-ai-agenticshelf-puroair-82debfb17b.yaml +31 -0
- package/catalog/entries/mcp-ai-agenticterminal-directory-76d87e32de.yaml +31 -0
- package/catalog/entries/mcp-ai-agentlookups-counterscript-d6a5a3284e.yaml +31 -0
- package/catalog/entries/mcp-ai-agentlookups-greenlight-83112b87af.yaml +31 -0
- package/catalog/entries/mcp-ai-agentlookups-groundtruth-1b376d783a.yaml +31 -0
- package/catalog/entries/mcp-ai-agentlookups-overassessed-5a45cb34e3.yaml +31 -0
- package/catalog/entries/mcp-ai-agentlookups-plumbline-77624a96d7.yaml +31 -0
- package/catalog/entries/mcp-ai-agentmesh-mesh-75dca33317.yaml +31 -0
- package/catalog/entries/mcp-ai-agentplaybooks-agentplaybooks-2fe40cb4a3.yaml +31 -0
- package/catalog/entries/mcp-ai-agentrapay-agentra-90edd3fb9e.yaml +31 -0
- package/catalog/entries/mcp-ai-agentroam-agentroam-2cbeb20175.yaml +31 -0
- package/catalog/entries/mcp-ai-agenttrust-mcp-server-efd541bba9.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-agentops-07df8fe089.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-bestiary-aa18bb3a43.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-browser-workflow-d744626520.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-compose-d49e18f1cd.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-edge-finance-010337be97.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-edge-market-068d58f817.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-locale-8045ed4cbd.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-matchpoint-45fa97c0f7.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-mediakit-b382f5cb85.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-model-router-6a0c8b5fa0.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-prooflayer-a743b0fd0f.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-retail-f0cfe4dc13.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-rollforge-7acb7531d6.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-statline-877d688f3f.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-synthforge-8c0099cc1d.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-web-probe-a30080239c.yaml +31 -0
- package/catalog/entries/mcp-ai-agentutility-mcp-wordmint-9ee82067b0.yaml +31 -0
- package/catalog/entries/mcp-ai-agentxray-mcp-ac6097c8b2.yaml +31 -0
- package/catalog/entries/mcp-ai-ai-advisors-mcp-2bcc0caee4.yaml +31 -0
- package/catalog/entries/mcp-ai-ai-akari-agent-trust-receipt-bb42b7178e.yaml +30 -0
- package/catalog/entries/mcp-ai-ai-akari-one-minute-akari-774f223a5e.yaml +31 -0
- package/catalog/entries/mcp-ai-ai-portal-ai-portal-1bc8ab29f4.yaml +31 -0
- package/catalog/entries/mcp-ai-aient-mcp-cf749b9ec3.yaml +31 -0
- package/catalog/entries/mcp-ai-airshelf-catalog-88b9ace06e.yaml +31 -0
- package/catalog/entries/mcp-ai-aislabs-cve-056c9f9ecd.yaml +31 -0
- package/catalog/entries/mcp-ai-aislabs-gateway-0a742d578e.yaml +31 -0
- package/catalog/entries/mcp-ai-aislabs-recorder-751e651453.yaml +31 -0
- package/catalog/entries/mcp-ai-aivonic-mcp-a18409eb0d.yaml +31 -0
- package/catalog/entries/mcp-ai-aliengiraffe-spotdb-fd1c3a8a0a.yaml +30 -0
- package/catalog/entries/mcp-ai-alphacreek-alphacreek-mcp-906301974f.yaml +31 -0
- package/catalog/entries/mcp-ai-alpic-alpix-alpix-bff2c530dc.yaml +31 -0
- package/catalog/entries/mcp-ai-alpic-mcp-alpic-mcp-ed099c1a73.yaml +31 -0
- package/catalog/entries/mcp-ai-alpic-test-test-mcp-server-1d95a7e5df.yaml +26 -0
- package/catalog/entries/mcp-ai-ambix-ambix-b5f2bc32a9.yaml +31 -0
- package/catalog/entries/mcp-ai-analyticslegends-sap-analytics-d68f435298.yaml +31 -0
- package/catalog/entries/mcp-ai-ankimcp-anki-mcp-server-8c4905a2ec.yaml +31 -0
- package/catalog/entries/mcp-ai-ankimcp-anki-mcp-server-addon-afb23fd32d.yaml +31 -0
- package/catalog/entries/mcp-ai-anomalyarmor-armor-mcp-6a7a4cc65b.yaml +31 -0
- package/catalog/entries/mcp-ai-anzenna-anzenna-c86559579c.yaml +24 -0
- package/catalog/entries/mcp-ai-apithreshold-apithreshold-f198c02e7b.yaml +31 -0
- package/catalog/entries/mcp-ai-appdeploy-deploy-app-80a789e051.yaml +31 -0
- package/catalog/entries/mcp-ai-aqta-seal-e2aff621e4.yaml +31 -0
- package/catalog/entries/mcp-ai-arclan-registry-c66a22fedd.yaml +31 -0
- package/catalog/entries/mcp-ai-argushq-enforcement-database-b121ee5ed1.yaml +31 -0
- package/catalog/entries/mcp-ai-arketo-arketo-6c11b61abb.yaml +31 -0
- package/catalog/entries/mcp-ai-arpi-arpi-mcp-8eae56122c.yaml +31 -0
- package/catalog/entries/mcp-ai-artidrop-artidrop-674e83cb66.yaml +31 -0
- package/catalog/entries/mcp-ai-askline-askline-5d4d9b4647.yaml +30 -0
- package/catalog/entries/mcp-ai-askmiles-catalog-798eb615f9.yaml +31 -0
- package/catalog/entries/mcp-ai-assetlog-assetlog-fc37c33e93.yaml +31 -0
- package/catalog/entries/mcp-ai-astrofabric-mcp-886b459d7a.yaml +31 -0
- package/catalog/entries/mcp-ai-atdev-supershopping-162d06451b.yaml +25 -0
- package/catalog/entries/mcp-ai-atlaso-mcp-3a3eeebf0d.yaml +31 -0
- package/catalog/entries/mcp-ai-atlasverified-atlas-mcp-d2da1d9d5f.yaml +31 -0
- package/catalog/entries/mcp-ai-atlier-project-desk-7b04021a08.yaml +30 -0
- package/catalog/entries/mcp-ai-augmentev-paseo-81e2a22e42.yaml +31 -0
- package/catalog/entries/mcp-ai-augworlds-travel-world-88c002217a.yaml +31 -0
- package/catalog/entries/mcp-ai-auralogs-auralogs-9def507616.yaml +31 -0
- package/catalog/entries/mcp-ai-auteng-docs-c72dfb5787.yaml +31 -0
- package/catalog/entries/mcp-ai-auteng-mcp-f36fddef83.yaml +31 -0
- package/catalog/entries/mcp-ai-authoryze-authoryze-21ee2054c1.yaml +31 -0
- package/catalog/entries/mcp-ai-autoblocks-contextlayer-mcp-34e47d62ba.yaml +29 -0
- package/catalog/entries/mcp-ai-autoblocks-ctxl-f98ae285d7.yaml +29 -0
- package/catalog/entries/mcp-ai-autoblocks-ctxl-mcp-0da0c47515.yaml +29 -0
- package/catalog/entries/mcp-ai-autonomad-computeback-2fa30dfc41.yaml +31 -0
- package/catalog/entries/mcp-ai-autonomad-travel-fd4f8e76db.yaml +31 -0
- package/catalog/entries/mcp-ai-autoposting-autoposting-2571b1d7f6.yaml +31 -0
- package/catalog/entries/mcp-ai-autorfp-mcp-0c571be5ff.yaml +31 -0
- package/catalog/entries/mcp-ai-auxen-auxen-211902ee66.yaml +31 -0
- package/catalog/entries/mcp-ai-avasis-quant-research-219257c101.yaml +31 -0
- package/catalog/entries/mcp-ai-aviado-health-1ad88f7e27.yaml +31 -0
- package/catalog/entries/mcp-ai-awardcast-federal-contracts-2203406f23.yaml +31 -0
- package/catalog/entries/mcp-ai-awraiter-telegram-21e9913eb3.yaml +31 -0
- package/catalog/entries/mcp-ai-axonagentic-neuroautomata-7b27982df8.yaml +31 -0
- package/catalog/entries/mcp-ai-b77-ai-media-studio-7aa9f62440.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-apple-search-ads-285b18c417.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-chess-results-b56c1f38ce.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-feedback-d3db0c4f28.yaml +31 -0
- package/catalog/entries/mcp-ai-b77-fibalo-0a70b165b3.yaml +31 -0
- package/catalog/entries/mcp-ai-b77-file-storage-1da70125c0.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-google-ads-48b7ac9681.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-google-news-bb8d81deed.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-google-search-console-baae2179a8.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-kinnovis-storage-b2dd7cc4de.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-knowledge-base-d839be07f4.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-nightscout-197ba46f20.yaml +28 -0
- package/catalog/entries/mcp-ai-b77-seo-content-factory-91c8041502.yaml +30 -0
- package/catalog/entries/mcp-ai-b77-teamwork-6ee8e24f83.yaml +31 -0
- package/catalog/entries/mcp-ai-b77-time-f9803006c8.yaml +28 -0
- package/catalog/entries/mcp-ai-b77-web-analytics-a43f062fda.yaml +30 -0
- package/catalog/entries/mcp-ai-backengine-backengine-mcp-4ca2a1517c.yaml +31 -0
- package/catalog/entries/mcp-ai-bankee-inferventis-mcp-72a4d2e3cb.yaml +31 -0
- package/catalog/entries/mcp-ai-bareun-bareun-eb1ae606d0.yaml +31 -0
- package/catalog/entries/mcp-ai-baselight-baselight-d746920ec9.yaml +31 -0
- package/catalog/entries/mcp-ai-basethread-basethread-6eee1c4f16.yaml +31 -0
- package/catalog/entries/mcp-ai-bassethound-bassethound-865f9bea9c.yaml +31 -0
- package/catalog/entries/mcp-ai-beatbandit-beatbandit-ed4479bf19.yaml +31 -0
- package/catalog/entries/mcp-ai-beket-audit-314af0ab54.yaml +30 -0
- package/catalog/entries/mcp-ai-benroberts-b4-index-d54db8bc51.yaml +31 -0
- package/catalog/entries/mcp-ai-betslipdoctor-mcp-e7026e76d4.yaml +31 -0
- package/catalog/entries/mcp-ai-betterpost-server-7b0a39a00b.yaml +31 -0
- package/catalog/entries/mcp-ai-bezal-local-commerce-beb84c948c.yaml +31 -0
- package/catalog/entries/mcp-ai-bidclub-bidclub-6842f2ee71.yaml +31 -0
- package/catalog/entries/mcp-ai-biddeed-biddeed-mcp-7be8a7f9fb.yaml +30 -0
- package/catalog/entries/mcp-ai-biel-biel-ai-0211ef62cd.yaml +31 -0
- package/catalog/entries/mcp-ai-bitroad-bitroad-710a3c7b6c.yaml +31 -0
- package/catalog/entries/mcp-ai-bittlebits-bittlebits-6157ecfeb8.yaml +30 -0
- package/catalog/entries/mcp-ai-bizmuse-bizmuse-75f1a4f237.yaml +31 -0
- package/catalog/entries/mcp-ai-blast-radius-blast-radius-f3a4a81333.yaml +30 -0
- package/catalog/entries/mcp-ai-bloopo-bloopo-3716a26ca3.yaml +31 -0
- package/catalog/entries/mcp-ai-blopus-search-c70c643cf9.yaml +31 -0
- package/catalog/entries/mcp-ai-bluenexus-universal-mcp-216e83342b.yaml +31 -0
- package/catalog/entries/mcp-ai-bodenrichtwert-mcp-c23a1a6334.yaml +31 -0
- package/catalog/entries/mcp-ai-bolthub-mcp-5444c0b8c3.yaml +31 -0
- package/catalog/entries/mcp-ai-bolthub-registry-f98764ff73.yaml +31 -0
- package/catalog/entries/mcp-ai-boolsai-directory-b7e9358f7d.yaml +31 -0
- package/catalog/entries/mcp-ai-boolsai-grep-1a53f448ec.yaml +31 -0
- package/catalog/entries/mcp-ai-boolsai-scan-772fc95b70.yaml +31 -0
- package/catalog/entries/mcp-ai-boolsai-signals-25961908a5.yaml +31 -0
- package/catalog/entries/mcp-ai-borealhost-mcp-fca92ed080.yaml +31 -0
- package/catalog/entries/mcp-ai-boundaryai-boundaryai-84000bf03e.yaml +31 -0
- package/catalog/entries/mcp-ai-bourdon-bourdon-9bace4c1b0.yaml +31 -0
- package/catalog/entries/mcp-ai-bowmark-bowmark-630bb0e23e.yaml +31 -0
- package/catalog/entries/mcp-ai-brainattic-knowledge-base-b32a0dad0a.yaml +31 -0
- package/catalog/entries/mcp-ai-bridgeapp-bridgeapp-fab6f43c5f.yaml +30 -0
- package/catalog/entries/mcp-ai-bringyour-bringyour-29452d98e8.yaml +30 -0
- package/catalog/entries/mcp-ai-buildwithorbit-orbit-c2daf0d007.yaml +31 -0
- package/catalog/entries/mcp-ai-bunzee-bunzee-290d65efec.yaml +31 -0
- package/catalog/entries/mcp-ai-buron-buron-1225a2334c.yaml +31 -0
- package/catalog/entries/mcp-ai-butlerbrain-mcp-5d58e03a33.yaml +31 -0
- package/catalog/entries/mcp-ai-buyersense-buyersense-234013e296.yaml +30 -0
- package/catalog/entries/mcp-ai-buywhere-buywhere-mcp-b75038efa4.yaml +31 -0
- package/catalog/entries/mcp-ai-buywhere-catalog-api-17fcd43b5f.yaml +30 -0
- package/catalog/entries/mcp-ai-byteask-embedded-docs-32de7a43d8.yaml +31 -0
- package/catalog/entries/mcp-ai-byteray-byteray-mcp-5fd4e1d3b4.yaml +31 -0
- package/catalog/entries/mcp-ai-cabrini-market-data-53fdcb3017.yaml +31 -0
- package/catalog/entries/mcp-ai-cactal-cactal-d94ff6bdd2.yaml +31 -0
- package/catalog/entries/mcp-ai-calaf-calaf-fd4bd862e1.yaml +31 -0
- package/catalog/entries/mcp-ai-calaf-seeds-c5b1e16f43.yaml +31 -0
- package/catalog/entries/mcp-ai-calendarmcp-server-f8ab5b3489.yaml +31 -0
- package/catalog/entries/mcp-ai-calfeed-calfeed-0c6423bdfd.yaml +31 -0
- package/catalog/entries/mcp-ai-callmcp-server-c2cc664837.yaml +31 -0
- package/catalog/entries/mcp-ai-canaryusers-canaryusers-702fff39f7.yaml +31 -0
- package/catalog/entries/mcp-ai-canivibe-status-bdff671da8.yaml +31 -0
- package/catalog/entries/mcp-ai-canvora-canvora-524200dc0d.yaml +31 -0
- package/catalog/entries/mcp-ai-caulo-caulo-a5d940cb83.yaml +31 -0
- package/catalog/entries/mcp-ai-ccapi-mcp-fdb7488acf.yaml +31 -0
- package/catalog/entries/mcp-ai-cdbx-mcp-server-73db0c0bdd.yaml +31 -0
- package/catalog/entries/mcp-ai-cerebrium-docs-f7b8d89e48.yaml +31 -0
- package/catalog/entries/mcp-ai-certscore-mcp-132e02917f.yaml +31 -0
- package/catalog/entries/mcp-ai-certscore-mcp-light-a9017fc871.yaml +31 -0
- package/catalog/entries/mcp-ai-chatthing-chat-thing-f1e4eefd3d.yaml +31 -0
- package/catalog/entries/mcp-ai-childadhd-library-026efbd0ff.yaml +31 -0
- package/catalog/entries/mcp-ai-childanxiety-library-08a2dc2f87.yaml +30 -0
- package/catalog/entries/mcp-ai-childpsychiatry-library-f202ddf6ac.yaml +31 -0
- package/catalog/entries/mcp-ai-chinamarketing-intelligence-694653c3c9.yaml +31 -0
- package/catalog/entries/mcp-ai-chronary-mcp-fb467aad4c.yaml +31 -0
- package/catalog/entries/mcp-ai-circulara-plugin-004d5ac458.yaml +31 -0
- package/catalog/entries/mcp-ai-cirra-salesforce-mcp-18d52b8696.yaml +29 -0
- package/catalog/entries/mcp-ai-citybook-citybook-a8d1e17475.yaml +28 -0
- package/catalog/entries/mcp-ai-clarid-compliance-4e75eca3db.yaml +31 -0
- package/catalog/entries/mcp-ai-clarid-hmda-f7aabbdd0d.yaml +31 -0
- package/catalog/entries/mcp-ai-clarx-mcp-161b5b3353.yaml +31 -0
- package/catalog/entries/mcp-ai-clawfetch-mcp-6740eb688b.yaml +31 -0
- package/catalog/entries/mcp-ai-clawterminal-markets-75e36c2a5d.yaml +31 -0
- package/catalog/entries/mcp-ai-cleanvector-cleanvector-6a4abff345.yaml +31 -0
- package/catalog/entries/mcp-ai-clelp-clelp-d342badb89.yaml +31 -0
- package/catalog/entries/mcp-ai-clize-clize-aaf88976e5.yaml +31 -0
- package/catalog/entries/mcp-ai-clize-domains-699897fd26.yaml +31 -0
- package/catalog/entries/mcp-ai-clize-inbox-1916ec4593.yaml +31 -0
- package/catalog/entries/mcp-ai-clize-sites-0e268c46f9.yaml +31 -0
- package/catalog/entries/mcp-ai-clize-storefront-060b401d5a.yaml +31 -0
- package/catalog/entries/mcp-ai-cnaps-studio-ca672869c9.yaml +31 -0
- package/catalog/entries/mcp-ai-cobbles-cobbles-1172c28d67.yaml +31 -0
- package/catalog/entries/mcp-ai-codenib-codenib-6fbef32c28.yaml +31 -0
- package/catalog/entries/mcp-ai-cofoundagent-cofound-df3011d64e.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-contabo-9a82c85196.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-hapi-mcp-136ca2cac0.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-lenny-rachitsky-podcast-35ae908366.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-linkedin-a9bc400703.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-openai-tools-db0ce12532.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-petstore-b78d7f6c89.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-registry-f1d343d400.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-skills-search-79219da9eb.yaml +31 -0
- package/catalog/entries/mcp-ai-com-mcp-strava-180cf00bdb.yaml +31 -0
- package/catalog/entries/mcp-ai-compeller-compel-a1e264a179.yaml +30 -0
- package/catalog/entries/mcp-ai-complyme-mcp-mcp-58b3074412.yaml +30 -0
- package/catalog/entries/mcp-ai-connectmachine-connectmachine-82362374a8.yaml +31 -0
- package/catalog/entries/mcp-ai-constellationfinance-constellation-finance-mcp-6fc46c7edd.yaml +31 -0
- package/catalog/entries/mcp-ai-contextstudios-mcp-9ed0f7ffab.yaml +31 -0
- package/catalog/entries/mcp-ai-contio-meetingos-1ccb97c854.yaml +31 -0
- package/catalog/entries/mcp-ai-contractorsnearme-contractors-near-me-ca54453db5.yaml +31 -0
- package/catalog/entries/mcp-ai-conveo-conveo-6472ce5a89.yaml +31 -0
- package/catalog/entries/mcp-ai-cookiy-cookiy-f8828b0fb6.yaml +31 -0
- package/catalog/entries/mcp-ai-corduroy-labs-updates-0c456eae82.yaml +31 -0
- package/catalog/entries/mcp-ai-cosmonote-notes-bc375a4ed2.yaml +30 -0
- package/catalog/entries/mcp-ai-cralo-mcp-0e5b0d1a39.yaml +31 -0
- package/catalog/entries/mcp-ai-craneledger-crane-ledger-d646b9a28f.yaml +31 -0
- package/catalog/entries/mcp-ai-crayonz-mcp-c8ae9a9d95.yaml +31 -0
- package/catalog/entries/mcp-ai-createprints-createprints-9d22a6277d.yaml +30 -0
- package/catalog/entries/mcp-ai-creationloop-creationloop-bde8df0701.yaml +31 -0
- package/catalog/entries/mcp-ai-creativescope-creative-intelligence-bbf2764352.yaml +31 -0
- package/catalog/entries/mcp-ai-creditpolicy-creditpolicy-dbae3fa16b.yaml +31 -0
- package/catalog/entries/mcp-ai-cueapi-mcp-9304c6d8a9.yaml +31 -0
- package/catalog/entries/mcp-ai-cueframe-cueframe-a9d2c8e9d7.yaml +31 -0
- package/catalog/entries/mcp-ai-customdomain-mcp-fe8191c4a2.yaml +31 -0
- package/catalog/entries/mcp-ai-d50-d50-platform-18b3461ccd.yaml +31 -0
- package/catalog/entries/mcp-ai-dablock-visibility-index-0aebb7e78b.yaml +31 -0
- package/catalog/entries/mcp-ai-dabyte-visibility-index-331da601b3.yaml +31 -0
- package/catalog/entries/mcp-ai-dataecho-mcp-622ca8750d.yaml +31 -0
- package/catalog/entries/mcp-ai-dataforb2b-dataforb2b-1628d1a91b.yaml +31 -0
- package/catalog/entries/mcp-ai-datamerge-mcp-e376bb5915.yaml +31 -0
- package/catalog/entries/mcp-ai-dataparrot-data-parrot-d05fa67093.yaml +30 -0
- package/catalog/entries/mcp-ai-dealfilter-mcp-f21a69323a.yaml +31 -0
- package/catalog/entries/mcp-ai-decimal-registry-112ce7f87c.yaml +31 -0
- package/catalog/entries/mcp-ai-decisionlog-mcp-aba2e32541.yaml +31 -0
- package/catalog/entries/mcp-ai-deepledger-mcp-aa590d7654.yaml +30 -0
- package/catalog/entries/mcp-ai-deinai-creator-skill-c1e1930262.yaml +31 -0
- package/catalog/entries/mcp-ai-deinai-creator-skill-v2-d6297b831c.yaml +31 -0
- package/catalog/entries/mcp-ai-delega-aws-pricing-calculator-29b014d6d7.yaml +30 -0
- package/catalog/entries/mcp-ai-demanddiscovery-mcp-2723f1f9c7.yaml +31 -0
- package/catalog/entries/mcp-ai-demomagic-interactive-video-guide-dcbad6c4da.yaml +31 -0
- package/catalog/entries/mcp-ai-deployit-product-expert-79d7d90c8a.yaml +31 -0
- package/catalog/entries/mcp-ai-deskcrew-agentic-1130b5617b.yaml +31 -0
- package/catalog/entries/mcp-ai-diagramzu-mcp-bd000b341e.yaml +31 -0
- package/catalog/entries/mcp-ai-diezx-diezx-197d544369.yaml +31 -0
- package/catalog/entries/mcp-ai-dimetrics-dimetrics-e36a3e6ba5.yaml +31 -0
- package/catalog/entries/skill-addyosmani-agent-skills-api-and-interface-design-65b474ac.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-browser-testing-with-devtools-dd63dad0.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-ci-cd-and-automation-29d0cc8a.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-code-review-and-quality-8d6e0e88.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-code-simplification-833b3a18.yaml +25 -0
- package/catalog/entries/skill-addyosmani-agent-skills-constraint-driven-development-2b4b375e.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-context-engineering-5edbe017.yaml +25 -0
- package/catalog/entries/skill-addyosmani-agent-skills-debugging-and-error-recovery-ae9aa99b.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-deprecation-and-migration-def7d06a.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-documentation-and-adrs-ed3b9c00.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-doubt-driven-development-83118a85.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-frontend-ui-engineering-f0609dae.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-git-workflow-and-versioning-d65e8017.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-idea-refine-eceb122f.yaml +25 -0
- package/catalog/entries/skill-addyosmani-agent-skills-incremental-implementation-99c73b0d.yaml +25 -0
- package/catalog/entries/skill-addyosmani-agent-skills-interview-me-58c1b225.yaml +25 -0
- package/catalog/entries/skill-addyosmani-agent-skills-observability-and-instrumentation-559214ec.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-performance-optimization-af6981a8.yaml +25 -0
- package/catalog/entries/skill-addyosmani-agent-skills-planning-and-task-breakdown-1cb74a63.yaml +27 -0
- package/catalog/entries/skill-addyosmani-agent-skills-security-and-hardening-83fd3dea.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-shipping-and-launch-33c7cc7c.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-source-driven-development-d38acc33.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-spec-driven-development-06312522.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-test-driven-development-c7103f5a.yaml +26 -0
- package/catalog/entries/skill-addyosmani-agent-skills-using-agent-skills-175751a3.yaml +26 -0
- package/catalog/entries/skill-anthropics-skills-academy-guide-4a0f6b73.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-algorithmic-art-a571c945.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-brand-guidelines-e7b91ca4.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-canvas-design-12d74bd3.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-claude-api-82d3ad6f.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-discernment-nudge-e073654c.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-doc-coauthoring-e7cc23e0.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-docx-6db5d745.yaml +24 -0
- package/catalog/entries/skill-anthropics-skills-frontend-design-29ad32fd.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-internal-comms-d39c34fb.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-mcp-builder-d3eb5962.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-pdf-28eceb6b.yaml +24 -0
- package/catalog/entries/skill-anthropics-skills-pptx-c294bc82.yaml +24 -0
- package/catalog/entries/skill-anthropics-skills-skill-creator-af6ef02d.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-slack-gif-creator-f9e00a0f.yaml +26 -0
- package/catalog/entries/skill-anthropics-skills-template-25b4c198.yaml +24 -0
- package/catalog/entries/skill-anthropics-skills-theme-factory-517caeb9.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-web-artifacts-builder-e8f27114.yaml +26 -0
- package/catalog/entries/skill-anthropics-skills-webapp-testing-395b4804.yaml +25 -0
- package/catalog/entries/skill-anthropics-skills-xlsx-657c7b90.yaml +24 -0
- package/catalog/entries/skill-cloudflare-skills-agents-sdk-6931a5bf.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-cloudflare-5759d8b3.yaml +24 -0
- package/catalog/entries/skill-cloudflare-skills-cloudflare-email-service-1888d794.yaml +26 -0
- package/catalog/entries/skill-cloudflare-skills-cloudflare-one-fde14a48.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-cloudflare-one-migrations-8d56ee7c.yaml +26 -0
- package/catalog/entries/skill-cloudflare-skills-durable-objects-b5bae60f.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-sandbox-migrate-to-next-72ea7992.yaml +27 -0
- package/catalog/entries/skill-cloudflare-skills-sandbox-next-e0a82b91.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-sandbox-stable-8cb34541.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-turnstile-spin-256918a6.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-web-perf-3ec9d676.yaml +25 -0
- package/catalog/entries/skill-cloudflare-skills-workers-best-practices-b324cea6.yaml +26 -0
- package/catalog/entries/skill-cloudflare-skills-wrangler-aa8ec8c6.yaml +24 -0
- package/catalog/entries/skill-getsentry-skills-agents-md-294438b5.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-blog-writing-guide-e65bcce7.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-brand-guidelines-15586a99.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-claude-settings-audit-8678fbac.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-code-review-6d72fca3.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-code-simplifier-87bed2ab.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-commit-a42b87ee.yaml +24 -0
- package/catalog/entries/skill-getsentry-skills-create-branch-8382885d.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-django-access-review-9a030f93.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-django-perf-review-50f32244.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-doc-coauthoring-db52e2c5.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-document-api-endpoint-c99d0c76.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-find-bugs-8bb54a98.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-gh-review-requests-e4bfdb8e.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-gha-security-review-3dee4c96.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-iterate-pr-1fbe68e9.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-pr-link-issue-a2a66882.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-pr-writer-1cf9cb0b.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-presentation-creator-14afb03b.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-prompt-optimizer-d6cf95b0.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-security-review-3bf92664.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-skill-scanner-48a15757.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-skill-writer-0781b064.yaml +25 -0
- package/catalog/entries/skill-getsentry-skills-sred-project-organizer-76235f12.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-sred-work-summary-083be76c.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-triage-frontend-issues-dd2eade8.yaml +26 -0
- package/catalog/entries/skill-getsentry-skills-typing-exclusion-worker-217be976.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-ac-to-playwright-bdb2b494.yaml +27 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-architecture-doc-ec6b44b0.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-archive-synthesis-d914edcb.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-design-foundation-89547031.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-english-manager-42c5f948.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-eval-architect-f877e92f.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-nextjs-best-practices-8ed21008.yaml +27 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-onboard-agent-195bc995.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-onboard-openspec-21a87817.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-persona-review-10afdef2.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-prompt-manager-d393e01f.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-qrspi-apply-95707a25.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-qrspi-archive-57ecc157.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-qrspi-propose-e9434f7b.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-react-best-practices-4305c39e.yaml +27 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-react-testing-db6bb72b.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-readme-writer-8c5ca939.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-security-best-practices-7efbbfd2.yaml +27 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-skill-manager-7a32f482.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-skill-prose-b5577746.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-tanstack-query-best-practices-0d0047d2.yaml +29 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-ts-audit-all-c171bd07.yaml +27 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-ts-best-practices-9420590b.yaml +27 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-ts-documentation-2d27b7d5.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-ts-performance-d2b5639a.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-accelint-ts-testing-6274ac07.yaml +26 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-constraints-extractor-e1676e8c.yaml +25 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-epistemic-mapper-dda4b452.yaml +25 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-generate-docs-a046cde5.yaml +25 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-jargon-extractor-bdb16b85.yaml +25 -0
- package/catalog/entries/skill-gohypergiant-agent-skills-skill-template-103cf996.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-hf-cli-98d6313e.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-hf-cloud-aws-context-discovery-65784bf2.yaml +28 -0
- package/catalog/entries/skill-huggingface-skills-hf-cloud-python-env-setup-f1aebda9.yaml +28 -0
- package/catalog/entries/skill-huggingface-skills-hf-cloud-sagemaker-deployment-planner-9dee7914.yaml +28 -0
- package/catalog/entries/skill-huggingface-skills-hf-cloud-sagemaker-iam-preflight-dc0c97d7.yaml +28 -0
- package/catalog/entries/skill-huggingface-skills-hf-cloud-sagemaker-production-defaults-9b7b9d82.yaml +28 -0
- package/catalog/entries/skill-huggingface-skills-hf-cloud-serving-image-selection-0cc2c782.yaml +28 -0
- package/catalog/entries/skill-huggingface-skills-hf-mcp-41589578.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-hf-mem-0610b283.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-best-fdc7282c.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-community-evals-973f05c4.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-datasets-4ba0f4d6.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-gradio-53622b64.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-llm-trainer-0a5ac169.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-local-models-4ebc737c.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-lora-space-builder-f34f1272.yaml +27 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-paper-publisher-6b74ec66.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-papers-08cc9c02.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-spaces-2c1970dd.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-tool-builder-6cf60271.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-trackio-7e2c47f9.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-vision-trainer-0a5a93ae.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-huggingface-zerogpu-5aac00ea.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-train-sentence-transformers-40c8f1df.yaml +26 -0
- package/catalog/entries/skill-huggingface-skills-transformers-js-0bf5582b.yaml +25 -0
- package/catalog/entries/skill-huggingface-skills-trl-training-3042027e.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-adaptyv-b95263f9.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-aeon-d84f19c5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-analytical-method-validation-7a1207b7.yaml +27 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-anndata-59be659e.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-arbor-463bc999.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-arboreto-23080519.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-astropy-02105779.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-autoskill-aada94ff.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-benchling-integration-ba42906f.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-bgpt-paper-search-97bc8469.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-bids-1368af54.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-biopython-cd70080b.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-bioservices-daa392bb.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-bulk-rnaseq-76d2f820.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-cellxgene-census-ddaaf88b.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-cirq-99f25eb1.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-citation-management-1a129684.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-clinical-decision-support-ef529deb.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-clinical-reports-7ae47dd8.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-cobrapy-f1e8de42.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-consciousness-council-32753e38.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-dask-5303ff19.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-database-lookup-60d4dd6f.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-datamol-cbe8a75b.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-deepchem-0926d659.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-deepspot-m-2398c18d.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-deeptools-736b300a.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-depmap-e8d86402.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-dhdna-profiler-d1bdae2e.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-diffdock-7c470c15.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-dnanexus-integration-72332faa.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-docx-b28174d4.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-esm-fa929081.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-etetoolkit-2d3c45f5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-exa-search-5451d730.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-experimental-design-1a7e83e3.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-exploratory-data-analysis-260ae2cf.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-flowio-faefc805.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-fluidsim-7d26cf78.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-generate-image-ae7e8ded.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-geniml-47430703.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-genomic-coordinates-4e29e184.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-genomic-intelligence-11f7b868.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-geomaster-74e36add.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-geopandas-3230d372.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-get-available-resources-708bf039.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-gget-f7e346a4.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-ginkgo-cloud-lab-919eeb82.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-glycoengineering-93c2cc41.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-gtars-6128e9f5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-histolab-64ddb191.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-hugging-science-183f82ab.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-hypogenic-3e9385fd.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-hypothesis-generation-91e895f1.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-imaging-data-commons-b968a7df.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-infographics-f06f476d.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-iso-standards-readiness-912e27de.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-lab-hardware-cad-a951bd09.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-labarchive-integration-de6f8d0e.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-lamindb-c27306c4.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-latchbio-integration-472a0230.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-latex-posters-04751c6e.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-liteparse-e7752347.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-literature-review-e42aad3b.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-markdown-mermaid-writing-42f07916.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-market-research-reports-f3535d6e.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-markitdown-eacb6de0.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-matchms-8ae9cbbe.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-matlab-ea66713e.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-matplotlib-0d0b6653.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-medchem-322b4234.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-modal-deeb869a.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-molecular-dynamics-26a90447.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-molfeat-375894d7.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-ncats-arax-9c46f0d9.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-networkx-cf17d4d5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-neurokit2-03cb0fc8.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-neuropixels-analysis-43c58fed.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-nextflow-a2542f37.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-omero-integration-7c7c8de4.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-onekgpd-b7ec4a48.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-ontology-term-resolution-8a4e05ae.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-open-notebook-fe776075.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-openpiv-7961bad2.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-opentrons-integration-526bef4e.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-optimize-for-gpu-c565b219.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pacsomatic-85b7b541.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-paper-lookup-d4f7292a.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-paperclip-6f0f5388.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-paperzilla-bc84f2ca.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-parallel-web-e0048585.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pathml-572c7078.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pathogen-variant-surveillance-ef51e42d.yaml +27 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pathway-enrichment-a4707c3b.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pdf-6adce56a.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-peer-review-37cb828c.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pennylane-cc80be4f.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-phylogenetics-5ddcefe5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pi-agent-5daa6906.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pkpd-modeling-3085de24.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-polars-226d8e8f.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-polars-bio-037c2537.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pptx-763019b3.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pptx-posters-73d87f07.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-primekg-d64a0ccc.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-protocolsio-integration-d60c6d8b.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pufferlib-e1149583.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pydeseq2-de7202d9.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pydicom-18fe595e.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pyhealth-ebd6688c.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pylabrobot-291865b1.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pymatgen-105897d6.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pymc-48109270.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pymoo-12cb1cff.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pyopenms-ef85d8ed.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pysam-6ef29ad9.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pytdc-58c5dec5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pytorch-lightning-d54c032e.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-pyzotero-c733330b.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-qiskit-500e0fa7.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-qutip-7f90847a.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-rdkit-ffeebe23.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-relsa-severity-assessment-3eb04bbf.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-research-grants-49279645.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-research-lookup-64fd7bc4.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-rowan-6726cc47.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scanpy-e983f13c.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scholar-evaluation-6c2e2213.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scientific-brainstorming-a5d41c04.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scientific-critical-thinking-0bbd89a7.yaml +27 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scientific-schematics-9af5683a.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scientific-slides-9bfbddb0.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scientific-visualization-13e801b2.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scientific-writing-00a3ee28.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scikit-bio-ac4ffa84.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scikit-learn-0b010a52.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scikit-survival-b912dc51.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scvelo-2d05307d.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-scvi-tools-461da816.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-seaborn-9f1265e5.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-shap-4d3df611.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-simpy-d2040ac2.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-stable-baselines3-0d80d006.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-statistical-analysis-20f60337.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-statistical-power-49e55c66.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-statsmodels-c5633291.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-sympy-1b10d29d.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-tamarind-4502f8eb.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-tiledbvcf-5d4fd244.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-timesfm-forecasting-20d8d9e4.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-torch-geometric-604f995f.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-torchdrug-f132dade.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-transformers-12b0f8cb.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-treatment-plans-8df1320c.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-umap-learn-99000586.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-uncertainty-and-units-fb4539cb.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-usfiscaldata-c08b64b2.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-vaex-5da1dc74.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-venue-templates-9371dfc1.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-waypoint-bio-e3f56606.yaml +25 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-what-if-oracle-219e0f79.yaml +26 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-xlsx-dabbb4cd.yaml +24 -0
- package/catalog/entries/skill-k-dense-ai-claude-scientific-skills-zarr-python-d683ee34.yaml +25 -0
- package/catalog/entries/skill-supabase-agent-skills-supabase-dd9dc3ad.yaml +24 -0
- package/catalog/entries/skill-supabase-agent-skills-supabase-postgres-best-practices-8e8b8a8d.yaml +27 -0
- package/catalog/entries/skill-trailofbits-skills-address-sanitizer-654c1e8e.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-aflpp-e43e17e8.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-agentic-actions-auditor-b0bda681.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-algorand-vulnerability-scanner-5dc54b29.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-atheris-e7e48d8a.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-audit-augmentation-7debd264.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-audit-context-building-0bd4e4ff.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-audit-prep-assistant-a733cc0e.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-burpsuite-project-parser-77ed0d6d.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-c-review-f8056a8f.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-cairo-vulnerability-scanner-747e222d.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-cargo-fuzz-abde7e1b.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-chrome-mcp-troubleshooting-c403d3d1.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-code-improver-8debe69b.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-code-maturity-assessor-50a90d33.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-codeql-36199bdf.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-constant-time-analysis-7ac49afd.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-constant-time-testing-4e1379e9.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-cosmos-vulnerability-scanner-f8cfc554.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-coverage-analysis-f49a5647.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-crypto-protocol-diagram-ea2e2169.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-devcontainer-setup-4e055a8b.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-diagramming-code-0eff35f1.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-differential-review-fedc6df2.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-dimensional-analysis-9bedabe0.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-dwarf-expert-b5eb0704.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-entry-point-analyzer-65917269.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-firebase-apk-scanner-79297e76.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-fp-check-1122aa00.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-fuzzing-dictionary-86c00a13.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-fuzzing-obstacles-cebe7315.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-genotoxic-cce07fed.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-gh-cli-308bebf1.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-github-triage-da170eab.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-goal-prompt-3e8a3c27.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-graph-evolution-390a35b6.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-guidelines-advisor-808c7161.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-harness-writing-77b7d8b9.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-interpreting-culture-index-1d0534d9.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-let-fate-decide-de973dc5.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-libafl-b8caa933.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-libfuzzer-807c8d91.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-mermaid-to-proverif-005278eb.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-modern-cpp-514d5679.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-modern-python-a3883808.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-mutation-testing-e9d155c5.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-open-sourcing-63ea6c3f.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-ossfuzz-44fc1edb.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-pr-improver-5c8523fd.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-property-based-testing-c240ae97.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-rust-review-a1ad06ea.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-ruzzy-dcf339e8.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-sarif-parsing-c42a5b54.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-second-opinion-21a125db.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-secure-workflow-guide-7fc54c5b.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-semgrep-025ed05b.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-semgrep-rule-creator-c33d25a3.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-semgrep-rule-variant-creator-6fdd6ab8.yaml +26 -0
- package/catalog/entries/skill-trailofbits-skills-sharp-edges-d1c3e692.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-skill-improver-5b7b9acd.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-slicing-code-context-265bd6b0.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-solana-vulnerability-scanner-03259f74.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-spec-to-code-compliance-963ce245.yaml +26 -0
- package/catalog/entries/skill-trailofbits-skills-substrate-vulnerability-scanner-b1a93cd7.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-supply-chain-risk-auditor-c1d26037.yaml +26 -0
- package/catalog/entries/skill-trailofbits-skills-testing-handbook-generator-d95444bc.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-token-integration-analyzer-c74ac500.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-ton-vulnerability-scanner-0b5ef5cf.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-trailmark-8772cfb8.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-trailmark-finding-triage-bd004629.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-trailmark-review-gate-0e5dfd28.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-trailmark-structural-6ac455a1.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-trailmark-summary-4c1076e1.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-trailmark-variant-neighborhood-b58f5659.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-variant-analysis-7019bfa4.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-vector-forge-6f49e281.yaml +24 -0
- package/catalog/entries/skill-trailofbits-skills-vulnerability-triage-brocards-769576e2.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-writing-lean-proofs-be68e2a1.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-wycheproof-96970c98.yaml +23 -0
- package/catalog/entries/skill-trailofbits-skills-yara-rule-authoring-a2c24838.yaml +25 -0
- package/catalog/entries/skill-trailofbits-skills-zeroize-audit-2c51c8c4.yaml +24 -0
- package/catalog/snapshots/manifest.yaml +37 -0
- package/catalog/sources.yaml +48 -0
- package/dist/scripts/generate-skill-projections.d.ts +9 -0
- package/dist/scripts/generate-skill-projections.js +189 -0
- package/dist/scripts/generate-skill-projections.js.map +1 -0
- package/dist/scripts/prepare-npm-release.d.ts +1 -0
- package/dist/scripts/prepare-npm-release.js +30 -0
- package/dist/scripts/prepare-npm-release.js.map +1 -0
- package/dist/src/catalog/catalog.d.ts +18 -0
- package/dist/src/catalog/catalog.js +253 -0
- package/dist/src/catalog/catalog.js.map +1 -0
- package/dist/src/cli.d.ts +3 -0
- package/dist/src/cli.js +512 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/deduplicate.d.ts +17 -0
- package/dist/src/deduplicate.js +122 -0
- package/dist/src/deduplicate.js.map +1 -0
- package/dist/src/eval/effect.d.ts +8 -0
- package/dist/src/eval/effect.js +58 -0
- package/dist/src/eval/effect.js.map +1 -0
- package/dist/src/eval/evaluate.d.ts +6 -0
- package/dist/src/eval/evaluate.js +137 -0
- package/dist/src/eval/evaluate.js.map +1 -0
- package/dist/src/eval/tasks.d.ts +4 -0
- package/dist/src/eval/tasks.js +64 -0
- package/dist/src/eval/tasks.js.map +1 -0
- package/dist/src/harness/codex.d.ts +10 -0
- package/dist/src/harness/codex.js +48 -0
- package/dist/src/harness/codex.js.map +1 -0
- package/dist/src/harness/dsh.d.ts +8 -0
- package/dist/src/harness/dsh.js +38 -0
- package/dist/src/harness/dsh.js.map +1 -0
- package/dist/src/harness/mock.d.ts +12 -0
- package/dist/src/harness/mock.js +46 -0
- package/dist/src/harness/mock.js.map +1 -0
- package/dist/src/harness/pi.d.ts +21 -0
- package/dist/src/harness/pi.js +120 -0
- package/dist/src/harness/pi.js.map +1 -0
- package/dist/src/harness/process.d.ts +7 -0
- package/dist/src/harness/process.js +18 -0
- package/dist/src/harness/process.js.map +1 -0
- package/dist/src/harness/types.d.ts +50 -0
- package/dist/src/harness/types.js +2 -0
- package/dist/src/harness/types.js.map +1 -0
- package/dist/src/packs.d.ts +5 -0
- package/dist/src/packs.js +129 -0
- package/dist/src/packs.js.map +1 -0
- package/dist/src/registry.d.ts +4 -0
- package/dist/src/registry.js +33 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/relations.d.ts +3 -0
- package/dist/src/relations.js +92 -0
- package/dist/src/relations.js.map +1 -0
- package/dist/src/release.d.ts +15 -0
- package/dist/src/release.js +27 -0
- package/dist/src/release.js.map +1 -0
- package/dist/src/router.d.ts +9 -0
- package/dist/src/router.js +169 -0
- package/dist/src/router.js.map +1 -0
- package/dist/src/runtime/state.d.ts +12 -0
- package/dist/src/runtime/state.js +95 -0
- package/dist/src/runtime/state.js.map +1 -0
- package/dist/src/security/lifecycle.d.ts +28 -0
- package/dist/src/security/lifecycle.js +38 -0
- package/dist/src/security/lifecycle.js.map +1 -0
- package/dist/src/train/attempts.d.ts +5 -0
- package/dist/src/train/attempts.js +51 -0
- package/dist/src/train/attempts.js.map +1 -0
- package/dist/src/train/governance.d.ts +6 -0
- package/dist/src/train/governance.js +172 -0
- package/dist/src/train/governance.js.map +1 -0
- package/dist/src/train/knowledge.d.ts +11 -0
- package/dist/src/train/knowledge.js +128 -0
- package/dist/src/train/knowledge.js.map +1 -0
- package/dist/src/train/propose.d.ts +19 -0
- package/dist/src/train/propose.js +43 -0
- package/dist/src/train/propose.js.map +1 -0
- package/dist/src/train/revisions.d.ts +7 -0
- package/dist/src/train/revisions.js +103 -0
- package/dist/src/train/revisions.js.map +1 -0
- package/dist/src/train/types.d.ts +97 -0
- package/dist/src/train/types.js +2 -0
- package/dist/src/train/types.js.map +1 -0
- package/dist/src/types.d.ts +251 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/validation.d.ts +8 -0
- package/dist/src/validation.js +166 -0
- package/dist/src/validation.js.map +1 -0
- package/docs/catalog-methodology.md +46 -0
- package/docs/evaluation.md +38 -0
- package/docs/evolution-knowledge.md +46 -0
- package/docs/evolution-policy.md +23 -0
- package/docs/harnesses.md +42 -0
- package/docs/npm-release.md +88 -0
- package/docs/plans/2026-09-02-evidence-driven-control-plane-design.md +52 -0
- package/docs/plans/2026-09-02-evidence-driven-control-plane.md +136 -0
- package/docs/plans/2026-09-02-research-informed-skillpack-evolution.md +46 -0
- package/docs/plans/2026-09-02-self-organizing-skills-design.md +307 -0
- package/docs/plans/2026-09-02-self-organizing-skills-design.zh-CN.md +194 -0
- package/docs/plans/2026-09-02-self-organizing-skills-implementation.md +136 -0
- package/docs/plans/2026-09-02-wikiskill-skill-state-integration.md +28 -0
- package/docs/plans/2026-09-03-npm-publishing-design.md +34 -0
- package/docs/plans/2026-09-03-npm-publishing.md +69 -0
- package/docs/release-policy.md +5 -0
- package/docs/research/2026-09-02-agent-skill-literature.md +57 -0
- package/docs/research/2026-09-02-retrieval-security-optimization.md +41 -0
- package/docs/research/2026-09-02-wikiskill-skill-state.md +67 -0
- package/docs/runtime-state.md +31 -0
- package/docs/security-lifecycle.md +23 -0
- package/docs/zh-CN/catalog-methodology.md +46 -0
- package/docs/zh-CN/evaluation.md +38 -0
- package/docs/zh-CN/evolution-knowledge.md +46 -0
- package/docs/zh-CN/evolution-policy.md +23 -0
- package/docs/zh-CN/harnesses.md +40 -0
- package/docs/zh-CN/npm-release.md +87 -0
- package/docs/zh-CN/release-policy.md +5 -0
- package/docs/zh-CN/research/2026-09-02-agent-skill-literature.md +55 -0
- package/docs/zh-CN/research/2026-09-02-retrieval-security-optimization.md +33 -0
- package/docs/zh-CN/research/2026-09-02-wikiskill-skill-state.md +67 -0
- package/docs/zh-CN/runtime-state.md +31 -0
- package/docs/zh-CN/security-lifecycle.md +23 -0
- package/evals/baselines/harness.yaml +16 -0
- package/evals/baselines/routing.yaml +17 -0
- package/evals/datasets/routing-adversarial.yaml +14 -0
- package/evals/datasets/routing-bootstrap.yaml +20 -0
- package/evals/datasets/routing-en-test.yaml +15 -0
- package/evals/datasets/routing-hard-distractors.yaml +29 -0
- package/evals/datasets/routing-zh-CN-test.yaml +15 -0
- package/evals/datasets/task-completion-bootstrap.yaml +20 -0
- package/evals/effect-gates.yaml +5 -0
- package/evals/gates.yaml +9 -0
- package/package.json +87 -0
- package/packs/evidence-backed-market-research.yaml +14 -0
- package/packs/localized-research-brief.yaml +14 -0
- package/packs/safe-skill-evolution.yaml +20 -0
- package/packs/software-delivery.yaml +15 -0
- package/paper/references.bib +177 -0
- package/paper/skillpack-one.md +272 -0
- package/paper/skillpack-one.zh-CN.md +79 -0
- package/runtime/initial/safe-skill-evolution.state.json +14 -0
- package/runtime/schemas/safe-skill-evolution.state.schema.json +51 -0
- package/schemas/capability-pack.schema.json +76 -0
- package/schemas/catalog-entry.schema.json +65 -0
- package/schemas/decomposition-map.schema.json +63 -0
- package/schemas/eval-dataset.schema.json +69 -0
- package/schemas/eval-run.schema.json +46 -0
- package/schemas/evolution-attempt.schema.json +55 -0
- package/schemas/evolution-pattern.schema.json +55 -0
- package/schemas/evolution-proposal.schema.json +77 -0
- package/schemas/lifecycle-security-review.schema.json +46 -0
- package/schemas/skill-contract.schema.json +208 -0
- package/schemas/skill-effect.schema.json +45 -0
- package/schemas/skill-relation-graph.schema.json +40 -0
- package/schemas/taxonomy.schema.json +54 -0
- package/skill-src/atom-analyze-market/SKILL.md +8 -0
- package/skill-src/atom-analyze-market/skill.contract.yaml +27 -0
- package/skill-src/atom-analyze-tabular-data/SKILL.md +8 -0
- package/skill-src/atom-analyze-tabular-data/skill.contract.yaml +26 -0
- package/skill-src/atom-audit-source-security/SKILL.md +8 -0
- package/skill-src/atom-audit-source-security/skill.contract.yaml +27 -0
- package/skill-src/atom-classify-capability/SKILL.md +8 -0
- package/skill-src/atom-classify-capability/skill.contract.yaml +26 -0
- package/skill-src/atom-design-automation-workflow/SKILL.md +8 -0
- package/skill-src/atom-design-automation-workflow/skill.contract.yaml +26 -0
- package/skill-src/atom-design-interface-spec/SKILL.md +8 -0
- package/skill-src/atom-design-interface-spec/skill.contract.yaml +26 -0
- package/skill-src/atom-find-research-sources/SKILL.md +8 -0
- package/skill-src/atom-find-research-sources/skill.contract.yaml +26 -0
- package/skill-src/atom-implement-code-change/SKILL.md +8 -0
- package/skill-src/atom-implement-code-change/skill.contract.yaml +26 -0
- package/skill-src/atom-organize-personal-tasks/SKILL.md +8 -0
- package/skill-src/atom-organize-personal-tasks/skill.contract.yaml +26 -0
- package/skill-src/atom-plan-code-change/SKILL.md +8 -0
- package/skill-src/atom-plan-code-change/skill.contract.yaml +26 -0
- package/skill-src/atom-translate-document/SKILL.md +8 -0
- package/skill-src/atom-translate-document/skill.contract.yaml +26 -0
- package/skill-src/category-automation-operations/SKILL.md +13 -0
- package/skill-src/category-automation-operations/skill.contract.yaml +26 -0
- package/skill-src/category-business-growth/SKILL.md +13 -0
- package/skill-src/category-business-growth/skill.contract.yaml +26 -0
- package/skill-src/category-data-analytics/SKILL.md +13 -0
- package/skill-src/category-data-analytics/skill.contract.yaml +26 -0
- package/skill-src/category-design-media/SKILL.md +13 -0
- package/skill-src/category-design-media/skill.contract.yaml +26 -0
- package/skill-src/category-documents-communication/SKILL.md +13 -0
- package/skill-src/category-documents-communication/skill.contract.yaml +26 -0
- package/skill-src/category-personal-productivity/SKILL.md +13 -0
- package/skill-src/category-personal-productivity/skill.contract.yaml +26 -0
- package/skill-src/category-research-knowledge/SKILL.md +13 -0
- package/skill-src/category-research-knowledge/skill.contract.yaml +26 -0
- package/skill-src/category-security-trust/SKILL.md +13 -0
- package/skill-src/category-security-trust/skill.contract.yaml +26 -0
- package/skill-src/category-skill-agent-governance/SKILL.md +13 -0
- package/skill-src/category-skill-agent-governance/skill.contract.yaml +26 -0
- package/skill-src/category-software-engineering/SKILL.md +14 -0
- package/skill-src/category-software-engineering/skill.contract.yaml +26 -0
- package/skill-src/meta-skill-governor/SKILL.md +33 -0
- package/skill-src/meta-skill-governor/references/evolution-policy.en.md +8 -0
- package/skill-src/meta-skill-governor/references/evolution-policy.zh-CN.md +8 -0
- package/skill-src/meta-skill-governor/references/knowledge-policy.en.md +9 -0
- package/skill-src/meta-skill-governor/references/knowledge-policy.zh-CN.md +9 -0
- package/skill-src/meta-skill-governor/skill.contract.yaml +51 -0
- package/skills/atom-analyze-market/SKILL.md +8 -0
- package/skills/atom-analyze-market/agents/openai.yaml +7 -0
- package/skills/atom-analyze-market/skill.contract.yaml +27 -0
- package/skills/atom-analyze-tabular-data/SKILL.md +8 -0
- package/skills/atom-analyze-tabular-data/agents/openai.yaml +7 -0
- package/skills/atom-analyze-tabular-data/skill.contract.yaml +26 -0
- package/skills/atom-audit-source-security/SKILL.md +8 -0
- package/skills/atom-audit-source-security/agents/openai.yaml +7 -0
- package/skills/atom-audit-source-security/skill.contract.yaml +27 -0
- package/skills/atom-classify-capability/SKILL.md +8 -0
- package/skills/atom-classify-capability/agents/openai.yaml +7 -0
- package/skills/atom-classify-capability/skill.contract.yaml +26 -0
- package/skills/atom-design-automation-workflow/SKILL.md +8 -0
- package/skills/atom-design-automation-workflow/agents/openai.yaml +7 -0
- package/skills/atom-design-automation-workflow/skill.contract.yaml +26 -0
- package/skills/atom-design-interface-spec/SKILL.md +8 -0
- package/skills/atom-design-interface-spec/agents/openai.yaml +7 -0
- package/skills/atom-design-interface-spec/skill.contract.yaml +26 -0
- package/skills/atom-find-research-sources/SKILL.md +8 -0
- package/skills/atom-find-research-sources/agents/openai.yaml +7 -0
- package/skills/atom-find-research-sources/skill.contract.yaml +26 -0
- package/skills/atom-implement-code-change/SKILL.md +8 -0
- package/skills/atom-implement-code-change/agents/openai.yaml +7 -0
- package/skills/atom-implement-code-change/skill.contract.yaml +26 -0
- package/skills/atom-organize-personal-tasks/SKILL.md +8 -0
- package/skills/atom-organize-personal-tasks/agents/openai.yaml +7 -0
- package/skills/atom-organize-personal-tasks/skill.contract.yaml +26 -0
- package/skills/atom-plan-code-change/SKILL.md +8 -0
- package/skills/atom-plan-code-change/agents/openai.yaml +7 -0
- package/skills/atom-plan-code-change/skill.contract.yaml +26 -0
- package/skills/atom-translate-document/SKILL.md +8 -0
- package/skills/atom-translate-document/agents/openai.yaml +7 -0
- package/skills/atom-translate-document/skill.contract.yaml +26 -0
- package/skills/category-automation-operations/SKILL.md +13 -0
- package/skills/category-automation-operations/agents/openai.yaml +7 -0
- package/skills/category-automation-operations/references/index.en.md +11 -0
- package/skills/category-automation-operations/references/index.md +11 -0
- package/skills/category-automation-operations/references/index.zh-CN.md +11 -0
- package/skills/category-automation-operations/references/index.zh.md +11 -0
- package/skills/category-automation-operations/skill.contract.yaml +26 -0
- package/skills/category-business-growth/SKILL.md +13 -0
- package/skills/category-business-growth/agents/openai.yaml +7 -0
- package/skills/category-business-growth/references/index.en.md +11 -0
- package/skills/category-business-growth/references/index.md +11 -0
- package/skills/category-business-growth/references/index.zh-CN.md +11 -0
- package/skills/category-business-growth/references/index.zh.md +11 -0
- package/skills/category-business-growth/skill.contract.yaml +26 -0
- package/skills/category-data-analytics/SKILL.md +13 -0
- package/skills/category-data-analytics/agents/openai.yaml +7 -0
- package/skills/category-data-analytics/references/index.en.md +11 -0
- package/skills/category-data-analytics/references/index.md +11 -0
- package/skills/category-data-analytics/references/index.zh-CN.md +11 -0
- package/skills/category-data-analytics/references/index.zh.md +11 -0
- package/skills/category-data-analytics/skill.contract.yaml +26 -0
- package/skills/category-design-media/SKILL.md +13 -0
- package/skills/category-design-media/agents/openai.yaml +7 -0
- package/skills/category-design-media/references/index.en.md +11 -0
- package/skills/category-design-media/references/index.md +11 -0
- package/skills/category-design-media/references/index.zh-CN.md +11 -0
- package/skills/category-design-media/references/index.zh.md +11 -0
- package/skills/category-design-media/skill.contract.yaml +26 -0
- package/skills/category-documents-communication/SKILL.md +13 -0
- package/skills/category-documents-communication/agents/openai.yaml +7 -0
- package/skills/category-documents-communication/references/index.en.md +11 -0
- package/skills/category-documents-communication/references/index.md +11 -0
- package/skills/category-documents-communication/references/index.zh-CN.md +11 -0
- package/skills/category-documents-communication/references/index.zh.md +11 -0
- package/skills/category-documents-communication/skill.contract.yaml +26 -0
- package/skills/category-personal-productivity/SKILL.md +13 -0
- package/skills/category-personal-productivity/agents/openai.yaml +7 -0
- package/skills/category-personal-productivity/references/index.en.md +11 -0
- package/skills/category-personal-productivity/references/index.md +11 -0
- package/skills/category-personal-productivity/references/index.zh-CN.md +11 -0
- package/skills/category-personal-productivity/references/index.zh.md +11 -0
- package/skills/category-personal-productivity/skill.contract.yaml +26 -0
- package/skills/category-research-knowledge/SKILL.md +13 -0
- package/skills/category-research-knowledge/agents/openai.yaml +7 -0
- package/skills/category-research-knowledge/references/index.en.md +14 -0
- package/skills/category-research-knowledge/references/index.md +14 -0
- package/skills/category-research-knowledge/references/index.zh-CN.md +14 -0
- package/skills/category-research-knowledge/references/index.zh.md +14 -0
- package/skills/category-research-knowledge/skill.contract.yaml +26 -0
- package/skills/category-security-trust/SKILL.md +13 -0
- package/skills/category-security-trust/agents/openai.yaml +7 -0
- package/skills/category-security-trust/references/index.en.md +11 -0
- package/skills/category-security-trust/references/index.md +11 -0
- package/skills/category-security-trust/references/index.zh-CN.md +11 -0
- package/skills/category-security-trust/references/index.zh.md +11 -0
- package/skills/category-security-trust/skill.contract.yaml +26 -0
- package/skills/category-skill-agent-governance/SKILL.md +13 -0
- package/skills/category-skill-agent-governance/agents/openai.yaml +7 -0
- package/skills/category-skill-agent-governance/references/index.en.md +11 -0
- package/skills/category-skill-agent-governance/references/index.md +11 -0
- package/skills/category-skill-agent-governance/references/index.zh-CN.md +11 -0
- package/skills/category-skill-agent-governance/references/index.zh.md +11 -0
- package/skills/category-skill-agent-governance/skill.contract.yaml +26 -0
- package/skills/category-software-engineering/SKILL.md +14 -0
- package/skills/category-software-engineering/agents/openai.yaml +7 -0
- package/skills/category-software-engineering/references/index.en.md +17 -0
- package/skills/category-software-engineering/references/index.md +17 -0
- package/skills/category-software-engineering/references/index.zh-CN.md +17 -0
- package/skills/category-software-engineering/references/index.zh.md +17 -0
- package/skills/category-software-engineering/skill.contract.yaml +26 -0
- package/skills/meta-skill-governor/SKILL.md +33 -0
- package/skills/meta-skill-governor/agents/openai.yaml +7 -0
- package/skills/meta-skill-governor/references/evolution-policy.en.md +8 -0
- package/skills/meta-skill-governor/references/evolution-policy.zh-CN.md +8 -0
- package/skills/meta-skill-governor/references/knowledge-policy.en.md +9 -0
- package/skills/meta-skill-governor/references/knowledge-policy.zh-CN.md +9 -0
- package/skills/meta-skill-governor/skill.contract.yaml +51 -0
- package/taxonomy/classification-standard.md +44 -0
- package/taxonomy/classification-standard.zh-CN.md +44 -0
- package/taxonomy/taxonomy.yaml +195 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { readdir, readFile, rm, mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
4
|
+
import { parse, stringify } from "yaml";
|
|
5
|
+
import { loadContracts, loadTaxonomy } from "../src/registry.js";
|
|
6
|
+
async function listFiles(root, relative = "") {
|
|
7
|
+
const directory = path.join(root, relative);
|
|
8
|
+
let entries;
|
|
9
|
+
try {
|
|
10
|
+
entries = await readdir(directory, { withFileTypes: true });
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
if (error.code === "ENOENT")
|
|
14
|
+
return [];
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
const files = [];
|
|
18
|
+
for (const entry of entries) {
|
|
19
|
+
const child = path.join(relative, entry.name);
|
|
20
|
+
if (entry.isDirectory())
|
|
21
|
+
files.push(...(await listFiles(root, child)));
|
|
22
|
+
else if (entry.name !== ".gitkeep")
|
|
23
|
+
files.push(child);
|
|
24
|
+
}
|
|
25
|
+
return files.sort();
|
|
26
|
+
}
|
|
27
|
+
function readFrontmatter(markdown) {
|
|
28
|
+
const match = /^---\r?\n([\s\S]*?)\r?\n---/u.exec(markdown);
|
|
29
|
+
if (!match?.[1])
|
|
30
|
+
throw new Error("SKILL.md is missing YAML frontmatter");
|
|
31
|
+
const value = parse(match[1]);
|
|
32
|
+
if (!value.name || !value.description)
|
|
33
|
+
throw new Error("SKILL.md frontmatter requires name and description");
|
|
34
|
+
return { name: value.name, description: value.description };
|
|
35
|
+
}
|
|
36
|
+
function title(id) {
|
|
37
|
+
return id
|
|
38
|
+
.split("-")
|
|
39
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
40
|
+
.join(" ");
|
|
41
|
+
}
|
|
42
|
+
function renderAgentMetadata(frontmatter) {
|
|
43
|
+
const displayName = title(frontmatter.name);
|
|
44
|
+
const shortDescription = `Route and apply ${displayName}`.slice(0, 64);
|
|
45
|
+
return stringify({
|
|
46
|
+
interface: {
|
|
47
|
+
display_name: displayName,
|
|
48
|
+
short_description: shortDescription,
|
|
49
|
+
default_prompt: `Use $${frontmatter.name} to handle this request within its declared capability boundary.`
|
|
50
|
+
},
|
|
51
|
+
policy: { allow_implicit_invocation: true }
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function localized(contract, locale) {
|
|
55
|
+
const base = locale.split("-")[0] ?? locale;
|
|
56
|
+
return {
|
|
57
|
+
name: contract.name[locale] ?? contract.name[base] ?? contract.name.en,
|
|
58
|
+
summary: contract.summary[locale] ?? contract.summary[base] ?? contract.summary.en
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export function renderIndex(node, nodes, contracts, locale) {
|
|
62
|
+
const heading = locale === "zh-CN" ? "原子 Skill" : "Atomic Skills";
|
|
63
|
+
const description = node.description?.[locale] ?? node.description?.en ?? node.label[locale] ?? node.label.en;
|
|
64
|
+
const lines = [
|
|
65
|
+
`# ${node.label[locale] ?? node.label.en}: ${heading}`,
|
|
66
|
+
"",
|
|
67
|
+
description,
|
|
68
|
+
""
|
|
69
|
+
];
|
|
70
|
+
const children = nodes.filter((candidate) => candidate.parent === node.id).sort((left, right) => left.id.localeCompare(right.id));
|
|
71
|
+
if (children.length > 0) {
|
|
72
|
+
lines.push(`## ${locale === "zh-CN" ? "子分类" : "Subcategories"}`, "");
|
|
73
|
+
for (const child of children) {
|
|
74
|
+
const childLabel = child.label[locale] ?? child.label.en;
|
|
75
|
+
const childDescription = child.description?.[locale] ?? child.description?.en;
|
|
76
|
+
lines.push(`- \`category-${child.id}\` — **${childLabel}**${childDescription ? `: ${childDescription}` : ""}`);
|
|
77
|
+
}
|
|
78
|
+
lines.push("");
|
|
79
|
+
}
|
|
80
|
+
lines.push(`## ${heading}`, "");
|
|
81
|
+
const matching = contracts.filter((contract) => contract.kind === "atom" &&
|
|
82
|
+
(contract.taxonomy.primaryCategory === node.id || contract.taxonomy.secondaryCategories?.includes(node.id)));
|
|
83
|
+
if (matching.length === 0) {
|
|
84
|
+
lines.push(locale === "zh-CN" ? "当前尚无已认证的原子 Skill。" : "No certified Atomic Skills yet.", "");
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
for (const contract of matching) {
|
|
88
|
+
const text = localized(contract, locale);
|
|
89
|
+
lines.push(`- \`${contract.id}\` — **${text.name}**: ${text.summary}`);
|
|
90
|
+
lines.push(` - ${locale === "zh-CN" ? "风险" : "Risk"}: \`${contract.taxonomy.risk}\``);
|
|
91
|
+
lines.push(` - ${locale === "zh-CN" ? "生命周期" : "Lifecycle"}: ${contract.taxonomy.lifecycle.join(", ")}`);
|
|
92
|
+
}
|
|
93
|
+
lines.push("");
|
|
94
|
+
}
|
|
95
|
+
lines.push(locale === "zh-CN"
|
|
96
|
+
? "只读取最终选中的原子 Skill;若请求包含多个独立结果,请改用能力包。"
|
|
97
|
+
: "Read only the selected Atomic Skill. Use a capability pack when the request has independently useful outcomes.", "");
|
|
98
|
+
return lines.join("\n");
|
|
99
|
+
}
|
|
100
|
+
async function expectedFiles(root) {
|
|
101
|
+
const sourceRoot = path.join(root, "skill-src");
|
|
102
|
+
const files = await listFiles(sourceRoot);
|
|
103
|
+
const expected = new Map();
|
|
104
|
+
const [taxonomy, contracts] = await Promise.all([loadTaxonomy(root), loadContracts(root)]);
|
|
105
|
+
for (const relative of files) {
|
|
106
|
+
expected.set(relative, await readFile(path.join(sourceRoot, relative), "utf8"));
|
|
107
|
+
}
|
|
108
|
+
const skillDirectories = (await readdir(sourceRoot, { withFileTypes: true }))
|
|
109
|
+
.filter((entry) => entry.isDirectory())
|
|
110
|
+
.map((entry) => entry.name)
|
|
111
|
+
.sort();
|
|
112
|
+
for (const directory of skillDirectories) {
|
|
113
|
+
const skill = expected.get(path.join(directory, "SKILL.md"));
|
|
114
|
+
if (!skill)
|
|
115
|
+
throw new Error(`${directory} is missing SKILL.md`);
|
|
116
|
+
expected.set(path.join(directory, "agents", "openai.yaml"), renderAgentMetadata(readFrontmatter(skill)));
|
|
117
|
+
if (directory.startsWith("category-")) {
|
|
118
|
+
const nodeId = directory.slice("category-".length);
|
|
119
|
+
const node = taxonomy.nodes.find((candidate) => candidate.id === nodeId);
|
|
120
|
+
if (!node)
|
|
121
|
+
throw new Error(`${directory} has no taxonomy node ${nodeId}`);
|
|
122
|
+
const englishIndex = renderIndex(node, taxonomy.nodes, contracts, "en");
|
|
123
|
+
expected.set(path.join(directory, "references", "index.md"), englishIndex);
|
|
124
|
+
expected.set(path.join(directory, "references", "index.en.md"), englishIndex);
|
|
125
|
+
const chineseIndex = renderIndex(node, taxonomy.nodes, contracts, "zh-CN");
|
|
126
|
+
expected.set(path.join(directory, "references", "index.zh-CN.md"), chineseIndex);
|
|
127
|
+
expected.set(path.join(directory, "references", "index.zh.md"), chineseIndex);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return expected;
|
|
131
|
+
}
|
|
132
|
+
async function materialize(targetRoot, expected) {
|
|
133
|
+
await rm(targetRoot, { recursive: true, force: true });
|
|
134
|
+
for (const [relative, content] of expected) {
|
|
135
|
+
const target = path.join(targetRoot, relative);
|
|
136
|
+
await mkdir(path.dirname(target), { recursive: true });
|
|
137
|
+
await writeFile(target, content, "utf8");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async function compareProjection(targetRoot, expected) {
|
|
141
|
+
const differences = [];
|
|
142
|
+
const actualFiles = await listFiles(targetRoot);
|
|
143
|
+
const expectedFiles = [...expected.keys()].sort();
|
|
144
|
+
for (const relative of expectedFiles) {
|
|
145
|
+
try {
|
|
146
|
+
const actual = await readFile(path.join(targetRoot, relative), "utf8");
|
|
147
|
+
if (actual !== expected.get(relative))
|
|
148
|
+
differences.push(`changed:${relative}`);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
if (error.code === "ENOENT")
|
|
152
|
+
differences.push(`missing:${relative}`);
|
|
153
|
+
else
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
for (const relative of actualFiles) {
|
|
158
|
+
if (!expected.has(relative))
|
|
159
|
+
differences.push(`extra:${relative}`);
|
|
160
|
+
}
|
|
161
|
+
return differences.sort();
|
|
162
|
+
}
|
|
163
|
+
export async function generateSkillProjections(root) {
|
|
164
|
+
const expected = await expectedFiles(root);
|
|
165
|
+
await materialize(path.join(root, "skills"), expected);
|
|
166
|
+
await materialize(path.join(root, ".agents", "skills"), expected);
|
|
167
|
+
}
|
|
168
|
+
export async function checkSkillProjections(root) {
|
|
169
|
+
const expected = await expectedFiles(root);
|
|
170
|
+
const pluginDifferences = (await compareProjection(path.join(root, "skills"), expected)).map((difference) => `skills/${difference}`);
|
|
171
|
+
const nativeDifferences = (await compareProjection(path.join(root, ".agents", "skills"), expected)).map((difference) => `.agents/skills/${difference}`);
|
|
172
|
+
const differences = [...pluginDifferences, ...nativeDifferences].sort();
|
|
173
|
+
return { current: differences.length === 0, differences };
|
|
174
|
+
}
|
|
175
|
+
const entry = process.argv[1];
|
|
176
|
+
if (entry && import.meta.url === pathToFileURL(entry).href) {
|
|
177
|
+
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
178
|
+
if (process.argv.includes("--check")) {
|
|
179
|
+
const report = await checkSkillProjections(root);
|
|
180
|
+
process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
|
|
181
|
+
if (!report.current)
|
|
182
|
+
process.exitCode = 1;
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
await generateSkillProjections(root);
|
|
186
|
+
process.stdout.write("Generated plugin and Codex Skill projections.\n");
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=generate-skill-projections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-skill-projections.js","sourceRoot":"","sources":["../../scripts/generate-skill-projections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { appendFile, readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { planNpmRelease } from "../src/release.js";
|
|
4
|
+
const [releaseTag, prereleaseValue] = process.argv.slice(2);
|
|
5
|
+
if (!releaseTag || !prereleaseValue || !["true", "false"].includes(prereleaseValue)) {
|
|
6
|
+
throw new Error("usage: npm run release:plan -- <vVERSION> <true|false>");
|
|
7
|
+
}
|
|
8
|
+
const githubRepository = process.env.GITHUB_REPOSITORY;
|
|
9
|
+
if (!githubRepository)
|
|
10
|
+
throw new Error("GITHUB_REPOSITORY is required");
|
|
11
|
+
const packageJson = JSON.parse(await readFile(path.resolve("package.json"), "utf8"));
|
|
12
|
+
const repositoryUrl = typeof packageJson.repository === "string"
|
|
13
|
+
? packageJson.repository
|
|
14
|
+
: packageJson.repository?.url;
|
|
15
|
+
if (!packageJson.name || !packageJson.version || !repositoryUrl) {
|
|
16
|
+
throw new Error("package.json requires name, version, and repository.url");
|
|
17
|
+
}
|
|
18
|
+
const plan = planNpmRelease({
|
|
19
|
+
packageName: packageJson.name,
|
|
20
|
+
version: packageJson.version,
|
|
21
|
+
repositoryUrl,
|
|
22
|
+
githubRepository,
|
|
23
|
+
releaseTag,
|
|
24
|
+
githubPrerelease: prereleaseValue === "true"
|
|
25
|
+
});
|
|
26
|
+
if (process.env.GITHUB_OUTPUT) {
|
|
27
|
+
await appendFile(process.env.GITHUB_OUTPUT, `package-name=${plan.packageName}\nversion=${plan.version}\nnpm-tag=${plan.npmTag}\n`, "utf8");
|
|
28
|
+
}
|
|
29
|
+
process.stdout.write(`${JSON.stringify(plan, null, 2)}\n`);
|
|
30
|
+
//# sourceMappingURL=prepare-npm-release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare-npm-release.js","sourceRoot":"","sources":["../../scripts/prepare-npm-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;IACpF,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACvD,IAAI,CAAC,gBAAgB;IAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAExE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CACtC,CAAC;AACjB,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;IAC9D,CAAC,CAAC,WAAW,CAAC,UAAU;IACxB,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC;AAChC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAChE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,IAAI,GAAG,cAAc,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC,IAAI;IAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,gBAAgB,EAAE,eAAe,KAAK,MAAM;CAC7C,CAAC,CAAC;AAEH,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,CACd,OAAO,CAAC,GAAG,CAAC,aAAa,EACzB,gBAAgB,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,MAAM,IAAI,EACrF,MAAM,CACP,CAAC;AACJ,CAAC;AACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CatalogEntry } from "../types.js";
|
|
2
|
+
export interface CatalogStats {
|
|
3
|
+
total: number;
|
|
4
|
+
byType: Record<CatalogEntry["type"], number>;
|
|
5
|
+
byLicenseStatus: Record<CatalogEntry["license"]["status"], number>;
|
|
6
|
+
}
|
|
7
|
+
export interface CollectionResult {
|
|
8
|
+
entries: CatalogEntry[];
|
|
9
|
+
sources: Array<{
|
|
10
|
+
id: string;
|
|
11
|
+
count: number;
|
|
12
|
+
revision?: string;
|
|
13
|
+
}>;
|
|
14
|
+
verifiedAt: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function catalogStats(entries: CatalogEntry[]): CatalogStats;
|
|
17
|
+
export declare function loadCatalog(root: string): Promise<CatalogEntry[]>;
|
|
18
|
+
export declare function collectCatalog(root: string): Promise<CollectionResult>;
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { execFile } from "node:child_process";
|
|
3
|
+
import { mkdir, mkdtemp, readFile, readdir, rm, writeFile } from "node:fs/promises";
|
|
4
|
+
import os from "node:os";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { promisify } from "node:util";
|
|
7
|
+
import { parse, stringify } from "yaml";
|
|
8
|
+
const execFileAsync = promisify(execFile);
|
|
9
|
+
function canonicalJson(value) {
|
|
10
|
+
if (Array.isArray(value))
|
|
11
|
+
return `[${value.map(canonicalJson).join(",")}]`;
|
|
12
|
+
if (value && typeof value === "object") {
|
|
13
|
+
const record = value;
|
|
14
|
+
return `{${Object.keys(record)
|
|
15
|
+
.sort()
|
|
16
|
+
.map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key])}`)
|
|
17
|
+
.join(",")}}`;
|
|
18
|
+
}
|
|
19
|
+
return JSON.stringify(value);
|
|
20
|
+
}
|
|
21
|
+
function digest(value) {
|
|
22
|
+
return createHash("sha256").update(canonicalJson(value)).digest("hex");
|
|
23
|
+
}
|
|
24
|
+
function slug(value, maxLength = 120) {
|
|
25
|
+
const normalized = value
|
|
26
|
+
.normalize("NFKD")
|
|
27
|
+
.toLowerCase()
|
|
28
|
+
.replace(/[^a-z0-9]+/gu, "-")
|
|
29
|
+
.replace(/^-+|-+$/gu, "")
|
|
30
|
+
.slice(0, maxLength)
|
|
31
|
+
.replace(/-+$/u, "");
|
|
32
|
+
return normalized || "capability";
|
|
33
|
+
}
|
|
34
|
+
function capabilityTerms(...values) {
|
|
35
|
+
const ignored = new Set(["and", "for", "from", "mcp", "server", "the", "with", "your", "this", "that"]);
|
|
36
|
+
const terms = values
|
|
37
|
+
.filter((value) => Boolean(value))
|
|
38
|
+
.flatMap((value) => value.toLowerCase().match(/[a-z0-9]{3,}/gu) ?? [])
|
|
39
|
+
.filter((term) => !ignored.has(term));
|
|
40
|
+
return [...new Set(["mcp", ...terms])].slice(0, 8);
|
|
41
|
+
}
|
|
42
|
+
async function fetchJson(url, headers = {}) {
|
|
43
|
+
const response = await fetch(url, {
|
|
44
|
+
headers: { "User-Agent": "skillpack-one-catalog/0.1", Accept: "application/json", ...headers }
|
|
45
|
+
});
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
throw new Error(`HTTP ${response.status} for ${url}: ${(await response.text()).slice(0, 500)}`);
|
|
48
|
+
}
|
|
49
|
+
return (await response.json());
|
|
50
|
+
}
|
|
51
|
+
function githubCoordinates(repository) {
|
|
52
|
+
const match = /^https:\/\/github\.com\/([^/]+)\/([^/#]+)\/?$/u.exec(repository);
|
|
53
|
+
if (!match?.[1] || !match[2])
|
|
54
|
+
throw new Error(`Unsupported GitHub repository URL: ${repository}`);
|
|
55
|
+
return { owner: match[1], repo: match[2].replace(/\.git$/u, "") };
|
|
56
|
+
}
|
|
57
|
+
function detectLicense(content) {
|
|
58
|
+
if (!content)
|
|
59
|
+
return undefined;
|
|
60
|
+
if (/Apache License\s+Version 2\.0/iu.test(content))
|
|
61
|
+
return "Apache-2.0";
|
|
62
|
+
if (/MIT License/iu.test(content) || /Permission is hereby granted, free of charge/iu.test(content))
|
|
63
|
+
return "MIT";
|
|
64
|
+
if (/GNU AFFERO GENERAL PUBLIC LICENSE/iu.test(content))
|
|
65
|
+
return "AGPL-3.0-only";
|
|
66
|
+
if (/GNU GENERAL PUBLIC LICENSE[\s\S]{0,100}Version 3/iu.test(content))
|
|
67
|
+
return "GPL-3.0-only";
|
|
68
|
+
if (/BSD 3-Clause/iu.test(content))
|
|
69
|
+
return "BSD-3-Clause";
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
async function git(args, cwd) {
|
|
73
|
+
const result = await execFileAsync("git", args, {
|
|
74
|
+
...(cwd ? { cwd } : {}),
|
|
75
|
+
encoding: "utf8",
|
|
76
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
77
|
+
env: { ...process.env, GIT_TERMINAL_PROMPT: "0" }
|
|
78
|
+
});
|
|
79
|
+
return result.stdout.trim();
|
|
80
|
+
}
|
|
81
|
+
async function collectMcp(source, verifiedAt) {
|
|
82
|
+
const records = [];
|
|
83
|
+
let cursor;
|
|
84
|
+
while (records.length < source.target) {
|
|
85
|
+
const url = new URL(source.endpoint);
|
|
86
|
+
url.searchParams.set("limit", String(Math.min(100, source.target - records.length)));
|
|
87
|
+
url.searchParams.set("version", "latest");
|
|
88
|
+
if (cursor)
|
|
89
|
+
url.searchParams.set("cursor", cursor);
|
|
90
|
+
const page = await fetchJson(url.href);
|
|
91
|
+
records.push(...page.servers);
|
|
92
|
+
cursor = page.metadata.nextCursor;
|
|
93
|
+
if (!cursor || page.servers.length === 0)
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
return records.slice(0, source.target).map((record) => {
|
|
97
|
+
const server = record.server;
|
|
98
|
+
const revision = digest(server);
|
|
99
|
+
const repository = server.repository?.url?.startsWith("https://") === true
|
|
100
|
+
? server.repository.url
|
|
101
|
+
: "https://github.com/modelcontextprotocol/registry";
|
|
102
|
+
const author = repository.startsWith("https://github.com/")
|
|
103
|
+
? repository.split("/")[3] ?? server.name.split("/")[0] ?? "unknown"
|
|
104
|
+
: server.name.split("/")[0] ?? "unknown";
|
|
105
|
+
const detailUrl = `${source.endpoint}/${encodeURIComponent(server.name)}/versions/${encodeURIComponent(server.version)}`;
|
|
106
|
+
return {
|
|
107
|
+
schemaVersion: 1,
|
|
108
|
+
id: `mcp-${slug(server.name)}-${revision.slice(0, 10)}`,
|
|
109
|
+
type: "mcp-server",
|
|
110
|
+
name: server.title || server.name,
|
|
111
|
+
summary: server.description || `MCP server ${server.name}`,
|
|
112
|
+
author,
|
|
113
|
+
source: {
|
|
114
|
+
repository,
|
|
115
|
+
revision,
|
|
116
|
+
path: `${server.name}@${server.version}`,
|
|
117
|
+
url: detailUrl
|
|
118
|
+
},
|
|
119
|
+
license: { status: "unknown" },
|
|
120
|
+
verifiedAt,
|
|
121
|
+
capabilities: capabilityTerms(server.name, server.title, server.description),
|
|
122
|
+
security: {
|
|
123
|
+
status: "metadata-reviewed",
|
|
124
|
+
executesUpstreamCode: false,
|
|
125
|
+
notes: "Cataloged from the official MCP Registry; packages and remotes were not executed."
|
|
126
|
+
},
|
|
127
|
+
fingerprint: `sha256:${revision}`,
|
|
128
|
+
freshness: "current"
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async function collectGitHubSkills(source, verifiedAt) {
|
|
133
|
+
const { owner, repo } = githubCoordinates(source.repository);
|
|
134
|
+
const temporaryRoot = await mkdtemp(path.join(os.tmpdir(), "skillpack-catalog-git-"));
|
|
135
|
+
const checkout = path.join(temporaryRoot, "repository");
|
|
136
|
+
try {
|
|
137
|
+
await git(["clone", "--depth", "1", "--filter=blob:none", "--no-checkout", source.repository, checkout]);
|
|
138
|
+
const revision = await git(["rev-parse", "HEAD"], checkout);
|
|
139
|
+
const treePaths = (await git(["ls-tree", "-r", "--name-only", "HEAD"], checkout)).split(/\r?\n/u);
|
|
140
|
+
const skillPaths = treePaths
|
|
141
|
+
.filter((entry) => /(^|\/)SKILL\.md$/u.test(entry) &&
|
|
142
|
+
!/(^|\/)(node_modules|\.venv|fixtures?|testdata)(\/|$)/u.test(entry))
|
|
143
|
+
.sort();
|
|
144
|
+
const licensePath = treePaths.find((entry) => /(^|\/)(LICENSE|LICENSE\.md|LICENSE\.txt)$/iu.test(entry));
|
|
145
|
+
let licenseContent;
|
|
146
|
+
if (licensePath) {
|
|
147
|
+
try {
|
|
148
|
+
licenseContent = await git(["show", `HEAD:${licensePath}`], checkout);
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
licenseContent = undefined;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const licenseId = detectLicense(licenseContent);
|
|
155
|
+
const fullName = `${owner}/${repo}`;
|
|
156
|
+
const entries = skillPaths.map((skillPath) => {
|
|
157
|
+
const skillDirectory = path.posix.dirname(skillPath);
|
|
158
|
+
const name = path.posix.basename(skillDirectory);
|
|
159
|
+
const entryDigest = digest({ repository: fullName, revision, path: skillDirectory });
|
|
160
|
+
return {
|
|
161
|
+
schemaVersion: 1,
|
|
162
|
+
id: `skill-${slug(owner, 30)}-${slug(repo, 40)}-${slug(name, 50)}-${entryDigest.slice(0, 8)}`,
|
|
163
|
+
type: "skill",
|
|
164
|
+
name,
|
|
165
|
+
summary: `Agent Skill ${name} from ${fullName}.`,
|
|
166
|
+
author: owner,
|
|
167
|
+
source: {
|
|
168
|
+
repository: source.repository,
|
|
169
|
+
revision,
|
|
170
|
+
path: skillDirectory,
|
|
171
|
+
url: `${source.repository}/tree/${revision}/${skillDirectory}`
|
|
172
|
+
},
|
|
173
|
+
license: licenseId ? { status: "detected", spdx: licenseId } : { status: "unknown" },
|
|
174
|
+
verifiedAt,
|
|
175
|
+
capabilities: [...new Set(name.split(/[-_]+/u).filter(Boolean))],
|
|
176
|
+
security: {
|
|
177
|
+
status: "unreviewed",
|
|
178
|
+
executesUpstreamCode: false,
|
|
179
|
+
notes: "Discovered from a shallow, no-checkout Git tree; Skill instructions and scripts were not executed."
|
|
180
|
+
},
|
|
181
|
+
fingerprint: `sha256:${entryDigest}`,
|
|
182
|
+
freshness: "current"
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
return { entries, revision };
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
const resolvedTemporary = path.resolve(temporaryRoot);
|
|
189
|
+
if (!resolvedTemporary.startsWith(path.resolve(os.tmpdir()) + path.sep)) {
|
|
190
|
+
throw new Error("Refusing to remove catalog temporary directory outside the system temp root");
|
|
191
|
+
}
|
|
192
|
+
await rm(resolvedTemporary, { recursive: true, force: true });
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
export function catalogStats(entries) {
|
|
196
|
+
const byType = { skill: 0, "mcp-server": 0, plugin: 0, harness: 0 };
|
|
197
|
+
const byLicenseStatus = {
|
|
198
|
+
declared: 0,
|
|
199
|
+
detected: 0,
|
|
200
|
+
unknown: 0,
|
|
201
|
+
conflicting: 0
|
|
202
|
+
};
|
|
203
|
+
for (const entry of entries) {
|
|
204
|
+
byType[entry.type] += 1;
|
|
205
|
+
byLicenseStatus[entry.license.status] += 1;
|
|
206
|
+
}
|
|
207
|
+
return { total: entries.length, byType, byLicenseStatus };
|
|
208
|
+
}
|
|
209
|
+
export async function loadCatalog(root) {
|
|
210
|
+
const entriesRoot = path.join(root, "catalog", "entries");
|
|
211
|
+
const files = (await readdir(entriesRoot)).filter((file) => file.endsWith(".yaml")).sort();
|
|
212
|
+
return Promise.all(files.map(async (file) => parse(await readFile(path.join(entriesRoot, file), "utf8"))));
|
|
213
|
+
}
|
|
214
|
+
export async function collectCatalog(root) {
|
|
215
|
+
const sourcePath = path.join(root, "catalog", "sources.yaml");
|
|
216
|
+
const document = parse(await readFile(sourcePath, "utf8"));
|
|
217
|
+
const entries = [];
|
|
218
|
+
const sourceResults = [];
|
|
219
|
+
for (const source of document.sources) {
|
|
220
|
+
if (source.kind === "mcp-registry") {
|
|
221
|
+
const collected = await collectMcp(source, document.verifiedAt);
|
|
222
|
+
entries.push(...collected);
|
|
223
|
+
sourceResults.push({ id: source.id, count: collected.length });
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const collected = await collectGitHubSkills(source, document.verifiedAt);
|
|
227
|
+
entries.push(...collected.entries);
|
|
228
|
+
sourceResults.push({ id: source.id, count: collected.entries.length, revision: collected.revision });
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
const unique = new Map(entries.map((entry) => [entry.id, entry]));
|
|
232
|
+
const normalized = [...unique.values()].sort((left, right) => left.id.localeCompare(right.id));
|
|
233
|
+
const entriesRoot = path.resolve(root, "catalog", "entries");
|
|
234
|
+
const catalogRoot = path.resolve(root, "catalog");
|
|
235
|
+
if (path.dirname(entriesRoot) !== catalogRoot)
|
|
236
|
+
throw new Error("Refusing to write catalog outside catalog root");
|
|
237
|
+
await rm(entriesRoot, { recursive: true, force: true });
|
|
238
|
+
await mkdir(entriesRoot, { recursive: true });
|
|
239
|
+
for (const entry of normalized) {
|
|
240
|
+
await writeFile(path.join(entriesRoot, `${entry.id}.yaml`), stringify(entry), "utf8");
|
|
241
|
+
}
|
|
242
|
+
const snapshotRoot = path.join(catalogRoot, "snapshots");
|
|
243
|
+
await mkdir(snapshotRoot, { recursive: true });
|
|
244
|
+
await writeFile(path.join(snapshotRoot, "manifest.yaml"), stringify({
|
|
245
|
+
schemaVersion: 1,
|
|
246
|
+
verifiedAt: document.verifiedAt,
|
|
247
|
+
entryCount: normalized.length,
|
|
248
|
+
digest: `sha256:${digest(normalized)}`,
|
|
249
|
+
sources: sourceResults
|
|
250
|
+
}), "utf8");
|
|
251
|
+
return { entries: normalized, sources: sourceResults, verifiedAt: document.verifiedAt };
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/catalog/catalog.ts"],"names":[],"mappings":"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"}
|