@hasna/skills 0.1.60 → 0.1.61
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/README.md +189 -60
- package/agent-skills/README.md +41 -0
- package/agent-skills/fleet-package-rollout/SKILL.md +169 -0
- package/agent-skills/inbox/SKILL.md +25 -0
- package/agent-skills/inbox/scripts/inbox +109 -0
- package/agent-skills/inbox/tests/test_registered_sender_id.sh +92 -0
- package/agent-skills/inbox-monitor/SKILL.md +41 -0
- package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +91 -0
- package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +71 -0
- package/agent-skills/merge-pr/SKILL.md +85 -0
- package/agent-skills/merge-pr/references/merge-safety.md +82 -0
- package/agent-skills/merge-pr/scripts/merge_pr_guard.py +694 -0
- package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +647 -0
- package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +28 -0
- package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +28 -0
- package/agent-skills/skill-goal-execute/SKILL.md +115 -0
- package/agent-skills/skill-login/SKILL.md +109 -0
- package/agent-skills/skill-project-create/SKILL.md +91 -0
- package/agent-skills/skill-publish/SKILL.md +207 -0
- package/bin/index.js +2406 -3336
- package/bin/mcp.js +1127 -2641
- package/bin/migrate.js +955 -33
- package/bin/server.js +2367 -1989
- package/bin/worker.js +2089 -151
- package/dist/cli/cli.test-utils.d.ts +13 -2
- package/dist/cli/commands/publish.d.ts +30 -0
- package/dist/cli/commands/registry.d.ts +8 -0
- package/dist/index.d.ts +8 -6
- package/dist/index.js +1734 -2720
- package/dist/lib/agent-sync.d.ts +123 -0
- package/dist/lib/api-url.d.ts +34 -0
- package/dist/lib/auth-store.d.ts +21 -5
- package/dist/lib/blog-article.d.ts +37 -0
- package/dist/lib/config.d.ts +56 -2
- package/dist/lib/content-scan.d.ts +62 -9
- package/dist/lib/discovery.d.ts +10 -10
- package/dist/lib/doc-derived-counts.d.ts +56 -0
- package/dist/lib/feedback.d.ts +7 -0
- package/dist/lib/file-bytes.d.ts +43 -0
- package/dist/lib/hosted-skill-set.d.ts +69 -0
- package/dist/lib/infra-identifiers.d.ts +144 -0
- package/dist/lib/installer.d.ts +20 -6
- package/dist/lib/native-storage.d.ts +14 -11
- package/dist/lib/packlist.d.ts +13 -0
- package/dist/lib/portable-skills-files.d.ts +25 -0
- package/dist/lib/portable-skills-types.d.ts +105 -0
- package/dist/lib/portable-skills.d.ts +52 -103
- package/dist/lib/pull.d.ts +41 -0
- package/dist/lib/registry-merge.d.ts +57 -0
- package/dist/lib/registry-types.d.ts +1 -14
- package/dist/lib/registry.d.ts +6 -3
- package/dist/lib/remote-client.d.ts +15 -1
- package/dist/lib/remote-registry.d.ts +1 -1
- package/dist/lib/remote-run-contract.d.ts +0 -7
- package/dist/lib/retired-settings.d.ts +100 -0
- package/dist/lib/run-state.d.ts +14 -0
- package/dist/lib/skill-aliases.d.ts +0 -12
- package/dist/lib/skill-bundle.d.ts +37 -0
- package/dist/lib/vendor-host-code-scan.d.ts +66 -0
- package/dist/lib/vendor-host-folding.d.ts +40 -0
- package/dist/lib/vendor-host-guard.d.ts +47 -0
- package/dist/lib/vendor-host-package.d.ts +42 -0
- package/dist/lib/vendor-host-policy.d.ts +96 -0
- package/dist/lib/vendor-host-url.d.ts +81 -0
- package/dist/mcp/mcp-test-client.d.ts +18 -0
- package/dist/storage.d.ts +1 -1
- package/dist/storage.js +104 -51
- package/docs/skill-standard.md +1 -1
- package/migrations/postgres/0002_org_scoped_skill_registry.sql +72 -0
- package/migrations/sqlite/0001_open_skills_self_hosted.sql +150 -0
- package/migrations/sqlite/0002_org_scoped_skill_registry.sql +47 -0
- package/package.json +4 -4
- package/skills/_common/http-client.ts +17 -2
- package/skills/_common/install.sh +2 -2
- package/skills/_common/installer.ts +4 -5
- package/skills/_common/skill-install.ts +3 -3
- package/skills/ad-creative-pack/SKILL.md +28 -18
- package/skills/ad-creative-pack/package.json +1 -2
- package/skills/analyze-data/SKILL.md +1 -1
- package/skills/analyze-data/src/formatters.ts +2 -2
- package/skills/api-docs-portal/SKILL.md +62 -24
- package/skills/api-docs-portal/package.json +28 -4
- package/skills/api-docs-portal/src/index.ts +919 -0
- package/skills/audio-extract/SKILL.md +1 -1
- package/skills/blog-article/SKILL.md +32 -22
- package/skills/blog-article/package.json +1 -2
- package/skills/brand-assets/SKILL.md +94 -33
- package/skills/brand-assets/package.json +28 -4
- package/skills/brand-assets/src/cli.ts +155 -0
- package/skills/brand-assets/src/constants.ts +8 -0
- package/skills/brand-assets/src/extract.ts +236 -0
- package/skills/brand-assets/src/index.ts +668 -0
- package/skills/brand-assets/src/types.ts +59 -0
- package/skills/brand-kit/SKILL.md +27 -18
- package/skills/brand-kit/package.json +1 -2
- package/skills/compress-video/SKILL.md +1 -1
- package/skills/contract-review-report/SKILL.md +27 -18
- package/skills/contract-review-report/package.json +1 -2
- package/skills/customer-feedback-report/SKILL.md +27 -19
- package/skills/customer-feedback-report/package.json +1 -2
- package/skills/email-sequence/SKILL.md +26 -17
- package/skills/email-sequence/package.json +1 -2
- package/skills/generate-sitemap/src/index.ts +1 -1
- package/skills/invoice-reconciliation/SKILL.md +75 -19
- package/skills/invoice-reconciliation/package.json +29 -4
- package/skills/invoice-reconciliation/src/index.ts +743 -0
- package/skills/{convert → invoice-reconciliation}/tsconfig.json +3 -1
- package/skills/landing-page-pack/SKILL.md +27 -19
- package/skills/landing-page-pack/package.json +1 -2
- package/skills/logo-design/SKILL.md +69 -26
- package/skills/logo-design/package.json +28 -4
- package/skills/logo-design/src/cli.ts +132 -0
- package/skills/logo-design/src/constants.ts +5 -0
- package/skills/logo-design/src/docs.ts +102 -0
- package/skills/logo-design/src/geometry.ts +324 -0
- package/skills/logo-design/src/index.ts +212 -0
- package/skills/logo-design/src/palette.ts +258 -0
- package/skills/logo-design/src/types.ts +50 -0
- package/skills/logo-design/tsconfig.json +11 -2
- package/skills/market-research-report/SKILL.md +28 -18
- package/skills/market-research-report/package.json +2 -3
- package/skills/meeting-pack/SKILL.md +26 -17
- package/skills/meeting-pack/package.json +1 -2
- package/skills/merge-pdfs/src/index.ts +1 -1
- package/skills/migration-plan-pack/SKILL.md +30 -19
- package/skills/migration-plan-pack/package.json +1 -2
- package/skills/one-page-website/SKILL.md +105 -23
- package/skills/one-page-website/package.json +27 -4
- package/skills/one-page-website/src/design.ts +336 -0
- package/skills/one-page-website/src/docs.ts +159 -0
- package/skills/one-page-website/src/index.ts +357 -0
- package/skills/one-page-website/src/page.ts +340 -0
- package/skills/one-page-website/src/styles.ts +508 -0
- package/skills/one-page-website/src/types.ts +78 -0
- package/skills/one-page-website/tsconfig.json +11 -2
- package/skills/pdf-generate/SKILL.md +1 -1
- package/skills/pdf-to-dataset/SKILL.md +64 -21
- package/skills/pdf-to-dataset/package.json +30 -4
- package/skills/pdf-to-dataset/src/index.ts +790 -0
- package/skills/{emoji → pdf-to-dataset}/tsconfig.json +3 -4
- package/skills/pdf-to-markdown/SKILL.md +55 -23
- package/skills/pdf-to-markdown/package.json +28 -4
- package/skills/pdf-to-markdown/src/index.ts +694 -0
- package/skills/pdf-to-markdown/tsconfig.json +11 -4
- package/skills/performance-audit-report/SKILL.md +24 -17
- package/skills/performance-audit-report/package.json +1 -2
- package/skills/pitch-deck/SKILL.md +27 -19
- package/skills/pitch-deck/package.json +1 -2
- package/skills/product-mockup/SKILL.md +85 -23
- package/skills/product-mockup/package.json +25 -4
- package/skills/product-mockup/src/cli.ts +150 -0
- package/skills/product-mockup/src/design.ts +151 -0
- package/skills/product-mockup/src/docs.ts +134 -0
- package/skills/product-mockup/src/index.ts +182 -0
- package/skills/product-mockup/src/render.ts +407 -0
- package/skills/product-mockup/src/types.ts +66 -0
- package/skills/product-mockup/tsconfig.json +11 -2
- package/skills/proposal-pack/SKILL.md +27 -19
- package/skills/proposal-pack/package.json +2 -3
- package/skills/repo-onboarding-report/SKILL.md +26 -16
- package/skills/repo-onboarding-report/package.json +1 -2
- package/skills/security-audit/src/index.ts +1 -1
- package/skills/security-audit-report/SKILL.md +28 -16
- package/skills/security-audit-report/package.json +2 -3
- package/skills/seo-content-pack/SKILL.md +27 -17
- package/skills/seo-content-pack/package.json +1 -2
- package/skills/slide-deck-generator/SKILL.md +70 -21
- package/skills/slide-deck-generator/package.json +31 -4
- package/skills/slide-deck-generator/src/cli.ts +133 -0
- package/skills/slide-deck-generator/src/index.ts +148 -0
- package/skills/slide-deck-generator/src/model.ts +307 -0
- package/skills/slide-deck-generator/src/pptx.ts +143 -0
- package/skills/slide-deck-generator/src/render.ts +248 -0
- package/skills/slide-deck-generator/src/types.ts +114 -0
- package/skills/slide-deck-generator/src/utils.ts +53 -0
- package/skills/slide-deck-generator/tsconfig.json +17 -0
- package/skills/social-content-calendar/SKILL.md +27 -18
- package/skills/social-content-calendar/package.json +1 -2
- package/skills/split-pdf/src/index.ts +1 -1
- package/skills/test-suite-generator/SKILL.md +26 -16
- package/skills/test-suite-generator/package.json +2 -3
- package/skills/todos-plan/SKILL.md +339 -170
- package/skills/video-highlight-pack/SKILL.md +27 -17
- package/skills/video-highlight-pack/package.json +1 -2
- package/dist/cli/onboarding.d.ts +0 -13
- package/dist/lib/hosted-availability.d.ts +0 -13
- package/dist/lib/pricing.d.ts +0 -89
- package/skills/academic-journal-matcher/CLAUDE.md +0 -19
- package/skills/academic-journal-matcher/package.json +0 -27
- package/skills/academic-journal-matcher/src/index.ts +0 -86
- package/skills/academic-journal-matcher/tsconfig.json +0 -10
- package/skills/action-item-router/CLAUDE.md +0 -19
- package/skills/action-item-router/package.json +0 -27
- package/skills/action-item-router/src/index.ts +0 -304
- package/skills/action-item-router/tsconfig.json +0 -10
- package/skills/ad-creative-generator/CLAUDE.md +0 -19
- package/skills/ad-creative-generator/package.json +0 -27
- package/skills/ad-creative-generator/src/index.ts +0 -419
- package/skills/ad-creative-generator/tsconfig.json +0 -10
- package/skills/advanced-math/CLAUDE.md +0 -19
- package/skills/advanced-math/package.json +0 -29
- package/skills/advanced-math/src/calculators.ts +0 -118
- package/skills/advanced-math/src/cli.ts +0 -130
- package/skills/advanced-math/src/conversion.ts +0 -90
- package/skills/advanced-math/src/finance.ts +0 -75
- package/skills/advanced-math/src/formatting.ts +0 -95
- package/skills/advanced-math/src/index.ts +0 -133
- package/skills/advanced-math/src/runtime.ts +0 -49
- package/skills/advanced-math/src/symbolic.ts +0 -110
- package/skills/advanced-math/src/types.ts +0 -36
- package/skills/advanced-math/tsconfig.json +0 -10
- package/skills/anomaly-investigator/CLAUDE.md +0 -19
- package/skills/anomaly-investigator/package.json +0 -27
- package/skills/anomaly-investigator/src/index.ts +0 -311
- package/skills/anomaly-investigator/tsconfig.json +0 -10
- package/skills/apidocs/.env.example +0 -8
- package/skills/apidocs/CLAUDE.md +0 -278
- package/skills/apidocs/LICENSE +0 -192
- package/skills/apidocs/README.md +0 -196
- package/skills/apidocs/api-docs-list.json +0 -186
- package/skills/apidocs/package.json +0 -53
- package/skills/apidocs/scripts/crawl-all.ts +0 -157
- package/skills/apidocs/scripts/publish.ts +0 -210
- package/skills/apidocs/src/commands/add.ts +0 -279
- package/skills/apidocs/src/commands/endpoints.ts +0 -157
- package/skills/apidocs/src/commands/list.ts +0 -51
- package/skills/apidocs/src/commands/query.ts +0 -63
- package/skills/apidocs/src/commands/remove.ts +0 -39
- package/skills/apidocs/src/commands/sync.ts +0 -227
- package/skills/apidocs/src/index.ts +0 -3
- package/skills/apidocs/src/lib/crawler.ts +0 -427
- package/skills/apidocs/src/lib/discovery.ts +0 -244
- package/skills/apidocs/src/lib/embeddings.ts +0 -136
- package/skills/apidocs/src/lib/endpoint-extractor.ts +0 -359
- package/skills/apidocs/src/lib/html-to-md.ts +0 -163
- package/skills/apidocs/src/lib/parser.ts +0 -288
- package/skills/apidocs/src/lib/search.ts +0 -189
- package/skills/apidocs/src/lib/storage.ts +0 -242
- package/skills/apidocs/src/lib/vectors-local.ts +0 -220
- package/skills/apidocs/src/lib/vectors-s3.ts +0 -255
- package/skills/apidocs/src/lib/vectors.ts +0 -97
- package/skills/apidocs/src/types/index.ts +0 -297
- package/skills/apidocs/src/utils/output.ts +0 -132
- package/skills/apidocs/src/utils/paths.ts +0 -126
- package/skills/apidocs/tsconfig.json +0 -24
- package/skills/audio/SKILL.md +0 -35
- package/skills/audio/package.json +0 -11
- package/skills/audio-cleanup-lab/CLAUDE.md +0 -3
- package/skills/audio-cleanup-lab/SKILL.md +0 -81
- package/skills/audio-cleanup-lab/package.json +0 -23
- package/skills/audio-cleanup-lab/src/index.ts +0 -274
- package/skills/audio-cleanup-lab/tsconfig.json +0 -14
- package/skills/audio-transcript-pack/SKILL.md +0 -43
- package/skills/audio-transcript-pack/package.json +0 -11
- package/skills/banner-ad-suite/CLAUDE.md +0 -19
- package/skills/banner-ad-suite/package.json +0 -27
- package/skills/banner-ad-suite/src/index.ts +0 -331
- package/skills/banner-ad-suite/tsconfig.json +0 -10
- package/skills/benchmark-finder/CLAUDE.md +0 -19
- package/skills/benchmark-finder/package.json +0 -27
- package/skills/benchmark-finder/src/index.ts +0 -294
- package/skills/benchmark-finder/tsconfig.json +0 -10
- package/skills/blog-topic-cluster/CLAUDE.md +0 -19
- package/skills/blog-topic-cluster/package.json +0 -27
- package/skills/blog-topic-cluster/src/index.ts +0 -274
- package/skills/blog-topic-cluster/tsconfig.json +0 -10
- package/skills/brand-photo-shoot/SKILL.md +0 -28
- package/skills/brand-photo-shoot/package.json +0 -11
- package/skills/brand-style-guide/CLAUDE.md +0 -20
- package/skills/brand-style-guide/SKILL.md +0 -13
- package/skills/brand-style-guide/package.json +0 -26
- package/skills/brand-style-guide/src/index.ts +0 -288
- package/skills/brand-style-guide/tsconfig.json +0 -22
- package/skills/brand-voice-audit/CLAUDE.md +0 -19
- package/skills/brand-voice-audit/package.json +0 -27
- package/skills/brand-voice-audit/src/index.ts +0 -302
- package/skills/brand-voice-audit/tsconfig.json +0 -10
- package/skills/browse/LICENSE +0 -192
- package/skills/browse/README.md +0 -25
- package/skills/browse/SKILL.md +0 -35
- package/skills/browse/package.json +0 -11
- package/skills/browse/tsconfig.json +0 -22
- package/skills/budget-variance-analyzer/CLAUDE.md +0 -16
- package/skills/budget-variance-analyzer/SKILL.md +0 -83
- package/skills/budget-variance-analyzer/package.json +0 -24
- package/skills/budget-variance-analyzer/src/index.ts +0 -298
- package/skills/budget-variance-analyzer/tsconfig.json +0 -21
- package/skills/calendar-events/CLAUDE.md +0 -19
- package/skills/calendar-events/package.json +0 -27
- package/skills/calendar-events/src/ai-parser.ts +0 -103
- package/skills/calendar-events/src/api.ts +0 -157
- package/skills/calendar-events/src/auth.ts +0 -22
- package/skills/calendar-events/src/config.ts +0 -6
- package/skills/calendar-events/src/format.ts +0 -96
- package/skills/calendar-events/src/help.ts +0 -54
- package/skills/calendar-events/src/index.ts +0 -415
- package/skills/calendar-events/src/logger.ts +0 -34
- package/skills/calendar-events/src/types.ts +0 -67
- package/skills/calendar-events/tsconfig.json +0 -10
- package/skills/campaign-metric-brief/CLAUDE.md +0 -19
- package/skills/campaign-metric-brief/package.json +0 -27
- package/skills/campaign-metric-brief/src/index.ts +0 -307
- package/skills/campaign-metric-brief/tsconfig.json +0 -10
- package/skills/campaign-moodboard/CLAUDE.md +0 -19
- package/skills/campaign-moodboard/package.json +0 -27
- package/skills/campaign-moodboard/src/index.ts +0 -288
- package/skills/campaign-moodboard/tsconfig.json +0 -10
- package/skills/caption-style-stylist/CLAUDE.md +0 -19
- package/skills/caption-style-stylist/package.json +0 -27
- package/skills/caption-style-stylist/src/index.ts +0 -275
- package/skills/caption-style-stylist/tsconfig.json +0 -10
- package/skills/chemistry-calculator/CLAUDE.md +0 -19
- package/skills/chemistry-calculator/package.json +0 -27
- package/skills/chemistry-calculator/src/index.ts +0 -110
- package/skills/chemistry-calculator/tsconfig.json +0 -10
- package/skills/churn-risk-notifier/CLAUDE.md +0 -19
- package/skills/churn-risk-notifier/package.json +0 -27
- package/skills/churn-risk-notifier/src/index.ts +0 -308
- package/skills/churn-risk-notifier/tsconfig.json +0 -10
- package/skills/citation-formatter/CLAUDE.md +0 -19
- package/skills/citation-formatter/package.json +0 -27
- package/skills/citation-formatter/src/index.ts +0 -83
- package/skills/citation-formatter/tsconfig.json +0 -10
- package/skills/classroom-newsletter-kit/CLAUDE.md +0 -19
- package/skills/classroom-newsletter-kit/package.json +0 -27
- package/skills/classroom-newsletter-kit/src/index.ts +0 -293
- package/skills/classroom-newsletter-kit/tsconfig.json +0 -10
- package/skills/color-palette-harmonizer/CLAUDE.md +0 -19
- package/skills/color-palette-harmonizer/package.json +0 -27
- package/skills/color-palette-harmonizer/src/index.ts +0 -278
- package/skills/color-palette-harmonizer/tsconfig.json +0 -10
- package/skills/colorextract/SKILL.md +0 -35
- package/skills/colorextract/bun.lock +0 -102
- package/skills/colorextract/package.json +0 -25
- package/skills/colorextract/src/index.ts +0 -405
- package/skills/competitor-ad-analyzer/CLAUDE.md +0 -19
- package/skills/competitor-ad-analyzer/package.json +0 -27
- package/skills/competitor-ad-analyzer/src/index.ts +0 -350
- package/skills/competitor-ad-analyzer/tsconfig.json +0 -10
- package/skills/compliance-copy-check/CLAUDE.md +0 -19
- package/skills/compliance-copy-check/package.json +0 -27
- package/skills/compliance-copy-check/src/index.ts +0 -289
- package/skills/compliance-copy-check/tsconfig.json +0 -10
- package/skills/compliance-report-pack/CLAUDE.md +0 -19
- package/skills/compliance-report-pack/package.json +0 -27
- package/skills/compliance-report-pack/src/index.ts +0 -301
- package/skills/compliance-report-pack/tsconfig.json +0 -10
- package/skills/consolelog/.env.example +0 -19
- package/skills/consolelog/CLAUDE.md +0 -157
- package/skills/consolelog/LICENSE +0 -192
- package/skills/consolelog/README.md +0 -239
- package/skills/consolelog/data/.gitkeep +0 -0
- package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.csv +0 -16
- package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.json +0 -227
- package/skills/consolelog/package.json +0 -40
- package/skills/consolelog/scripts/migrate.ts +0 -26
- package/skills/consolelog/scripts/seed.ts +0 -48
- package/skills/consolelog/src/db/index.ts +0 -44
- package/skills/consolelog/src/db/queries.ts +0 -348
- package/skills/consolelog/src/db/schema.ts +0 -93
- package/skills/consolelog/src/index.ts +0 -3
- package/skills/consolelog/src/lib/config.ts +0 -110
- package/skills/consolelog/src/lib/installer.ts +0 -294
- package/skills/consolelog/src/lib/monitor.ts +0 -194
- package/skills/consolelog/src/lib/types.ts +0 -189
- package/skills/consolelog/src/lib/watcher.ts +0 -207
- package/skills/consolelog/tests/api.test.ts +0 -154
- package/skills/consolelog/tests/config.test.ts +0 -192
- package/skills/consolelog/tests/db.test.ts +0 -447
- package/skills/consolelog/tests/installer.test.ts +0 -155
- package/skills/consolelog/tsconfig.json +0 -24
- package/skills/contract-plainlanguage/CLAUDE.md +0 -19
- package/skills/contract-plainlanguage/package.json +0 -27
- package/skills/contract-plainlanguage/src/index.ts +0 -294
- package/skills/contract-plainlanguage/tsconfig.json +0 -10
- package/skills/convert/.env.example +0 -7
- package/skills/convert/LICENSE +0 -192
- package/skills/convert/README.md +0 -250
- package/skills/convert/SKILL.md +0 -106
- package/skills/convert/package.json +0 -37
- package/skills/convert/src/converters/ai.ts +0 -375
- package/skills/convert/src/converters/data.ts +0 -339
- package/skills/convert/src/converters/document.ts +0 -189
- package/skills/convert/src/converters/image.ts +0 -227
- package/skills/convert/src/converters/index.ts +0 -9
- package/skills/convert/src/converters/pdf.ts +0 -255
- package/skills/convert/src/index-local.ts +0 -568
- package/skills/convert/src/index.ts +0 -4
- package/skills/convert/src/types.ts +0 -192
- package/skills/copytone-translator/CLAUDE.md +0 -19
- package/skills/copytone-translator/package.json +0 -27
- package/skills/copytone-translator/src/index.ts +0 -295
- package/skills/copytone-translator/tsconfig.json +0 -10
- package/skills/create-ebook/CLAUDE.md +0 -19
- package/skills/create-ebook/package.json +0 -27
- package/skills/create-ebook/src/index.ts +0 -637
- package/skills/create-ebook/tsconfig.json +0 -10
- package/skills/crm-note-enhancer/CLAUDE.md +0 -19
- package/skills/crm-note-enhancer/package.json +0 -27
- package/skills/crm-note-enhancer/src/index.ts +0 -317
- package/skills/crm-note-enhancer/tsconfig.json +0 -10
- package/skills/customer-journey-mapper/CLAUDE.md +0 -19
- package/skills/customer-journey-mapper/package.json +0 -27
- package/skills/customer-journey-mapper/src/index.ts +0 -312
- package/skills/customer-journey-mapper/tsconfig.json +0 -10
- package/skills/dashboard-narrator/CLAUDE.md +0 -19
- package/skills/dashboard-narrator/package.json +0 -27
- package/skills/dashboard-narrator/src/index.ts +0 -307
- package/skills/dashboard-narrator/tsconfig.json +0 -10
- package/skills/dataset-health-check/CLAUDE.md +0 -19
- package/skills/dataset-health-check/package.json +0 -27
- package/skills/dataset-health-check/src/index.ts +0 -323
- package/skills/dataset-health-check/tsconfig.json +0 -10
- package/skills/decision-journal/CLAUDE.md +0 -19
- package/skills/decision-journal/package.json +0 -27
- package/skills/decision-journal/src/index.ts +0 -313
- package/skills/decision-journal/tsconfig.json +0 -10
- package/skills/deepresearch/CLAUDE.md +0 -11
- package/skills/deepresearch/README.md +0 -26
- package/skills/deepresearch/SKILL.md +0 -41
- package/skills/deepresearch/package.json +0 -11
- package/skills/deepresearch/tsconfig.json +0 -29
- package/skills/delegation-brief-writer/CLAUDE.md +0 -19
- package/skills/delegation-brief-writer/package.json +0 -27
- package/skills/delegation-brief-writer/src/index.ts +0 -314
- package/skills/delegation-brief-writer/tsconfig.json +0 -10
- package/skills/deploy/LICENSE +0 -192
- package/skills/deploy/README.md +0 -382
- package/skills/deploy/SKILL.md +0 -138
- package/skills/deploy/package.json +0 -18
- package/skills/deploy/src/deployer.ts +0 -256
- package/skills/deploy/src/health.ts +0 -103
- package/skills/deploy/src/hosts.ts +0 -45
- package/skills/deploy/src/http-client.ts +0 -128
- package/skills/deploy/src/index-local.ts +0 -366
- package/skills/deploy/src/index.ts +0 -4
- package/skills/deploy/src/types.ts +0 -56
- package/skills/deploy/tsconfig.json +0 -18
- package/skills/destination-briefing/CLAUDE.md +0 -19
- package/skills/destination-briefing/package.json +0 -27
- package/skills/destination-briefing/src/index.ts +0 -291
- package/skills/destination-briefing/tsconfig.json +0 -10
- package/skills/doc-generate/CLAUDE.md +0 -19
- package/skills/doc-generate/SKILL.md +0 -295
- package/skills/doc-generate/package.json +0 -23
- package/skills/doc-generate/src/ai.ts +0 -50
- package/skills/doc-generate/src/cli.ts +0 -203
- package/skills/doc-generate/src/dependencies.ts +0 -44
- package/skills/doc-generate/src/document-builder.ts +0 -299
- package/skills/doc-generate/src/index.ts +0 -90
- package/skills/doc-generate/src/markdown-parser.ts +0 -125
- package/skills/doc-generate/src/types.ts +0 -68
- package/skills/doc-generate/tsconfig.json +0 -16
- package/skills/domainsearch/.env.example +0 -7
- package/skills/domainsearch/LICENSE +0 -192
- package/skills/domainsearch/SKILL.md +0 -41
- package/skills/domainsearch/package.json +0 -33
- package/skills/domainsearch/src/index.ts +0 -3
- package/skills/domainsearch/src/lib/api-client.ts +0 -181
- package/skills/domainsearch/src/lib/config.ts +0 -72
- package/skills/domainsearch/src/lib/installer.ts +0 -164
- package/skills/domainsearch/tsconfig.json +0 -22
- package/skills/educational-resource-finder/CLAUDE.md +0 -19
- package/skills/educational-resource-finder/package.json +0 -27
- package/skills/educational-resource-finder/src/index.ts +0 -289
- package/skills/educational-resource-finder/tsconfig.json +0 -10
- package/skills/email-campaign/CLAUDE.md +0 -19
- package/skills/email-campaign/package.json +0 -27
- package/skills/email-campaign/src/index.ts +0 -339
- package/skills/email-campaign/tsconfig.json +0 -10
- package/skills/emoji/.env.example +0 -7
- package/skills/emoji/QUICKSTART.md +0 -52
- package/skills/emoji/README.md +0 -175
- package/skills/emoji/SKILL.md +0 -63
- package/skills/emoji/package.json +0 -31
- package/skills/emoji/src/image-processor.ts +0 -143
- package/skills/emoji/src/index.ts +0 -282
- package/skills/emoji/src/prompt-generator.ts +0 -181
- package/skills/emoji/src/providers/gemini.ts +0 -58
- package/skills/emoji/src/providers/openai.ts +0 -55
- package/skills/emoji/src/types.ts +0 -72
- package/skills/exam-readiness-check/CLAUDE.md +0 -19
- package/skills/exam-readiness-check/package.json +0 -27
- package/skills/exam-readiness-check/src/index.ts +0 -289
- package/skills/exam-readiness-check/tsconfig.json +0 -10
- package/skills/excel/CLAUDE.md +0 -19
- package/skills/excel/SKILL.md +0 -38
- package/skills/excel/package.json +0 -30
- package/skills/excel/src/index.ts +0 -644
- package/skills/excel/tsconfig.json +0 -10
- package/skills/extract/.env.example +0 -3
- package/skills/extract/LICENSE +0 -192
- package/skills/extract/README.md +0 -61
- package/skills/extract/SKILL.md +0 -91
- package/skills/extract/package.json +0 -35
- package/skills/extract/src/extractors/image.ts +0 -42
- package/skills/extract/src/extractors/pdf.ts +0 -96
- package/skills/extract/src/index-local.ts +0 -258
- package/skills/extract/src/index.ts +0 -4
- package/skills/extract/src/providers/openai.ts +0 -222
- package/skills/extract/src/types.ts +0 -61
- package/skills/extract/tsconfig.json +0 -19
- package/skills/extract-invoice/CLAUDE.md +0 -19
- package/skills/extract-invoice/package.json +0 -27
- package/skills/extract-invoice/src/cli.ts +0 -97
- package/skills/extract-invoice/src/extractor.ts +0 -170
- package/skills/extract-invoice/src/file-utils.ts +0 -46
- package/skills/extract-invoice/src/formatters.ts +0 -144
- package/skills/extract-invoice/src/index.ts +0 -129
- package/skills/extract-invoice/src/runtime.ts +0 -46
- package/skills/extract-invoice/src/types.ts +0 -88
- package/skills/extract-invoice/tsconfig.json +0 -10
- package/skills/family-activity-curator/CLAUDE.md +0 -19
- package/skills/family-activity-curator/package.json +0 -27
- package/skills/family-activity-curator/src/index.ts +0 -293
- package/skills/family-activity-curator/tsconfig.json +0 -10
- package/skills/faq-packager/CLAUDE.md +0 -19
- package/skills/faq-packager/package.json +0 -27
- package/skills/faq-packager/src/index.ts +0 -292
- package/skills/faq-packager/tsconfig.json +0 -10
- package/skills/feedback-survey-designer/CLAUDE.md +0 -19
- package/skills/feedback-survey-designer/package.json +0 -27
- package/skills/feedback-survey-designer/src/index.ts +0 -299
- package/skills/feedback-survey-designer/tsconfig.json +0 -10
- package/skills/field-trip-planner/CLAUDE.md +0 -19
- package/skills/field-trip-planner/package.json +0 -27
- package/skills/field-trip-planner/src/index.ts +0 -289
- package/skills/field-trip-planner/tsconfig.json +0 -10
- package/skills/forecast-scenario-lab/CLAUDE.md +0 -19
- package/skills/forecast-scenario-lab/package.json +0 -27
- package/skills/forecast-scenario-lab/src/index.ts +0 -314
- package/skills/forecast-scenario-lab/tsconfig.json +0 -10
- package/skills/generate-book-cover/CLAUDE.md +0 -19
- package/skills/generate-book-cover/package.json +0 -11
- package/skills/generate-book-cover/tsconfig.json +0 -10
- package/skills/generate-diagram/CLAUDE.md +0 -19
- package/skills/generate-diagram/package.json +0 -27
- package/skills/generate-diagram/src/index.ts +0 -514
- package/skills/generate-diagram/tsconfig.json +0 -10
- package/skills/generate-documentation/CLAUDE.md +0 -19
- package/skills/generate-documentation/package.json +0 -27
- package/skills/generate-documentation/src/ai.ts +0 -131
- package/skills/generate-documentation/src/cli.ts +0 -71
- package/skills/generate-documentation/src/code-parser.ts +0 -300
- package/skills/generate-documentation/src/file-processing.ts +0 -182
- package/skills/generate-documentation/src/index.ts +0 -65
- package/skills/generate-documentation/src/runtime.ts +0 -35
- package/skills/generate-documentation/src/types.ts +0 -30
- package/skills/generate-documentation/tsconfig.json +0 -10
- package/skills/generate-mock-data/CLAUDE.md +0 -19
- package/skills/generate-mock-data/package.json +0 -29
- package/skills/generate-mock-data/src/ai.ts +0 -102
- package/skills/generate-mock-data/src/formatters.ts +0 -84
- package/skills/generate-mock-data/src/generator.ts +0 -377
- package/skills/generate-mock-data/src/index.ts +0 -201
- package/skills/generate-mock-data/src/logger.ts +0 -37
- package/skills/generate-mock-data/src/presets.ts +0 -110
- package/skills/generate-mock-data/src/types.ts +0 -21
- package/skills/generate-mock-data/tsconfig.json +0 -10
- package/skills/generate-pr-description/CLAUDE.md +0 -19
- package/skills/generate-pr-description/package.json +0 -27
- package/skills/generate-pr-description/src/ai.ts +0 -144
- package/skills/generate-pr-description/src/cli.ts +0 -80
- package/skills/generate-pr-description/src/clipboard.ts +0 -30
- package/skills/generate-pr-description/src/formatters.ts +0 -231
- package/skills/generate-pr-description/src/git.ts +0 -153
- package/skills/generate-pr-description/src/index.ts +0 -114
- package/skills/generate-pr-description/src/types.ts +0 -49
- package/skills/generate-pr-description/tsconfig.json +0 -10
- package/skills/generate-presentation/CLAUDE.md +0 -19
- package/skills/generate-presentation/package.json +0 -27
- package/skills/generate-presentation/src/ai-clients.ts +0 -61
- package/skills/generate-presentation/src/cli.ts +0 -126
- package/skills/generate-presentation/src/index.ts +0 -44
- package/skills/generate-presentation/src/logger.ts +0 -67
- package/skills/generate-presentation/src/presentation-generator.ts +0 -425
- package/skills/generate-presentation/src/runtime.ts +0 -6
- package/skills/generate-presentation/src/security.ts +0 -12
- package/skills/generate-presentation/src/types.ts +0 -28
- package/skills/generate-presentation/tsconfig.json +0 -10
- package/skills/generate-regex/CLAUDE.md +0 -19
- package/skills/generate-regex/package.json +0 -29
- package/skills/generate-regex/src/index.ts +0 -669
- package/skills/generate-regex/tsconfig.json +0 -10
- package/skills/generate-social-posts/CLAUDE.md +0 -19
- package/skills/generate-social-posts/package.json +0 -27
- package/skills/generate-social-posts/src/ai.ts +0 -88
- package/skills/generate-social-posts/src/cli.ts +0 -118
- package/skills/generate-social-posts/src/exporters.ts +0 -126
- package/skills/generate-social-posts/src/generator.ts +0 -130
- package/skills/generate-social-posts/src/index.ts +0 -78
- package/skills/generate-social-posts/src/platforms.ts +0 -39
- package/skills/generate-social-posts/src/runtime.ts +0 -34
- package/skills/generate-social-posts/src/source.ts +0 -116
- package/skills/generate-social-posts/src/types.ts +0 -58
- package/skills/generate-social-posts/tsconfig.json +0 -10
- package/skills/generate-sql/CLAUDE.md +0 -19
- package/skills/generate-sql/package.json +0 -27
- package/skills/generate-sql/src/index.ts +0 -636
- package/skills/generate-sql/tsconfig.json +0 -10
- package/skills/github-manager/CLAUDE.md +0 -19
- package/skills/github-manager/package.json +0 -29
- package/skills/github-manager/src/index.ts +0 -101
- package/skills/github-manager/tsconfig.json +0 -10
- package/skills/gmail/CLAUDE.md +0 -19
- package/skills/gmail/package.json +0 -27
- package/skills/gmail/src/index.ts +0 -410
- package/skills/gmail/tsconfig.json +0 -10
- package/skills/goal-quarterly-roadmap/CLAUDE.md +0 -19
- package/skills/goal-quarterly-roadmap/package.json +0 -27
- package/skills/goal-quarterly-roadmap/src/index.ts +0 -305
- package/skills/goal-quarterly-roadmap/tsconfig.json +0 -10
- package/skills/grant-application-drafter/CLAUDE.md +0 -19
- package/skills/grant-application-drafter/package.json +0 -27
- package/skills/grant-application-drafter/src/index.ts +0 -309
- package/skills/grant-application-drafter/tsconfig.json +0 -10
- package/skills/grocery-basket-optimizer/CLAUDE.md +0 -19
- package/skills/grocery-basket-optimizer/package.json +0 -27
- package/skills/grocery-basket-optimizer/src/index.ts +0 -304
- package/skills/grocery-basket-optimizer/tsconfig.json +0 -10
- package/skills/guest-communication-suite/CLAUDE.md +0 -19
- package/skills/guest-communication-suite/package.json +0 -27
- package/skills/guest-communication-suite/src/index.ts +0 -312
- package/skills/guest-communication-suite/tsconfig.json +0 -10
- package/skills/habit-reflection-digest/CLAUDE.md +0 -19
- package/skills/habit-reflection-digest/package.json +0 -27
- package/skills/habit-reflection-digest/src/index.ts +0 -308
- package/skills/habit-reflection-digest/tsconfig.json +0 -10
- package/skills/highlight-reel-generator/CLAUDE.md +0 -19
- package/skills/highlight-reel-generator/package.json +0 -27
- package/skills/highlight-reel-generator/src/index.ts +0 -286
- package/skills/highlight-reel-generator/tsconfig.json +0 -10
- package/skills/homework-feedback-coach/CLAUDE.md +0 -19
- package/skills/homework-feedback-coach/package.json +0 -27
- package/skills/homework-feedback-coach/src/index.ts +0 -316
- package/skills/homework-feedback-coach/tsconfig.json +0 -10
- package/skills/household-maintenance-mgr/CLAUDE.md +0 -19
- package/skills/household-maintenance-mgr/package.json +0 -27
- package/skills/household-maintenance-mgr/src/index.ts +0 -293
- package/skills/household-maintenance-mgr/tsconfig.json +0 -10
- package/skills/icon-pack/README.md +0 -28
- package/skills/icon-pack/SKILL.md +0 -23
- package/skills/icon-pack/package.json +0 -11
- package/skills/icon-pack/tsconfig.json +0 -20
- package/skills/image/LICENSE +0 -192
- package/skills/image/README.md +0 -25
- package/skills/image/SKILL.md +0 -49
- package/skills/image/examples/aurora-examples.sh +0 -33
- package/skills/image/examples/google-examples.sh +0 -37
- package/skills/image/examples/openai-examples.sh +0 -35
- package/skills/image/package.json +0 -11
- package/skills/image/tsconfig.json +0 -19
- package/skills/implementation-agent/CLAUDE.md +0 -19
- package/skills/implementation-agent/package.json +0 -29
- package/skills/implementation-agent/src/ai-generation.ts +0 -225
- package/skills/implementation-agent/src/index.ts +0 -608
- package/skills/implementation-agent/src/minimist.d.ts +0 -15
- package/skills/implementation-agent/src/templates.ts +0 -686
- package/skills/implementation-agent/src/types.ts +0 -53
- package/skills/implementation-agent/tsconfig.json +0 -10
- package/skills/inbox-priority-planner/CLAUDE.md +0 -19
- package/skills/inbox-priority-planner/package.json +0 -27
- package/skills/inbox-priority-planner/src/index.ts +0 -309
- package/skills/inbox-priority-planner/tsconfig.json +0 -10
- package/skills/invoice-dispute-helper/CLAUDE.md +0 -19
- package/skills/invoice-dispute-helper/package.json +0 -27
- package/skills/invoice-dispute-helper/src/index.ts +0 -304
- package/skills/invoice-dispute-helper/tsconfig.json +0 -10
- package/skills/itinerary-architect/CLAUDE.md +0 -19
- package/skills/itinerary-architect/package.json +0 -27
- package/skills/itinerary-architect/src/index.ts +0 -313
- package/skills/itinerary-architect/tsconfig.json +0 -10
- package/skills/kpi-digest-generator/CLAUDE.md +0 -19
- package/skills/kpi-digest-generator/package.json +0 -27
- package/skills/kpi-digest-generator/src/index.ts +0 -318
- package/skills/kpi-digest-generator/tsconfig.json +0 -10
- package/skills/lab-notebook-formatter/CLAUDE.md +0 -19
- package/skills/lab-notebook-formatter/package.json +0 -27
- package/skills/lab-notebook-formatter/src/index.ts +0 -88
- package/skills/lab-notebook-formatter/tsconfig.json +0 -10
- package/skills/landing-page-copy/CLAUDE.md +0 -19
- package/skills/landing-page-copy/package.json +0 -27
- package/skills/landing-page-copy/src/index.ts +0 -400
- package/skills/landing-page-copy/tsconfig.json +0 -10
- package/skills/learning-style-profiler/CLAUDE.md +0 -19
- package/skills/learning-style-profiler/package.json +0 -27
- package/skills/learning-style-profiler/src/index.ts +0 -291
- package/skills/learning-style-profiler/tsconfig.json +0 -10
- package/skills/lesson-plan-customizer/CLAUDE.md +0 -19
- package/skills/lesson-plan-customizer/package.json +0 -27
- package/skills/lesson-plan-customizer/src/index.ts +0 -303
- package/skills/lesson-plan-customizer/tsconfig.json +0 -10
- package/skills/livestream-runofshow/CLAUDE.md +0 -19
- package/skills/livestream-runofshow/package.json +0 -27
- package/skills/livestream-runofshow/src/index.ts +0 -299
- package/skills/livestream-runofshow/tsconfig.json +0 -10
- package/skills/longform-structurer/CLAUDE.md +0 -19
- package/skills/longform-structurer/package.json +0 -27
- package/skills/longform-structurer/src/index.ts +0 -293
- package/skills/longform-structurer/tsconfig.json +0 -10
- package/skills/managehook/.env.example +0 -16
- package/skills/managehook/CLAUDE.md +0 -48
- package/skills/managehook/README.md +0 -210
- package/skills/managehook/package.json +0 -24
- package/skills/managehook/scripts/migrate.ts +0 -57
- package/skills/managehook/scripts/seed.ts +0 -58
- package/skills/managehook/src/db/index.ts +0 -37
- package/skills/managehook/src/index.ts +0 -3
- package/skills/managehook/src/lib/api-client.ts +0 -108
- package/skills/managehook/src/lib/config.ts +0 -34
- package/skills/managehook/src/lib/installer.ts +0 -140
- package/skills/managehook/src/lib/service-dir.ts +0 -119
- package/skills/managehook/tsconfig.json +0 -29
- package/skills/manageskill/.env.example +0 -16
- package/skills/manageskill/CLAUDE.md +0 -48
- package/skills/manageskill/README.md +0 -210
- package/skills/manageskill/package.json +0 -24
- package/skills/manageskill/scripts/migrate.ts +0 -57
- package/skills/manageskill/scripts/seed.ts +0 -58
- package/skills/manageskill/src/db/index.ts +0 -37
- package/skills/manageskill/src/index.ts +0 -3
- package/skills/manageskill/src/lib/api-client.ts +0 -108
- package/skills/manageskill/src/lib/config.ts +0 -34
- package/skills/manageskill/src/lib/installer.ts +0 -140
- package/skills/manageskill/src/lib/service-dir.ts +0 -119
- package/skills/manageskill/tsconfig.json +0 -29
- package/skills/mcp-builder/CLAUDE.md +0 -19
- package/skills/mcp-builder/package.json +0 -30
- package/skills/mcp-builder/src/ai-descriptions.ts +0 -37
- package/skills/mcp-builder/src/generators.ts +0 -513
- package/skills/mcp-builder/src/index.ts +0 -62
- package/skills/mcp-builder/src/minimist.d.ts +0 -15
- package/skills/mcp-builder/src/naming.ts +0 -12
- package/skills/mcp-builder/src/options.ts +0 -170
- package/skills/mcp-builder/src/templates.ts +0 -149
- package/skills/mcp-builder/src/types.ts +0 -42
- package/skills/mcp-builder/tsconfig.json +0 -10
- package/skills/meal-plan-designer/CLAUDE.md +0 -19
- package/skills/meal-plan-designer/package.json +0 -27
- package/skills/meal-plan-designer/src/index.ts +0 -301
- package/skills/meal-plan-designer/tsconfig.json +0 -10
- package/skills/meeting-insight-summarizer/CLAUDE.md +0 -19
- package/skills/meeting-insight-summarizer/package.json +0 -27
- package/skills/meeting-insight-summarizer/src/index.ts +0 -316
- package/skills/meeting-insight-summarizer/tsconfig.json +0 -10
- package/skills/microcopy-generator/CLAUDE.md +0 -19
- package/skills/microcopy-generator/package.json +0 -27
- package/skills/microcopy-generator/src/index.ts +0 -303
- package/skills/microcopy-generator/tsconfig.json +0 -10
- package/skills/mindfulness-prompt-cache/CLAUDE.md +0 -19
- package/skills/mindfulness-prompt-cache/package.json +0 -27
- package/skills/mindfulness-prompt-cache/src/index.ts +0 -290
- package/skills/mindfulness-prompt-cache/tsconfig.json +0 -10
- package/skills/music/SKILL.md +0 -33
- package/skills/music/package.json +0 -11
- package/skills/music-album/SKILL.md +0 -37
- package/skills/music-album/package.json +0 -11
- package/skills/notion-manager/CLAUDE.md +0 -19
- package/skills/notion-manager/package.json +0 -29
- package/skills/notion-manager/src/index.ts +0 -105
- package/skills/notion-manager/tsconfig.json +0 -10
- package/skills/npmpublish/CLAUDE.md +0 -30
- package/skills/npmpublish/README.md +0 -83
- package/skills/npmpublish/SKILL.md +0 -70
- package/skills/npmpublish/package.json +0 -41
- package/skills/npmpublish/src/index.ts +0 -192
- package/skills/npmpublish/tsconfig.json +0 -18
- package/skills/onboarding-sequence-builder/CLAUDE.md +0 -19
- package/skills/onboarding-sequence-builder/package.json +0 -27
- package/skills/onboarding-sequence-builder/src/index.ts +0 -321
- package/skills/onboarding-sequence-builder/tsconfig.json +0 -10
- package/skills/onsite-ops-checklist/CLAUDE.md +0 -19
- package/skills/onsite-ops-checklist/package.json +0 -27
- package/skills/onsite-ops-checklist/src/index.ts +0 -307
- package/skills/onsite-ops-checklist/tsconfig.json +0 -10
- package/skills/outreach-cadence-designer/CLAUDE.md +0 -19
- package/skills/outreach-cadence-designer/package.json +0 -27
- package/skills/outreach-cadence-designer/src/index.ts +0 -330
- package/skills/outreach-cadence-designer/tsconfig.json +0 -10
- package/skills/packaging-concept-studio/CLAUDE.md +0 -19
- package/skills/packaging-concept-studio/package.json +0 -27
- package/skills/packaging-concept-studio/src/index.ts +0 -296
- package/skills/packaging-concept-studio/tsconfig.json +0 -10
- package/skills/packing-plan-pro/CLAUDE.md +0 -19
- package/skills/packing-plan-pro/package.json +0 -27
- package/skills/packing-plan-pro/src/index.ts +0 -306
- package/skills/packing-plan-pro/tsconfig.json +0 -10
- package/skills/parent-teacher-brief/CLAUDE.md +0 -19
- package/skills/parent-teacher-brief/package.json +0 -27
- package/skills/parent-teacher-brief/src/index.ts +0 -290
- package/skills/parent-teacher-brief/tsconfig.json +0 -10
- package/skills/partner-kit-assembler/CLAUDE.md +0 -19
- package/skills/partner-kit-assembler/package.json +0 -27
- package/skills/partner-kit-assembler/src/index.ts +0 -313
- package/skills/partner-kit-assembler/tsconfig.json +0 -10
- package/skills/payroll-change-prepper/CLAUDE.md +0 -19
- package/skills/payroll-change-prepper/package.json +0 -27
- package/skills/payroll-change-prepper/src/index.ts +0 -304
- package/skills/payroll-change-prepper/tsconfig.json +0 -10
- package/skills/pdf-read/SKILL.md +0 -56
- package/skills/pdf-read/package.json +0 -11
- package/skills/pdf-read/tsconfig.json +0 -8
- package/skills/persona-based-adwriter/CLAUDE.md +0 -19
- package/skills/persona-based-adwriter/package.json +0 -27
- package/skills/persona-based-adwriter/src/index.ts +0 -285
- package/skills/persona-based-adwriter/tsconfig.json +0 -10
- package/skills/persona-generator/CLAUDE.md +0 -19
- package/skills/persona-generator/package.json +0 -27
- package/skills/persona-generator/src/index.ts +0 -443
- package/skills/persona-generator/tsconfig.json +0 -10
- package/skills/personal-daily-ops/CLAUDE.md +0 -19
- package/skills/personal-daily-ops/package.json +0 -27
- package/skills/personal-daily-ops/src/index.ts +0 -324
- package/skills/personal-daily-ops/tsconfig.json +0 -10
- package/skills/pet-care-scheduler/CLAUDE.md +0 -19
- package/skills/pet-care-scheduler/package.json +0 -27
- package/skills/pet-care-scheduler/src/index.ts +0 -298
- package/skills/pet-care-scheduler/tsconfig.json +0 -10
- package/skills/photo-album/SKILL.md +0 -29
- package/skills/photo-album/package.json +0 -11
- package/skills/photo-album/tsconfig.json +0 -4
- package/skills/playlist-maker/SKILL.md +0 -33
- package/skills/playlist-maker/package.json +0 -11
- package/skills/playlist-maker/tsconfig.json +0 -4
- package/skills/podcast-show-notes/CLAUDE.md +0 -19
- package/skills/podcast-show-notes/package.json +0 -27
- package/skills/podcast-show-notes/src/index.ts +0 -302
- package/skills/podcast-show-notes/tsconfig.json +0 -10
- package/skills/presentation-theme-maker/CLAUDE.md +0 -19
- package/skills/presentation-theme-maker/package.json +0 -27
- package/skills/presentation-theme-maker/src/index.ts +0 -292
- package/skills/presentation-theme-maker/tsconfig.json +0 -10
- package/skills/press-release-drafter/CLAUDE.md +0 -19
- package/skills/press-release-drafter/package.json +0 -27
- package/skills/press-release-drafter/src/index.ts +0 -291
- package/skills/press-release-drafter/tsconfig.json +0 -10
- package/skills/print-collateral-designer/CLAUDE.md +0 -19
- package/skills/print-collateral-designer/package.json +0 -27
- package/skills/print-collateral-designer/src/index.ts +0 -298
- package/skills/print-collateral-designer/tsconfig.json +0 -10
- package/skills/procurement-scorecard/CLAUDE.md +0 -19
- package/skills/procurement-scorecard/package.json +0 -27
- package/skills/procurement-scorecard/src/index.ts +0 -338
- package/skills/procurement-scorecard/tsconfig.json +0 -10
- package/skills/product-demo-script/CLAUDE.md +0 -19
- package/skills/product-demo-script/package.json +0 -27
- package/skills/product-demo-script/src/index.ts +0 -326
- package/skills/product-demo-script/tsconfig.json +0 -10
- package/skills/project-dashboard-reports/SKILL.md +0 -78
- package/skills/project-dashboard-reports/package.json +0 -25
- package/skills/project-dashboard-reports/src/index.ts +0 -67
- package/skills/project-retro-companion/CLAUDE.md +0 -19
- package/skills/project-retro-companion/package.json +0 -27
- package/skills/project-retro-companion/src/index.ts +0 -298
- package/skills/project-retro-companion/tsconfig.json +0 -10
- package/skills/proposal-redline-advisor/CLAUDE.md +0 -19
- package/skills/proposal-redline-advisor/package.json +0 -27
- package/skills/proposal-redline-advisor/src/index.ts +0 -320
- package/skills/proposal-redline-advisor/tsconfig.json +0 -10
- package/skills/read-image/SKILL.md +0 -47
- package/skills/read-image/package.json +0 -33
- package/skills/read-image/src/index.ts +0 -264
- package/skills/read-pdf/SKILL.md +0 -53
- package/skills/read-pdf/package.json +0 -11
- package/skills/remove-background/CLAUDE.md +0 -19
- package/skills/remove-background/package.json +0 -11
- package/skills/remove-background/tsconfig.json +0 -10
- package/skills/risk-disclosure-kit/CLAUDE.md +0 -19
- package/skills/risk-disclosure-kit/package.json +0 -27
- package/skills/risk-disclosure-kit/src/index.ts +0 -307
- package/skills/risk-disclosure-kit/tsconfig.json +0 -10
- package/skills/roi-comparison-tool/CLAUDE.md +0 -19
- package/skills/roi-comparison-tool/package.json +0 -27
- package/skills/roi-comparison-tool/src/index.ts +0 -322
- package/skills/roi-comparison-tool/tsconfig.json +0 -10
- package/skills/sales-call-recapper/CLAUDE.md +0 -19
- package/skills/sales-call-recapper/package.json +0 -27
- package/skills/sales-call-recapper/src/index.ts +0 -300
- package/skills/sales-call-recapper/tsconfig.json +0 -10
- package/skills/salescopy/.env.example +0 -2
- package/skills/salescopy/CLAUDE.md +0 -23
- package/skills/salescopy/LICENSE +0 -192
- package/skills/salescopy/README.md +0 -72
- package/skills/salescopy/package.json +0 -27
- package/skills/salescopy/src/commands/config.ts +0 -115
- package/skills/salescopy/src/commands/generate.ts +0 -179
- package/skills/salescopy/src/commands/sessions.ts +0 -169
- package/skills/salescopy/src/commands/templates.ts +0 -99
- package/skills/salescopy/src/index.ts +0 -3
- package/skills/salescopy/src/lib/generator.ts +0 -197
- package/skills/salescopy/src/lib/storage.ts +0 -191
- package/skills/salescopy/src/types/index.ts +0 -74
- package/skills/salescopy/src/utils/logger.ts +0 -33
- package/skills/salescopy/src/utils/paths.ts +0 -25
- package/skills/salescopy/tsconfig.json +0 -23
- package/skills/scaffold-project/CLAUDE.md +0 -19
- package/skills/scaffold-project/package.json +0 -29
- package/skills/scaffold-project/src/ai-detect.ts +0 -136
- package/skills/scaffold-project/src/file-generators.ts +0 -292
- package/skills/scaffold-project/src/index.ts +0 -240
- package/skills/scaffold-project/src/project-config.ts +0 -338
- package/skills/scaffold-project/src/templates.ts +0 -173
- package/skills/scaffold-project/src/types.ts +0 -58
- package/skills/scaffold-project/tsconfig.json +0 -10
- package/skills/scholarship-tracker/CLAUDE.md +0 -19
- package/skills/scholarship-tracker/package.json +0 -27
- package/skills/scholarship-tracker/src/index.ts +0 -298
- package/skills/scholarship-tracker/tsconfig.json +0 -10
- package/skills/sdk-generator/SKILL.md +0 -45
- package/skills/sdk-generator/package.json +0 -11
- package/skills/sdk-generator/tsconfig.json +0 -8
- package/skills/seating-chart-maker/CLAUDE.md +0 -19
- package/skills/seating-chart-maker/package.json +0 -27
- package/skills/seating-chart-maker/src/index.ts +0 -312
- package/skills/seating-chart-maker/tsconfig.json +0 -10
- package/skills/seo-brief-builder/CLAUDE.md +0 -19
- package/skills/seo-brief-builder/package.json +0 -27
- package/skills/seo-brief-builder/src/index.ts +0 -288
- package/skills/seo-brief-builder/tsconfig.json +0 -10
- package/skills/short-video-pack/SKILL.md +0 -30
- package/skills/short-video-pack/package.json +0 -11
- package/skills/slack-assistant/CLAUDE.md +0 -19
- package/skills/slack-assistant/package.json +0 -29
- package/skills/slack-assistant/src/index.ts +0 -79
- package/skills/slack-assistant/tsconfig.json +0 -10
- package/skills/sleep-routine-analyzer/CLAUDE.md +0 -19
- package/skills/sleep-routine-analyzer/package.json +0 -27
- package/skills/sleep-routine-analyzer/src/index.ts +0 -293
- package/skills/sleep-routine-analyzer/tsconfig.json +0 -10
- package/skills/sms/README.md +0 -33
- package/skills/sms/package.json +0 -35
- package/skills/sms/src/index.ts +0 -335
- package/skills/sms/tsconfig.json +0 -21
- package/skills/social-media-kit/CLAUDE.md +0 -19
- package/skills/social-media-kit/package.json +0 -27
- package/skills/social-media-kit/src/index.ts +0 -281
- package/skills/social-media-kit/tsconfig.json +0 -10
- package/skills/sponsorship-proposal-lab/CLAUDE.md +0 -19
- package/skills/sponsorship-proposal-lab/package.json +0 -27
- package/skills/sponsorship-proposal-lab/src/index.ts +0 -300
- package/skills/sponsorship-proposal-lab/tsconfig.json +0 -10
- package/skills/spreadsheet-cleanroom/CLAUDE.md +0 -19
- package/skills/spreadsheet-cleanroom/package.json +0 -27
- package/skills/spreadsheet-cleanroom/src/index.ts +0 -331
- package/skills/spreadsheet-cleanroom/tsconfig.json +0 -10
- package/skills/stress-relief-playbook/CLAUDE.md +0 -19
- package/skills/stress-relief-playbook/package.json +0 -27
- package/skills/stress-relief-playbook/src/index.ts +0 -298
- package/skills/stress-relief-playbook/tsconfig.json +0 -10
- package/skills/study-guide-builder/CLAUDE.md +0 -19
- package/skills/study-guide-builder/package.json +0 -27
- package/skills/study-guide-builder/src/index.ts +0 -298
- package/skills/study-guide-builder/tsconfig.json +0 -10
- package/skills/subscription-spend-watcher/CLAUDE.md +0 -19
- package/skills/subscription-spend-watcher/package.json +0 -27
- package/skills/subscription-spend-watcher/src/index.ts +0 -312
- package/skills/subscription-spend-watcher/tsconfig.json +0 -10
- package/skills/subtitle/.env.example +0 -2
- package/skills/subtitle/CLAUDE.md +0 -37
- package/skills/subtitle/LICENSE +0 -192
- package/skills/subtitle/README.md +0 -63
- package/skills/subtitle/package.json +0 -43
- package/skills/subtitle/src/commands/config.ts +0 -53
- package/skills/subtitle/src/commands/generate.ts +0 -61
- package/skills/subtitle/src/index.ts +0 -3
- package/skills/subtitle/src/lib/generator.ts +0 -216
- package/skills/subtitle/src/lib/storage.ts +0 -62
- package/skills/subtitle/src/types/index.ts +0 -68
- package/skills/subtitle/src/utils/logger.ts +0 -34
- package/skills/subtitle/src/utils/paths.ts +0 -51
- package/skills/subtitle/tsconfig.json +0 -21
- package/skills/survey-insight-extractor/CLAUDE.md +0 -19
- package/skills/survey-insight-extractor/package.json +0 -27
- package/skills/survey-insight-extractor/src/index.ts +0 -317
- package/skills/survey-insight-extractor/tsconfig.json +0 -10
- package/skills/terraform-generator/CLAUDE.md +0 -19
- package/skills/terraform-generator/package.json +0 -29
- package/skills/terraform-generator/src/index.ts +0 -99
- package/skills/terraform-generator/tsconfig.json +0 -10
- package/skills/testimonial-graphics/CLAUDE.md +0 -19
- package/skills/testimonial-graphics/package.json +0 -27
- package/skills/testimonial-graphics/src/index.ts +0 -303
- package/skills/testimonial-graphics/tsconfig.json +0 -10
- package/skills/timesheet/.env.example +0 -25
- package/skills/timesheet/README.md +0 -235
- package/skills/timesheet/package.json +0 -47
- package/skills/timesheet/scripts/publish.ts +0 -210
- package/skills/timesheet/src/commands/employee.ts +0 -96
- package/skills/timesheet/src/commands/export.ts +0 -29
- package/skills/timesheet/src/commands/generate.ts +0 -102
- package/skills/timesheet/src/commands/holiday.ts +0 -74
- package/skills/timesheet/src/commands/profile.ts +0 -133
- package/skills/timesheet/src/commands/setup.ts +0 -21
- package/skills/timesheet/src/commands/vacation.ts +0 -93
- package/skills/timesheet/src/index.ts +0 -3
- package/skills/timesheet/src/lib/employees.ts +0 -56
- package/skills/timesheet/src/lib/export.ts +0 -123
- package/skills/timesheet/src/lib/holidays.ts +0 -79
- package/skills/timesheet/src/lib/paths.ts +0 -59
- package/skills/timesheet/src/lib/profiles.ts +0 -168
- package/skills/timesheet/src/lib/storage.ts +0 -83
- package/skills/timesheet/src/lib/timesheet.ts +0 -130
- package/skills/timesheet/src/lib/vacations.ts +0 -70
- package/skills/timesheet/src/types/index.ts +0 -96
- package/skills/timesheet/tsconfig.json +0 -29
- package/skills/transcript/LICENSE +0 -192
- package/skills/transcript/README.md +0 -17
- package/skills/transcript/SKILL.md +0 -80
- package/skills/transcript/package.json +0 -11
- package/skills/transcript/tsconfig.json +0 -18
- package/skills/travel-budget-balancer/CLAUDE.md +0 -19
- package/skills/travel-budget-balancer/package.json +0 -27
- package/skills/travel-budget-balancer/src/index.ts +0 -297
- package/skills/travel-budget-balancer/tsconfig.json +0 -10
- package/skills/video/SKILL.md +0 -37
- package/skills/video/package.json +0 -11
- package/skills/video-cut-suggester/CLAUDE.md +0 -19
- package/skills/video-cut-suggester/package.json +0 -27
- package/skills/video-cut-suggester/src/index.ts +0 -304
- package/skills/video-cut-suggester/tsconfig.json +0 -10
- package/skills/video-thumbnail/CLAUDE.md +0 -19
- package/skills/video-thumbnail/package.json +0 -27
- package/skills/video-thumbnail/src/index.ts +0 -356
- package/skills/video-thumbnail/tsconfig.json +0 -10
- package/skills/voiceover-jingle-pack/SKILL.md +0 -28
- package/skills/voiceover-jingle-pack/package.json +0 -11
- package/skills/webcrawling/CLAUDE.md +0 -11
- package/skills/webcrawling/LICENSE +0 -192
- package/skills/webcrawling/README.md +0 -24
- package/skills/webcrawling/package.json +0 -11
- package/skills/webcrawling/tsconfig.json +0 -22
- package/skills/webinar-script-coach/CLAUDE.md +0 -19
- package/skills/webinar-script-coach/package.json +0 -27
- package/skills/webinar-script-coach/src/index.ts +0 -296
- package/skills/webinar-script-coach/tsconfig.json +0 -10
- package/skills/wellness-progress-reporter/CLAUDE.md +0 -19
- package/skills/wellness-progress-reporter/package.json +0 -27
- package/skills/wellness-progress-reporter/src/index.ts +0 -298
- package/skills/wellness-progress-reporter/tsconfig.json +0 -10
- package/skills/workout-cycle-planner/CLAUDE.md +0 -19
- package/skills/workout-cycle-planner/package.json +0 -27
- package/skills/workout-cycle-planner/src/index.ts +0 -299
- package/skills/workout-cycle-planner/tsconfig.json +0 -10
- package/skills/write/.env.example +0 -9
- package/skills/write/LICENSE +0 -192
- package/skills/write/README.md +0 -17
- package/skills/write/SKILL.md +0 -90
- package/skills/write/package.json +0 -32
- package/skills/write/src/agents/image-generator.ts +0 -186
- package/skills/write/src/agents/researcher.ts +0 -61
- package/skills/write/src/agents/writer.ts +0 -99
- package/skills/write/src/index-local.ts +0 -248
- package/skills/write/src/index.ts +0 -4
- package/skills/write/src/orchestrator.ts +0 -171
- package/skills/write/src/types.ts +0 -65
- package/skills/write/tsconfig.json +0 -18
- /package/migrations/{0001_open_skills_self_hosted.sql → postgres/0001_open_skills_self_hosted.sql} +0 -0
- /package/skills/{read-image → api-docs-portal}/tsconfig.json +0 -0
- /package/skills/{read-pdf → brand-assets}/tsconfig.json +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* infra-identifiers.ts — R4 enforcement: vendor infrastructure identifiers live
|
|
3
|
+
* behind ONE indirection.
|
|
4
|
+
*
|
|
5
|
+
* The open-source repository must never name the infrastructure of whoever
|
|
6
|
+
* happens to operate it. Account IDs, ARNs, ECS cluster/service/task-family
|
|
7
|
+
* names, container names and health hosts are properties of a *deployment*, not
|
|
8
|
+
* of the software, so they resolve at deploy time from a deploy manifest or CI
|
|
9
|
+
* variables. At most one tracked line may name where that manifest lives.
|
|
10
|
+
*
|
|
11
|
+
* This module expresses that as a set of PROPERTIES rather than a blocklist of
|
|
12
|
+
* known-bad strings, so it survives renaming (`skills-prod-worker` ->
|
|
13
|
+
* `widgets-stage-queue` is caught just the same) and catches semantic inversion
|
|
14
|
+
* (re-hardcoding a value that used to be parameterized).
|
|
15
|
+
*
|
|
16
|
+
* The five properties:
|
|
17
|
+
*
|
|
18
|
+
* 1. `aws-account-id` — a literal 12-digit AWS account ID. Anchored on
|
|
19
|
+
* non-alphanumeric/non-hyphen boundaries so it does NOT fire inside UUIDs
|
|
20
|
+
* (`...-8000-000000000000`) or 13-digit millisecond epochs.
|
|
21
|
+
* 2. `aws-arn` — an ARN whose account field is a literal.
|
|
22
|
+
* 3. `infra-resource-name` — the `<app>-<env>[-<component>]` naming convention
|
|
23
|
+
* that AWS resources follow, with a LITERAL app segment. A name assembled
|
|
24
|
+
* from a substitution (`${{ env.APP }}-prod-gha-deploy`) is compliant and
|
|
25
|
+
* is not flagged.
|
|
26
|
+
* 4. `unparameterized-workflow-infra` — inside a workflow, an env assignment
|
|
27
|
+
* whose key names an infrastructure resource (CLUSTER / SERVICE / FAMILY /
|
|
28
|
+
* CONTAINER / ECR / HEALTH_URL / SUBNET / SECURITY_GROUP) but whose value
|
|
29
|
+
* contains no substitution at all. This is the rule that catches a plain
|
|
30
|
+
* literal like `skills-worker` that follows no naming convention.
|
|
31
|
+
* 5. `workflow-vendor-host` — a literal URL host inside a workflow that is not
|
|
32
|
+
* a well-known CI/tooling host. Deploy and health targets are deployment
|
|
33
|
+
* configuration, not source.
|
|
34
|
+
*
|
|
35
|
+
* Plus one cardinality property: `manifest-location-not-unique` — more than one
|
|
36
|
+
* tracked line naming the deploy-manifest location.
|
|
37
|
+
*/
|
|
38
|
+
export type InfraRuleId = "aws-account-id" | "aws-arn" | "infra-resource-name" | "unparameterized-workflow-infra" | "workflow-vendor-host" | "manifest-location-not-unique" | "unscannable-file" | "unparseable-workflow";
|
|
39
|
+
export type InfraFinding = {
|
|
40
|
+
file: string;
|
|
41
|
+
line: number;
|
|
42
|
+
ruleId: InfraRuleId;
|
|
43
|
+
/** The offending text, trimmed to keep CI logs readable. */
|
|
44
|
+
match: string;
|
|
45
|
+
message: string;
|
|
46
|
+
};
|
|
47
|
+
export type ScannedFile = {
|
|
48
|
+
/** Repo-relative path, POSIX separators. */
|
|
49
|
+
path: string;
|
|
50
|
+
content: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* The detector's own module and test are exempt from the repository scan.
|
|
54
|
+
*
|
|
55
|
+
* They exist to DEFINE and EXERCISE these patterns, so they necessarily contain
|
|
56
|
+
* a literal account ID, a literal ARN and a literal resource name as test
|
|
57
|
+
* vectors — a scanner that flags its own fixtures is a scanner that gets
|
|
58
|
+
* disabled. The exemption is deliberately two exact paths, never a prefix or a
|
|
59
|
+
* glob, and `infra-identifiers.test.ts` asserts that this set does not grow.
|
|
60
|
+
* (Same shape as the audited `scanAllowlist` in scripts/release-guard.ts.)
|
|
61
|
+
*/
|
|
62
|
+
export declare const SELF_EXCLUDED_PATHS: readonly string[];
|
|
63
|
+
/**
|
|
64
|
+
* Scan already-loaded file contents for R4 violations. Pure — no filesystem, no
|
|
65
|
+
* git — so it is trivially testable with synthetic inputs.
|
|
66
|
+
*/
|
|
67
|
+
export declare function scanInfraIdentifiers(files: ScannedFile[]): InfraFinding[];
|
|
68
|
+
/**
|
|
69
|
+
* List git-tracked files. `git ls-files` never descends into `node_modules`
|
|
70
|
+
* unless it is tracked, which sidesteps the CI-grep-vs-interactive-grep trap:
|
|
71
|
+
* GNU grep in CI does not auto-exclude `node_modules`, and two vendored trees
|
|
72
|
+
* exist in this repo. The explicit filter below is belt-and-braces for the case
|
|
73
|
+
* where a vendored tree IS tracked.
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* Whether `repoRoot` is inside a git work tree.
|
|
77
|
+
*
|
|
78
|
+
* R4 is a property of a *repository*: the leak it prevents lives in tracked
|
|
79
|
+
* files such as `.github/workflows`. The release guard is also exercised against
|
|
80
|
+
* synthetic package fixtures in a bare temp directory, where there are no
|
|
81
|
+
* tracked files and the rule has nothing to say. Callers use this to tell
|
|
82
|
+
* "not applicable here" apart from "the scan broke", which must stay fatal.
|
|
83
|
+
*
|
|
84
|
+
* This is NOT an escape hatch for the real repository: `bun test` runs the scan
|
|
85
|
+
* against the repo root on every CI run regardless of what the release guard
|
|
86
|
+
* decides, so the property cannot lapse by moving where the guard is invoked.
|
|
87
|
+
*/
|
|
88
|
+
export declare function isGitWorkTree(repoRoot: string): boolean;
|
|
89
|
+
export declare function listTrackedFiles(repoRoot: string): string[];
|
|
90
|
+
/**
|
|
91
|
+
* Why a tracked file was not scanned. Every tracked path lands in exactly one of
|
|
92
|
+
* scanned / skipped / self-excluded, and the scan asserts the three add up.
|
|
93
|
+
* There is no fourth outcome and no silent drop.
|
|
94
|
+
*/
|
|
95
|
+
export type SkipReason = "binary-content" | "not-a-regular-file" | "unreadable";
|
|
96
|
+
/**
|
|
97
|
+
* Tracked paths permitted to go unscanned, matched exactly on (path, reason).
|
|
98
|
+
*
|
|
99
|
+
* Empty, and asserted empty. Any skip at all fails the scan: a file the guard
|
|
100
|
+
* did not read is a file the guard did not clear, and "logged but forgiven" is
|
|
101
|
+
* how the NUL-drop survived in the first place. Adding an entry here is a
|
|
102
|
+
* deliberate, reviewable act.
|
|
103
|
+
*/
|
|
104
|
+
export declare const PINNED_SKIPS: readonly SkippedFile[];
|
|
105
|
+
export type SkippedFile = {
|
|
106
|
+
path: string;
|
|
107
|
+
reason: SkipReason;
|
|
108
|
+
};
|
|
109
|
+
export type ReadResult = {
|
|
110
|
+
files: ScannedFile[];
|
|
111
|
+
skipped: SkippedFile[];
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Read tracked files for scanning.
|
|
115
|
+
*
|
|
116
|
+
* This function used to do `if (buffer.includes(0)) continue` — dropping any
|
|
117
|
+
* file containing a NUL byte, with no counter and no warning. That is a bypass,
|
|
118
|
+
* not a heuristic: appending one NUL to a comment removed a file from the scan
|
|
119
|
+
* entirely, and `src/lib/content-scan.ts` (which then wrote its composite-key
|
|
120
|
+
* separator as a raw NUL) was already being dropped on a clean tree.
|
|
121
|
+
*
|
|
122
|
+
* A NUL byte is now simply a byte. The content is decoded and scanned like any
|
|
123
|
+
* other; the patterns work fine on a string that happens to contain U+0000.
|
|
124
|
+
* The only remaining non-scans are the ones named in SkipReason, and each is
|
|
125
|
+
* returned to the caller rather than swallowed.
|
|
126
|
+
*/
|
|
127
|
+
export declare function readTrackedFiles(repoRoot: string, paths: string[]): ReadResult;
|
|
128
|
+
export type InfraScanResult = {
|
|
129
|
+
findings: InfraFinding[];
|
|
130
|
+
scannedFileCount: number;
|
|
131
|
+
/** Every tracked file that was not scanned, with the reason. Never empty-by-omission. */
|
|
132
|
+
skippedFiles: SkippedFile[];
|
|
133
|
+
trackedFileCount: number;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Scan the repository's tracked files.
|
|
137
|
+
*
|
|
138
|
+
* Throws rather than returning a clean result when the scan cannot honestly
|
|
139
|
+
* claim coverage: no tracked files, an accounting shortfall, no workflow
|
|
140
|
+
* scanned, or the deploy pipeline missing from the files actually read. Every
|
|
141
|
+
* one of those would otherwise be a vacuous pass.
|
|
142
|
+
*/
|
|
143
|
+
export declare function scanRepositoryInfraIdentifiers(repoRoot: string): InfraScanResult;
|
|
144
|
+
export declare function formatInfraFindings(findings: InfraFinding[]): string;
|
package/dist/lib/installer.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Skill setup and project preferences.
|
|
3
3
|
*
|
|
4
|
-
* Skills are discovered through the CLI/MCP registry and executed from the
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Skills are discovered through the CLI/MCP registry and executed from the bundled
|
|
5
|
+
* package or the remote platform. Project state remains metadata-only pins. Agent skill
|
|
6
|
+
* folders, however, are now written by the last-mile sync: installSkillForAgent() writes a
|
|
7
|
+
* per-tool-adapted SKILL.md into an agent's folder, non-clobbering, marking each directory
|
|
8
|
+
* it owns so a re-sync never overwrites a skill the user hand-authored.
|
|
8
9
|
*/
|
|
9
10
|
import { type SkillMeta } from "./registry.js";
|
|
10
11
|
import { type ProjectSkillPin } from "./project-state.js";
|
|
@@ -99,6 +100,19 @@ export interface AgentInstallOptions {
|
|
|
99
100
|
}
|
|
100
101
|
export declare function getAgentSkillsDir(agent: AgentTarget, scope?: AgentScope, projectDir?: string): string;
|
|
101
102
|
export declare function getAgentSkillPath(name: string, agent: AgentTarget, scope?: AgentScope, projectDir?: string): string;
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Write a skill's SKILL.md into one agent's skill folder, per-tool adapted and
|
|
105
|
+
* non-clobbering.
|
|
106
|
+
*
|
|
107
|
+
* This used to be a stub that refused every call ("pins, not installs"). The last-mile
|
|
108
|
+
* work reverses that: agents load skills from these folders, so `skills sync` writes them
|
|
109
|
+
* there. An unmanaged directory with SKILL.md can be explicitly adopted with
|
|
110
|
+
* `overwrite`; any other pre-existing unmarked directory is never touched. Managed
|
|
111
|
+
* writes replace the complete owned directory — see writeManagedSkillDir.
|
|
112
|
+
*/
|
|
113
|
+
export declare function installSkillForAgent(name: string, options: AgentInstallOptions & {
|
|
114
|
+
overwrite?: boolean;
|
|
115
|
+
dryRun?: boolean;
|
|
116
|
+
}, generateSkillMd?: (name: string) => string | null): InstallResult;
|
|
117
|
+
export declare function removeSkillForAgent(name: string, options: AgentInstallOptions): boolean;
|
|
104
118
|
export {};
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* There is no storage "mode" either.
|
|
3
|
+
*
|
|
4
|
+
* This layer used to carry a declared local|remote|hybrid label. Nothing ever
|
|
5
|
+
* branched on it: it was echoed into `storage status` and `storage sync-plan`
|
|
6
|
+
* beside databaseConfigured/s3Configured, which are read from the actual
|
|
7
|
+
* configuration. A declared label can contradict them (mode=remote with no
|
|
8
|
+
* database URL), so it was a second, weaker answer to a question already
|
|
9
|
+
* answered truthfully. What the store does is derived from what you configured:
|
|
10
|
+
* on-box SQLite plus files, plus Postgres and/or S3 when their env vars are set.
|
|
11
|
+
*
|
|
12
|
+
* Deleting the label left the variable that used to hold it merely *unread*, which
|
|
13
|
+
* is the worse failure and is now refused: see lib/retired-settings.ts.
|
|
14
|
+
*/
|
|
2
15
|
export declare const SKILLS_STORAGE_TABLES: readonly ["skills_sync_records", "skills_sync_cursors"];
|
|
3
16
|
export declare const STORAGE_TABLES: readonly ["skills_sync_records", "skills_sync_cursors"];
|
|
4
17
|
export type SkillsStorageTable = typeof SKILLS_STORAGE_TABLES[number];
|
|
5
18
|
export interface SkillsNativeStorageConfig {
|
|
6
|
-
mode: SkillsStorageMode;
|
|
7
19
|
databaseUrl?: string;
|
|
8
20
|
databaseSsl?: boolean;
|
|
9
21
|
databaseSchema?: string;
|
|
@@ -16,7 +28,6 @@ export interface SkillsNativeStorageConfig {
|
|
|
16
28
|
dryRun: boolean;
|
|
17
29
|
}
|
|
18
30
|
export declare const SKILLS_NATIVE_STORAGE_ENV: {
|
|
19
|
-
readonly mode: "HASNA_SKILLS_STORAGE_MODE";
|
|
20
31
|
readonly databaseUrl: "HASNA_SKILLS_DATABASE_URL";
|
|
21
32
|
readonly databaseSsl: "HASNA_SKILLS_DATABASE_SSL";
|
|
22
33
|
readonly databaseSchema: "HASNA_SKILLS_DATABASE_SCHEMA";
|
|
@@ -32,7 +43,6 @@ export declare const SKILLS_NATIVE_STORAGE_ENV: {
|
|
|
32
43
|
readonly dryRun: "HASNA_SKILLS_SYNC_DRY_RUN";
|
|
33
44
|
};
|
|
34
45
|
export declare const SKILLS_NATIVE_STORAGE_FALLBACK_ENV: {
|
|
35
|
-
readonly mode: "SKILLS_STORAGE_MODE";
|
|
36
46
|
readonly databaseUrl: "SKILLS_DATABASE_URL";
|
|
37
47
|
readonly databaseSsl: "SKILLS_DATABASE_SSL";
|
|
38
48
|
readonly databaseSchema: "SKILLS_DATABASE_SCHEMA";
|
|
@@ -48,7 +58,6 @@ export declare const SKILLS_NATIVE_STORAGE_FALLBACK_ENV: {
|
|
|
48
58
|
readonly dryRun: "SKILLS_SYNC_DRY_RUN";
|
|
49
59
|
};
|
|
50
60
|
export declare const SKILLS_STORAGE_ENV: {
|
|
51
|
-
readonly mode: "HASNA_SKILLS_STORAGE_MODE";
|
|
52
61
|
readonly databaseUrl: "HASNA_SKILLS_DATABASE_URL";
|
|
53
62
|
readonly databaseSsl: "HASNA_SKILLS_DATABASE_SSL";
|
|
54
63
|
readonly databaseSchema: "HASNA_SKILLS_DATABASE_SCHEMA";
|
|
@@ -64,7 +73,6 @@ export declare const SKILLS_STORAGE_ENV: {
|
|
|
64
73
|
readonly dryRun: "HASNA_SKILLS_SYNC_DRY_RUN";
|
|
65
74
|
};
|
|
66
75
|
export declare const SKILLS_STORAGE_FALLBACK_ENV: {
|
|
67
|
-
readonly mode: "SKILLS_STORAGE_MODE";
|
|
68
76
|
readonly databaseUrl: "SKILLS_DATABASE_URL";
|
|
69
77
|
readonly databaseSsl: "SKILLS_DATABASE_SSL";
|
|
70
78
|
readonly databaseSchema: "SKILLS_DATABASE_SCHEMA";
|
|
@@ -81,18 +89,14 @@ export declare const SKILLS_STORAGE_FALLBACK_ENV: {
|
|
|
81
89
|
};
|
|
82
90
|
export declare function resolveSkillsNativeStorageConfig(env?: Record<string, string | undefined>): SkillsNativeStorageConfig;
|
|
83
91
|
export declare function resolveStorageConfig(env?: Record<string, string | undefined>): SkillsNativeStorageConfig;
|
|
84
|
-
export declare function getSkillsStorageMode(env?: Record<string, string | undefined>): SkillsStorageMode;
|
|
85
|
-
export declare function getStorageMode(env?: Record<string, string | undefined>): SkillsStorageMode;
|
|
86
92
|
export declare function getSkillsStorageDatabaseEnv(env?: Record<string, string | undefined>): string;
|
|
87
93
|
export declare function getStorageDatabaseEnv(env?: Record<string, string | undefined>): string;
|
|
88
94
|
export declare function getSkillsStorageDatabaseUrl(env?: Record<string, string | undefined>): string | undefined;
|
|
89
95
|
export declare function getStorageDatabaseUrl(env?: Record<string, string | undefined>): string | undefined;
|
|
90
96
|
export interface SkillsNativeStorageStatus {
|
|
91
97
|
package: "open-skills";
|
|
92
|
-
mode: SkillsStorageMode;
|
|
93
98
|
tables: readonly SkillsStorageTable[];
|
|
94
99
|
env: {
|
|
95
|
-
mode: string;
|
|
96
100
|
databaseUrl: string;
|
|
97
101
|
s3Bucket: string;
|
|
98
102
|
};
|
|
@@ -106,7 +110,6 @@ export interface SkillsNativeStorageStatus {
|
|
|
106
110
|
s3Configured: boolean;
|
|
107
111
|
databaseEnv: string;
|
|
108
112
|
s3BucketEnv: string;
|
|
109
|
-
activeModeEnv: string;
|
|
110
113
|
activeDatabaseEnv: string;
|
|
111
114
|
activeS3BucketEnv: string;
|
|
112
115
|
region: string;
|
package/dist/lib/packlist.d.ts
CHANGED
|
@@ -6,6 +6,19 @@
|
|
|
6
6
|
* copy of the `files` array. This guarantees the safety guards scan exactly what
|
|
7
7
|
* ships, including the effect of the `files` allow/deny globs.
|
|
8
8
|
*/
|
|
9
|
+
/**
|
|
10
|
+
* Parse `npm pack --json`, returning null rather than throwing when the output is
|
|
11
|
+
* not a usable manifest.
|
|
12
|
+
*
|
|
13
|
+
* npm does not always produce the JSON it promises. Observed in CI: a first,
|
|
14
|
+
* cold `npm pack` invocation took 5s, exited 0, and wrote nothing to stdout,
|
|
15
|
+
* which surfaced as a bare `SyntaxError: JSON Parse error: Unexpected EOF` from
|
|
16
|
+
* inside a boundary test - an unactionable failure that says nothing about
|
|
17
|
+
* packaging. Later calls in the same run, with the same package.json, succeeded
|
|
18
|
+
* in ~1.2s. Returning null lets the caller fall back to `bun pm pack` instead of
|
|
19
|
+
* failing the build on npm's flakiness.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseNpmPackJson(stdout: string): string[] | null;
|
|
9
22
|
/**
|
|
10
23
|
* Return the sorted list of package-relative file paths that would be published.
|
|
11
24
|
* Prefers `npm pack` (authoritative for npm) and falls back to `bun pm pack`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SkillKind } from "./registry-types.js";
|
|
2
|
+
import { type PortableSkillManifest } from "./portable-skills-types.js";
|
|
3
|
+
export declare function normalizePortableSkillName(name: string): string;
|
|
4
|
+
export declare function readPortableSkillManifest(skillPath: string, fallbackName?: string): PortableSkillManifest;
|
|
5
|
+
export declare function parseSkillKind(value: string | undefined): SkillKind | undefined;
|
|
6
|
+
export declare function createInstructionManifest(name: string, options: {
|
|
7
|
+
description: string;
|
|
8
|
+
}): PortableSkillManifest;
|
|
9
|
+
export declare function writeInstructionSkillTemplate(skillPath: string, manifest: PortableSkillManifest): void;
|
|
10
|
+
export declare function createPortableManifest(name: string, options: {
|
|
11
|
+
description: string;
|
|
12
|
+
}): PortableSkillManifest;
|
|
13
|
+
export declare function writePortableSkillTemplate(skillPath: string, manifest: PortableSkillManifest): void;
|
|
14
|
+
export declare function ensurePortableSkillFiles(skillPath: string, manifest: PortableSkillManifest): PortableSkillManifest;
|
|
15
|
+
/**
|
|
16
|
+
* Instruction (prose) skills are consumed by agent renderers/MCP docs, not run
|
|
17
|
+
* locally, so `port` must never fabricate executable stubs (package.json, bin,
|
|
18
|
+
* src/index.ts, tsconfig.json, AGENTS.md). It keeps the copied SKILL.md verbatim
|
|
19
|
+
* and writes a minimal skill.json declaring `kind: "instruction"`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ensureInstructionSkillFiles(skillPath: string, manifest: PortableSkillManifest): PortableSkillManifest;
|
|
22
|
+
export declare function copySkillDirectory(source: string, destination: string): void;
|
|
23
|
+
export declare function renderSkillJson(manifest: PortableSkillManifest): string;
|
|
24
|
+
export declare function hasPackageDependencies(pkgPath: string): boolean;
|
|
25
|
+
export declare function displayName(name: string): string;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { SkillKind } from "./registry-types.js";
|
|
2
|
+
export declare const PORTABLE_SKILL_STANDARD = "hasna.skill.v1";
|
|
3
|
+
export declare const PORTABLE_SKILL_SCHEMA = "https://hasna.dev/schemas/skill.v1.json";
|
|
4
|
+
export declare const PORTABLE_SKILL_DEFAULT_VERSION = "0.1.0";
|
|
5
|
+
/**
|
|
6
|
+
* Artifact class of a portable skill.
|
|
7
|
+
* - `executable`: a runnable skill folder (package.json + bin + src entry).
|
|
8
|
+
* - `instruction`: a prose-only agent skill (SKILL.md primary, optional skill.json).
|
|
9
|
+
*
|
|
10
|
+
* Re-exports the canonical SkillKind (defined in registry-types) for existing consumers.
|
|
11
|
+
*/
|
|
12
|
+
export type { SkillKind };
|
|
13
|
+
export interface PortableSkillInput {
|
|
14
|
+
name: string;
|
|
15
|
+
type: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
description?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface PortableSkillCommand {
|
|
20
|
+
name: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
entry?: string;
|
|
23
|
+
command?: string;
|
|
24
|
+
args?: string[];
|
|
25
|
+
}
|
|
26
|
+
export interface PortableSkillManifest {
|
|
27
|
+
$schema?: string;
|
|
28
|
+
standard: typeof PORTABLE_SKILL_STANDARD | string;
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
version: string;
|
|
32
|
+
displayName?: string;
|
|
33
|
+
category?: string;
|
|
34
|
+
tags?: string[];
|
|
35
|
+
kind?: SkillKind;
|
|
36
|
+
inputs: PortableSkillInput[];
|
|
37
|
+
commands: PortableSkillCommand[];
|
|
38
|
+
}
|
|
39
|
+
export interface PortableSkillSummary {
|
|
40
|
+
name: string;
|
|
41
|
+
displayName: string;
|
|
42
|
+
description: string;
|
|
43
|
+
version: string;
|
|
44
|
+
path: string;
|
|
45
|
+
commands: PortableSkillCommand[];
|
|
46
|
+
source: "custom";
|
|
47
|
+
standard: string;
|
|
48
|
+
}
|
|
49
|
+
export interface PortableSkillOptions {
|
|
50
|
+
rootDir?: string;
|
|
51
|
+
homeDir?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface ScaffoldPortableSkillOptions extends PortableSkillOptions {
|
|
54
|
+
description?: string;
|
|
55
|
+
overwrite?: boolean;
|
|
56
|
+
kind?: SkillKind;
|
|
57
|
+
}
|
|
58
|
+
export interface PortPortableSkillOptions extends PortableSkillOptions {
|
|
59
|
+
name?: string;
|
|
60
|
+
overwrite?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Permit an imported skill name that shadows a bundled official skill.
|
|
63
|
+
* Without this, `port` refuses to silently override the official corpus.
|
|
64
|
+
*/
|
|
65
|
+
allowShadow?: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface BulkPortPortableSkillOptions extends PortableSkillOptions {
|
|
68
|
+
overwrite?: boolean;
|
|
69
|
+
/** When false, the first failure is rethrown. Defaults to true (skip-on-error). */
|
|
70
|
+
continueOnError?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface BulkPortImportedEntry {
|
|
73
|
+
name: string;
|
|
74
|
+
path: string;
|
|
75
|
+
sourcePath: string;
|
|
76
|
+
}
|
|
77
|
+
export interface BulkPortSkippedEntry {
|
|
78
|
+
sourcePath: string;
|
|
79
|
+
name?: string;
|
|
80
|
+
reason: string;
|
|
81
|
+
}
|
|
82
|
+
export interface BulkPortResult {
|
|
83
|
+
root: string;
|
|
84
|
+
total: number;
|
|
85
|
+
succeeded: number;
|
|
86
|
+
failed: number;
|
|
87
|
+
imported: BulkPortImportedEntry[];
|
|
88
|
+
skipped: BulkPortSkippedEntry[];
|
|
89
|
+
}
|
|
90
|
+
export interface PortableSkillWriteResult {
|
|
91
|
+
name: string;
|
|
92
|
+
path: string;
|
|
93
|
+
manifest: PortableSkillManifest;
|
|
94
|
+
created: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface PortableSkillRunOptions extends PortableSkillOptions {
|
|
97
|
+
stdio?: "inherit" | "pipe";
|
|
98
|
+
env?: Record<string, string>;
|
|
99
|
+
}
|
|
100
|
+
export interface PortableSkillRunResult {
|
|
101
|
+
exitCode: number;
|
|
102
|
+
stdout?: string;
|
|
103
|
+
stderr?: string;
|
|
104
|
+
error?: string;
|
|
105
|
+
}
|
|
@@ -1,116 +1,34 @@
|
|
|
1
1
|
import type { SkillKind, SkillMeta } from "./registry-types.js";
|
|
2
2
|
import { type SkillValidationResult } from "./skill-validation.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
3
|
+
import { normalizePortableSkillName, readPortableSkillManifest } from "./portable-skills-files.js";
|
|
4
|
+
import type { BulkPortPortableSkillOptions, BulkPortResult, PortableSkillOptions, PortableSkillRunOptions, PortableSkillRunResult, PortableSkillSummary, PortableSkillWriteResult, PortPortableSkillOptions, ScaffoldPortableSkillOptions } from "./portable-skills-types.js";
|
|
5
|
+
export { normalizePortableSkillName, readPortableSkillManifest, };
|
|
6
|
+
export * from "./portable-skills-types.js";
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
* - `executable`: a runnable skill folder (package.json + bin + src entry).
|
|
9
|
-
* - `instruction`: a prose-only agent skill (SKILL.md primary, optional skill.json).
|
|
8
|
+
* Resolve the corpus: the directory holding one folder per installed skill.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
10
|
+
* Precedence is explicit-over-ambient, most specific first:
|
|
11
|
+
* 1. `options.rootDir` - the corpus, named outright (no `installed` suffix)
|
|
12
|
+
* 2. `options.homeDir` - <home>/.hasna/skills/installed
|
|
13
|
+
* 3. `getDataDir()` - <app folder>/installed, where the app folder is
|
|
14
|
+
* $HASNA_SKILLS_DIR, else ~/.hasna/skills
|
|
15
|
+
*
|
|
16
|
+
* The app folder holds app data (config.json, skills.db, auth.json); the corpus
|
|
17
|
+
* is a named subfolder of it, matching every sibling Hasna app. One variable
|
|
18
|
+
* relocates the app folder and the corpus moves with it.
|
|
19
|
+
*
|
|
20
|
+
* `options.homeDir` used to sit *below* the $HASNA_SKILLS_DIR lookup, so an
|
|
21
|
+
* ambient environment variable silently overrode an argument the caller had
|
|
22
|
+
* passed deliberately - the caller could not target a directory at all once the
|
|
23
|
+
* variable was set anywhere in the process. Reading the environment is now left
|
|
24
|
+
* entirely to getDataDir(), so there is one place that knows the variable's name
|
|
25
|
+
* and one rule for which source wins.
|
|
12
26
|
*/
|
|
13
|
-
export type { SkillKind };
|
|
14
|
-
export interface PortableSkillInput {
|
|
15
|
-
name: string;
|
|
16
|
-
type: string;
|
|
17
|
-
required?: boolean;
|
|
18
|
-
description?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface PortableSkillCommand {
|
|
21
|
-
name: string;
|
|
22
|
-
description?: string;
|
|
23
|
-
entry?: string;
|
|
24
|
-
command?: string;
|
|
25
|
-
args?: string[];
|
|
26
|
-
}
|
|
27
|
-
export interface PortableSkillManifest {
|
|
28
|
-
$schema?: string;
|
|
29
|
-
standard: typeof PORTABLE_SKILL_STANDARD | string;
|
|
30
|
-
name: string;
|
|
31
|
-
description: string;
|
|
32
|
-
version: string;
|
|
33
|
-
displayName?: string;
|
|
34
|
-
category?: string;
|
|
35
|
-
tags?: string[];
|
|
36
|
-
kind?: SkillKind;
|
|
37
|
-
inputs: PortableSkillInput[];
|
|
38
|
-
commands: PortableSkillCommand[];
|
|
39
|
-
}
|
|
40
|
-
export interface PortableSkillSummary {
|
|
41
|
-
name: string;
|
|
42
|
-
displayName: string;
|
|
43
|
-
description: string;
|
|
44
|
-
version: string;
|
|
45
|
-
path: string;
|
|
46
|
-
commands: PortableSkillCommand[];
|
|
47
|
-
source: "custom";
|
|
48
|
-
standard: string;
|
|
49
|
-
}
|
|
50
|
-
export interface PortableSkillOptions {
|
|
51
|
-
rootDir?: string;
|
|
52
|
-
homeDir?: string;
|
|
53
|
-
}
|
|
54
|
-
export interface ScaffoldPortableSkillOptions extends PortableSkillOptions {
|
|
55
|
-
description?: string;
|
|
56
|
-
overwrite?: boolean;
|
|
57
|
-
kind?: SkillKind;
|
|
58
|
-
}
|
|
59
|
-
export interface PortPortableSkillOptions extends PortableSkillOptions {
|
|
60
|
-
name?: string;
|
|
61
|
-
overwrite?: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Permit an imported skill name that shadows a bundled official skill.
|
|
64
|
-
* Without this, `port` refuses to silently override the official corpus.
|
|
65
|
-
*/
|
|
66
|
-
allowShadow?: boolean;
|
|
67
|
-
}
|
|
68
|
-
export interface BulkPortPortableSkillOptions extends PortableSkillOptions {
|
|
69
|
-
overwrite?: boolean;
|
|
70
|
-
/** When false, the first failure is rethrown. Defaults to true (skip-on-error). */
|
|
71
|
-
continueOnError?: boolean;
|
|
72
|
-
}
|
|
73
|
-
export interface BulkPortImportedEntry {
|
|
74
|
-
name: string;
|
|
75
|
-
path: string;
|
|
76
|
-
sourcePath: string;
|
|
77
|
-
}
|
|
78
|
-
export interface BulkPortSkippedEntry {
|
|
79
|
-
sourcePath: string;
|
|
80
|
-
name?: string;
|
|
81
|
-
reason: string;
|
|
82
|
-
}
|
|
83
|
-
export interface BulkPortResult {
|
|
84
|
-
root: string;
|
|
85
|
-
total: number;
|
|
86
|
-
succeeded: number;
|
|
87
|
-
failed: number;
|
|
88
|
-
imported: BulkPortImportedEntry[];
|
|
89
|
-
skipped: BulkPortSkippedEntry[];
|
|
90
|
-
}
|
|
91
|
-
export interface PortableSkillWriteResult {
|
|
92
|
-
name: string;
|
|
93
|
-
path: string;
|
|
94
|
-
manifest: PortableSkillManifest;
|
|
95
|
-
created: boolean;
|
|
96
|
-
}
|
|
97
|
-
export interface PortableSkillRunOptions extends PortableSkillOptions {
|
|
98
|
-
stdio?: "inherit" | "pipe";
|
|
99
|
-
env?: Record<string, string>;
|
|
100
|
-
}
|
|
101
|
-
export interface PortableSkillRunResult {
|
|
102
|
-
exitCode: number;
|
|
103
|
-
stdout?: string;
|
|
104
|
-
stderr?: string;
|
|
105
|
-
error?: string;
|
|
106
|
-
}
|
|
107
|
-
export declare function normalizePortableSkillName(name: string): string;
|
|
108
27
|
export declare function getPortableSkillsRoot(options?: PortableSkillOptions): string;
|
|
109
28
|
export declare function getPortableSkillPath(name: string, options?: PortableSkillOptions): string;
|
|
110
29
|
export declare function findPortableSkill(name: string, options?: PortableSkillOptions): PortableSkillSummary | null;
|
|
111
30
|
export declare function listPortableSkills(options?: PortableSkillOptions): PortableSkillSummary[];
|
|
112
31
|
export declare function listPortableSkillMetas(options?: PortableSkillOptions): SkillMeta[];
|
|
113
|
-
export declare function readPortableSkillManifest(skillPath: string, fallbackName?: string): PortableSkillManifest;
|
|
114
32
|
export declare function isOfficialSkillName(name: string): boolean;
|
|
115
33
|
export declare function scaffoldPortableSkill(name: string, options?: ScaffoldPortableSkillOptions): PortableSkillWriteResult;
|
|
116
34
|
/**
|
|
@@ -120,5 +38,36 @@ export declare function scaffoldPortableSkill(name: string, options?: ScaffoldPo
|
|
|
120
38
|
*/
|
|
121
39
|
export declare function portPortableSkillDirectory(sourceDir: string, options?: BulkPortPortableSkillOptions): BulkPortResult;
|
|
122
40
|
export declare function portPortableSkill(sourcePath: string, options?: PortPortableSkillOptions): PortableSkillWriteResult;
|
|
41
|
+
/** Metadata a Skills instance reports for a skill, used to fill the corpus manifest. */
|
|
42
|
+
export interface CorpusSkillMeta {
|
|
43
|
+
displayName?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
category?: string;
|
|
46
|
+
tags?: string[];
|
|
47
|
+
version?: string;
|
|
48
|
+
kind?: SkillKind;
|
|
49
|
+
}
|
|
50
|
+
export interface WriteCorpusSkillInput {
|
|
51
|
+
name: string;
|
|
52
|
+
/** The SKILL.md document as served by the instance. Written verbatim. */
|
|
53
|
+
skillMd: string;
|
|
54
|
+
meta?: CorpusSkillMeta | null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Write a skill fetched from a Skills instance into the local corpus
|
|
58
|
+
* (~/.hasna/skills/installed/<name>/), so loadRegistry() surfaces it to both the CLI
|
|
59
|
+
* (`skills list --all`) and the MCP (`list_skills`) with no further step — the whole
|
|
60
|
+
* point of the pull: the corpus is already a first-class registry source.
|
|
61
|
+
*
|
|
62
|
+
* SKILL.md is written verbatim: it is the agent-facing artifact and the registry's
|
|
63
|
+
* frontmatter source. A canonical skill.json is written beside it so
|
|
64
|
+
* listPortableSkillMetas() reports the right kind/category/tags/version even when the
|
|
65
|
+
* fetched SKILL.md carries thin frontmatter.
|
|
66
|
+
*
|
|
67
|
+
* Idempotent: re-writing the same fetched bytes yields byte-identical files. It
|
|
68
|
+
* overwrites SKILL.md and skill.json — the instance is the source of truth for a pulled
|
|
69
|
+
* skill — but removes nothing else, so a re-pull never destroys sibling files.
|
|
70
|
+
*/
|
|
71
|
+
export declare function writeCorpusSkill(input: WriteCorpusSkillInput, options?: PortableSkillOptions): PortableSkillWriteResult;
|
|
123
72
|
export declare function validatePortableSkillDirectory(name: string, skillPath: string): SkillValidationResult;
|
|
124
73
|
export declare function runPortableSkill(name: string, args: string[], options?: PortableSkillRunOptions): Promise<PortableSkillRunResult>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type PortableSkillOptions } from "./portable-skills.js";
|
|
2
|
+
import type { SkillKind } from "./registry-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The slice of RemoteSkillsClient that `pullSkills` needs. Narrowed to an interface so a
|
|
5
|
+
* test can inject a fake and the real HTTP client (which satisfies it structurally) is
|
|
6
|
+
* only constructed on the production path.
|
|
7
|
+
*/
|
|
8
|
+
export interface SkillPullClient {
|
|
9
|
+
listSkills(): Promise<unknown[]>;
|
|
10
|
+
getSkill(slug: string): Promise<unknown>;
|
|
11
|
+
getSkillMd(slug: string): Promise<string | null>;
|
|
12
|
+
}
|
|
13
|
+
export interface PullSkillsOptions extends PortableSkillOptions {
|
|
14
|
+
/** Explicit skill names to pull. Ignored when `all` is set. */
|
|
15
|
+
names?: string[];
|
|
16
|
+
/** Pull every skill the instance serves. */
|
|
17
|
+
all?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Client override. `undefined` (the default) resolves one from configuration;
|
|
20
|
+
* `null` models "no credential available" so the null-handling path stays testable.
|
|
21
|
+
*/
|
|
22
|
+
client?: SkillPullClient | null;
|
|
23
|
+
}
|
|
24
|
+
export interface PulledSkillResult {
|
|
25
|
+
name: string;
|
|
26
|
+
success: boolean;
|
|
27
|
+
path?: string;
|
|
28
|
+
kind?: SkillKind;
|
|
29
|
+
version?: string;
|
|
30
|
+
/** True when the pull created the corpus entry, false when it updated an existing one. */
|
|
31
|
+
created?: boolean;
|
|
32
|
+
error?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface PullSkillsResult {
|
|
35
|
+
results: PulledSkillResult[];
|
|
36
|
+
}
|
|
37
|
+
export declare class PullSkillError extends Error {
|
|
38
|
+
readonly detail?: string[] | undefined;
|
|
39
|
+
constructor(message: string, detail?: string[] | undefined);
|
|
40
|
+
}
|
|
41
|
+
export declare function pullSkills(options?: PullSkillsOptions): Promise<PullSkillsResult>;
|