@soleur/opencode 0.0.0-stage → 1.0.0
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 +659 -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 +108 -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 +342 -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 +152 -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 +493 -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 +363 -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 +520 -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 +113 -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 +178 -0
- package/scripts/sync-opencode-adapter.ts +479 -0
- package/scripts/sync-pr-behind.sh +534 -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 +65 -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 +142 -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 +118 -0
- package/skills/fix-issue/references/exclude-label-jq-snippet.md +96 -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 +668 -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 +325 -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 +138 -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 +1621 -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-todo-structure.md +165 -0
- package/skills/review/references/risk-tier-and-fix-rounds.md +95 -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 +3022 -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/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/detached-battery-verdict.md +13 -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 +149 -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/work/SKILL.md +1479 -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,639 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
This reference documents common patterns for skill authoring, including templates, examples, terminology consistency, and anti-patterns. Skill bodies are structured with markdown headings; the XML tags shown inside examples are optional wrappers around one block within a section.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<template_pattern>
|
|
6
|
+
<description>
|
|
7
|
+
Provide templates for output format. Match the level of strictness to your needs.
|
|
8
|
+
</description>
|
|
9
|
+
|
|
10
|
+
<strict_requirements>
|
|
11
|
+
Use when output format must be exact and consistent:
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
## Report Structure
|
|
15
|
+
|
|
16
|
+
ALWAYS use this exact template structure:
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
# [Analysis Title]
|
|
20
|
+
|
|
21
|
+
## Executive summary
|
|
22
|
+
[One-paragraph overview of key findings]
|
|
23
|
+
|
|
24
|
+
## Key findings
|
|
25
|
+
- Finding 1 with supporting data
|
|
26
|
+
- Finding 2 with supporting data
|
|
27
|
+
- Finding 3 with supporting data
|
|
28
|
+
|
|
29
|
+
## Recommendations
|
|
30
|
+
1. Specific actionable recommendation
|
|
31
|
+
2. Specific actionable recommendation
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**When to use**: Compliance reports, standardized formats, automated processing
|
|
37
|
+
</strict_requirements>
|
|
38
|
+
|
|
39
|
+
<flexible_guidance>
|
|
40
|
+
Use when Claude should adapt the format based on context:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
## Report Structure
|
|
44
|
+
|
|
45
|
+
Here is a sensible default format, but use your best judgment:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
# [Analysis Title]
|
|
49
|
+
|
|
50
|
+
## Executive summary
|
|
51
|
+
[Overview]
|
|
52
|
+
|
|
53
|
+
## Key findings
|
|
54
|
+
[Adapt sections based on what you discover]
|
|
55
|
+
|
|
56
|
+
## Recommendations
|
|
57
|
+
[Tailor to the specific context]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Adjust sections as needed for the specific analysis type.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**When to use**: Exploratory analysis, context-dependent formatting, creative tasks
|
|
65
|
+
</flexible_guidance>
|
|
66
|
+
</template_pattern>
|
|
67
|
+
|
|
68
|
+
<examples_pattern>
|
|
69
|
+
<description>
|
|
70
|
+
For skills where output quality depends on seeing examples, provide input/output pairs.
|
|
71
|
+
</description>
|
|
72
|
+
|
|
73
|
+
<commit_messages_example>
|
|
74
|
+
```markdown
|
|
75
|
+
## Objective
|
|
76
|
+
|
|
77
|
+
Generate commit messages following conventional commit format.
|
|
78
|
+
|
|
79
|
+
## Commit Message Format
|
|
80
|
+
|
|
81
|
+
Generate commit messages following these examples:
|
|
82
|
+
|
|
83
|
+
<example number="1">
|
|
84
|
+
<input>Added user authentication with JWT tokens</input>
|
|
85
|
+
|
|
86
|
+
### Output
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
feat(auth): implement JWT-based authentication
|
|
91
|
+
|
|
92
|
+
Add login endpoint and token validation middleware
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
</output>
|
|
96
|
+
</example>
|
|
97
|
+
|
|
98
|
+
<example number="2">
|
|
99
|
+
<input>Fixed bug where dates displayed incorrectly in reports</input>
|
|
100
|
+
<output>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
fix(reports): correct date formatting in timezone conversion
|
|
104
|
+
|
|
105
|
+
Use UTC timestamps consistently across report generation
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
</output>
|
|
109
|
+
</example>
|
|
110
|
+
|
|
111
|
+
Follow this style: type(scope): brief description, then detailed explanation.
|
|
112
|
+
</commit_message_format>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
</commit_messages_example>
|
|
116
|
+
|
|
117
|
+
<when_to_use>
|
|
118
|
+
|
|
119
|
+
- Output format has nuances that text explanations can't capture
|
|
120
|
+
- Pattern recognition is easier than rule following
|
|
121
|
+
- Examples demonstrate edge cases
|
|
122
|
+
- Multi-shot learning improves quality
|
|
123
|
+
</when_to_use>
|
|
124
|
+
</examples_pattern>
|
|
125
|
+
|
|
126
|
+
<consistent_terminology>
|
|
127
|
+
<principle>
|
|
128
|
+
Choose one term and use it throughout the skill. Inconsistent terminology confuses Claude and reduces execution quality.
|
|
129
|
+
</principle>
|
|
130
|
+
|
|
131
|
+
<good_example>
|
|
132
|
+
Consistent usage:
|
|
133
|
+
|
|
134
|
+
- Always "API endpoint" (not mixing with "URL", "API route", "path")
|
|
135
|
+
- Always "field" (not mixing with "box", "element", "control")
|
|
136
|
+
- Always "extract" (not mixing with "pull", "get", "retrieve")
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
## Objective
|
|
140
|
+
|
|
141
|
+
Extract data from API endpoints using field mappings.
|
|
142
|
+
|
|
143
|
+
## Quick Start
|
|
144
|
+
|
|
145
|
+
1. Identify the API endpoint
|
|
146
|
+
2. Map response fields to your schema
|
|
147
|
+
3. Extract field values
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
</good_example>
|
|
152
|
+
|
|
153
|
+
<bad_example>
|
|
154
|
+
Inconsistent usage creates confusion:
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
## Objective
|
|
158
|
+
|
|
159
|
+
Pull data from API routes using element mappings.
|
|
160
|
+
|
|
161
|
+
## Quick Start
|
|
162
|
+
|
|
163
|
+
1. Identify the URL
|
|
164
|
+
2. Map response boxes to your schema
|
|
165
|
+
3. Retrieve control values
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Claude must now interpret: Are "API routes" and "URLs" the same? Are "fields", "boxes", "elements", and "controls" the same?
|
|
170
|
+
</bad_example>
|
|
171
|
+
|
|
172
|
+
<implementation>
|
|
173
|
+
1. Choose terminology early in skill development
|
|
174
|
+
2. Document key terms in the skill's opening section
|
|
175
|
+
3. Use find/replace to enforce consistency
|
|
176
|
+
4. Review reference files for consistent usage
|
|
177
|
+
</implementation>
|
|
178
|
+
</consistent_terminology>
|
|
179
|
+
|
|
180
|
+
<provide_default_with_escape_hatch>
|
|
181
|
+
<principle>
|
|
182
|
+
Provide a default approach with an escape hatch for special cases, not a list of alternatives. Too many options paralyze decision-making.
|
|
183
|
+
</principle>
|
|
184
|
+
|
|
185
|
+
<good_example>
|
|
186
|
+
Clear default with escape hatch:
|
|
187
|
+
|
|
188
|
+
```markdown
|
|
189
|
+
## Quick Start
|
|
190
|
+
|
|
191
|
+
Use pdfplumber for text extraction:
|
|
192
|
+
|
|
193
|
+
```python
|
|
194
|
+
import pdfplumber
|
|
195
|
+
with pdfplumber.open("file.pdf") as pdf:
|
|
196
|
+
text = pdf.pages[0].extract_text()
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
For scanned PDFs requiring OCR, use pdf2image with pytesseract instead.
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
</good_example>
|
|
203
|
+
|
|
204
|
+
<bad_example>
|
|
205
|
+
Too many options creates decision paralysis:
|
|
206
|
+
|
|
207
|
+
```markdown
|
|
208
|
+
## Quick Start
|
|
209
|
+
|
|
210
|
+
You can use any of these libraries:
|
|
211
|
+
|
|
212
|
+
- **pypdf**: Good for basic extraction
|
|
213
|
+
- **pdfplumber**: Better for tables
|
|
214
|
+
- **PyMuPDF**: Faster but more complex
|
|
215
|
+
- **pdf2image**: For scanned documents
|
|
216
|
+
- **pdfminer**: Low-level control
|
|
217
|
+
- **tabula-py**: Table-focused
|
|
218
|
+
|
|
219
|
+
Choose based on your needs.
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Claude must now research and compare all options before starting. This wastes tokens and time.
|
|
224
|
+
</bad_example>
|
|
225
|
+
|
|
226
|
+
<implementation>
|
|
227
|
+
1. Recommend ONE default approach
|
|
228
|
+
2. Explain when to use the default (implied: most of the time)
|
|
229
|
+
3. Add ONE escape hatch for edge cases
|
|
230
|
+
4. Link to advanced reference if multiple alternatives truly needed
|
|
231
|
+
</implementation>
|
|
232
|
+
</provide_default_with_escape_hatch>
|
|
233
|
+
|
|
234
|
+
<anti_patterns>
|
|
235
|
+
<description>
|
|
236
|
+
Common mistakes to avoid when authoring skills.
|
|
237
|
+
</description>
|
|
238
|
+
|
|
239
|
+
<pitfall name="tag_only_body">
|
|
240
|
+
❌ **BAD**: A tag-only body with no headings, where top-level tags stand in for sections:
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
## Objective
|
|
244
|
+
|
|
245
|
+
PDF processing with text extraction, form filling, and merging capabilities.
|
|
246
|
+
|
|
247
|
+
## Quick Start
|
|
248
|
+
|
|
249
|
+
Extract text with pdfplumber...
|
|
250
|
+
|
|
251
|
+
## Advanced Features
|
|
252
|
+
|
|
253
|
+
Form filling requires additional setup...
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
✅ **GOOD**: Markdown headings structure the body:
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
# PDF Processing
|
|
261
|
+
|
|
262
|
+
PDF processing with text extraction, form filling, and merging capabilities.
|
|
263
|
+
|
|
264
|
+
## Quick start
|
|
265
|
+
Extract text with pdfplumber...
|
|
266
|
+
|
|
267
|
+
## Advanced features
|
|
268
|
+
Form filling requires additional setup...
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Why it matters**: Markdown headings structure a skill body; XML tags are optional semantic wrappers inside a section and never replace headings. Every shipped Soleur `SKILL.md` (102/102 measured) uses `#` headings, so a tag-only body is the odd one out for both readers and tooling.
|
|
272
|
+
</pitfall>
|
|
273
|
+
|
|
274
|
+
<pitfall name="vague_descriptions">
|
|
275
|
+
❌ **BAD**:
|
|
276
|
+
```yaml
|
|
277
|
+
description: Helps with documents
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
✅ **GOOD**:
|
|
281
|
+
|
|
282
|
+
```yaml
|
|
283
|
+
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.
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Why it matters**: Vague descriptions prevent Claude from discovering and using the skill appropriately.
|
|
287
|
+
</pitfall>
|
|
288
|
+
|
|
289
|
+
<pitfall name="inconsistent_pov">
|
|
290
|
+
❌ **BAD**:
|
|
291
|
+
```yaml
|
|
292
|
+
description: I can help you process Excel files and generate reports
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
✅ **GOOD**:
|
|
296
|
+
|
|
297
|
+
```yaml
|
|
298
|
+
description: Processes Excel files and generates reports. Use when analyzing spreadsheets or .xlsx files.
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
**Why it matters**: Skills must use third person. First/second person breaks the skill metadata pattern.
|
|
302
|
+
</pitfall>
|
|
303
|
+
|
|
304
|
+
<pitfall name="wrong_naming_convention">
|
|
305
|
+
❌ **BAD**: Directory name doesn't match skill name or verb-noun convention:
|
|
306
|
+
- Directory: `facebook-ads`, Name: `facebook-ads-manager`
|
|
307
|
+
- Directory: `stripe-integration`, Name: `stripe`
|
|
308
|
+
- Directory: `helper-scripts`, Name: `helper`
|
|
309
|
+
|
|
310
|
+
✅ **GOOD**: Consistent verb-noun convention:
|
|
311
|
+
|
|
312
|
+
- Directory: `manage-facebook-ads`, Name: `manage-facebook-ads`
|
|
313
|
+
- Directory: `setup-stripe-payments`, Name: `setup-stripe-payments`
|
|
314
|
+
- Directory: `process-pdfs`, Name: `process-pdfs`
|
|
315
|
+
|
|
316
|
+
**Why it matters**: Consistency in naming makes skills discoverable and predictable.
|
|
317
|
+
</pitfall>
|
|
318
|
+
|
|
319
|
+
<pitfall name="too_many_options">
|
|
320
|
+
❌ **BAD**:
|
|
321
|
+
```markdown
|
|
322
|
+
## Quick Start
|
|
323
|
+
|
|
324
|
+
You can use pypdf, or pdfplumber, or PyMuPDF, or pdf2image, or pdfminer, or tabula-py...
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
✅ **GOOD**:
|
|
329
|
+
|
|
330
|
+
```markdown
|
|
331
|
+
## Quick Start
|
|
332
|
+
|
|
333
|
+
Use pdfplumber for text extraction:
|
|
334
|
+
|
|
335
|
+
```python
|
|
336
|
+
import pdfplumber
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
For scanned PDFs requiring OCR, use pdf2image with pytesseract instead.
|
|
340
|
+
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
**Why it matters**: Decision paralysis. Provide one default approach with escape hatch for special cases.
|
|
344
|
+
</pitfall>
|
|
345
|
+
|
|
346
|
+
<pitfall name="deeply_nested_references">
|
|
347
|
+
❌ **BAD**: References nested multiple levels:
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
SKILL.md → advanced.md → details.md → examples.md
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
✅ **GOOD**: References one level deep from SKILL.md:
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
SKILL.md → advanced.md
|
|
358
|
+
SKILL.md → details.md
|
|
359
|
+
SKILL.md → examples.md
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Why it matters**: Claude may only partially read deeply nested files. Keep references one level deep from SKILL.md.
|
|
364
|
+
</pitfall>
|
|
365
|
+
|
|
366
|
+
<pitfall name="windows_paths">
|
|
367
|
+
❌ **BAD**:
|
|
368
|
+
```markdown
|
|
369
|
+
## Reference Guides
|
|
370
|
+
|
|
371
|
+
See scripts\validate.py for validation
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
✅ **GOOD**:
|
|
376
|
+
|
|
377
|
+
```markdown
|
|
378
|
+
## Reference Guides
|
|
379
|
+
|
|
380
|
+
See scripts/validate.py for validation
|
|
381
|
+
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**Why it matters**: Always use forward slashes for cross-platform compatibility.
|
|
385
|
+
</pitfall>
|
|
386
|
+
|
|
387
|
+
<pitfall name="dynamic_context_and_file_reference_execution">
|
|
388
|
+
**Problem**: When showing examples of dynamic context syntax (exclamation mark + backticks) or file references (@ prefix), the skill loader executes these during skill loading.
|
|
389
|
+
|
|
390
|
+
❌ **BAD** - These execute during skill load:
|
|
391
|
+
|
|
392
|
+
```markdown
|
|
393
|
+
## Examples
|
|
394
|
+
|
|
395
|
+
Load current status with: !`git status`
|
|
396
|
+
Review dependencies in: @package.json
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
✅ **GOOD** - Add space to prevent execution:
|
|
401
|
+
|
|
402
|
+
```markdown
|
|
403
|
+
## Examples
|
|
404
|
+
|
|
405
|
+
Load current status with: ! `git status` (remove space before backtick in actual usage)
|
|
406
|
+
Review dependencies in: @ package.json (remove space after @ in actual usage)
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**When this applies**:
|
|
411
|
+
|
|
412
|
+
- Skills that teach users about dynamic context (slash commands, prompts)
|
|
413
|
+
- Any documentation showing the exclamation mark prefix syntax or @ file references
|
|
414
|
+
- Skills with example commands or file paths that shouldn't execute during loading
|
|
415
|
+
|
|
416
|
+
**Why it matters**: Without the space, these execute during skill load, causing errors or unwanted file reads.
|
|
417
|
+
</pitfall>
|
|
418
|
+
|
|
419
|
+
<pitfall name="missing_required_sections">
|
|
420
|
+
❌ **BAD**: Missing required sections:
|
|
421
|
+
```markdown
|
|
422
|
+
## Quick start
|
|
423
|
+
Use this tool for processing...
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
✅ **GOOD**: All required sections present:
|
|
427
|
+
|
|
428
|
+
```markdown
|
|
429
|
+
# Data Processing
|
|
430
|
+
|
|
431
|
+
Process data files with validation and transformation.
|
|
432
|
+
|
|
433
|
+
## Quick start
|
|
434
|
+
Use this tool for processing...
|
|
435
|
+
|
|
436
|
+
## Success criteria
|
|
437
|
+
- Input file successfully processed
|
|
438
|
+
- Output file validates without errors
|
|
439
|
+
- Transformation applied correctly
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
**Why it matters**: Every skill needs a `#` title with its purpose, a `## Quick start` (or first phase), and a completion criterion.
|
|
443
|
+
</pitfall>
|
|
444
|
+
|
|
445
|
+
<pitfall name="tags_replacing_some_headings">
|
|
446
|
+
❌ **BAD**: A top-level tag standing in for one section while the rest use headings:
|
|
447
|
+
```markdown
|
|
448
|
+
<objective>
|
|
449
|
+
PDF processing capabilities
|
|
450
|
+
</objective>
|
|
451
|
+
|
|
452
|
+
## Quick start
|
|
453
|
+
|
|
454
|
+
Extract text with pdfplumber...
|
|
455
|
+
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
✅ **GOOD**: Every section is a heading; a tag, if used, wraps one block inside a section:
|
|
459
|
+
```markdown
|
|
460
|
+
# PDF Processing
|
|
461
|
+
|
|
462
|
+
PDF processing capabilities.
|
|
463
|
+
|
|
464
|
+
## Quick start
|
|
465
|
+
|
|
466
|
+
Extract text with pdfplumber...
|
|
467
|
+
|
|
468
|
+
<example>
|
|
469
|
+
pdfplumber.open("file.pdf").pages[0].extract_text()
|
|
470
|
+
</example>
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
**Why it matters**: Headings carry the structure. A wrapper bounds a block the model must treat as one unit; it is never a section of its own.
|
|
474
|
+
</pitfall>
|
|
475
|
+
|
|
476
|
+
<pitfall name="unclosed_xml_tags">
|
|
477
|
+
❌ **BAD**: Forgetting to close XML tags:
|
|
478
|
+
```markdown
|
|
479
|
+
## Objective
|
|
480
|
+
|
|
481
|
+
Process PDF files
|
|
482
|
+
|
|
483
|
+
### Quick Start
|
|
484
|
+
|
|
485
|
+
Use pdfplumber...
|
|
486
|
+
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
✅ **GOOD**: Properly closed tags:
|
|
490
|
+
```markdown
|
|
491
|
+
## Objective
|
|
492
|
+
|
|
493
|
+
Process PDF files
|
|
494
|
+
|
|
495
|
+
## Quick Start
|
|
496
|
+
|
|
497
|
+
Use pdfplumber...
|
|
498
|
+
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**Why it matters**: Unclosed tags break XML parsing and create ambiguous boundaries.
|
|
502
|
+
</pitfall>
|
|
503
|
+
</anti_patterns>
|
|
504
|
+
|
|
505
|
+
<progressive_disclosure_pattern>
|
|
506
|
+
<description>
|
|
507
|
+
Keep SKILL.md concise by linking to detailed reference files. Claude loads reference files only when needed.
|
|
508
|
+
</description>
|
|
509
|
+
|
|
510
|
+
<implementation>
|
|
511
|
+
```markdown
|
|
512
|
+
## Objective
|
|
513
|
+
|
|
514
|
+
Manage Facebook Ads campaigns, ad sets, and ads via the Marketing API.
|
|
515
|
+
|
|
516
|
+
## Quick Start
|
|
517
|
+
|
|
518
|
+
### Basic Operations
|
|
519
|
+
|
|
520
|
+
See [basic-operations.md](basic-operations.md) for campaign creation and management.
|
|
521
|
+
|
|
522
|
+
## Advanced Features
|
|
523
|
+
|
|
524
|
+
**Custom audiences**: See [audiences.md](audiences.md)
|
|
525
|
+
**Conversion tracking**: See [conversions.md](conversions.md)
|
|
526
|
+
**Budget optimization**: See [budgets.md](budgets.md)
|
|
527
|
+
**API reference**: See [api-reference.md](api-reference.md)
|
|
528
|
+
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
**Benefits**:
|
|
532
|
+
- SKILL.md stays under 500 lines
|
|
533
|
+
- Claude only reads relevant reference files
|
|
534
|
+
- Token usage scales with task complexity
|
|
535
|
+
- Easier to maintain and update
|
|
536
|
+
</implementation>
|
|
537
|
+
</progressive_disclosure_pattern>
|
|
538
|
+
|
|
539
|
+
<validation_pattern>
|
|
540
|
+
<description>
|
|
541
|
+
For skills with validation steps, make validation scripts verbose and specific.
|
|
542
|
+
</description>
|
|
543
|
+
|
|
544
|
+
<implementation>
|
|
545
|
+
```markdown
|
|
546
|
+
## Validation
|
|
547
|
+
|
|
548
|
+
After making changes, validate immediately:
|
|
549
|
+
|
|
550
|
+
```bash
|
|
551
|
+
python scripts/validate.py output_dir/
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
If validation fails, fix errors before continuing. Validation errors include:
|
|
555
|
+
|
|
556
|
+
- **Field not found**: "Field 'signature_date' not found. Available fields: customer_name, order_total, signature_date_signed"
|
|
557
|
+
- **Type mismatch**: "Field 'order_total' expects number, got string"
|
|
558
|
+
- **Missing required field**: "Required field 'customer_name' is missing"
|
|
559
|
+
|
|
560
|
+
Only proceed when validation passes with zero errors.
|
|
561
|
+
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
**Why verbose errors help**:
|
|
565
|
+
- Claude can fix issues without guessing
|
|
566
|
+
- Specific error messages reduce iteration cycles
|
|
567
|
+
- Available options shown in error messages
|
|
568
|
+
</implementation>
|
|
569
|
+
</validation_pattern>
|
|
570
|
+
|
|
571
|
+
<checklist_pattern>
|
|
572
|
+
<description>
|
|
573
|
+
For complex multi-step workflows, provide a checklist Claude can copy and track progress.
|
|
574
|
+
</description>
|
|
575
|
+
|
|
576
|
+
<implementation>
|
|
577
|
+
```markdown
|
|
578
|
+
## Workflow
|
|
579
|
+
|
|
580
|
+
Copy this checklist and check off items as you complete them:
|
|
581
|
+
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
Task Progress:
|
|
585
|
+
|
|
586
|
+
- [ ] Step 1: Analyze the form (run analyze_form.py)
|
|
587
|
+
- [ ] Step 2: Create field mapping (edit fields.json)
|
|
588
|
+
- [ ] Step 3: Validate mapping (run validate_fields.py)
|
|
589
|
+
- [ ] Step 4: Fill the form (run fill_form.py)
|
|
590
|
+
- [ ] Step 5: Verify output (run verify_output.py)
|
|
591
|
+
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
<step_1>
|
|
595
|
+
**Analyze the form**
|
|
596
|
+
|
|
597
|
+
Run: `python scripts/analyze_form.py input.pdf`
|
|
598
|
+
|
|
599
|
+
This extracts form fields and their locations, saving to `fields.json`.
|
|
600
|
+
</step_1>
|
|
601
|
+
|
|
602
|
+
<step_2>
|
|
603
|
+
**Create field mapping**
|
|
604
|
+
|
|
605
|
+
Edit `fields.json` to add values for each field.
|
|
606
|
+
</step_2>
|
|
607
|
+
|
|
608
|
+
<step_3>
|
|
609
|
+
**Validate mapping**
|
|
610
|
+
|
|
611
|
+
Run: `python scripts/validate_fields.py fields.json`
|
|
612
|
+
|
|
613
|
+
Fix any validation errors before continuing.
|
|
614
|
+
</step_3>
|
|
615
|
+
|
|
616
|
+
<step_4>
|
|
617
|
+
**Fill the form**
|
|
618
|
+
|
|
619
|
+
Run: `python scripts/fill_form.py input.pdf fields.json output.pdf`
|
|
620
|
+
</step_4>
|
|
621
|
+
|
|
622
|
+
<step_5>
|
|
623
|
+
**Verify output**
|
|
624
|
+
|
|
625
|
+
Run: `python scripts/verify_output.py output.pdf`
|
|
626
|
+
|
|
627
|
+
If verification fails, return to Step 2.
|
|
628
|
+
</step_5>
|
|
629
|
+
</workflow>
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
**Benefits**:
|
|
633
|
+
|
|
634
|
+
- Clear progress tracking
|
|
635
|
+
- Prevents skipping steps
|
|
636
|
+
- Easy to resume after interruption
|
|
637
|
+
</implementation>
|
|
638
|
+
|
|
639
|
+
</checklist_pattern>
|