@hasna/skills 0.1.62 → 0.1.64
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 +38 -12
- package/bin/index.js +15743 -21709
- package/bin/mcp.js +3866 -11522
- package/bin/migrate.js +281 -35
- package/bin/server.js +5805 -2682
- package/bin/worker.js +5280 -2388
- package/dist/cli/commands/publish.d.ts +2 -0
- package/dist/cli/commands/registry-reconcile.d.ts +2 -0
- package/dist/cli/components/App.d.ts +2 -1
- package/dist/cli/components/CategorySelect.d.ts +2 -1
- package/dist/cli/components/Header.d.ts +2 -1
- package/dist/cli/components/InstallProgress.d.ts +2 -1
- package/dist/cli/components/SearchView.d.ts +2 -1
- package/dist/cli/components/SkillSelect.d.ts +2 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5386 -13739
- package/dist/lib/agent-sync.d.ts +61 -6
- package/dist/lib/auth-store.d.ts +37 -0
- package/dist/lib/config.d.ts +51 -0
- package/dist/lib/home-adoption.d.ts +91 -0
- package/dist/lib/home-census.d.ts +26 -0
- package/dist/lib/home-migration.d.ts +60 -0
- package/dist/lib/native-storage.d.ts +1 -1
- package/dist/lib/portable-skills-files.d.ts +21 -1
- package/dist/lib/portable-skills-types.d.ts +46 -0
- package/dist/lib/portable-skills.d.ts +35 -6
- package/dist/lib/pull.d.ts +97 -0
- package/dist/lib/registry-reconcile.d.ts +114 -0
- package/dist/lib/registry.d.ts +7 -4
- package/dist/lib/remote-client.d.ts +124 -1
- package/dist/lib/remote-registry.d.ts +26 -0
- package/dist/lib/revision.d.ts +29 -0
- package/dist/lib/run-state.d.ts +5 -0
- package/dist/lib/skill-bundles.d.ts +54 -0
- package/dist/lib/skill-contract.d.ts +35 -0
- package/dist/lib/skill-hash.d.ts +77 -0
- package/dist/sdk/cancel.d.ts +30 -0
- package/dist/sdk/dispatcher.d.ts +40 -0
- package/dist/sdk/event-sink.d.ts +2 -0
- package/dist/sdk/events.d.ts +79 -0
- package/dist/sdk/execution/admission.d.ts +44 -0
- package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
- package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
- package/dist/sdk/execution/image-profile.d.ts +73 -0
- package/dist/sdk/execution/index.d.ts +15 -0
- package/dist/sdk/execution/receipts.d.ts +44 -0
- package/dist/sdk/execution/state-machine.d.ts +38 -0
- package/dist/sdk/execution/storage.d.ts +158 -0
- package/dist/sdk/execution/types.d.ts +130 -0
- package/dist/sdk/executor.d.ts +17 -0
- package/dist/sdk/governance-store.d.ts +156 -0
- package/dist/sdk/governance.d.ts +92 -0
- package/dist/sdk/index.d.ts +26 -0
- package/dist/sdk/index.js +49728 -0
- package/dist/sdk/offline.d.ts +16 -0
- package/dist/sdk/outputs.d.ts +71 -0
- package/dist/sdk/registry.d.ts +28 -0
- package/dist/sdk/runs.d.ts +229 -0
- package/dist/sdk/server.d.ts +35 -0
- package/dist/sdk/spend.d.ts +36 -0
- package/dist/sdk/storage.d.ts +25 -0
- package/dist/server/app.d.ts +42 -0
- package/dist/server/artifact-storage.d.ts +102 -0
- package/dist/server/auth.d.ts +5 -0
- package/dist/server/config.d.ts +50 -0
- package/dist/server/database-url.d.ts +42 -0
- package/dist/server/handlers.d.ts +3 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/migrate.d.ts +13 -0
- package/dist/server/migrations-dir.d.ts +18 -0
- package/dist/server/redaction.d.ts +1 -0
- package/dist/server/registry.d.ts +5 -0
- package/dist/server/rows.d.ts +24 -0
- package/dist/server/skills-api.d.ts +170 -0
- package/dist/server/sqlite-store.d.ts +131 -0
- package/dist/server/store-fixtures.d.ts +25 -0
- package/dist/server/store.d.ts +170 -0
- package/dist/server/types.d.ts +337 -0
- package/dist/server/worker.d.ts +4 -0
- package/dist/storage.js +39 -2
- package/docs/skill-standard.md +211 -39
- package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
- package/migrations/postgres/0004_hosted_pins.sql +28 -0
- package/migrations/postgres/0005_revision_tombstone_registry.sql +37 -0
- package/migrations/postgres/0005_tag_projection.sql +36 -0
- package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
- package/migrations/sqlite/0004_hosted_pins.sql +21 -0
- package/migrations/sqlite/0005_revision_tombstone_registry.sql +18 -0
- package/migrations/sqlite/0005_tag_projection.sql +25 -0
- package/package.json +12 -8
- package/schemas/skill.schema.json +181 -0
- package/agent-skills/README.md +0 -41
- package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
- package/agent-skills/inbox/SKILL.md +0 -25
- package/agent-skills/inbox/scripts/inbox +0 -109
- package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
- package/agent-skills/inbox-monitor/SKILL.md +0 -41
- package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
- package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
- package/agent-skills/merge-pr/SKILL.md +0 -85
- package/agent-skills/merge-pr/references/merge-safety.md +0 -82
- package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
- package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
- package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
- package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
- package/agent-skills/skill-goal-execute/SKILL.md +0 -115
- package/agent-skills/skill-login/SKILL.md +0 -109
- package/agent-skills/skill-project-create/SKILL.md +0 -91
- package/agent-skills/skill-publish/SKILL.md +0 -254
- package/agent-skills/skill-publish/scripts/capture_registry.js +0 -47
- package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +0 -143
- package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +0 -231
- package/skills/_common/auth.ts +0 -45
- package/skills/_common/http-client.ts +0 -143
- package/skills/_common/index.ts +0 -26
- package/skills/_common/install.sh +0 -7
- package/skills/_common/installer.ts +0 -72
- package/skills/_common/skill-install.ts +0 -37
- package/skills/_common/vision.ts +0 -374
- package/skills/ad-creative-pack/SKILL.md +0 -55
- package/skills/ad-creative-pack/package.json +0 -10
- package/skills/analyze-data/CLAUDE.md +0 -16
- package/skills/analyze-data/SKILL.md +0 -112
- package/skills/analyze-data/package.json +0 -23
- package/skills/analyze-data/src/analysis.ts +0 -401
- package/skills/analyze-data/src/cli.ts +0 -66
- package/skills/analyze-data/src/formatters.ts +0 -235
- package/skills/analyze-data/src/index.ts +0 -74
- package/skills/analyze-data/src/logger.ts +0 -36
- package/skills/analyze-data/src/parsers.ts +0 -57
- package/skills/analyze-data/src/stats.ts +0 -151
- package/skills/analyze-data/src/types.ts +0 -85
- package/skills/analyze-data/tsconfig.json +0 -19
- package/skills/api-docs-portal/SKILL.md +0 -84
- package/skills/api-docs-portal/package.json +0 -35
- package/skills/api-docs-portal/src/index.ts +0 -919
- package/skills/api-docs-portal/tsconfig.json +0 -17
- package/skills/api-test-suite/CLAUDE.md +0 -19
- package/skills/api-test-suite/package.json +0 -27
- package/skills/api-test-suite/src/index.ts +0 -381
- package/skills/api-test-suite/tsconfig.json +0 -10
- package/skills/audio-extract/CLAUDE.md +0 -9
- package/skills/audio-extract/SKILL.md +0 -73
- package/skills/audio-extract/package.json +0 -23
- package/skills/audio-extract/src/index.ts +0 -323
- package/skills/audio-extract/tsconfig.json +0 -11
- package/skills/bio-sequence-tool/CLAUDE.md +0 -19
- package/skills/bio-sequence-tool/package.json +0 -27
- package/skills/bio-sequence-tool/src/index.ts +0 -85
- package/skills/bio-sequence-tool/tsconfig.json +0 -10
- package/skills/blog-article/CLAUDE.md +0 -12
- package/skills/blog-article/SKILL.md +0 -55
- package/skills/blog-article/package.json +0 -10
- package/skills/blog-article/tsconfig.json +0 -10
- package/skills/brand-assets/SKILL.md +0 -118
- package/skills/brand-assets/package.json +0 -35
- package/skills/brand-assets/src/cli.ts +0 -155
- package/skills/brand-assets/src/constants.ts +0 -8
- package/skills/brand-assets/src/extract.ts +0 -236
- package/skills/brand-assets/src/index.ts +0 -668
- package/skills/brand-assets/src/types.ts +0 -59
- package/skills/brand-assets/tsconfig.json +0 -17
- package/skills/brand-kit/SKILL.md +0 -54
- package/skills/brand-kit/package.json +0 -10
- package/skills/businessactivity/CLAUDE.md +0 -176
- package/skills/businessactivity/LICENSE +0 -192
- package/skills/businessactivity/README.md +0 -287
- package/skills/businessactivity/package.json +0 -25
- package/skills/businessactivity/scripts/publish.ts +0 -210
- package/skills/businessactivity/src/commands/activity.ts +0 -211
- package/skills/businessactivity/src/commands/function.ts +0 -227
- package/skills/businessactivity/src/commands/owner.ts +0 -193
- package/skills/businessactivity/src/commands/profile.ts +0 -121
- package/skills/businessactivity/src/commands/responsibility.ts +0 -264
- package/skills/businessactivity/src/commands/team.ts +0 -244
- package/skills/businessactivity/src/commands/workflow.ts +0 -359
- package/skills/businessactivity/src/index.ts +0 -3
- package/skills/businessactivity/src/lib/config.ts +0 -167
- package/skills/businessactivity/src/lib/output.ts +0 -76
- package/skills/businessactivity/src/lib/paths.ts +0 -79
- package/skills/businessactivity/src/lib/storage.ts +0 -95
- package/skills/businessactivity/src/types/index.ts +0 -86
- package/skills/businessactivity/tsconfig.json +0 -29
- package/skills/codefix/LICENSE +0 -192
- package/skills/codefix/README.md +0 -232
- package/skills/codefix/SKILL.md +0 -94
- package/skills/codefix/package.json +0 -21
- package/skills/codefix/src/fixers/batch.ts +0 -213
- package/skills/codefix/src/fixers/detector.ts +0 -160
- package/skills/codefix/src/fixers/index.ts +0 -7
- package/skills/codefix/src/fixers/runner.ts +0 -522
- package/skills/codefix/src/index-local.ts +0 -431
- package/skills/codefix/src/index.ts +0 -4
- package/skills/codefix/src/types.ts +0 -211
- package/skills/codefix/tsconfig.json +0 -15
- package/skills/commitpush/SKILL.md +0 -57
- package/skills/commitpush/package.json +0 -33
- package/skills/commitpush/src/index.ts +0 -34
- package/skills/commitpush/tsconfig.json +0 -17
- package/skills/commitpushpr/SKILL.md +0 -55
- package/skills/commitpushpr/package.json +0 -33
- package/skills/commitpushpr/src/index.ts +0 -34
- package/skills/commitpushpr/tsconfig.json +0 -17
- package/skills/compress-video/CLAUDE.md +0 -9
- package/skills/compress-video/SKILL.md +0 -79
- package/skills/compress-video/package.json +0 -23
- package/skills/compress-video/src/index.ts +0 -473
- package/skills/compress-video/tsconfig.json +0 -11
- package/skills/contract-review-report/SKILL.md +0 -52
- package/skills/contract-review-report/package.json +0 -10
- package/skills/customer-feedback-report/SKILL.md +0 -52
- package/skills/customer-feedback-report/package.json +0 -10
- package/skills/dashboard-builder/CLAUDE.md +0 -19
- package/skills/dashboard-builder/package.json +0 -29
- package/skills/dashboard-builder/src/index.ts +0 -150
- package/skills/dashboard-builder/tsconfig.json +0 -10
- package/skills/data-anonymizer/CLAUDE.md +0 -19
- package/skills/data-anonymizer/package.json +0 -27
- package/skills/data-anonymizer/src/index.ts +0 -183
- package/skills/data-anonymizer/tsconfig.json +0 -10
- package/skills/database-explorer/CLAUDE.md +0 -19
- package/skills/database-explorer/package.json +0 -29
- package/skills/database-explorer/src/index.ts +0 -95
- package/skills/database-explorer/tsconfig.json +0 -10
- package/skills/diff-viewer/CLAUDE.md +0 -19
- package/skills/diff-viewer/package.json +0 -30
- package/skills/diff-viewer/src/index.ts +0 -164
- package/skills/diff-viewer/tsconfig.json +0 -10
- package/skills/doc-read/SKILL.md +0 -45
- package/skills/doc-read/package.json +0 -29
- package/skills/doc-read/src/index.ts +0 -324
- package/skills/doc-read/tsconfig.json +0 -8
- package/skills/domainpurchase/LICENSE +0 -192
- package/skills/domainpurchase/SKILL.md +0 -29
- package/skills/domainpurchase/package.json +0 -30
- package/skills/domainpurchase/src/index.ts +0 -3
- package/skills/domainpurchase/tsconfig.json +0 -21
- package/skills/email-sequence/SKILL.md +0 -53
- package/skills/email-sequence/package.json +0 -10
- package/skills/experiment-power-calculator/CLAUDE.md +0 -19
- package/skills/experiment-power-calculator/package.json +0 -29
- package/skills/experiment-power-calculator/src/index.ts +0 -86
- package/skills/experiment-power-calculator/tsconfig.json +0 -10
- package/skills/extract-frames/CLAUDE.md +0 -19
- package/skills/extract-frames/package.json +0 -27
- package/skills/extract-frames/src/index.ts +0 -616
- package/skills/extract-frames/tsconfig.json +0 -10
- package/skills/file-organizer/CLAUDE.md +0 -19
- package/skills/file-organizer/package.json +0 -27
- package/skills/file-organizer/src/index.ts +0 -91
- package/skills/file-organizer/tsconfig.json +0 -10
- package/skills/folder-tree/CLAUDE.md +0 -19
- package/skills/folder-tree/package.json +0 -29
- package/skills/folder-tree/src/index.ts +0 -568
- package/skills/folder-tree/tsconfig.json +0 -10
- package/skills/form-filler/CLAUDE.md +0 -19
- package/skills/form-filler/package.json +0 -29
- package/skills/form-filler/src/index.ts +0 -81
- package/skills/form-filler/tsconfig.json +0 -10
- package/skills/generate-api-client/CLAUDE.md +0 -19
- package/skills/generate-api-client/package.json +0 -29
- package/skills/generate-api-client/src/generator.ts +0 -47
- package/skills/generate-api-client/src/index.ts +0 -92
- package/skills/generate-api-client/src/logger.ts +0 -34
- package/skills/generate-api-client/src/python-generator.ts +0 -245
- package/skills/generate-api-client/src/spec-loader.ts +0 -48
- package/skills/generate-api-client/src/type-mappers.ts +0 -79
- package/skills/generate-api-client/src/types.ts +0 -76
- package/skills/generate-api-client/src/typescript-generator.ts +0 -247
- package/skills/generate-api-client/tsconfig.json +0 -10
- package/skills/generate-chart/CLAUDE.md +0 -19
- package/skills/generate-chart/package.json +0 -27
- package/skills/generate-chart/src/index.ts +0 -510
- package/skills/generate-chart/tsconfig.json +0 -10
- package/skills/generate-dockerfile/CLAUDE.md +0 -19
- package/skills/generate-dockerfile/package.json +0 -27
- package/skills/generate-dockerfile/src/cli.ts +0 -78
- package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
- package/skills/generate-dockerfile/src/index.ts +0 -81
- package/skills/generate-dockerfile/src/logger.ts +0 -30
- package/skills/generate-dockerfile/src/project-detection.ts +0 -68
- package/skills/generate-dockerfile/src/support-files.ts +0 -171
- package/skills/generate-dockerfile/src/types.ts +0 -29
- package/skills/generate-dockerfile/tsconfig.json +0 -10
- package/skills/generate-env/CLAUDE.md +0 -19
- package/skills/generate-env/package.json +0 -29
- package/skills/generate-env/src/cli.ts +0 -85
- package/skills/generate-env/src/detection.ts +0 -161
- package/skills/generate-env/src/env-data.ts +0 -66
- package/skills/generate-env/src/generators.ts +0 -240
- package/skills/generate-env/src/index.ts +0 -120
- package/skills/generate-env/src/runtime.ts +0 -30
- package/skills/generate-env/src/types.ts +0 -32
- package/skills/generate-env/tsconfig.json +0 -10
- package/skills/generate-favicon/CLAUDE.md +0 -19
- package/skills/generate-favicon/package.json +0 -29
- package/skills/generate-favicon/src/index.ts +0 -421
- package/skills/generate-favicon/tsconfig.json +0 -10
- package/skills/generate-qrcode/CLAUDE.md +0 -19
- package/skills/generate-qrcode/package.json +0 -30
- package/skills/generate-qrcode/src/index.ts +0 -584
- package/skills/generate-qrcode/tsconfig.json +0 -10
- package/skills/generate-resume/CLAUDE.md +0 -19
- package/skills/generate-resume/package.json +0 -27
- package/skills/generate-resume/src/cli.ts +0 -157
- package/skills/generate-resume/src/index.ts +0 -178
- package/skills/generate-resume/src/parsers.ts +0 -95
- package/skills/generate-resume/src/renderers.ts +0 -538
- package/skills/generate-resume/src/security.ts +0 -39
- package/skills/generate-resume/src/types.ts +0 -86
- package/skills/generate-resume/tsconfig.json +0 -10
- package/skills/generate-sitemap/CLAUDE.md +0 -19
- package/skills/generate-sitemap/package.json +0 -27
- package/skills/generate-sitemap/src/index.ts +0 -626
- package/skills/generate-sitemap/tsconfig.json +0 -10
- package/skills/gif-maker/CLAUDE.md +0 -19
- package/skills/gif-maker/package.json +0 -30
- package/skills/gif-maker/src/index.ts +0 -600
- package/skills/gif-maker/tsconfig.json +0 -10
- package/skills/hook/LICENSE +0 -192
- package/skills/hook/README.md +0 -74
- package/skills/hook/SKILL.md +0 -85
- package/skills/hook/bunfig.toml +0 -5
- package/skills/hook/package.json +0 -28
- package/skills/hook/src/commands/create.ts +0 -112
- package/skills/hook/src/commands/events.ts +0 -37
- package/skills/hook/src/commands/validate.ts +0 -117
- package/skills/hook/src/index.ts +0 -118
- package/skills/hook/src/templates/root.ts +0 -196
- package/skills/hook/src/templates/source.ts +0 -647
- package/skills/hook/tsconfig.json +0 -18
- package/skills/http-server/CLAUDE.md +0 -19
- package/skills/http-server/package.json +0 -29
- package/skills/http-server/src/index.ts +0 -51
- package/skills/http-server/tsconfig.json +0 -10
- package/skills/implementation/LICENSE +0 -192
- package/skills/implementation/README.md +0 -53
- package/skills/implementation/SKILL.md +0 -57
- package/skills/implementation/bunfig.toml +0 -5
- package/skills/implementation/package.json +0 -28
- package/skills/implementation/src/commands/create.ts +0 -187
- package/skills/implementation/src/index.ts +0 -62
- package/skills/implementation/tsconfig.json +0 -18
- package/skills/implementation-plan/CLAUDE.md +0 -19
- package/skills/implementation-plan/package.json +0 -29
- package/skills/implementation-plan/src/index.ts +0 -520
- package/skills/implementation-plan/tsconfig.json +0 -10
- package/skills/implementation-todo/CLAUDE.md +0 -19
- package/skills/implementation-todo/package.json +0 -29
- package/skills/implementation-todo/src/index.ts +0 -429
- package/skills/implementation-todo/tsconfig.json +0 -10
- package/skills/invoice/.env.example +0 -3
- package/skills/invoice/CLAUDE.md +0 -31
- package/skills/invoice/LICENSE +0 -192
- package/skills/invoice/README.md +0 -70
- package/skills/invoice/package.json +0 -26
- package/skills/invoice/src/commands/companies.ts +0 -202
- package/skills/invoice/src/commands/config.ts +0 -132
- package/skills/invoice/src/commands/generate.ts +0 -177
- package/skills/invoice/src/commands/invoices.ts +0 -218
- package/skills/invoice/src/index.ts +0 -3
- package/skills/invoice/src/lib/api.ts +0 -124
- package/skills/invoice/src/lib/storage.ts +0 -171
- package/skills/invoice/src/types/index.ts +0 -86
- package/skills/invoice/src/utils/logger.ts +0 -33
- package/skills/invoice/src/utils/paths.ts +0 -25
- package/skills/invoice/tsconfig.json +0 -23
- package/skills/invoice-reconciliation/SKILL.md +0 -98
- package/skills/invoice-reconciliation/package.json +0 -36
- package/skills/invoice-reconciliation/src/index.ts +0 -743
- package/skills/invoice-reconciliation/tsconfig.json +0 -17
- package/skills/landing-page-pack/SKILL.md +0 -55
- package/skills/landing-page-pack/package.json +0 -10
- package/skills/latex-table-generator/CLAUDE.md +0 -19
- package/skills/latex-table-generator/package.json +0 -29
- package/skills/latex-table-generator/src/index.ts +0 -113
- package/skills/latex-table-generator/tsconfig.json +0 -10
- package/skills/logo-design/SKILL.md +0 -94
- package/skills/logo-design/package.json +0 -35
- package/skills/logo-design/src/cli.ts +0 -132
- package/skills/logo-design/src/constants.ts +0 -5
- package/skills/logo-design/src/docs.ts +0 -102
- package/skills/logo-design/src/geometry.ts +0 -324
- package/skills/logo-design/src/index.ts +0 -212
- package/skills/logo-design/src/palette.ts +0 -258
- package/skills/logo-design/src/types.ts +0 -50
- package/skills/logo-design/tsconfig.json +0 -17
- package/skills/lorem-generator/CLAUDE.md +0 -19
- package/skills/lorem-generator/package.json +0 -29
- package/skills/lorem-generator/src/index.ts +0 -59
- package/skills/lorem-generator/tsconfig.json +0 -10
- package/skills/managemcp/CLAUDE.md +0 -14
- package/skills/managemcp/README.md +0 -24
- package/skills/managemcp/package.json +0 -16
- package/skills/managemcp/src/index.ts +0 -3
- package/skills/managemcp/tsconfig.json +0 -27
- package/skills/markdown-validator/CLAUDE.md +0 -19
- package/skills/markdown-validator/package.json +0 -29
- package/skills/markdown-validator/src/index.ts +0 -92
- package/skills/markdown-validator/tsconfig.json +0 -10
- package/skills/market-research-report/SKILL.md +0 -51
- package/skills/market-research-report/package.json +0 -10
- package/skills/meeting-pack/SKILL.md +0 -52
- package/skills/meeting-pack/package.json +0 -10
- package/skills/merge-pdfs/CLAUDE.md +0 -19
- package/skills/merge-pdfs/package.json +0 -31
- package/skills/merge-pdfs/src/index.ts +0 -427
- package/skills/merge-pdfs/tsconfig.json +0 -10
- package/skills/migration-plan-pack/SKILL.md +0 -56
- package/skills/migration-plan-pack/package.json +0 -10
- package/skills/monitor/SKILL.md +0 -69
- package/skills/monitor/package.json +0 -33
- package/skills/monitor/src/index.ts +0 -34
- package/skills/monitor/tsconfig.json +0 -17
- package/skills/one-page-website/SKILL.md +0 -128
- package/skills/one-page-website/package.json +0 -34
- package/skills/one-page-website/src/design.ts +0 -336
- package/skills/one-page-website/src/docs.ts +0 -159
- package/skills/one-page-website/src/index.ts +0 -357
- package/skills/one-page-website/src/page.ts +0 -340
- package/skills/one-page-website/src/styles.ts +0 -508
- package/skills/one-page-website/src/types.ts +0 -78
- package/skills/one-page-website/tsconfig.json +0 -17
- package/skills/pdf-generate/CLAUDE.md +0 -19
- package/skills/pdf-generate/SKILL.md +0 -86
- package/skills/pdf-generate/package.json +0 -21
- package/skills/pdf-generate/src/cli.ts +0 -162
- package/skills/pdf-generate/src/html.ts +0 -84
- package/skills/pdf-generate/src/index.ts +0 -62
- package/skills/pdf-generate/src/markdown.ts +0 -27
- package/skills/pdf-generate/src/pdf-writer.ts +0 -78
- package/skills/pdf-generate/src/runtime.ts +0 -34
- package/skills/pdf-generate/src/security.ts +0 -37
- package/skills/pdf-generate/src/templates.ts +0 -311
- package/skills/pdf-generate/src/types.ts +0 -28
- package/skills/pdf-generate/tsconfig.json +0 -16
- package/skills/pdf-to-dataset/SKILL.md +0 -88
- package/skills/pdf-to-dataset/package.json +0 -37
- package/skills/pdf-to-dataset/src/index.ts +0 -790
- package/skills/pdf-to-dataset/tsconfig.json +0 -17
- package/skills/pdf-to-markdown/SKILL.md +0 -81
- package/skills/pdf-to-markdown/package.json +0 -35
- package/skills/pdf-to-markdown/src/index.ts +0 -694
- package/skills/pdf-to-markdown/tsconfig.json +0 -17
- package/skills/performance-audit-report/SKILL.md +0 -49
- package/skills/performance-audit-report/package.json +0 -10
- package/skills/pitch-deck/SKILL.md +0 -51
- package/skills/pitch-deck/package.json +0 -10
- package/skills/product-mockup/SKILL.md +0 -107
- package/skills/product-mockup/package.json +0 -32
- package/skills/product-mockup/src/cli.ts +0 -150
- package/skills/product-mockup/src/design.ts +0 -151
- package/skills/product-mockup/src/docs.ts +0 -134
- package/skills/product-mockup/src/index.ts +0 -182
- package/skills/product-mockup/src/render.ts +0 -407
- package/skills/product-mockup/src/types.ts +0 -66
- package/skills/product-mockup/tsconfig.json +0 -17
- package/skills/proposal-pack/SKILL.md +0 -53
- package/skills/proposal-pack/package.json +0 -10
- package/skills/read-csv/SKILL.md +0 -62
- package/skills/read-csv/package.json +0 -37
- package/skills/read-csv/src/index.ts +0 -356
- package/skills/read-csv/tsconfig.json +0 -17
- package/skills/read-excel/SKILL.md +0 -64
- package/skills/read-excel/package.json +0 -36
- package/skills/read-excel/src/index.ts +0 -266
- package/skills/read-excel/tsconfig.json +0 -17
- package/skills/regex-tester/CLAUDE.md +0 -19
- package/skills/regex-tester/package.json +0 -27
- package/skills/regex-tester/src/index.ts +0 -183
- package/skills/regex-tester/tsconfig.json +0 -10
- package/skills/repo-onboarding-report/SKILL.md +0 -52
- package/skills/repo-onboarding-report/package.json +0 -10
- package/skills/scancommitpr/SKILL.md +0 -178
- package/skills/scancommitpr/package.json +0 -34
- package/skills/scancommitpr/src/index.ts +0 -44
- package/skills/scancommitpr/tsconfig.json +0 -13
- package/skills/scancommitpush/SKILL.md +0 -174
- package/skills/scancommitpush/package.json +0 -32
- package/skills/scancommitpush/src/index.ts +0 -44
- package/skills/scancommitpush/tsconfig.json +0 -13
- package/skills/scientific-figure-check/CLAUDE.md +0 -19
- package/skills/scientific-figure-check/package.json +0 -29
- package/skills/scientific-figure-check/src/index.ts +0 -83
- package/skills/scientific-figure-check/tsconfig.json +0 -10
- package/skills/security-audit/CLAUDE.md +0 -19
- package/skills/security-audit/package.json +0 -27
- package/skills/security-audit/src/index.ts +0 -145
- package/skills/security-audit/tsconfig.json +0 -10
- package/skills/security-audit-report/SKILL.md +0 -52
- package/skills/security-audit-report/package.json +0 -10
- package/skills/seo-content-pack/SKILL.md +0 -54
- package/skills/seo-content-pack/package.json +0 -10
- package/skills/siteanalyze/SKILL.md +0 -25
- package/skills/siteanalyze/package.json +0 -27
- package/skills/siteanalyze/src/index.ts +0 -592
- package/skills/slide-deck-generator/SKILL.md +0 -93
- package/skills/slide-deck-generator/package.json +0 -38
- package/skills/slide-deck-generator/src/cli.ts +0 -133
- package/skills/slide-deck-generator/src/index.ts +0 -148
- package/skills/slide-deck-generator/src/model.ts +0 -307
- package/skills/slide-deck-generator/src/pptx.ts +0 -143
- package/skills/slide-deck-generator/src/render.ts +0 -248
- package/skills/slide-deck-generator/src/types.ts +0 -114
- package/skills/slide-deck-generator/src/utils.ts +0 -53
- package/skills/slide-deck-generator/tsconfig.json +0 -17
- package/skills/social-content-calendar/SKILL.md +0 -54
- package/skills/social-content-calendar/package.json +0 -10
- package/skills/split-pdf/CLAUDE.md +0 -19
- package/skills/split-pdf/package.json +0 -30
- package/skills/split-pdf/src/index.ts +0 -301
- package/skills/split-pdf/tsconfig.json +0 -10
- package/skills/statistical-test-selector/CLAUDE.md +0 -19
- package/skills/statistical-test-selector/package.json +0 -27
- package/skills/statistical-test-selector/src/index.ts +0 -75
- package/skills/statistical-test-selector/tsconfig.json +0 -10
- package/skills/test-suite-generator/SKILL.md +0 -51
- package/skills/test-suite-generator/package.json +0 -10
- package/skills/tmux-session/SKILL.md +0 -109
- package/skills/tmux-session/package.json +0 -33
- package/skills/tmux-session/src/index.ts +0 -34
- package/skills/tmux-session/tsconfig.json +0 -17
- package/skills/todos-plan/SKILL.md +0 -363
- package/skills/todos-plan/agents/openai.yaml +0 -4
- package/skills/todos-plan/package.json +0 -9
- package/skills/todos-plan/src/index.ts +0 -68
- package/skills/tsconfig.base.json +0 -12
- package/skills/validate-config/CLAUDE.md +0 -19
- package/skills/validate-config/package.json +0 -29
- package/skills/validate-config/src/index.ts +0 -56
- package/skills/validate-config/tsconfig.json +0 -10
- package/skills/video-downloader/CLAUDE.md +0 -19
- package/skills/video-downloader/package.json +0 -29
- package/skills/video-downloader/src/index.ts +0 -561
- package/skills/video-downloader/tsconfig.json +0 -10
- package/skills/video-highlight-pack/SKILL.md +0 -54
- package/skills/video-highlight-pack/package.json +0 -10
- package/skills/watermark/CLAUDE.md +0 -19
- package/skills/watermark/package.json +0 -32
- package/skills/watermark/src/index.ts +0 -587
- package/skills/watermark/tsconfig.json +0 -10
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scancommitpr
|
|
3
|
-
description: Scan repo for all changes, group them into logical commits, push to GitHub, and optionally create a pull request. Only creates a PR when the user explicitly asks for one.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Scan, Commit, Push & PR
|
|
7
|
-
|
|
8
|
-
This skill performs the full scan/commit/push workflow and additionally offers to create a pull request on GitHub.
|
|
9
|
-
|
|
10
|
-
**IMPORTANT**: Only create a PR if the user explicitly asked for one. If the user just said "commit" or "push", do NOT create a PR.
|
|
11
|
-
|
|
12
|
-
## Phase 1: Scan, Commit & Push
|
|
13
|
-
|
|
14
|
-
Follow ALL steps from the scancommitpush workflow:
|
|
15
|
-
|
|
16
|
-
### Step 1: Pre-flight Checks
|
|
17
|
-
|
|
18
|
-
1. **Verify git repo**: `git rev-parse --git-dir`. If not a repo, stop.
|
|
19
|
-
2. **Check merge conflicts**: `git diff --name-only --diff-filter=U`. If any, stop and report.
|
|
20
|
-
3. **Check branch**: `git branch --show-current`. Warn on detached HEAD.
|
|
21
|
-
4. **Check remote**: `git remote -v`. If none, stop.
|
|
22
|
-
5. **Check upstream**: `git rev-parse --abbrev-ref @{upstream} 2>/dev/null`. Note if missing.
|
|
23
|
-
|
|
24
|
-
### Step 2: Scan All Changes
|
|
25
|
-
|
|
26
|
-
1. `git status` (no `-uall` flag) — note staged, unstaged, untracked.
|
|
27
|
-
2. `git diff --stat` — unstaged summary.
|
|
28
|
-
3. `git diff --cached --stat` — staged summary.
|
|
29
|
-
4. If no changes: "Working tree is clean. Nothing to commit." Stop.
|
|
30
|
-
5. Detect and exclude sensitive files (.env, *.pem, *.key, credentials.json, .secrets/).
|
|
31
|
-
|
|
32
|
-
### Step 3: Group Changes into Logical Commits
|
|
33
|
-
|
|
34
|
-
Group by priority:
|
|
35
|
-
1. **Feature/functionality** — related files implementing one feature/fix together
|
|
36
|
-
2. **Type** — config, docs, deps, refactor, tests each separate
|
|
37
|
-
3. **Scope** — unrelated areas get separate commits
|
|
38
|
-
4. **Single-file** — lone changes get own commit
|
|
39
|
-
|
|
40
|
-
When in doubt, split. Lockfiles go with their package.json. Test files go with the code they test.
|
|
41
|
-
|
|
42
|
-
### Step 4: Create Commits
|
|
43
|
-
|
|
44
|
-
For each group, in dependency order:
|
|
45
|
-
|
|
46
|
-
1. Stage specific files: `git add <file1> <file2>` — NEVER `git add .`
|
|
47
|
-
2. Commit with conventional message format:
|
|
48
|
-
```
|
|
49
|
-
<type>: <imperative summary, max 72 chars>
|
|
50
|
-
|
|
51
|
-
<optional WHY body>
|
|
52
|
-
|
|
53
|
-
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
54
|
-
```
|
|
55
|
-
Types: `feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `style`, `perf`
|
|
56
|
-
3. Use HEREDOC for commit message.
|
|
57
|
-
4. Verify with `git log --oneline -1`.
|
|
58
|
-
|
|
59
|
-
### Step 5: Push to Remote
|
|
60
|
-
|
|
61
|
-
- No upstream: `git push -u origin <branch>`
|
|
62
|
-
- Has upstream: `git push`
|
|
63
|
-
- NEVER force push unless explicitly asked.
|
|
64
|
-
- Report failures clearly (rejected, auth, permissions).
|
|
65
|
-
|
|
66
|
-
### Step 6: Summary
|
|
67
|
-
|
|
68
|
-
List all commits with hashes, types, summaries, and file counts.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Phase 2: Pull Request Creation (Conditional)
|
|
73
|
-
|
|
74
|
-
**Only proceed if the user explicitly requested a PR.**
|
|
75
|
-
|
|
76
|
-
### Decision Tree
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
User says "commit" or "push" -> Phase 1 ONLY, no PR
|
|
80
|
-
User says "commit and push" -> Phase 1 ONLY, no PR
|
|
81
|
-
User says "commit and create a PR" -> Phase 1 + Phase 2
|
|
82
|
-
User says "push and open a PR" -> Phase 1 + Phase 2
|
|
83
|
-
User says "create a PR" -> Phase 1 + Phase 2
|
|
84
|
-
User says "PR" or "pull request" -> Phase 1 + Phase 2
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
If the user did NOT ask for a PR, stop after Phase 1. Do NOT ask "would you like me to create a PR?" — just stop.
|
|
88
|
-
|
|
89
|
-
### Step PR-1: Determine Base Branch
|
|
90
|
-
|
|
91
|
-
1. Current branch should NOT be `main` or `master`. If it is, warn: "You are on the main branch. PRs are typically created from feature branches. Proceed anyway?"
|
|
92
|
-
|
|
93
|
-
2. Find base branch:
|
|
94
|
-
```bash
|
|
95
|
-
git rev-parse --verify origin/main 2>/dev/null && echo "main" || git rev-parse --verify origin/master 2>/dev/null && echo "master"
|
|
96
|
-
```
|
|
97
|
-
If neither exists, ask the user.
|
|
98
|
-
|
|
99
|
-
3. Check for existing PR: `gh pr list --head <current-branch> --state open`. If PR exists: "A PR already exists for this branch: <url>. New commits have been pushed to it." Stop.
|
|
100
|
-
|
|
101
|
-
### Step PR-2: Gather PR Information
|
|
102
|
-
|
|
103
|
-
1. Get full diff: `git log --oneline <base>..HEAD` — ALL commits on this branch, not just new ones.
|
|
104
|
-
|
|
105
|
-
2. Analyze all commits to understand the full PR scope.
|
|
106
|
-
|
|
107
|
-
3. Draft PR title:
|
|
108
|
-
- Under 72 characters
|
|
109
|
-
- Imperative mood
|
|
110
|
-
- Specific, not just concatenated commit messages
|
|
111
|
-
|
|
112
|
-
4. Draft PR body:
|
|
113
|
-
```markdown
|
|
114
|
-
## Summary
|
|
115
|
-
<1-3 bullet points: what and why>
|
|
116
|
-
|
|
117
|
-
## Changes
|
|
118
|
-
<Key changes, grouped logically>
|
|
119
|
-
|
|
120
|
-
## Test plan
|
|
121
|
-
<Testing steps checklist>
|
|
122
|
-
|
|
123
|
-
Generated with [Claude Code](https://claude.ai/code)
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### Step PR-3: Create the PR
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
gh pr create --title "<title>" --body "$(cat <<'EOF'
|
|
130
|
-
<PR body>
|
|
131
|
-
EOF
|
|
132
|
-
)"
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Handle errors:
|
|
136
|
-
- **`gh` not installed**: "Install GitHub CLI: `brew install gh` or https://cli.github.com"
|
|
137
|
-
- **Not authenticated**: "Run `gh auth login`"
|
|
138
|
-
- **No permission**: "You may not have PR access to this repository"
|
|
139
|
-
|
|
140
|
-
Do NOT add labels, reviewers, or assignees unless asked. Do NOT auto-merge.
|
|
141
|
-
|
|
142
|
-
### Step PR-4: Final Summary
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
Committed and pushed to <branch>:
|
|
146
|
-
|
|
147
|
-
1. <hash> <type>: <summary> (N files)
|
|
148
|
-
2. <hash> <type>: <summary> (N files)
|
|
149
|
-
|
|
150
|
-
Total: X commits, Y files changed
|
|
151
|
-
|
|
152
|
-
Pull Request created:
|
|
153
|
-
Title: <title>
|
|
154
|
-
URL: <url>
|
|
155
|
-
Base: <base> <- <branch>
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Edge Cases
|
|
159
|
-
|
|
160
|
-
| Situation | Action |
|
|
161
|
-
|-----------|--------|
|
|
162
|
-
| On main/master | Warn, ask before creating PR |
|
|
163
|
-
| PR already exists | Report URL, don't create duplicate |
|
|
164
|
-
| `gh` not installed | Provide install instructions |
|
|
165
|
-
| `gh` not authenticated | Tell user to run `gh auth login` |
|
|
166
|
-
| No diff between branch and base | "No differences. Nothing to PR." |
|
|
167
|
-
| Draft PR requested | Use `gh pr create --draft` |
|
|
168
|
-
| Specific reviewers requested | Use `--reviewer` flag |
|
|
169
|
-
| Fork workflow | Use `gh pr create --head <user>:<branch>` |
|
|
170
|
-
|
|
171
|
-
## Safety Rules
|
|
172
|
-
|
|
173
|
-
All scancommitpush safety rules apply, plus:
|
|
174
|
-
- **NEVER** create a PR without explicit user request
|
|
175
|
-
- **NEVER** auto-merge PRs
|
|
176
|
-
- **NEVER** force push to create a clean PR
|
|
177
|
-
- **NEVER** modify commit history to make the PR "look better"
|
|
178
|
-
- **NEVER** add labels or reviewers unless asked
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "scancommitpr",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Instruction-set skill: scan repo changes, group into logical commits, push, and optionally create a PR",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "src/index.ts",
|
|
7
|
-
"bin": {
|
|
8
|
-
"scancommitpr": "src/index.ts"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"dev": "bun run src/index.ts",
|
|
12
|
-
"build": "bun build src/index.ts --outdir dist --target node"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [
|
|
15
|
-
"git",
|
|
16
|
-
"commit",
|
|
17
|
-
"push",
|
|
18
|
-
"pull-request",
|
|
19
|
-
"pr",
|
|
20
|
-
"automation",
|
|
21
|
-
"claude-code",
|
|
22
|
-
"skill"
|
|
23
|
-
],
|
|
24
|
-
"devDependencies": {
|
|
25
|
-
"@types/bun": "latest"
|
|
26
|
-
},
|
|
27
|
-
"peerDependencies": {
|
|
28
|
-
"typescript": "^5.0.0"
|
|
29
|
-
},
|
|
30
|
-
"publishConfig": {
|
|
31
|
-
"access": "restricted",
|
|
32
|
-
"registry": "https://registry.npmjs.org/"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* scancommitpr - Instruction-set skill
|
|
5
|
-
*
|
|
6
|
-
* This skill is an instruction set (SKILL.md is the primary artifact).
|
|
7
|
-
* It instructs Claude Code agents to scan, group, commit, push,
|
|
8
|
-
* and optionally create a pull request on GitHub.
|
|
9
|
-
*
|
|
10
|
-
* Install to Claude Code:
|
|
11
|
-
* skills install scancommitpr --for claude
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
function printHelp(): void {
|
|
15
|
-
console.log(`scancommitpr - Scan, Commit, Push & PR
|
|
16
|
-
|
|
17
|
-
DESCRIPTION:
|
|
18
|
-
Instruction-set skill for Claude Code agents.
|
|
19
|
-
When loaded, instructs the agent to:
|
|
20
|
-
1. Scan the entire repo for changes
|
|
21
|
-
2. Group changes into logical commits
|
|
22
|
-
3. Write clear, conventional commit messages
|
|
23
|
-
4. Push to GitHub
|
|
24
|
-
5. Optionally create a pull request (only when explicitly asked)
|
|
25
|
-
|
|
26
|
-
USAGE:
|
|
27
|
-
This skill is designed to be used as a Claude Code skill (SKILL.md).
|
|
28
|
-
Install it with:
|
|
29
|
-
|
|
30
|
-
skills install scancommitpr --for claude
|
|
31
|
-
|
|
32
|
-
The CLI itself has no runtime functionality.
|
|
33
|
-
`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const args = process.argv.slice(2);
|
|
37
|
-
|
|
38
|
-
if (args.includes("--help") || args.includes("-h") || args.length === 0) {
|
|
39
|
-
printHelp();
|
|
40
|
-
process.exit(0);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
console.log("This is an instruction-set skill. Install it to Claude Code with:");
|
|
44
|
-
console.log(" skills install scancommitpr --for claude");
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../tsconfig.base.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"target": "ESNext",
|
|
5
|
-
"module": "ESNext",
|
|
6
|
-
"allowSyntheticDefaultImports": true,
|
|
7
|
-
"resolveJsonModule": true,
|
|
8
|
-
"outDir": "./dist",
|
|
9
|
-
"rootDir": "./src"
|
|
10
|
-
},
|
|
11
|
-
"include": ["src/**/*"],
|
|
12
|
-
"exclude": ["node_modules", "dist"]
|
|
13
|
-
}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scancommitpush
|
|
3
|
-
description: Scan repo for all changes, group them into logical commits with conventional messages, and push to GitHub. Use when the user says "commit", "push", or invokes /commit. Does NOT create a pull request.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Scan, Commit & Push
|
|
7
|
-
|
|
8
|
-
Scan the entire repository for changes, group them into logical commits, write high-quality commit messages, and push to GitHub. This skill does NOT create a pull request.
|
|
9
|
-
|
|
10
|
-
## Step 1: Pre-flight Checks
|
|
11
|
-
|
|
12
|
-
1. **Verify git repo**: Run `git rev-parse --git-dir`. If not a git repo, stop and inform the user.
|
|
13
|
-
|
|
14
|
-
2. **Check for merge conflicts**: Run `git diff --name-only --diff-filter=U`. If any files listed, stop: "There are unresolved merge conflicts in: [list]. Please resolve them before committing."
|
|
15
|
-
|
|
16
|
-
3. **Check current branch**: Run `git branch --show-current`. Note the branch name. If detached HEAD, warn the user and ask whether to proceed.
|
|
17
|
-
|
|
18
|
-
4. **Check remote**: Run `git remote -v`. If no remote configured, stop: "No git remote configured. Add one before pushing."
|
|
19
|
-
|
|
20
|
-
5. **Check upstream**: Run `git rev-parse --abbrev-ref @{upstream} 2>/dev/null`. If no upstream, you'll need `git push -u origin <branch>` later.
|
|
21
|
-
|
|
22
|
-
## Step 2: Scan All Changes
|
|
23
|
-
|
|
24
|
-
1. **Run `git status`** (never use `-uall` flag). Note staged changes, unstaged modifications, and untracked files.
|
|
25
|
-
|
|
26
|
-
2. **Run `git diff --stat`** for unstaged modification summary.
|
|
27
|
-
|
|
28
|
-
3. **Run `git diff --cached --stat`** for staged change summary.
|
|
29
|
-
|
|
30
|
-
4. **If NO changes exist** (nothing staged, unstaged, or untracked): "Working tree is clean. Nothing to commit." Stop.
|
|
31
|
-
|
|
32
|
-
5. **Detect sensitive files** and EXCLUDE from commits:
|
|
33
|
-
- `.env`, `.env.*` (environment files)
|
|
34
|
-
- `*.pem`, `*.key`, `*.p12` (private keys)
|
|
35
|
-
- `credentials.json`, `service-account*.json`
|
|
36
|
-
- `.secrets/`, `secrets/`
|
|
37
|
-
- Files containing API keys or tokens
|
|
38
|
-
|
|
39
|
-
Warn: "Found potentially sensitive files that will NOT be committed: [list]. Add them to .gitignore if needed."
|
|
40
|
-
|
|
41
|
-
## Step 3: Group Changes into Logical Commits
|
|
42
|
-
|
|
43
|
-
Do NOT create one giant commit. Analyze changes and group them into logical, atomic commits.
|
|
44
|
-
|
|
45
|
-
### Grouping Rules (in priority order)
|
|
46
|
-
|
|
47
|
-
1. **By feature/functionality**: Changes implementing a single feature or fixing a single bug go together.
|
|
48
|
-
- Files that import or reference each other
|
|
49
|
-
- Files in the same directory working toward the same goal
|
|
50
|
-
- Test files paired with the code they test
|
|
51
|
-
|
|
52
|
-
2. **By type of change**:
|
|
53
|
-
- Configuration changes (package.json, tsconfig, eslint) → own commit
|
|
54
|
-
- Documentation changes (README, CHANGELOG) → own commit
|
|
55
|
-
- Dependency updates (lockfiles + package.json) → one commit
|
|
56
|
-
- Refactoring (rename, restructure without behavior change) → separate from features
|
|
57
|
-
- Test additions paired with the code they test → together
|
|
58
|
-
|
|
59
|
-
3. **By scope/area**: Changes in unrelated parts of the codebase → separate commits.
|
|
60
|
-
|
|
61
|
-
4. **Single-file changes**: A lone modified file unrelated to others → own commit.
|
|
62
|
-
|
|
63
|
-
### Decision Process
|
|
64
|
-
|
|
65
|
-
For each changed file ask:
|
|
66
|
-
- What is the purpose of this change? (feature, fix, refactor, docs, config, test)
|
|
67
|
-
- Which other files does this change relate to?
|
|
68
|
-
- Would this change make sense on its own?
|
|
69
|
-
|
|
70
|
-
**When in doubt, split into smaller commits.** Small atomic commits are always better than large unfocused ones.
|
|
71
|
-
|
|
72
|
-
### Special Cases
|
|
73
|
-
|
|
74
|
-
- **Lockfiles** (package-lock.json, bun.lockb, yarn.lock, pnpm-lock.yaml): Always group with corresponding package.json change
|
|
75
|
-
- **Generated files**: Group with the source change that produced them, or skip if they belong in .gitignore
|
|
76
|
-
- **Already staged changes**: Respect the user's intent — commit staged files as one group, then handle remaining changes separately
|
|
77
|
-
- **Untracked files**: New source files → commit. Build artifacts, logs, editor configs → suggest .gitignore
|
|
78
|
-
|
|
79
|
-
## Step 4: Create Commits
|
|
80
|
-
|
|
81
|
-
For each logical group, commit in dependency order (foundational changes first):
|
|
82
|
-
|
|
83
|
-
1. **Stage files**: `git add <file1> <file2> ...` — use specific paths, NEVER `git add .` or `git add -A`.
|
|
84
|
-
|
|
85
|
-
2. **Write commit message**:
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
<type>: <concise summary in imperative mood>
|
|
89
|
-
|
|
90
|
-
<optional body explaining WHY, not WHAT>
|
|
91
|
-
|
|
92
|
-
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
| Type | When |
|
|
96
|
-
|------|------|
|
|
97
|
-
| `feat` | New feature or capability |
|
|
98
|
-
| `fix` | Bug fix |
|
|
99
|
-
| `refactor` | Code restructuring, no behavior change |
|
|
100
|
-
| `docs` | Documentation only |
|
|
101
|
-
| `test` | Adding or updating tests |
|
|
102
|
-
| `chore` | Config, dependencies, build, CI |
|
|
103
|
-
| `style` | Formatting, whitespace, linting |
|
|
104
|
-
| `perf` | Performance improvement |
|
|
105
|
-
|
|
106
|
-
Rules:
|
|
107
|
-
- Subject line max 72 chars, imperative mood ("Add feature" not "Added")
|
|
108
|
-
- No period at end of subject
|
|
109
|
-
- Be specific: "fix: resolve null pointer in user auth" not "fix: fix bug"
|
|
110
|
-
|
|
111
|
-
3. **Create commit** using HEREDOC:
|
|
112
|
-
```bash
|
|
113
|
-
git commit -m "$(cat <<'EOF'
|
|
114
|
-
<type>: <summary>
|
|
115
|
-
|
|
116
|
-
<optional body>
|
|
117
|
-
|
|
118
|
-
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
119
|
-
EOF
|
|
120
|
-
)"
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
4. **Verify**: `git log --oneline -1` to confirm.
|
|
124
|
-
|
|
125
|
-
5. **Repeat** for each group.
|
|
126
|
-
|
|
127
|
-
## Step 5: Push to Remote
|
|
128
|
-
|
|
129
|
-
1. If no upstream: `git push -u origin <branch>`. Otherwise: `git push`.
|
|
130
|
-
|
|
131
|
-
2. **Handle failures**:
|
|
132
|
-
- **Rejected (non-fast-forward)**: "Push rejected — remote has new commits. You may need to pull and rebase first." Do NOT force-push.
|
|
133
|
-
- **Auth failure**: "Check your Git credentials."
|
|
134
|
-
- **No permission**: "You may not have push access to this repository."
|
|
135
|
-
|
|
136
|
-
3. **NEVER force push** unless the user explicitly requests it.
|
|
137
|
-
|
|
138
|
-
## Step 6: Summary
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
Committed and pushed to <branch>:
|
|
142
|
-
|
|
143
|
-
1. <hash> <type>: <summary> (N files)
|
|
144
|
-
2. <hash> <type>: <summary> (N files)
|
|
145
|
-
...
|
|
146
|
-
|
|
147
|
-
Total: X commits, Y files changed
|
|
148
|
-
Remote: origin/<branch>
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Edge Cases
|
|
152
|
-
|
|
153
|
-
| Situation | Action |
|
|
154
|
-
|-----------|--------|
|
|
155
|
-
| No changes | "Working tree is clean. Nothing to commit." Stop. |
|
|
156
|
-
| Only staged changes | Commit staged as-is, push |
|
|
157
|
-
| Only untracked files | Evaluate each, stage appropriate ones, commit, push |
|
|
158
|
-
| Hundreds of files | Still group logically, create more commits |
|
|
159
|
-
| Binary files | Include in commit, note in summary |
|
|
160
|
-
| Submodule changes | Commit pointer update separately |
|
|
161
|
-
| Pre-commit hook fails | Report failure, do NOT use --no-verify. Fix the issue, create NEW commit. |
|
|
162
|
-
| Branch behind remote | Warn, suggest pull/rebase |
|
|
163
|
-
| Detached HEAD | Warn, ask before proceeding |
|
|
164
|
-
| Empty commit would result | Skip that group, no --allow-empty |
|
|
165
|
-
|
|
166
|
-
## Safety Rules
|
|
167
|
-
|
|
168
|
-
- **NEVER** `git add .` or `git add -A` — always stage specific files
|
|
169
|
-
- **NEVER** `--no-verify` to skip hooks
|
|
170
|
-
- **NEVER** force push without explicit user request
|
|
171
|
-
- **NEVER** commit .env files or secrets
|
|
172
|
-
- **NEVER** amend existing commits unless user explicitly asks
|
|
173
|
-
- **NEVER** rebase or modify published history
|
|
174
|
-
- If pre-commit hook fails, fix the issue and create a NEW commit
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "scancommitpush",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Instruction-set skill: scan repo changes, group into logical commits, and push to GitHub",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "src/index.ts",
|
|
7
|
-
"bin": {
|
|
8
|
-
"scancommitpush": "src/index.ts"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"dev": "bun run src/index.ts",
|
|
12
|
-
"build": "bun build src/index.ts --outdir dist --target node"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [
|
|
15
|
-
"git",
|
|
16
|
-
"commit",
|
|
17
|
-
"push",
|
|
18
|
-
"automation",
|
|
19
|
-
"claude-code",
|
|
20
|
-
"skill"
|
|
21
|
-
],
|
|
22
|
-
"devDependencies": {
|
|
23
|
-
"@types/bun": "latest"
|
|
24
|
-
},
|
|
25
|
-
"peerDependencies": {
|
|
26
|
-
"typescript": "^5.0.0"
|
|
27
|
-
},
|
|
28
|
-
"publishConfig": {
|
|
29
|
-
"access": "restricted",
|
|
30
|
-
"registry": "https://registry.npmjs.org/"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* scancommitpush - Instruction-set skill
|
|
5
|
-
*
|
|
6
|
-
* This skill is an instruction set (SKILL.md is the primary artifact).
|
|
7
|
-
* It instructs Claude Code agents to scan, group, commit, and push changes.
|
|
8
|
-
*
|
|
9
|
-
* Install to Claude Code:
|
|
10
|
-
* skills install scancommitpush --for claude
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
function printHelp(): void {
|
|
14
|
-
console.log(`scancommitpush - Scan, Commit & Push
|
|
15
|
-
|
|
16
|
-
DESCRIPTION:
|
|
17
|
-
Instruction-set skill for Claude Code agents.
|
|
18
|
-
When loaded, instructs the agent to:
|
|
19
|
-
1. Scan the entire repo for changes
|
|
20
|
-
2. Group changes into logical commits
|
|
21
|
-
3. Write clear, conventional commit messages
|
|
22
|
-
4. Push to GitHub
|
|
23
|
-
|
|
24
|
-
This skill does NOT create a pull request.
|
|
25
|
-
|
|
26
|
-
USAGE:
|
|
27
|
-
This skill is designed to be used as a Claude Code skill (SKILL.md).
|
|
28
|
-
Install it with:
|
|
29
|
-
|
|
30
|
-
skills install scancommitpush --for claude
|
|
31
|
-
|
|
32
|
-
The CLI itself has no runtime functionality.
|
|
33
|
-
`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const args = process.argv.slice(2);
|
|
37
|
-
|
|
38
|
-
if (args.includes("--help") || args.includes("-h") || args.length === 0) {
|
|
39
|
-
printHelp();
|
|
40
|
-
process.exit(0);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
console.log("This is an instruction-set skill. Install it to Claude Code with:");
|
|
44
|
-
console.log(" skills install scancommitpush --for claude");
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../tsconfig.base.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"target": "ESNext",
|
|
5
|
-
"module": "ESNext",
|
|
6
|
-
"allowSyntheticDefaultImports": true,
|
|
7
|
-
"resolveJsonModule": true,
|
|
8
|
-
"outDir": "./dist",
|
|
9
|
-
"rootDir": "./src"
|
|
10
|
-
},
|
|
11
|
-
"include": ["src/**/*"],
|
|
12
|
-
"exclude": ["node_modules", "dist"]
|
|
13
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# scientific-figure-check
|
|
2
|
-
|
|
3
|
-
Scientific Figure Check skill.
|
|
4
|
-
|
|
5
|
-
## Tech Stack
|
|
6
|
-
|
|
7
|
-
- Runtime: Bun
|
|
8
|
-
- Language: TypeScript
|
|
9
|
-
- CLI: Commander.js
|
|
10
|
-
|
|
11
|
-
## CLI
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
scientific-figure-check run
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Data Directory
|
|
18
|
-
|
|
19
|
-
~/.skill/scientific-figure-check/
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "scientific-figure-check",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Scientific Figure Check skill",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"scientific-figure-check": "./src/index.ts"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"dev": "bun run src/index.ts",
|
|
11
|
-
"build": "bun build src/index.ts --outdir dist --target node",
|
|
12
|
-
"typecheck": "tsc --noEmit"
|
|
13
|
-
},
|
|
14
|
-
"dependencies": {
|
|
15
|
-
"image-size": "^2.0.2"
|
|
16
|
-
},
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"@types/bun": "latest",
|
|
19
|
-
"typescript": "^5.7.0"
|
|
20
|
-
},
|
|
21
|
-
"publishConfig": {
|
|
22
|
-
"access": "restricted",
|
|
23
|
-
"registry": "https://registry.npmjs.org/"
|
|
24
|
-
},
|
|
25
|
-
"files": [
|
|
26
|
-
"src",
|
|
27
|
-
"tsconfig.json"
|
|
28
|
-
]
|
|
29
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
import { parseArgs } from "util";
|
|
3
|
-
import { existsSync, statSync } from "fs";
|
|
4
|
-
import sizeOf from "image-size";
|
|
5
|
-
|
|
6
|
-
const { values, positionals } = parseArgs({
|
|
7
|
-
args: process.argv.slice(2),
|
|
8
|
-
options: {
|
|
9
|
-
help: { type: "boolean" },
|
|
10
|
-
},
|
|
11
|
-
allowPositionals: true,
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
if (values.help || positionals.length === 0) {
|
|
15
|
-
console.log(`
|
|
16
|
-
Scientific Figure Check
|
|
17
|
-
Usage: skills run scientific-figure-check -- <file>
|
|
18
|
-
|
|
19
|
-
Description:
|
|
20
|
-
Analyzes image files to check if they meet common journal submission standards.
|
|
21
|
-
`);
|
|
22
|
-
process.exit(0);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const filePath = positionals[0];
|
|
26
|
-
|
|
27
|
-
if (!existsSync(filePath)) {
|
|
28
|
-
console.error(`Error: File not found: ${filePath}`);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
try {
|
|
33
|
-
const stats = statSync(filePath);
|
|
34
|
-
const dimensions = sizeOf(filePath);
|
|
35
|
-
|
|
36
|
-
const fileSizeMB = stats.size / (1024 * 1024);
|
|
37
|
-
const width = dimensions.width || 0;
|
|
38
|
-
const height = dimensions.height || 0;
|
|
39
|
-
const type = dimensions.type || "unknown";
|
|
40
|
-
|
|
41
|
-
// Heuristics for "Print Quality" (assuming 300 DPI target)
|
|
42
|
-
// If we don't know physical size, we can only guess based on pixel count.
|
|
43
|
-
// A 3-inch wide figure at 300 DPI needs 900 pixels.
|
|
44
|
-
const minWidth = 900;
|
|
45
|
-
const minHeight = 900;
|
|
46
|
-
|
|
47
|
-
console.log(`
|
|
48
|
-
Figure Analysis Report
|
|
49
|
-
----------------------
|
|
50
|
-
File: ${filePath}
|
|
51
|
-
Type: ${type.toUpperCase()}
|
|
52
|
-
Size: ${fileSizeMB.toFixed(2)} MB
|
|
53
|
-
Pixels: ${width} x ${height}
|
|
54
|
-
|
|
55
|
-
Checks:
|
|
56
|
-
`);
|
|
57
|
-
|
|
58
|
-
// Check Format
|
|
59
|
-
const validFormats = ["png", "jpg", "jpeg", "tiff", "eps", "pdf"];
|
|
60
|
-
if (validFormats.includes(type.toLowerCase())) {
|
|
61
|
-
console.log(`[PASS] Format (${type}) is generally accepted.`);
|
|
62
|
-
} else {
|
|
63
|
-
console.log(`[WARN] Format (${type}) might not be accepted. Prefer TIFF, EPS, or high-res PDF/PNG.`);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Check Resolution (Heuristic)
|
|
67
|
-
if (width >= minWidth && height >= minHeight) {
|
|
68
|
-
console.log(`[PASS] Dimensions are likely sufficient for print (>3 inches at 300 DPI).`);
|
|
69
|
-
} else {
|
|
70
|
-
console.log(`[WARN] Dimensions are small (${width}x${height}). Ensure this provides 300 DPI at print size.`);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Check File Size
|
|
74
|
-
if (fileSizeMB > 10) {
|
|
75
|
-
console.log(`[WARN] File size is large (${fileSizeMB.toFixed(2)} MB). Check journal limits.`);
|
|
76
|
-
} else {
|
|
77
|
-
console.log(`[PASS] File size is reasonable.`);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
} catch (error) {
|
|
81
|
-
console.error("Error analyzing image:", error);
|
|
82
|
-
process.exit(1);
|
|
83
|
-
}
|