@soleur/opencode 0.0.0-stage → 3.354.2
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/.claude-plugin/agents.manifest.json +476 -0
- package/.claude-plugin/plugin.json +42 -0
- package/README.md +44 -2
- package/agents/community/.gitkeep +0 -0
- package/agents/engineering/cto.md +87 -0
- package/agents/engineering/design/ddd-architect.md +95 -0
- package/agents/engineering/discovery/agent-finder.md +214 -0
- package/agents/engineering/discovery/functional-discovery.md +182 -0
- package/agents/engineering/infra/infra-security.md +151 -0
- package/agents/engineering/infra/platform-strategist.md +109 -0
- package/agents/engineering/infra/terraform-architect.md +171 -0
- package/agents/engineering/prompt-engineer.md +37 -0
- package/agents/engineering/research/best-practices-researcher.md +115 -0
- package/agents/engineering/research/framework-docs-researcher.md +93 -0
- package/agents/engineering/research/git-history-analyzer.md +53 -0
- package/agents/engineering/research/learnings-researcher.md +285 -0
- package/agents/engineering/research/repo-research-analyst.md +118 -0
- package/agents/engineering/review/agent-native-reviewer.md +279 -0
- package/agents/engineering/review/architecture-strategist.md +61 -0
- package/agents/engineering/review/code-quality-analyst.md +92 -0
- package/agents/engineering/review/code-simplicity-reviewer.md +109 -0
- package/agents/engineering/review/data-integrity-guardian.md +82 -0
- package/agents/engineering/review/data-migration-expert.md +98 -0
- package/agents/engineering/review/deployment-verification-agent.md +183 -0
- package/agents/engineering/review/dhh-rails-reviewer.md +46 -0
- package/agents/engineering/review/kieran-rails-reviewer.md +87 -0
- package/agents/engineering/review/legacy-code-expert.md +55 -0
- package/agents/engineering/review/observability-coverage-reviewer.md +147 -0
- package/agents/engineering/review/pattern-recognition-specialist.md +59 -0
- package/agents/engineering/review/performance-oracle.md +130 -0
- package/agents/engineering/review/security-sentinel.md +167 -0
- package/agents/engineering/review/semgrep-sast.md +36 -0
- package/agents/engineering/review/test-design-reviewer.md +150 -0
- package/agents/engineering/review/user-impact-reviewer.md +70 -0
- package/agents/engineering/workflow/pr-comment-resolver.md +69 -0
- package/agents/finance/budget-analyst.md +29 -0
- package/agents/finance/cfo.md +44 -0
- package/agents/finance/financial-reporter.md +30 -0
- package/agents/finance/revenue-analyst.md +30 -0
- package/agents/legal/clo.md +115 -0
- package/agents/legal/legal-compliance-auditor.md +110 -0
- package/agents/legal/legal-document-generator.md +134 -0
- package/agents/marketing/analytics-analyst.md +25 -0
- package/agents/marketing/brand-architect.md +181 -0
- package/agents/marketing/cmo.md +76 -0
- package/agents/marketing/conversion-optimizer.md +19 -0
- package/agents/marketing/copywriter.md +20 -0
- package/agents/marketing/fact-checker.md +70 -0
- package/agents/marketing/growth-strategist.md +145 -0
- package/agents/marketing/paid-media-strategist.md +28 -0
- package/agents/marketing/pricing-strategist.md +17 -0
- package/agents/marketing/programmatic-seo-specialist.md +25 -0
- package/agents/marketing/retention-strategist.md +23 -0
- package/agents/marketing/seo-aeo-analyst.md +164 -0
- package/agents/operations/coo.md +50 -0
- package/agents/operations/ops-advisor.md +78 -0
- package/agents/operations/ops-provisioner.md +101 -0
- package/agents/operations/ops-research.md +52 -0
- package/agents/operations/service-automator.md +278 -0
- package/agents/product/business-validator.md +206 -0
- package/agents/product/competitive-intelligence.md +89 -0
- package/agents/product/cpo.md +63 -0
- package/agents/product/design/ux-design-lead.md +209 -0
- package/agents/product/spec-flow-analyzer.md +122 -0
- package/agents/sales/cro.md +44 -0
- package/agents/sales/deal-architect.md +29 -0
- package/agents/sales/outbound-strategist.md +29 -0
- package/agents/sales/pipeline-analyst.md +29 -0
- package/agents/support/cco.md +48 -0
- package/agents/support/community-manager.md +570 -0
- package/agents/support/ticket-triage.md +70 -0
- package/bin/soleur-opencode.js +29 -0
- package/commands/go.md +660 -0
- package/commands/help.md +273 -0
- package/commands/sync.md +977 -0
- package/commands/version.md +103 -0
- package/hooks/antigravity-hooks.json +84 -0
- package/hooks/antigravity-session-start.sh +15 -0
- package/hooks/bare-root-cwd-guard.sh +131 -0
- package/hooks/browser-snapshot-credential-guard.sh +200 -0
- package/hooks/codex-session-start.sh +9 -0
- package/hooks/compaction-state.sh +525 -0
- package/hooks/destructive-command-guard.sh +1387 -0
- package/hooks/devin-session-start.sh +90 -0
- package/hooks/ext-filter-detect.sh +171 -0
- package/hooks/hooks.json +133 -0
- package/hooks/lib/hook-tool-kind.sh +24 -0
- package/hooks/lib/log-rotation.sh +176 -0
- package/hooks/lib/shell-argv.pl +576 -0
- package/hooks/memory-backstop.sh +1114 -0
- package/hooks/operator-stage-approval.sh +391 -0
- package/hooks/stop-hook.sh +367 -0
- package/hooks/unkept-promise-hook.sh +383 -0
- package/hooks/version-banner.sh +127 -0
- package/hooks/welcome-hook.sh +50 -0
- package/install.js +29 -0
- package/lib/agent-registry.ts +154 -0
- package/lib/c4-canonical-cli.mjs +34 -0
- package/lib/c4-canonical.mjs +46 -0
- package/lib/c4-from-components.ts +554 -0
- package/lib/go-routing.ts +81 -0
- package/lib/grok-inspect-contract.ts +311 -0
- package/lib/harness-model-map.ts +101 -0
- package/lib/harness-parity.ts +726 -0
- package/lib/harness-tool-map.ts +180 -0
- package/lib/harness.ts +716 -0
- package/lib/heartbeat-live-reconcile.ts +1153 -0
- package/lib/heartbeat-manifest.ts +361 -0
- package/lib/kb-coverage.ts +252 -0
- package/lib/pr-merge-poll.ts +103 -0
- package/lib/workflow-fidelity.ts +388 -0
- package/opencode/INSTRUCTIONS.md +171 -0
- package/opencode/agents/engineering/cto.md +10 -0
- package/opencode/agents/engineering/design/ddd-architect.md +10 -0
- package/opencode/agents/engineering/discovery/agent-finder.md +10 -0
- package/opencode/agents/engineering/discovery/functional-discovery.md +10 -0
- package/opencode/agents/engineering/infra/infra-security.md +10 -0
- package/opencode/agents/engineering/infra/platform-strategist.md +10 -0
- package/opencode/agents/engineering/infra/terraform-architect.md +10 -0
- package/opencode/agents/engineering/prompt-engineer.md +10 -0
- package/opencode/agents/engineering/research/best-practices-researcher.md +10 -0
- package/opencode/agents/engineering/research/framework-docs-researcher.md +10 -0
- package/opencode/agents/engineering/research/git-history-analyzer.md +10 -0
- package/opencode/agents/engineering/research/learnings-researcher.md +10 -0
- package/opencode/agents/engineering/research/repo-research-analyst.md +10 -0
- package/opencode/agents/engineering/review/agent-native-reviewer.md +10 -0
- package/opencode/agents/engineering/review/architecture-strategist.md +10 -0
- package/opencode/agents/engineering/review/code-quality-analyst.md +10 -0
- package/opencode/agents/engineering/review/code-simplicity-reviewer.md +10 -0
- package/opencode/agents/engineering/review/data-integrity-guardian.md +10 -0
- package/opencode/agents/engineering/review/data-migration-expert.md +10 -0
- package/opencode/agents/engineering/review/deployment-verification-agent.md +10 -0
- package/opencode/agents/engineering/review/dhh-rails-reviewer.md +10 -0
- package/opencode/agents/engineering/review/kieran-rails-reviewer.md +10 -0
- package/opencode/agents/engineering/review/legacy-code-expert.md +10 -0
- package/opencode/agents/engineering/review/observability-coverage-reviewer.md +10 -0
- package/opencode/agents/engineering/review/pattern-recognition-specialist.md +10 -0
- package/opencode/agents/engineering/review/performance-oracle.md +10 -0
- package/opencode/agents/engineering/review/security-sentinel.md +10 -0
- package/opencode/agents/engineering/review/semgrep-sast.md +10 -0
- package/opencode/agents/engineering/review/test-design-reviewer.md +10 -0
- package/opencode/agents/engineering/review/user-impact-reviewer.md +10 -0
- package/opencode/agents/engineering/workflow/pr-comment-resolver.md +10 -0
- package/opencode/agents/finance/budget-analyst.md +10 -0
- package/opencode/agents/finance/cfo.md +10 -0
- package/opencode/agents/finance/financial-reporter.md +10 -0
- package/opencode/agents/finance/revenue-analyst.md +10 -0
- package/opencode/agents/legal/clo.md +10 -0
- package/opencode/agents/legal/legal-compliance-auditor.md +10 -0
- package/opencode/agents/legal/legal-document-generator.md +10 -0
- package/opencode/agents/marketing/analytics-analyst.md +10 -0
- package/opencode/agents/marketing/brand-architect.md +10 -0
- package/opencode/agents/marketing/cmo.md +10 -0
- package/opencode/agents/marketing/conversion-optimizer.md +10 -0
- package/opencode/agents/marketing/copywriter.md +10 -0
- package/opencode/agents/marketing/fact-checker.md +10 -0
- package/opencode/agents/marketing/growth-strategist.md +10 -0
- package/opencode/agents/marketing/paid-media-strategist.md +10 -0
- package/opencode/agents/marketing/pricing-strategist.md +10 -0
- package/opencode/agents/marketing/programmatic-seo-specialist.md +10 -0
- package/opencode/agents/marketing/retention-strategist.md +10 -0
- package/opencode/agents/marketing/seo-aeo-analyst.md +10 -0
- package/opencode/agents/operations/coo.md +10 -0
- package/opencode/agents/operations/ops-advisor.md +10 -0
- package/opencode/agents/operations/ops-provisioner.md +10 -0
- package/opencode/agents/operations/ops-research.md +10 -0
- package/opencode/agents/operations/service-automator.md +10 -0
- package/opencode/agents/product/business-validator.md +10 -0
- package/opencode/agents/product/competitive-intelligence.md +10 -0
- package/opencode/agents/product/cpo.md +10 -0
- package/opencode/agents/product/design/ux-design-lead.md +10 -0
- package/opencode/agents/product/spec-flow-analyzer.md +10 -0
- package/opencode/agents/sales/cro.md +10 -0
- package/opencode/agents/sales/deal-architect.md +10 -0
- package/opencode/agents/sales/outbound-strategist.md +10 -0
- package/opencode/agents/sales/pipeline-analyst.md +10 -0
- package/opencode/agents/support/cco.md +10 -0
- package/opencode/agents/support/community-manager.md +10 -0
- package/opencode/agents/support/ticket-triage.md +10 -0
- package/opencode/commands/go.md +10 -0
- package/opencode/commands/help.md +10 -0
- package/opencode/commands/sync.md +10 -0
- package/opencode/commands/version.md +11 -0
- package/opencode/opencode.json +8 -0
- package/opencode/plugin.ts +818 -0
- package/package.json +36 -4
- package/scripts/admin-merge-ready.sh +545 -0
- package/scripts/admin-merge-ready.test.sh +753 -0
- package/scripts/affected-tests.sh +908 -0
- package/scripts/affected-tests.test.sh +1797 -0
- package/scripts/alpha-metrics.sh +78 -0
- package/scripts/alpha-metrics.test.sh +115 -0
- package/scripts/ancestor-signal-helpers.baseline.txt +16 -0
- package/scripts/audit-flag-flip.sh +107 -0
- package/scripts/check-red-on-main.sh +316 -0
- package/scripts/ci-head-verdict.sh +411 -0
- package/scripts/cloud-detect.sh +193 -0
- package/scripts/delegation-verify.sh +657 -0
- package/scripts/delegation-verify.test.sh +1424 -0
- package/scripts/deploy-arm.sh +475 -0
- package/scripts/domain-model-drift.sh +419 -0
- package/scripts/emit-decision.sh +144 -0
- package/scripts/emit-decision.test.sh +144 -0
- package/scripts/ext-filter-divergence-corpus.txt +15 -0
- package/scripts/ext-filter-divergence.sh +189 -0
- package/scripts/generate-c4-from-components.ts +442 -0
- package/scripts/grok-fidelity-gate.sh +68 -0
- package/scripts/grok-pre-push-gate.sh +232 -0
- package/scripts/harness-discovery-smoke.ts +906 -0
- package/scripts/harness-parity-census.ts +92 -0
- package/scripts/inngest-luks-alert-armed-probe.ts +29 -0
- package/scripts/install-opencode-adapter.ts +509 -0
- package/scripts/lib/affected-tests/common.sh +365 -0
- package/scripts/lib/affected-tests/go.sh +157 -0
- package/scripts/lib/affected-tests/js.sh +188 -0
- package/scripts/lib/affected-tests/nx-turbo.sh +98 -0
- package/scripts/lib/affected-tests/python.sh +185 -0
- package/scripts/lib/context-sanitize.sh +49 -0
- package/scripts/lib/domain-model-lib.sh +180 -0
- package/scripts/lib/ext-filter-grammar.tsv +34 -0
- package/scripts/lib/operator-script.sh +1236 -0
- package/scripts/lib/proc.sh +580 -0
- package/scripts/lib/session-state.sh +748 -0
- package/scripts/lib/tmp-classify.sh +843 -0
- package/scripts/lib/wrapper-boundary.sh +47 -0
- package/scripts/lint-ratchet.py +1547 -0
- package/scripts/monitor-pr-checks.sh +441 -0
- package/scripts/pipeline-tally.sh +756 -0
- package/scripts/pipeline-tally.test.sh +740 -0
- package/scripts/plugin-version.sh +528 -0
- package/scripts/precommit-guard.sh +115 -0
- package/scripts/precommit-guard.test.sh +254 -0
- package/scripts/reconcile-live-heartbeats.ts +705 -0
- package/scripts/render-c4-model.sh +217 -0
- package/scripts/resolve-git-root.sh +55 -0
- package/scripts/resolve-regenerable-conflicts.sh +363 -0
- package/scripts/resolve-regenerable-conflicts.test.sh +780 -0
- package/scripts/ruff-requirements.txt +22 -0
- package/scripts/run-in-pid-namespace.sh +98 -0
- package/scripts/run-in-pid-namespace.test.sh +290 -0
- package/scripts/scan-ancestor-signal-helpers.py +556 -0
- package/scripts/scan-ancestor-signal-helpers.test.sh +670 -0
- package/scripts/setup-ralph-loop.sh +238 -0
- package/scripts/sync-cursor-name-map.ts +316 -0
- package/scripts/sync-grok-agent-compat.ts +188 -0
- package/scripts/sync-npm-package.ts +165 -0
- package/scripts/sync-opencode-adapter.ts +498 -0
- package/scripts/sync-pr-behind.sh +647 -0
- package/scripts/sync-pr-behind.test.sh +252 -0
- package/scripts/taste-profile-update.sh +180 -0
- package/scripts/taste-profile-update.test.sh +167 -0
- package/scripts/write-budget-marker.sh +23 -0
- package/scripts/write-kb-coverage.ts +113 -0
- package/skills/admin-ip-refresh/SKILL.md +81 -0
- package/skills/admin-ip-refresh/references/admin-ip-refresh-procedure.md +201 -0
- package/skills/agent-browser/SKILL.md +698 -0
- package/skills/agent-browser/scripts/playwright-mcp-profile-slot.sh +304 -0
- package/skills/agent-browser/scripts/playwright-mcp-redact-proxy.py +964 -0
- package/skills/agent-browser/scripts/redact-a11y-snapshot.py +443 -0
- package/skills/agent-browser/test/fixtures/capture-playwright-mcp-fixtures.py +217 -0
- package/skills/agent-browser/test/fixtures/fake-passthrough-proxy.py +24 -0
- package/skills/agent-browser/test/fixtures/fake-playwright-mcp.py +131 -0
- package/skills/agent-browser/test/fixtures/make-proxy-mutant.py +48 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/dialog-link-injection.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/empty-content.json +5 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-and-result.json +4 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-code-bool.json +6 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-code-string.json +6 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-message-tree.json +6 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-no-data.json +6 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-string.json +4 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/error-with-data.json +9 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/evaluate-escaped-object.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/invalid-utf8.json +4 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/link-result.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/list-two-results.json +6 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/meta-in-result.json +13 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/no-content.json +5 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/quoted-key.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/resource-block.json +18 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/result-and-method.json +11 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/result-string.json +3 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/run-code-escaped-one-row.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/run-code-escaped.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/structured-content.json +13 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/tools-list-no-tools.json +5 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/tree-no-credential.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/two-text-blocks.json +14 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/unparsable-line.json +3 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/value-contains-brace.json +10 -0
- package/skills/agent-browser/test/fixtures/odd-shapes/value-contains-link-substring.json +10 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/close.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/evaluate.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/find.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/framing.json +6 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/initialize.json +14 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/navigate-link.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/navigate.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/roots-list-request.json +5 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/screenshot.json +17 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/snapshot-filename.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/snapshot-meta-json.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/snapshot-meta-raw.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/snapshot.json +12 -0
- package/skills/agent-browser/test/fixtures/playwright-mcp-0.0.78/tools-list.json +827 -0
- package/skills/agent-browser/test/fixtures/proxy-session-driver.py +138 -0
- package/skills/agent-browser/test/fixtures/session-facts.py +102 -0
- package/skills/agent-browser/test/playwright-mcp-lifetime.test.sh +1620 -0
- package/skills/agent-browser/test/playwright-mcp-redact-proxy.test.sh +1599 -0
- package/skills/agent-browser/test/redact-a11y-snapshot.test.sh +527 -0
- package/skills/agent-native-architecture/SKILL.md +479 -0
- package/skills/agent-native-architecture/references/action-parity-discipline.md +430 -0
- package/skills/agent-native-architecture/references/agent-execution-patterns.md +483 -0
- package/skills/agent-native-architecture/references/agent-native-testing.md +605 -0
- package/skills/agent-native-architecture/references/architecture-patterns.md +493 -0
- package/skills/agent-native-architecture/references/dynamic-context-injection.md +358 -0
- package/skills/agent-native-architecture/references/files-universal-interface.md +314 -0
- package/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +381 -0
- package/skills/agent-native-architecture/references/mcp-tool-design.md +524 -0
- package/skills/agent-native-architecture/references/mobile-patterns.md +897 -0
- package/skills/agent-native-architecture/references/product-implications.md +478 -0
- package/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +342 -0
- package/skills/agent-native-architecture/references/self-modification.md +294 -0
- package/skills/agent-native-architecture/references/shared-workspace-architecture.md +700 -0
- package/skills/agent-native-architecture/references/system-prompt-design.md +263 -0
- package/skills/agent-native-audit/SKILL.md +300 -0
- package/skills/agent-native-audit/workflows/agent-native-audit.workflow.js +423 -0
- package/skills/andrew-kane-gem-writer/SKILL.md +189 -0
- package/skills/andrew-kane-gem-writer/references/database-adapters.md +231 -0
- package/skills/andrew-kane-gem-writer/references/module-organization.md +121 -0
- package/skills/andrew-kane-gem-writer/references/rails-integration.md +183 -0
- package/skills/andrew-kane-gem-writer/references/resources.md +126 -0
- package/skills/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
- package/skills/architecture/SKILL.md +436 -0
- package/skills/architecture/references/adr-template.md +154 -0
- package/skills/architecture/references/likec4-reference.md +136 -0
- package/skills/architecture/references/nfr-reference.md +126 -0
- package/skills/archive-kb/SKILL.md +86 -0
- package/skills/archive-kb/scripts/archive-kb.sh +300 -0
- package/skills/archive-kb/test/archive-kb-partial-run.test.sh +276 -0
- package/skills/atdd-developer/SKILL.md +65 -0
- package/skills/brainstorm/SKILL.md +701 -0
- package/skills/brainstorm/references/brainstorm-brand-workshop.md +153 -0
- package/skills/brainstorm/references/brainstorm-domain-config.md +63 -0
- package/skills/brainstorm/references/brainstorm-validation-workshop.md +65 -0
- package/skills/brainstorm/references/ui-surface-terms.md +42 -0
- package/skills/brainstorm-techniques/SKILL.md +231 -0
- package/skills/brainstorm-techniques/references/decision-principles.md +150 -0
- package/skills/brainstorm-techniques/references/phase-boundaries.md +103 -0
- package/skills/brainstorm-techniques/references/standing-delegation.md +407 -0
- package/skills/brainstorm-techniques/references/technical-ruling-delegation.md +174 -0
- package/skills/campaign-calendar/SKILL.md +145 -0
- package/skills/cf-token-scope/SKILL.md +164 -0
- package/skills/cf-token-scope/references/widen-playbook.md +114 -0
- package/skills/cf-token-scope/scripts/cf-token-scope.sh +253 -0
- package/skills/changelog/SKILL.md +142 -0
- package/skills/code-to-prd/SKILL.md +66 -0
- package/skills/code-to-prd/references/banner-template.md +12 -0
- package/skills/code-to-prd/references/prd-template.md +41 -0
- package/skills/code-to-prd/scripts/code-to-prd.sh +634 -0
- package/skills/code-to-prd/test/code-to-prd.test.sh +447 -0
- package/skills/code-to-prd/test/fixture/.env.example +7 -0
- package/skills/code-to-prd/test/fixture/app/about/page.tsx +11 -0
- package/skills/code-to-prd/test/fixture/app/api/health/route.ts +10 -0
- package/skills/code-to-prd/test/fixture/app/page.tsx +14 -0
- package/skills/code-to-prd/test/fixture/next.config.mjs +3 -0
- package/skills/code-to-prd/test/fixture/package.json +6 -0
- package/skills/cohort-status/SKILL.md +62 -0
- package/skills/community/SKILL.md +210 -0
- package/skills/community/scripts/bsky-community.sh +644 -0
- package/skills/community/scripts/bsky-setup.sh +631 -0
- package/skills/community/scripts/community-router.sh +93 -0
- package/skills/community/scripts/discord-community.sh +487 -0
- package/skills/community/scripts/discord-setup.sh +784 -0
- package/skills/community/scripts/github-community.sh +706 -0
- package/skills/community/scripts/hn-community.sh +233 -0
- package/skills/community/scripts/lib/hmac-sha1-b64.sh +126 -0
- package/skills/community/scripts/linkedin-community.sh +750 -0
- package/skills/community/scripts/linkedin-setup.sh +758 -0
- package/skills/community/scripts/x-community.sh +890 -0
- package/skills/community/scripts/x-setup.sh +713 -0
- package/skills/community/test/community-argv.test.sh +2922 -0
- package/skills/community/test/github-community.test.sh +981 -0
- package/skills/competitive-analysis/SKILL.md +69 -0
- package/skills/competitive-analysis/references/peer-plugin-audit.md +218 -0
- package/skills/compound/SKILL.md +673 -0
- package/skills/compound/scripts/token-efficiency-report.sh +334 -0
- package/skills/compound/test/phase-16.test.sh +379 -0
- package/skills/compound-capture/SKILL.md +791 -0
- package/skills/compound-capture/assets/critical-pattern-template.md +37 -0
- package/skills/compound-capture/assets/resolution-template.md +116 -0
- package/skills/compound-capture/references/yaml-schema.md +67 -0
- package/skills/compound-capture/schema.yaml +181 -0
- package/skills/constraint-scaffold/SKILL.md +175 -0
- package/skills/constraint-scaffold/references/boundary-readme.template +35 -0
- package/skills/constraint-scaffold/references/constraint-gates-workflow.template +69 -0
- package/skills/constraint-scaffold/references/depcruise-config.template +230 -0
- package/skills/constraint-scaffold/references/fix-constraints-stage-a.template +240 -0
- package/skills/constraint-scaffold/references/fix-constraints-stage-b.template +313 -0
- package/skills/constraint-scaffold/references/shared-runner.template +135 -0
- package/skills/constraint-scaffold/scripts/constraint-scaffold.sh +589 -0
- package/skills/constraint-scaffold/test/bite-proof.test.sh +1338 -0
- package/skills/constraint-scaffold/test/boundary.test.sh +734 -0
- package/skills/constraint-scaffold/test/emit-fix-constraints.test.sh +193 -0
- package/skills/constraint-scaffold/test/generator.test.sh +93 -0
- package/skills/constraint-scaffold/test/parity.test.sh +285 -0
- package/skills/content-writer/SKILL.md +242 -0
- package/skills/content-writer/scripts/blog-jargon-scan.sh +42 -0
- package/skills/cron-delete/SKILL.md +56 -0
- package/skills/cron-list/SKILL.md +54 -0
- package/skills/deepen-plan/SKILL.md +937 -0
- package/skills/deepen-plan/workflows/deepen-plan.workflow.js +488 -0
- package/skills/deploy/SKILL.md +115 -0
- package/skills/deploy/references/hetzner-setup.md +67 -0
- package/skills/deploy/scripts/deploy.sh +37 -0
- package/skills/deploy-docs/SKILL.md +95 -0
- package/skills/dhh-rails-style/SKILL.md +203 -0
- package/skills/dhh-rails-style/references/architecture.md +717 -0
- package/skills/dhh-rails-style/references/controllers.md +323 -0
- package/skills/dhh-rails-style/references/frontend.md +556 -0
- package/skills/dhh-rails-style/references/gems.md +316 -0
- package/skills/dhh-rails-style/references/models.md +388 -0
- package/skills/dhh-rails-style/references/testing.md +354 -0
- package/skills/discord-content/SKILL.md +126 -0
- package/skills/docs-site/SKILL.md +214 -0
- package/skills/drain-labeled-backlog/SKILL.md +203 -0
- package/skills/drain-labeled-backlog/scripts/group-by-area.sh +208 -0
- package/skills/drain-labeled-backlog/workflows/drain-labeled-backlog.workflow.js +433 -0
- package/skills/drain-prs/SKILL.md +143 -0
- package/skills/drain-prs/scripts/triage-prs.sh +192 -0
- package/skills/drain-prs/test/argv-ceiling.test.sh +183 -0
- package/skills/dspy-ruby/SKILL.md +634 -0
- package/skills/dspy-ruby/assets/config-template.rb +359 -0
- package/skills/dspy-ruby/assets/module-template.rb +326 -0
- package/skills/dspy-ruby/assets/signature-template.rb +143 -0
- package/skills/dspy-ruby/references/core-concepts.md +268 -0
- package/skills/dspy-ruby/references/optimization.md +623 -0
- package/skills/dspy-ruby/references/providers.md +335 -0
- package/skills/eval-harness/README.md +194 -0
- package/skills/eval-harness/SKILL.md +157 -0
- package/skills/eval-harness/enums/go-routes.json +13 -0
- package/skills/eval-harness/enums/incident-threshold.json +5 -0
- package/skills/eval-harness/enums/lane.json +5 -0
- package/skills/eval-harness/enums/tool-selection.json +20 -0
- package/skills/eval-harness/enums/triage-levels.json +5 -0
- package/skills/eval-harness/gated-skills.json +34 -0
- package/skills/eval-harness/models.generated.json +5 -0
- package/skills/eval-harness/promptfooconfig-go-routing.yaml +35 -0
- package/skills/eval-harness/promptfooconfig-incident-threshold.yaml +32 -0
- package/skills/eval-harness/promptfooconfig-lane-inference.yaml +33 -0
- package/skills/eval-harness/promptfooconfig-ticket-triage.yaml +34 -0
- package/skills/eval-harness/promptfooconfig-tool-selection.yaml +33 -0
- package/skills/eval-harness/prompts/go-baseline.txt +6 -0
- package/skills/eval-harness/prompts/go-skill.txt +21 -0
- package/skills/eval-harness/prompts/incident-threshold-baseline.txt +6 -0
- package/skills/eval-harness/prompts/incident-threshold-skill.txt +12 -0
- package/skills/eval-harness/prompts/lane-inference-baseline.txt +6 -0
- package/skills/eval-harness/prompts/lane-inference-skill.txt +15 -0
- package/skills/eval-harness/prompts/tool-selection-baseline.txt +19 -0
- package/skills/eval-harness/prompts/tool-selection-skill.txt +22 -0
- package/skills/eval-harness/prompts/triage-baseline.txt +7 -0
- package/skills/eval-harness/prompts/triage-skill.txt +10 -0
- package/skills/eval-harness/scripts/eval-gate.cjs +318 -0
- package/skills/eval-harness/scripts/extract-block.cjs +87 -0
- package/skills/eval-harness/scripts/gate-classification.cjs +28 -0
- package/skills/eval-harness/scripts/gen-models.sh +41 -0
- package/skills/eval-harness/scripts/gen-skill-prompt.cjs +177 -0
- package/skills/eval-harness/scripts/measure-classification.cjs +30 -0
- package/skills/eval-harness/scripts/parse-label.cjs +93 -0
- package/skills/eval-harness/scripts/verdict.cjs +132 -0
- package/skills/eval-harness/tasks/go-routing.jsonl +8 -0
- package/skills/eval-harness/tasks/incident-threshold.jsonl +7 -0
- package/skills/eval-harness/tasks/lane-inference.jsonl +7 -0
- package/skills/eval-harness/tasks/ticket-triage.jsonl +6 -0
- package/skills/eval-harness/tasks/tool-selection.jsonl +15 -0
- package/skills/eval-harness/test/eval-gate.test.sh +132 -0
- package/skills/eval-harness/test/extract-block.test.sh +87 -0
- package/skills/eval-harness/test/gate-classification.test.sh +77 -0
- package/skills/eval-harness/test/gen-models.test.sh +75 -0
- package/skills/eval-harness/test/measure-classification.test.sh +74 -0
- package/skills/eval-harness/test/parse-label.test.sh +129 -0
- package/skills/eval-harness/test/registry-completeness.test.sh +109 -0
- package/skills/eval-harness/test/verdict.test.sh +123 -0
- package/skills/every-style-editor/SKILL.md +142 -0
- package/skills/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
- package/skills/feature-tweet/SKILL.md +199 -0
- package/skills/feature-video/SKILL.md +412 -0
- package/skills/feature-video/scripts/check_deps.sh +281 -0
- package/skills/file-todos/SKILL.md +267 -0
- package/skills/file-todos/assets/todo-template.md +166 -0
- package/skills/fix-issue/SKILL.md +278 -0
- package/skills/fix-issue/references/agent-authored-exclusion.md +120 -0
- package/skills/fix-issue/references/exclude-label-jq-snippet.md +97 -0
- package/skills/flag-bootstrap/SETUP.md +142 -0
- package/skills/flag-create/SKILL.md +145 -0
- package/skills/flag-create/scripts/create.sh +273 -0
- package/skills/flag-delete/SKILL.md +167 -0
- package/skills/flag-delete/scripts/delete.sh +288 -0
- package/skills/flag-list/SKILL.md +99 -0
- package/skills/flag-list/scripts/list.sh +275 -0
- package/skills/flag-set-role/SKILL.md +229 -0
- package/skills/flag-set-role/scripts/flip.sh +774 -0
- package/skills/frontend-anti-slop/SKILL.md +106 -0
- package/skills/frontend-anti-slop/references/anti-patterns.md +199 -0
- package/skills/frontend-anti-slop/references/slop-rules.md +65 -0
- package/skills/frontend-anti-slop/scripts/tier1-scan.ts +525 -0
- package/skills/frontend-design/SKILL.md +77 -0
- package/skills/gdpr-gate/NOTICE +136 -0
- package/skills/gdpr-gate/SKILL.md +341 -0
- package/skills/gdpr-gate/references/fields.md +160 -0
- package/skills/gdpr-gate/references/layers/api-layer.md +355 -0
- package/skills/gdpr-gate/references/layers/auth-sessions.md +290 -0
- package/skills/gdpr-gate/references/layers/data-in-transit.md +331 -0
- package/skills/gdpr-gate/references/layers/data-lifecycle.md +341 -0
- package/skills/gdpr-gate/references/layers/frontend.md +249 -0
- package/skills/gdpr-gate/references/layers/testing-seeding.md +256 -0
- package/skills/gdpr-gate/references/leakage-vectors.md +248 -0
- package/skills/gdpr-gate/references/legacy/legal-consent-v1-prose.md +48 -0
- package/skills/gdpr-gate/references/legal-consent.md +140 -0
- package/skills/gdpr-gate/references/non-negotiables.md +60 -0
- package/skills/gdpr-gate/scripts/gdpr-gate.sh +271 -0
- package/skills/gdpr-gate/scripts/notice-frontmatter.sh +337 -0
- package/skills/gdpr-gate/scripts/path-denylist.txt +39 -0
- package/skills/gdpr-gate/scripts/repo-scan.sh +158 -0
- package/skills/gdpr-gate/scripts/vendor-drift-classify.sh +120 -0
- package/skills/gdpr-gate/scripts/vendor-pin-integrity.sh +237 -0
- package/skills/gemini-imagegen/SKILL.md +283 -0
- package/skills/gemini-imagegen/requirements.txt +5 -0
- package/skills/gemini-imagegen/scripts/_error_handling.py +146 -0
- package/skills/gemini-imagegen/scripts/compose_images.py +150 -0
- package/skills/gemini-imagegen/scripts/edit_image.py +137 -0
- package/skills/gemini-imagegen/scripts/gemini_images.py +256 -0
- package/skills/gemini-imagegen/scripts/generate_image.py +147 -0
- package/skills/gemini-imagegen/scripts/multi_turn_chat.py +223 -0
- package/skills/gemini-imagegen/scripts/test_error_handling.py +179 -0
- package/skills/git-worktree/SKILL.md +534 -0
- package/skills/git-worktree/scripts/git-repo-readiness-diag.sh +98 -0
- package/skills/git-worktree/scripts/worktree-manager.sh +4773 -0
- package/skills/git-worktree/test/create-from-origin-main.test.sh +116 -0
- package/skills/git-worktree/test/lease-protects-active.test.sh +1056 -0
- package/skills/git-worktree/test/no-repo-fail-loud.test.sh +88 -0
- package/skills/git-worktree/test/orphan-reaper-honest-count.test.sh +379 -0
- package/skills/git-worktree/test/reap-archive-persistence.test.sh +725 -0
- package/skills/git-worktree/test/stale-lock-sweep.test.sh +176 -0
- package/skills/go/SKILL.md +54 -0
- package/skills/growth/SKILL.md +164 -0
- package/skills/harvest-debt/SKILL.md +78 -0
- package/skills/harvest-debt/scripts/harvest-debt.sh +114 -0
- package/skills/heal-skill/SKILL.md +173 -0
- package/skills/help/SKILL.md +46 -0
- package/skills/incident/NOTICE +39 -0
- package/skills/incident/SKILL.md +395 -0
- package/skills/incident/scripts/dry-run.sh +448 -0
- package/skills/incident/scripts/redact-engine.py +412 -0
- package/skills/incident/scripts/redact-sentinel.sh +44 -0
- package/skills/incident/templates/pir.md +139 -0
- package/skills/incident/test/fixtures/dry-run-incident.json +26 -0
- package/skills/incident/test/fixtures/dry-run-secret-leak.json +26 -0
- package/skills/incident/test/fixtures/legacy-bash-scanner.sh +82 -0
- package/skills/incident/test/fixtures/positive-corpus.md +87 -0
- package/skills/incident/test/redact-sentinel.test.sh +1420 -0
- package/skills/invoice/SKILL.md +206 -0
- package/skills/kb-glossary/SKILL.md +71 -0
- package/skills/kb-glossary/references/glossary-format.md +111 -0
- package/skills/kb-glossary/references/rejected-request-register.md +115 -0
- package/skills/kb-search/SKILL.md +276 -0
- package/skills/kb-search/scripts/kb-search-cache.sh +123 -0
- package/skills/legal-audit/SKILL.md +161 -0
- package/skills/legal-generate/NOTICE +242 -0
- package/skills/legal-generate/SKILL.md +244 -0
- package/skills/legal-generate/references/templates/advisor-agreement/template.md +12 -0
- package/skills/legal-generate/references/templates/business-associate-agreement/template.md +112 -0
- package/skills/legal-generate/references/templates/cookie-notice/template.md +82 -0
- package/skills/legal-generate/references/templates/dpa-global/template.md +439 -0
- package/skills/legal-generate/references/templates/dpa-us/template.md +222 -0
- package/skills/legal-generate/references/templates/employee-offer-letter/template.md +75 -0
- package/skills/legal-generate/references/templates/master-services-agreement/template.md +252 -0
- package/skills/legal-generate/references/templates/mutual-nda/template.md +66 -0
- package/skills/legal-generate/references/templates/one-way-nda/template.md +38 -0
- package/skills/legal-generate/references/templates/privacy-policy-gdpr/template.md +427 -0
- package/skills/legal-generate/references/templates/privacy-policy-us/template.md +313 -0
- package/skills/legal-generate/references/templates/terms-of-use/template.md +75 -0
- package/skills/legal-generate/scripts/strip-vendor-credit.sh +96 -0
- package/skills/linear-fetch/SKILL.md +247 -0
- package/skills/linear-fetch/scripts/assert-no-linear-telemetry.sh +66 -0
- package/skills/linear-fetch/scripts/redact-linear-urls.sh +51 -0
- package/skills/linear-fetch/scripts/render-caller-template.sh +36 -0
- package/skills/linear-fetch/test/assert-no-linear-telemetry.test.sh +113 -0
- package/skills/linear-fetch/test/parity.test.sh +112 -0
- package/skills/linear-fetch/test/persist-safe-integration.test.sh +191 -0
- package/skills/linear-fetch/test/redact-linear-urls.test.sh +226 -0
- package/skills/merge-pr/SKILL.md +670 -0
- package/skills/model-launch-review/SKILL.md +255 -0
- package/skills/model-launch-review/scripts/audit-models.sh +501 -0
- package/skills/one-shot/SKILL.md +316 -0
- package/skills/one-shot/references/token-discipline.md +74 -0
- package/skills/operator-bootstrap/SKILL.md +412 -0
- package/skills/operator-bootstrap/template.sh +439 -0
- package/skills/operator-digest/SKILL.md +287 -0
- package/skills/operator-digest/assets/operator-digest.workflow.yml +175 -0
- package/skills/operator-digest/scripts/digest-scrub.sh +119 -0
- package/skills/operator-digest/scripts/provision-operator-digest-repo.sh +147 -0
- package/skills/operator-rephrase/SKILL.md +98 -0
- package/skills/pencil-setup/SKILL.md +201 -0
- package/skills/pencil-setup/scripts/check_deps.sh +556 -0
- package/skills/pencil-setup/scripts/copy_adapter.sh +80 -0
- package/skills/pencil-setup/scripts/package-lock.json +1172 -0
- package/skills/pencil-setup/scripts/package.json +14 -0
- package/skills/pencil-setup/scripts/pencil-error-enrichment.mjs +21 -0
- package/skills/pencil-setup/scripts/pencil-mcp-adapter.mjs +733 -0
- package/skills/pencil-setup/scripts/pencil-response-classify.mjs +38 -0
- package/skills/pencil-setup/scripts/pencil-save-gate.mjs +26 -0
- package/skills/pencil-setup/scripts/sanitize-filename.mjs +25 -0
- package/skills/plan/SKILL.md +1140 -0
- package/skills/plan/references/differential-migration-testing.md +185 -0
- package/skills/plan/references/plan-community-discovery.md +42 -0
- package/skills/plan/references/plan-founder-check.md +137 -0
- package/skills/plan/references/plan-functional-overlap.md +25 -0
- package/skills/plan/references/plan-host-fanout.md +51 -0
- package/skills/plan/references/plan-issue-templates.md +779 -0
- package/skills/plan/references/plan-network-outage-checklist.md +131 -0
- package/skills/plan/references/plan-scope-check.md +126 -0
- package/skills/plan/references/plan-sharp-edges.md +331 -0
- package/skills/plan/references/plan-signoff-lifecycle.md +12 -0
- package/skills/plan/references/webapp-cwv-observability.md +143 -0
- package/skills/plan-review/SKILL.md +91 -0
- package/skills/plan-review/lib/named-panel.mjs +58 -0
- package/skills/plan-review/workflows/plan-review.workflow.js +477 -0
- package/skills/postmerge/SKILL.md +642 -0
- package/skills/postmerge/references/deploy-status-debugging.md +141 -0
- package/skills/postmerge/references/graceful-degradation.md +20 -0
- package/skills/postmerge/references/sentry-error-count-delta.md +137 -0
- package/skills/preflight/SKILL.md +1553 -0
- package/skills/preflight/references/check-13-founder-check.md +286 -0
- package/skills/preflight/scripts/founder-check.py +1640 -0
- package/skills/preflight/scripts/parse-form-a.awk +107 -0
- package/skills/preflight/scripts/probe-verb-gate.sh +108 -0
- package/skills/product-roadmap/SKILL.md +357 -0
- package/skills/product-roadmap/scripts/roadmap-reconcile.sh +327 -0
- package/skills/provision-cloudflare/SKILL.md +67 -0
- package/skills/provision-cloudflare/scripts/provision-cloudflare.sh +271 -0
- package/skills/provision-doppler/SKILL.md +58 -0
- package/skills/provision-doppler/scripts/provision-doppler.sh +358 -0
- package/skills/provision-github/SKILL.md +59 -0
- package/skills/provision-github/scripts/provision-github.sh +300 -0
- package/skills/provision-hetzner/SKILL.md +76 -0
- package/skills/provision-hetzner/scripts/provision-hetzner.sh +262 -0
- package/skills/provision-hetzner/test/fixture/knowledge-base/legal/tenant-dpa-register.md +26 -0
- package/skills/provision-hetzner/test/fixture/provision-hetzner-dry-run.golden +34 -0
- package/skills/provision-hetzner/test/provision-hetzner-characterization.test.sh +227 -0
- package/skills/qa/SKILL.md +263 -0
- package/skills/qa/references/browser-preflight.md +22 -0
- package/skills/questionnaire-generate/SKILL.md +328 -0
- package/skills/questionnaire-generate/references/questionnaire.template +60 -0
- package/skills/rclone/SKILL.md +162 -0
- package/skills/rclone/scripts/check_setup.sh +63 -0
- package/skills/release-announce/SKILL.md +65 -0
- package/skills/release-docs/SKILL.md +92 -0
- package/skills/reproduce-bug/SKILL.md +358 -0
- package/skills/resolve-debt/SKILL.md +85 -0
- package/skills/resolve-debt/scripts/resolve-debt.py +584 -0
- package/skills/resolve-parallel/SKILL.md +45 -0
- package/skills/resolve-parallel/workflows/resolve-parallel.workflow.js +415 -0
- package/skills/resolve-pr-parallel/SKILL.md +68 -0
- package/skills/resolve-pr-parallel/workflows/resolve-pr-parallel.workflow.js +419 -0
- package/skills/resolve-todo-parallel/SKILL.md +57 -0
- package/skills/resolve-todo-parallel/workflows/resolve-todo-parallel.workflow.js +398 -0
- package/skills/review/SKILL.md +1620 -0
- package/skills/review/references/anti-slop-scanner-hook.md +40 -0
- package/skills/review/references/defect-classes-migrations.md +9 -0
- package/skills/review/references/generated-input-oracle-surfaces.md +15 -0
- package/skills/review/references/review-e2e-testing.md +116 -0
- package/skills/review/references/review-evidence-comment.md +36 -0
- package/skills/review/references/review-todo-structure.md +165 -0
- package/skills/review/references/risk-tier-and-fix-rounds.md +97 -0
- package/skills/review/references/semgrep-custom-rules.yaml +174 -0
- package/skills/review/references/ultrathink-phases.md +98 -0
- package/skills/review/references/wfs.md +6 -0
- package/skills/review/scripts/emit-review-trailer.sh +499 -0
- package/skills/review/scripts/ensure-semgrep.sh +99 -0
- package/skills/review/scripts/fix-round-seats.sh +197 -0
- package/skills/review/test/emit-review-trailer.test.sh +387 -0
- package/skills/review/test/ensure-semgrep.test.sh +111 -0
- package/skills/review/test/fix-round-seats.test.sh +237 -0
- package/skills/review/workflows/README.md +147 -0
- package/skills/review/workflows/review.workflow.js +667 -0
- package/skills/schedule/SKILL.md +796 -0
- package/skills/seo-aeo/SKILL.md +139 -0
- package/skills/seo-aeo/scripts/validate-csp.sh +233 -0
- package/skills/seo-aeo/scripts/validate-seo.sh +262 -0
- package/skills/ship/SKILL.md +3023 -0
- package/skills/ship/references/adr-ordinal-collision.md +47 -0
- package/skills/ship/references/affected-gate-contract.md +115 -0
- package/skills/ship/references/ci-run-diagnosis.md +29 -0
- package/skills/ship/references/ci-workflow-authoring.md +68 -0
- package/skills/ship/references/cleanup-merged-archival.md +39 -0
- package/skills/ship/references/counsel-review-clo-attestation.md +38 -0
- package/skills/ship/references/cto-ruling-armed-push.md +5 -0
- package/skills/ship/references/decision-challenges-render.md +71 -0
- package/skills/ship/references/delegated-act-authoring-form.md +7 -0
- package/skills/ship/references/detached-battery-verdict.md +13 -0
- package/skills/ship/references/epic-close-sweep.md +62 -0
- package/skills/ship/references/feature-tweet-draft.md +42 -0
- package/skills/ship/references/followthrough-issue-body-template.md +47 -0
- package/skills/ship/references/followthrough-stub-template.sh +92 -0
- package/skills/ship/references/merge-queue-dequeue.md +39 -0
- package/skills/ship/references/operator-holds.md +179 -0
- package/skills/ship/references/pipeline-tally-render.md +43 -0
- package/skills/ship/references/pr-overlap.md +153 -0
- package/skills/ship/references/queue-mode.md +7 -0
- package/skills/ship/references/ready-run-wait.md +36 -0
- package/skills/ship/references/red-on-main-quarantine.md +110 -0
- package/skills/ship/references/register-update-pr-pattern.md +88 -0
- package/skills/ship/references/settle-then-admin-merge.md +130 -0
- package/skills/ship/references/supabase-column-probe.md +13 -0
- package/skills/ship/scripts/auto-close-scan.sh +76 -0
- package/skills/ship/scripts/battery-owed.sh +403 -0
- package/skills/ship/scripts/hold-gate-eval.sh +410 -0
- package/skills/ship/scripts/net-issue-flow.sh +665 -0
- package/skills/ship/scripts/pr-overlap-preflight.sh +483 -0
- package/skills/ship/scripts/ship-pir-action-items-gate.sh +246 -0
- package/skills/ship/scripts/technical-ruling-gate.sh +444 -0
- package/skills/skill-creator/SKILL.md +299 -0
- package/skills/skill-creator/references/api-security.md +248 -0
- package/skills/skill-creator/references/authoring-levers.md +110 -0
- package/skills/skill-creator/references/be-clear-and-direct.md +587 -0
- package/skills/skill-creator/references/best-practices.md +431 -0
- package/skills/skill-creator/references/common-patterns.md +639 -0
- package/skills/skill-creator/references/core-principles.md +193 -0
- package/skills/skill-creator/references/executable-code.md +188 -0
- package/skills/skill-creator/references/iteration-and-testing.md +509 -0
- package/skills/skill-creator/references/official-spec.md +193 -0
- package/skills/skill-creator/references/recommended-structure.md +180 -0
- package/skills/skill-creator/references/skill-structure.md +396 -0
- package/skills/skill-creator/references/using-scripts.md +122 -0
- package/skills/skill-creator/references/using-templates.md +120 -0
- package/skills/skill-creator/references/workflows-and-validation.md +541 -0
- package/skills/skill-creator/scripts/init_skill.py +322 -0
- package/skills/skill-creator/scripts/package_skill.py +110 -0
- package/skills/skill-creator/scripts/quick_validate.py +64 -0
- package/skills/skill-creator/templates/router-skill.md +73 -0
- package/skills/skill-creator/templates/simple-skill.md +34 -0
- package/skills/skill-creator/workflows/add-reference.md +96 -0
- package/skills/skill-creator/workflows/add-script.md +104 -0
- package/skills/skill-creator/workflows/add-template.md +83 -0
- package/skills/skill-creator/workflows/add-workflow.md +128 -0
- package/skills/skill-creator/workflows/audit-skill.md +159 -0
- package/skills/skill-creator/workflows/create-domain-expertise-skill.md +623 -0
- package/skills/skill-creator/workflows/create-new-skill.md +207 -0
- package/skills/skill-creator/workflows/get-guidance.md +134 -0
- package/skills/skill-creator/workflows/upgrade-to-router.md +170 -0
- package/skills/skill-creator/workflows/verify-skill.md +226 -0
- package/skills/skill-security-scan/SKILL.md +145 -0
- package/skills/skill-security-scan/references/disclaimer.md +21 -0
- package/skills/skill-security-scan/references/first-party-allowlist.yaml +38 -0
- package/skills/skill-security-scan/references/override-artifact-schema.json +68 -0
- package/skills/skill-security-scan/references/override-mechanism.md +171 -0
- package/skills/skill-security-scan/references/redirect-domains.yaml +27 -0
- package/skills/skill-security-scan/references/regex-patterns.md +136 -0
- package/skills/skill-security-scan/references/rules/code-exec.yaml +70 -0
- package/skills/skill-security-scan/references/rules/filesystem-boundary.yaml +29 -0
- package/skills/skill-security-scan/references/rules/manifest.yaml +44 -0
- package/skills/skill-security-scan/references/rules/supply-chain.yaml +36 -0
- package/skills/skill-security-scan/references/scan-meta-schema.json +63 -0
- package/skills/skill-security-scan/references/test-fixtures/clean-soleur-style.skill.md +23 -0
- package/skills/skill-security-scan/references/test-fixtures/clean-third-party.skill.md +26 -0
- package/skills/skill-security-scan/references/test-fixtures/malicious-codeexec.skill.md +23 -0
- package/skills/skill-security-scan/references/test-fixtures/malicious-curl-pipe-bash.skill.md +69 -0
- package/skills/skill-security-scan/references/test-fixtures/malicious-prompt-injection.skill.md +17 -0
- package/skills/skill-security-scan/references/test-fixtures/malicious-telemetry-beacon.skill.md +23 -0
- package/skills/skill-security-scan/references/typosquat-targets.yaml +65 -0
- package/skills/skill-security-scan/scripts/check-codeexec.sh +41 -0
- package/skills/skill-security-scan/scripts/check-filesystem-boundary.sh +19 -0
- package/skills/skill-security-scan/scripts/check-prompt-injection.sh +95 -0
- package/skills/skill-security-scan/scripts/check-supply-chain.sh +219 -0
- package/skills/skill-security-scan/scripts/check-telemetry-surface.sh +126 -0
- package/skills/skill-security-scan/scripts/lib.sh +197 -0
- package/skills/skill-security-scan/scripts/parse-override.sh +231 -0
- package/skills/skill-security-scan/scripts/run-scan.sh +342 -0
- package/skills/skill-security-scan/scripts/run-self-test.sh +95 -0
- package/skills/skill-security-scan/test/argv-ceiling.test.sh +180 -0
- package/skills/skill-security-scan/test/meta-dir-reap.test.sh +411 -0
- package/skills/skill-security-scan/test/parse-override.test.sh +607 -0
- package/skills/skill-security-scan/test/redact-pii-ghs-shape.test.sh +251 -0
- package/skills/social-distribute/SKILL.md +485 -0
- package/skills/spec-templates/SKILL.md +274 -0
- package/skills/sync/SKILL.md +49 -0
- package/skills/test-browser/SKILL.md +464 -0
- package/skills/test-browser/references/feature-map.md +161 -0
- package/skills/test-fix-loop/SKILL.md +159 -0
- package/skills/test-fix-loop/references/determinism-checklist.md +154 -0
- package/skills/triage/SKILL.md +402 -0
- package/skills/trigger-cron/SKILL.md +136 -0
- package/skills/trigger-cron/scripts/trigger.sh +198 -0
- package/skills/user-set-role/SKILL.md +147 -0
- package/skills/user-set-role/scripts/set-role.sh +218 -0
- package/skills/user-story-writer/SKILL.md +77 -0
- package/skills/ux-audit/SKILL.md +251 -0
- package/skills/ux-audit/references/finding.schema.json +62 -0
- package/skills/ux-audit/references/route-list.yaml +95 -0
- package/skills/ux-audit/scripts/bot-fixture.ts +270 -0
- package/skills/ux-audit/scripts/bot-signin.ts +135 -0
- package/skills/ux-audit/scripts/dedup-hash.ts +46 -0
- package/skills/verification-scaffold/SKILL.md +73 -0
- package/skills/verification-scaffold/references/gitleaks.toml.template +13 -0
- package/skills/verification-scaffold/references/guardrail-audit.md +156 -0
- package/skills/verification-scaffold/references/guards/block-stash-hook.sh.template +72 -0
- package/skills/verification-scaffold/references/guards/commit-on-main-hook.sh.template +82 -0
- package/skills/verification-scaffold/references/guards/orphan-test-check.sh.template +102 -0
- package/skills/verification-scaffold/references/guards/precommit-guard.sh.template +115 -0
- package/skills/verification-scaffold/references/guards/secret-scan-hook.sh.template +176 -0
- package/skills/verification-scaffold/references/guards/verification-gates.yml.template +49 -0
- package/skills/verification-scaffold/references/guards/wrapper-boundary.sh.template +47 -0
- package/skills/verification-scaffold/references/guards.tsv +21 -0
- package/skills/verification-scaffold/references/verification-readme.template +55 -0
- package/skills/verification-scaffold/scripts/verification-scaffold.sh +785 -0
- package/skills/verification-scaffold/test/bite-proof.test.sh +159 -0
- package/skills/verification-scaffold/test/generator.test.sh +319 -0
- package/skills/verification-scaffold/test/manifest.test.sh +144 -0
- package/skills/work/SKILL.md +1480 -0
- package/skills/work/references/end-of-work-resume.md +7 -0
- package/skills/work/references/hook-test-main-cwd.md +24 -0
- package/skills/work/references/key-principles.md +83 -0
- package/skills/work/references/property-testing.md +122 -0
- package/skills/work/references/sql-security-definer-rpc-scaffold.sql +78 -0
- package/skills/work/references/work-agent-teams.md +97 -0
- package/skills/work/references/work-lifecycle-parallel.md +147 -0
- package/skills/work/references/work-lockfile-bumps.md +97 -0
- package/skills/work/references/work-scratch-sandboxes.md +212 -0
- package/skills/work/references/work-subagent-fanout.md +61 -0
- package/skills/work/references/work-test-harness-sharp-edges.md +73 -0
- package/skills/xcode-test/SKILL.md +360 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Recommended Skill Structure
|
|
2
|
+
|
|
3
|
+
The optimal structure for complex skills separates routing, workflows, and knowledge.
|
|
4
|
+
|
|
5
|
+
<structure>
|
|
6
|
+
```
|
|
7
|
+
skill-name/
|
|
8
|
+
├── SKILL.md # Router + essential principles (unavoidable)
|
|
9
|
+
├── workflows/ # Step-by-step procedures (how)
|
|
10
|
+
│ ├── workflow-a.md
|
|
11
|
+
│ ├── workflow-b.md
|
|
12
|
+
│ └── ...
|
|
13
|
+
└── references/ # Domain knowledge (what)
|
|
14
|
+
├── reference-a.md
|
|
15
|
+
├── reference-b.md
|
|
16
|
+
└── ...
|
|
17
|
+
```
|
|
18
|
+
</structure>
|
|
19
|
+
|
|
20
|
+
<why_this_works>
|
|
21
|
+
|
|
22
|
+
## Problems This Solves
|
|
23
|
+
|
|
24
|
+
**Problem 1: Context gets skipped**
|
|
25
|
+
When important principles are in a separate file, Claude may not read them.
|
|
26
|
+
**Solution:** Put essential principles directly in SKILL.md. They load automatically.
|
|
27
|
+
|
|
28
|
+
**Problem 2: Wrong context loaded**
|
|
29
|
+
A "build" task loads debugging references. A "debug" task loads build references.
|
|
30
|
+
**Solution:** Intake question determines intent → routes to specific workflow → workflow specifies which references to read.
|
|
31
|
+
|
|
32
|
+
**Problem 3: Monolithic skills are overwhelming**
|
|
33
|
+
500+ lines of mixed content makes it hard to find relevant parts.
|
|
34
|
+
**Solution:** Small router (SKILL.md) + focused workflows + reference library.
|
|
35
|
+
|
|
36
|
+
**Problem 4: Procedures mixed with knowledge**
|
|
37
|
+
"How to do X" mixed with "What X means" creates confusion.
|
|
38
|
+
**Solution:** Workflows are procedures (steps). References are knowledge (patterns, examples).
|
|
39
|
+
</why_this_works>
|
|
40
|
+
|
|
41
|
+
<skill_md_template>
|
|
42
|
+
|
|
43
|
+
## SKILL.md Template
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
---
|
|
47
|
+
name: skill-name
|
|
48
|
+
description: What it does and when to use it.
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
# [Skill Name]
|
|
52
|
+
|
|
53
|
+
## How This Skill Works
|
|
54
|
+
|
|
55
|
+
[Inline principles that apply to ALL workflows. Cannot be skipped.]
|
|
56
|
+
|
|
57
|
+
### Principle 1: [Name]
|
|
58
|
+
[Brief explanation]
|
|
59
|
+
|
|
60
|
+
### Principle 2: [Name]
|
|
61
|
+
[Brief explanation]
|
|
62
|
+
|
|
63
|
+
## Intake
|
|
64
|
+
|
|
65
|
+
**Ask the user:**
|
|
66
|
+
|
|
67
|
+
What would you like to do?
|
|
68
|
+
1. [Option A]
|
|
69
|
+
2. [Option B]
|
|
70
|
+
3. [Option C]
|
|
71
|
+
4. Something else
|
|
72
|
+
|
|
73
|
+
**Wait for response before proceeding.**
|
|
74
|
+
|
|
75
|
+
## Routing
|
|
76
|
+
|
|
77
|
+
| Response | Workflow |
|
|
78
|
+
|----------|----------|
|
|
79
|
+
| 1, "keyword", "keyword" | `workflows/option-a.md` |
|
|
80
|
+
| 2, "keyword", "keyword" | `workflows/option-b.md` |
|
|
81
|
+
| 3, "keyword", "keyword" | `workflows/option-c.md` |
|
|
82
|
+
| 4, other | Clarify, then select |
|
|
83
|
+
|
|
84
|
+
**After reading the workflow, follow it exactly.**
|
|
85
|
+
|
|
86
|
+
## References
|
|
87
|
+
|
|
88
|
+
All domain knowledge in `references/`:
|
|
89
|
+
|
|
90
|
+
**Category A:** file-a.md, file-b.md
|
|
91
|
+
**Category B:** file-c.md, file-d.md
|
|
92
|
+
|
|
93
|
+
## Workflows
|
|
94
|
+
|
|
95
|
+
| Workflow | Purpose |
|
|
96
|
+
|----------|---------|
|
|
97
|
+
| option-a.md | [What it does] |
|
|
98
|
+
| option-b.md | [What it does] |
|
|
99
|
+
| option-c.md | [What it does] |
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
</skill_md_template>
|
|
103
|
+
|
|
104
|
+
<workflow_template>
|
|
105
|
+
|
|
106
|
+
## Workflow Template
|
|
107
|
+
|
|
108
|
+
```markdown
|
|
109
|
+
# Workflow: [Name]
|
|
110
|
+
|
|
111
|
+
<required_reading>
|
|
112
|
+
**Read these reference files NOW:**
|
|
113
|
+
1. references/relevant-file.md
|
|
114
|
+
2. references/another-file.md
|
|
115
|
+
</required_reading>
|
|
116
|
+
|
|
117
|
+
<process>
|
|
118
|
+
## Step 1: [Name]
|
|
119
|
+
[What to do]
|
|
120
|
+
|
|
121
|
+
## Step 2: [Name]
|
|
122
|
+
[What to do]
|
|
123
|
+
|
|
124
|
+
## Step 3: [Name]
|
|
125
|
+
[What to do]
|
|
126
|
+
</process>
|
|
127
|
+
|
|
128
|
+
<success_criteria>
|
|
129
|
+
This workflow is complete when:
|
|
130
|
+
- [ ] Criterion 1
|
|
131
|
+
- [ ] Criterion 2
|
|
132
|
+
- [ ] Criterion 3
|
|
133
|
+
</success_criteria>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
</workflow_template>
|
|
137
|
+
|
|
138
|
+
<when_to_use_this_pattern>
|
|
139
|
+
|
|
140
|
+
## When to Use This Pattern
|
|
141
|
+
|
|
142
|
+
**Use router + workflows + references when:**
|
|
143
|
+
|
|
144
|
+
- Multiple distinct workflows (build vs debug vs ship)
|
|
145
|
+
- Different workflows need different references
|
|
146
|
+
- Essential principles must not be skipped
|
|
147
|
+
- Skill has grown beyond 200 lines
|
|
148
|
+
|
|
149
|
+
**Use simple single-file skill when:**
|
|
150
|
+
|
|
151
|
+
- One workflow
|
|
152
|
+
- Small reference set
|
|
153
|
+
- Under 200 lines total
|
|
154
|
+
- No essential principles to enforce
|
|
155
|
+
</when_to_use_this_pattern>
|
|
156
|
+
|
|
157
|
+
<key_insight>
|
|
158
|
+
|
|
159
|
+
## The Key Insight
|
|
160
|
+
|
|
161
|
+
**SKILL.md is always loaded. Use this guarantee.**
|
|
162
|
+
|
|
163
|
+
Put unavoidable content in SKILL.md:
|
|
164
|
+
|
|
165
|
+
- Essential principles
|
|
166
|
+
- Intake question
|
|
167
|
+
- Routing logic
|
|
168
|
+
|
|
169
|
+
Put workflow-specific content in workflows/:
|
|
170
|
+
|
|
171
|
+
- Step-by-step procedures
|
|
172
|
+
- Required references for that workflow
|
|
173
|
+
- Success criteria for that workflow
|
|
174
|
+
|
|
175
|
+
Put reusable knowledge in references/:
|
|
176
|
+
|
|
177
|
+
- Patterns and examples
|
|
178
|
+
- Technical details
|
|
179
|
+
- Domain expertise
|
|
180
|
+
</key_insight>
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
Skills have three structural components: YAML frontmatter (metadata), a markdown-heading body (content organization), and progressive disclosure (file organization). This reference defines requirements and best practices for each component.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<body_structure_requirements>
|
|
6
|
+
<critical_rule>
|
|
7
|
+
**Markdown headings structure a skill body; XML tags are optional semantic wrappers inside a section and never replace headings.** Use `#` for the skill title, `##` for each major section, and `###` below that. Keep markdown formatting within content (bold, italic, lists, code blocks, links).
|
|
8
|
+
|
|
9
|
+
Measured basis (2026-09-21, fences excluded): 101 of 102 shipped Soleur `SKILL.md` bodies use markdown headings (96 carry a `#` title), and 23 also carry XML tag lines at column 0. A body built only from top-level tags, with no headings, is the anti-pattern.
|
|
10
|
+
</critical_rule>
|
|
11
|
+
|
|
12
|
+
<required_sections>
|
|
13
|
+
Every skill body carries these, as headings:
|
|
14
|
+
|
|
15
|
+
- **`# <Skill Name>`** followed by what the skill does and why it matters (1-3 paragraphs)
|
|
16
|
+
- **`## Quick start`** (or the first numbered phase) - immediate, actionable guidance
|
|
17
|
+
- **A completion criterion** - a `## Success criteria` section, or an explicit exit condition closing each phase
|
|
18
|
+
</required_sections>
|
|
19
|
+
|
|
20
|
+
<conditional_sections>
|
|
21
|
+
Add based on skill complexity and domain requirements:
|
|
22
|
+
|
|
23
|
+
- **`## Context`** - Background/situational information
|
|
24
|
+
- **`## Workflow`** or **`## Phase N: ...`** - Step-by-step procedures
|
|
25
|
+
- **`## Advanced features`** - Deep-dive topics (progressive disclosure)
|
|
26
|
+
- **`## Validation`** - How to verify outputs
|
|
27
|
+
- **`## Examples`** - Multi-shot learning
|
|
28
|
+
- **`## Anti-patterns`** or **`## Sharp Edges`** - Common mistakes to avoid
|
|
29
|
+
- **`## Security checklist`** - Non-negotiable security patterns
|
|
30
|
+
- **`## Testing`** - Testing workflows
|
|
31
|
+
- **`## References`** - Links to reference files
|
|
32
|
+
|
|
33
|
+
See [authoring-levers.md](authoring-levers.md) for co-location: everything about one concept (what it is, how it applies, where it breaks) lives in one section.
|
|
34
|
+
</conditional_sections>
|
|
35
|
+
|
|
36
|
+
<section_selection>
|
|
37
|
+
**Simple skills** (single domain, straightforward):
|
|
38
|
+
|
|
39
|
+
- Required sections only
|
|
40
|
+
- Example: Text extraction, file format conversion
|
|
41
|
+
|
|
42
|
+
**Medium skills** (multiple patterns, some complexity):
|
|
43
|
+
|
|
44
|
+
- Required sections + workflow/examples as needed
|
|
45
|
+
- Example: Document processing with steps, API integration
|
|
46
|
+
|
|
47
|
+
**Complex skills** (multiple domains, security, APIs):
|
|
48
|
+
|
|
49
|
+
- Required sections + conditional sections as appropriate
|
|
50
|
+
- Example: Payment processing, authentication systems, multi-step workflows
|
|
51
|
+
</section_selection>
|
|
52
|
+
|
|
53
|
+
<optional_xml_wrappers>
|
|
54
|
+
Inside a section, an XML tag can mark a discrete block the model must treat as one unit: an input/output example pair, a template to copy verbatim, a checklist. The heading still names the section; the tag only bounds the block:
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
## Examples
|
|
58
|
+
|
|
59
|
+
<example number="1">
|
|
60
|
+
<input>User input</input>
|
|
61
|
+
<output>Expected output</output>
|
|
62
|
+
</example>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
When you use a wrapper, close it, and nest it inside a heading rather than in place of one.
|
|
66
|
+
</optional_xml_wrappers>
|
|
67
|
+
|
|
68
|
+
<section_naming_conventions>
|
|
69
|
+
Use descriptive heading names:
|
|
70
|
+
|
|
71
|
+
- `## Workflow` not `## Steps stuff`
|
|
72
|
+
- `## Success criteria` not `## Done`
|
|
73
|
+
- `## Anti-patterns` not `## Don't do`
|
|
74
|
+
|
|
75
|
+
Be consistent within your skill. If you use `## Workflow`, don't also use `## Process` for the same purpose (unless they serve different roles).
|
|
76
|
+
</section_naming_conventions>
|
|
77
|
+
</body_structure_requirements>
|
|
78
|
+
|
|
79
|
+
<yaml_requirements>
|
|
80
|
+
<required_fields>
|
|
81
|
+
|
|
82
|
+
```yaml
|
|
83
|
+
---
|
|
84
|
+
name: skill-name-here
|
|
85
|
+
description: What it does and when to use it (third person, specific triggers)
|
|
86
|
+
---
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
</required_fields>
|
|
90
|
+
|
|
91
|
+
<name_field>
|
|
92
|
+
**Validation rules**:
|
|
93
|
+
|
|
94
|
+
- Maximum 64 characters
|
|
95
|
+
- Lowercase letters, numbers, hyphens only
|
|
96
|
+
- No XML tags
|
|
97
|
+
- No reserved words: "anthropic", "claude"
|
|
98
|
+
- Must match directory name exactly
|
|
99
|
+
|
|
100
|
+
**Examples**:
|
|
101
|
+
|
|
102
|
+
- ✅ `process-pdfs`
|
|
103
|
+
- ✅ `manage-facebook-ads`
|
|
104
|
+
- ✅ `setup-stripe-payments`
|
|
105
|
+
- ❌ `PDF_Processor` (uppercase)
|
|
106
|
+
- ❌ `helper` (vague)
|
|
107
|
+
- ❌ `claude-helper` (reserved word)
|
|
108
|
+
</name_field>
|
|
109
|
+
|
|
110
|
+
<description_field>
|
|
111
|
+
**Validation rules**:
|
|
112
|
+
|
|
113
|
+
- Non-empty, maximum 1024 characters
|
|
114
|
+
- No XML tags
|
|
115
|
+
- Third person (never first or second person)
|
|
116
|
+
- Include what it does AND when to use it
|
|
117
|
+
|
|
118
|
+
**Critical rule**: Always write in third person.
|
|
119
|
+
|
|
120
|
+
- ✅ "Processes Excel files and generates reports"
|
|
121
|
+
- ❌ "I can help you process Excel files"
|
|
122
|
+
- ❌ "You can use this to process Excel files"
|
|
123
|
+
|
|
124
|
+
**Structure**: Include both capabilities and triggers.
|
|
125
|
+
|
|
126
|
+
**Effective examples**:
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when analyzing Excel files, spreadsheets, tabular data, or .xlsx files.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
```yaml
|
|
137
|
+
description: Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Avoid**:
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
description: Helps with documents
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
description: Processes data
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
</description_field>
|
|
151
|
+
</yaml_requirements>
|
|
152
|
+
|
|
153
|
+
<naming_conventions>
|
|
154
|
+
Use **`<noun|domain>-<verb>` prefix-grouping** for skill names: the shared grouping token comes
|
|
155
|
+
first, the action second. Shipped evidence -- `flag-create`, `flag-delete`, `flag-list`,
|
|
156
|
+
`flag-set-role`; `cron-list`, `cron-delete`; `legal-audit`, `legal-generate`; `operator-digest`,
|
|
157
|
+
`operator-rephrase`; `release-announce`, `release-docs`. **No shipped Soleur skill uses the
|
|
158
|
+
verb-first `create-*` / `setup-*` / `manage-*` / `generate-*` form.** Why the prefix leads: a sorted
|
|
159
|
+
skill list then reads as families rather than as a flat wall, so every `flag-*` skill is found in
|
|
160
|
+
one place -- which is how `plugins/soleur/commands/help.md` renders the listing.
|
|
161
|
+
|
|
162
|
+
The patterns below are retained as upstream illustrations of the **pattern** shape (one pattern per
|
|
163
|
+
capability class), not as Soleur name templates. Read them for the grouping idea, not for the word
|
|
164
|
+
order.
|
|
165
|
+
|
|
166
|
+
<pattern name="create">
|
|
167
|
+
Building/authoring tools
|
|
168
|
+
|
|
169
|
+
Examples: `create-agent-skills`, `create-hooks`, `create-landing-pages`
|
|
170
|
+
</pattern>
|
|
171
|
+
|
|
172
|
+
<pattern name="manage">
|
|
173
|
+
Managing external services or resources
|
|
174
|
+
|
|
175
|
+
Examples: `manage-facebook-ads`, `manage-zoom`, `manage-stripe`, `manage-supabase`
|
|
176
|
+
</pattern>
|
|
177
|
+
|
|
178
|
+
<pattern name="setup">
|
|
179
|
+
Configuration/integration tasks
|
|
180
|
+
|
|
181
|
+
Examples: `setup-stripe-payments`, `setup-meta-tracking`
|
|
182
|
+
</pattern>
|
|
183
|
+
|
|
184
|
+
<pattern name="generate">
|
|
185
|
+
Generation tasks
|
|
186
|
+
|
|
187
|
+
Examples: `generate-ai-images`
|
|
188
|
+
</pattern>
|
|
189
|
+
|
|
190
|
+
<avoid_patterns>
|
|
191
|
+
|
|
192
|
+
- Vague: `helper`, `utils`, `tools`
|
|
193
|
+
- Generic: `documents`, `data`, `files`
|
|
194
|
+
- Reserved words: `anthropic-helper`, `claude-tools`
|
|
195
|
+
- Inconsistent: Directory `facebook-ads` but name `facebook-ads-manager`
|
|
196
|
+
</avoid_patterns>
|
|
197
|
+
</naming_conventions>
|
|
198
|
+
|
|
199
|
+
<progressive_disclosure>
|
|
200
|
+
<principle>
|
|
201
|
+
SKILL.md serves as an overview that points to detailed materials as needed. This keeps context window usage efficient.
|
|
202
|
+
</principle>
|
|
203
|
+
|
|
204
|
+
<practical_guidance>
|
|
205
|
+
|
|
206
|
+
- Keep SKILL.md body under 500 lines
|
|
207
|
+
- Split content into separate files when approaching this limit
|
|
208
|
+
- Keep references one level deep from SKILL.md
|
|
209
|
+
- Add table of contents to reference files over 100 lines
|
|
210
|
+
</practical_guidance>
|
|
211
|
+
|
|
212
|
+
<pattern name="high_level_guide">
|
|
213
|
+
Quick start in SKILL.md, details in reference files:
|
|
214
|
+
|
|
215
|
+
````markdown
|
|
216
|
+
---
|
|
217
|
+
name: pdf-processing
|
|
218
|
+
description: Extracts text and tables from PDF files, fills forms, and merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
# PDF Processing
|
|
222
|
+
|
|
223
|
+
Extract text and tables from PDF files, fill forms, and merge documents using Python libraries.
|
|
224
|
+
|
|
225
|
+
## Quick start
|
|
226
|
+
|
|
227
|
+
Extract text with pdfplumber:
|
|
228
|
+
|
|
229
|
+
```python
|
|
230
|
+
import pdfplumber
|
|
231
|
+
with pdfplumber.open("file.pdf") as pdf:
|
|
232
|
+
text = pdf.pages[0].extract_text()
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Advanced features
|
|
236
|
+
|
|
237
|
+
**Form filling**: See [forms.md](forms.md)
|
|
238
|
+
**API reference**: See [reference.md](reference.md)
|
|
239
|
+
````
|
|
240
|
+
|
|
241
|
+
Claude loads forms.md or reference.md only when needed.
|
|
242
|
+
</pattern>
|
|
243
|
+
|
|
244
|
+
<pattern name="domain_organization">
|
|
245
|
+
For skills with multiple domains, organize by domain to avoid loading irrelevant context:
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
bigquery-skill/
|
|
250
|
+
├── SKILL.md (overview and navigation)
|
|
251
|
+
└── reference/
|
|
252
|
+
├── finance.md (revenue, billing metrics)
|
|
253
|
+
├── sales.md (opportunities, pipeline)
|
|
254
|
+
├── product.md (API usage, features)
|
|
255
|
+
└── marketing.md (campaigns, attribution)
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
When user asks about revenue, Claude reads only finance.md. Other files stay on filesystem consuming zero tokens.
|
|
260
|
+
</pattern>
|
|
261
|
+
|
|
262
|
+
<pattern name="conditional_details">
|
|
263
|
+
Show basic content in SKILL.md, link to advanced in reference files:
|
|
264
|
+
|
|
265
|
+
```markdown
|
|
266
|
+
# DOCX Processing
|
|
267
|
+
|
|
268
|
+
Process DOCX files with creation and editing capabilities.
|
|
269
|
+
|
|
270
|
+
## Quick start
|
|
271
|
+
|
|
272
|
+
### Creating documents
|
|
273
|
+
|
|
274
|
+
Use docx-js for new documents. See [docx-js.md](docx-js.md).
|
|
275
|
+
|
|
276
|
+
### Editing documents
|
|
277
|
+
|
|
278
|
+
For simple edits, modify the document XML directly.
|
|
279
|
+
|
|
280
|
+
**For tracked changes**: See [redlining.md](redlining.md)
|
|
281
|
+
**For OOXML details**: See [ooxml.md](ooxml.md)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Claude reads redlining.md or ooxml.md only when the user needs those features.
|
|
285
|
+
</pattern>
|
|
286
|
+
|
|
287
|
+
<critical_rules>
|
|
288
|
+
**Keep references one level deep**: All reference files should link directly from SKILL.md. Avoid nested references (SKILL.md → advanced.md → details.md) as Claude may only partially read deeply nested files.
|
|
289
|
+
|
|
290
|
+
**Add table of contents to long files**: For reference files over 100 lines, include a table of contents at the top.
|
|
291
|
+
|
|
292
|
+
**Structure reference files with headings too**: Reference files follow the same rule as `SKILL.md`: markdown headings for structure, XML wrappers optional inside a section. (Some older skill-creator references, this one included, still carry top-level tags as content labels; do not copy that shape into new files.)
|
|
293
|
+
</critical_rules>
|
|
294
|
+
</progressive_disclosure>
|
|
295
|
+
|
|
296
|
+
<file_organization>
|
|
297
|
+
<filesystem_navigation>
|
|
298
|
+
Claude navigates your skill directory using bash commands:
|
|
299
|
+
|
|
300
|
+
- Use forward slashes: `reference/guide.md` (not `reference\guide.md`)
|
|
301
|
+
- Name files descriptively: `form_validation_rules.md` (not `doc2.md`)
|
|
302
|
+
- Organize by domain: `reference/finance.md`, `reference/sales.md`
|
|
303
|
+
</filesystem_navigation>
|
|
304
|
+
|
|
305
|
+
<directory_structure>
|
|
306
|
+
Typical skill structure:
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
skill-name/
|
|
310
|
+
├── SKILL.md (main entry point, markdown headings)
|
|
311
|
+
├── references/ (optional, for progressive disclosure)
|
|
312
|
+
│ ├── guide-1.md (markdown headings)
|
|
313
|
+
│ ├── guide-2.md (markdown headings)
|
|
314
|
+
│ └── examples.md (markdown headings)
|
|
315
|
+
└── scripts/ (optional, for utility scripts)
|
|
316
|
+
├── validate.py
|
|
317
|
+
└── process.py
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
</directory_structure>
|
|
321
|
+
</file_organization>
|
|
322
|
+
|
|
323
|
+
<anti_patterns>
|
|
324
|
+
<pitfall name="tag_only_body">
|
|
325
|
+
✅ Structure the body with markdown headings; wrap a discrete block in a tag only inside a section:
|
|
326
|
+
|
|
327
|
+
```markdown
|
|
328
|
+
# PDF Processing
|
|
329
|
+
|
|
330
|
+
PDF processing with text extraction, form filling, and merging.
|
|
331
|
+
|
|
332
|
+
## Quick start
|
|
333
|
+
Extract text...
|
|
334
|
+
|
|
335
|
+
## Advanced features
|
|
336
|
+
Form filling...
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
❌ Anti-pattern: a tag-only body with no headings, where top-level tags stand in for sections:
|
|
340
|
+
|
|
341
|
+
```markdown
|
|
342
|
+
## Objective
|
|
343
|
+
|
|
344
|
+
PDF processing with text extraction, form filling, and merging.
|
|
345
|
+
|
|
346
|
+
## Quick Start
|
|
347
|
+
|
|
348
|
+
Extract text...
|
|
349
|
+
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
</pitfall>
|
|
353
|
+
|
|
354
|
+
<pitfall name="vague_descriptions">
|
|
355
|
+
- ❌ "Helps with documents"
|
|
356
|
+
- ✅ "Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction."
|
|
357
|
+
</pitfall>
|
|
358
|
+
|
|
359
|
+
<pitfall name="inconsistent_pov">
|
|
360
|
+
- ❌ "I can help you process Excel files"
|
|
361
|
+
- ✅ "Processes Excel files and generates reports"
|
|
362
|
+
</pitfall>
|
|
363
|
+
|
|
364
|
+
<pitfall name="wrong_naming_convention">
|
|
365
|
+
- ❌ Directory: `facebook-ads`, Name: `facebook-ads-manager`
|
|
366
|
+
- ✅ Directory: `manage-facebook-ads`, Name: `manage-facebook-ads`
|
|
367
|
+
- ❌ Directory: `stripe-integration`, Name: `stripe`
|
|
368
|
+
- ✅ Directory: `setup-stripe-payments`, Name: `setup-stripe-payments`
|
|
369
|
+
</pitfall>
|
|
370
|
+
|
|
371
|
+
<pitfall name="deeply_nested_references">
|
|
372
|
+
Keep references one level deep from SKILL.md. Claude may only partially read nested files (SKILL.md → advanced.md → details.md).
|
|
373
|
+
</pitfall>
|
|
374
|
+
|
|
375
|
+
<pitfall name="windows_paths">
|
|
376
|
+
Always use forward slashes: `scripts/helper.py` (not `scripts\helper.py`)
|
|
377
|
+
</pitfall>
|
|
378
|
+
|
|
379
|
+
<pitfall name="missing_required_sections">
|
|
380
|
+
Every skill needs a `#` title with its purpose, a `## Quick start` (or first phase), and a completion criterion (`## Success criteria` or a per-phase exit condition).
|
|
381
|
+
</pitfall>
|
|
382
|
+
</anti_patterns>
|
|
383
|
+
|
|
384
|
+
<validation_checklist>
|
|
385
|
+
Before finalizing a skill, verify:
|
|
386
|
+
|
|
387
|
+
- ✅ YAML frontmatter valid (name matches directory, description in third person)
|
|
388
|
+
- ✅ Body structured with markdown headings (XML tags, if any, only wrap blocks inside a section)
|
|
389
|
+
- ✅ Required sections present: title + purpose, quick start, completion criterion
|
|
390
|
+
- ✅ Conditional sections appropriate for complexity level
|
|
391
|
+
- ✅ Any XML wrappers closed and nested inside a heading
|
|
392
|
+
- ✅ Progressive disclosure applied (SKILL.md < 500 lines)
|
|
393
|
+
- ✅ Reference files structured with markdown headings
|
|
394
|
+
- ✅ File paths use forward slashes
|
|
395
|
+
- ✅ Descriptive file names
|
|
396
|
+
</validation_checklist>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Using Scripts in Skills
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
Scripts are executable code that Claude runs as-is rather than regenerating each time. They ensure reliable, error-free execution of repeated operations.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<when_to_use>
|
|
8
|
+
Use scripts when:
|
|
9
|
+
|
|
10
|
+
- The same code runs across multiple skill invocations
|
|
11
|
+
- Operations are error-prone when rewritten from scratch
|
|
12
|
+
- Complex shell commands or API interactions are involved
|
|
13
|
+
- Consistency matters more than flexibility
|
|
14
|
+
|
|
15
|
+
Common script types:
|
|
16
|
+
|
|
17
|
+
- **Deployment** - Deploy to Vercel, publish packages, push releases
|
|
18
|
+
- **Setup** - Initialize projects, install dependencies, configure environments
|
|
19
|
+
- **API calls** - Authenticated requests, webhook handlers, data fetches
|
|
20
|
+
- **Data processing** - Transform files, batch operations, migrations
|
|
21
|
+
- **Build processes** - Compile, bundle, test runners
|
|
22
|
+
</when_to_use>
|
|
23
|
+
|
|
24
|
+
<script_structure>
|
|
25
|
+
Scripts live in `scripts/` within the skill directory:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
skill-name/
|
|
29
|
+
├── SKILL.md
|
|
30
|
+
├── workflows/
|
|
31
|
+
├── references/
|
|
32
|
+
├── templates/
|
|
33
|
+
└── scripts/
|
|
34
|
+
├── deploy.sh
|
|
35
|
+
├── setup.py
|
|
36
|
+
└── fetch-data.ts
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
A well-structured script includes:
|
|
40
|
+
|
|
41
|
+
1. Clear purpose comment at top
|
|
42
|
+
2. Input validation
|
|
43
|
+
3. Error handling
|
|
44
|
+
4. Idempotent operations where possible
|
|
45
|
+
5. Clear output/feedback
|
|
46
|
+
</script_structure>
|
|
47
|
+
|
|
48
|
+
<script_example>
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
#!/bin/bash
|
|
52
|
+
# deploy.sh - Deploy project to Vercel
|
|
53
|
+
# Usage: ./deploy.sh [environment]
|
|
54
|
+
# Environments: preview (default), production
|
|
55
|
+
|
|
56
|
+
set -euo pipefail
|
|
57
|
+
|
|
58
|
+
ENVIRONMENT="${1:-preview}"
|
|
59
|
+
|
|
60
|
+
# Validate environment
|
|
61
|
+
if [[ "$ENVIRONMENT" != "preview" && "$ENVIRONMENT" != "production" ]]; then
|
|
62
|
+
echo "Error: Environment must be 'preview' or 'production'"
|
|
63
|
+
exit 1
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
echo "Deploying to $ENVIRONMENT..."
|
|
67
|
+
|
|
68
|
+
if [[ "$ENVIRONMENT" == "production" ]]; then
|
|
69
|
+
vercel --prod
|
|
70
|
+
else
|
|
71
|
+
vercel
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
echo "Deployment complete."
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
</script_example>
|
|
78
|
+
|
|
79
|
+
<workflow_integration>
|
|
80
|
+
Workflows reference scripts like this:
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
## Process
|
|
84
|
+
|
|
85
|
+
## Step 5: Deploy
|
|
86
|
+
|
|
87
|
+
1. Ensure all tests pass
|
|
88
|
+
2. Run `scripts/deploy.sh production`
|
|
89
|
+
3. Verify deployment succeeded
|
|
90
|
+
4. Update user with deployment URL
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The workflow tells Claude WHEN to run the script. The script handles HOW the operation executes.
|
|
95
|
+
</workflow_integration>
|
|
96
|
+
|
|
97
|
+
<best_practices>
|
|
98
|
+
**Do:**
|
|
99
|
+
|
|
100
|
+
- Make scripts idempotent (safe to run multiple times)
|
|
101
|
+
- Include clear usage comments
|
|
102
|
+
- Validate inputs before executing
|
|
103
|
+
- Provide meaningful error messages
|
|
104
|
+
- Use `set -euo pipefail` in bash scripts
|
|
105
|
+
|
|
106
|
+
**Don't:**
|
|
107
|
+
|
|
108
|
+
- Hardcode secrets or credentials (use environment variables)
|
|
109
|
+
- Create scripts for one-off operations
|
|
110
|
+
- Skip error handling
|
|
111
|
+
- Make scripts do too many unrelated things
|
|
112
|
+
- Forget to make scripts executable (`chmod +x`)
|
|
113
|
+
</best_practices>
|
|
114
|
+
|
|
115
|
+
<security_considerations>
|
|
116
|
+
|
|
117
|
+
- Never embed API keys, tokens, or secrets in scripts
|
|
118
|
+
- Use environment variables for sensitive configuration
|
|
119
|
+
- Validate and sanitize any user-provided inputs
|
|
120
|
+
- Be cautious with scripts that delete or modify data
|
|
121
|
+
- Consider adding `--dry-run` options for destructive operations
|
|
122
|
+
</security_considerations>
|