@ketecode/loom 0.0.0-stage → 0.2.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/LICENSE +21 -0
- package/README.md +616 -2
- package/agents/accessibility-reviewer/AGENT.md +70 -0
- package/agents/accessibility-reviewer/evals/triggers.json +15 -0
- package/agents/agent-evaluator/AGENT.md +74 -0
- package/agents/agent-evaluator/evals/triggers.json +15 -0
- package/agents/architect/AGENT.md +82 -0
- package/agents/architect/evals/triggers.json +17 -0
- package/agents/billing-reviewer/AGENT.md +68 -0
- package/agents/billing-reviewer/evals/triggers.json +16 -0
- package/agents/code-reviewer/AGENT.md +51 -0
- package/agents/code-reviewer/evals/behavior.json +60 -0
- package/agents/code-reviewer/evals/triggers.json +14 -0
- package/agents/code-simplifier/AGENT.md +74 -0
- package/agents/code-simplifier/evals/triggers.json +15 -0
- package/agents/cpp-build-resolver/AGENT.md +73 -0
- package/agents/cpp-build-resolver/evals/triggers.json +16 -0
- package/agents/cpp-reviewer/AGENT.md +59 -0
- package/agents/cpp-reviewer/evals/triggers.json +16 -0
- package/agents/csharp-build-resolver/AGENT.md +84 -0
- package/agents/csharp-build-resolver/evals/triggers.json +17 -0
- package/agents/csharp-reviewer/AGENT.md +88 -0
- package/agents/csharp-reviewer/evals/triggers.json +17 -0
- package/agents/dart-build-resolver/AGENT.md +80 -0
- package/agents/dart-build-resolver/evals/triggers.json +17 -0
- package/agents/dart-reviewer/AGENT.md +66 -0
- package/agents/dart-reviewer/evals/triggers.json +17 -0
- package/agents/database-reviewer/AGENT.md +72 -0
- package/agents/database-reviewer/evals/triggers.json +16 -0
- package/agents/django-reviewer/AGENT.md +61 -0
- package/agents/django-reviewer/evals/triggers.json +15 -0
- package/agents/doc-updater/AGENT.md +92 -0
- package/agents/doc-updater/evals/triggers.json +14 -0
- package/agents/e2e-runner/AGENT.md +88 -0
- package/agents/e2e-runner/evals/triggers.json +16 -0
- package/agents/fastapi-reviewer/AGENT.md +63 -0
- package/agents/fastapi-reviewer/evals/triggers.json +15 -0
- package/agents/flutter-reviewer/AGENT.md +70 -0
- package/agents/flutter-reviewer/evals/triggers.json +15 -0
- package/agents/fsharp-build-resolver/AGENT.md +81 -0
- package/agents/fsharp-build-resolver/evals/triggers.json +15 -0
- package/agents/fsharp-reviewer/AGENT.md +77 -0
- package/agents/fsharp-reviewer/evals/triggers.json +15 -0
- package/agents/go-build-resolver/AGENT.md +85 -0
- package/agents/go-build-resolver/evals/triggers.json +16 -0
- package/agents/go-reviewer/AGENT.md +66 -0
- package/agents/go-reviewer/evals/triggers.json +16 -0
- package/agents/healthcare-reviewer/AGENT.md +65 -0
- package/agents/healthcare-reviewer/evals/triggers.json +16 -0
- package/agents/i18n-reviewer/AGENT.md +64 -0
- package/agents/i18n-reviewer/evals/triggers.json +16 -0
- package/agents/inbox-triager/AGENT.md +98 -0
- package/agents/inbox-triager/evals/triggers.json +16 -0
- package/agents/infra-reviewer/AGENT.md +93 -0
- package/agents/infra-reviewer/evals/triggers.json +15 -0
- package/agents/java-build-resolver/AGENT.md +82 -0
- package/agents/java-build-resolver/evals/triggers.json +16 -0
- package/agents/java-reviewer/AGENT.md +64 -0
- package/agents/java-reviewer/evals/triggers.json +16 -0
- package/agents/kotlin-build-resolver/AGENT.md +89 -0
- package/agents/kotlin-build-resolver/evals/triggers.json +16 -0
- package/agents/kotlin-reviewer/AGENT.md +75 -0
- package/agents/kotlin-reviewer/evals/triggers.json +16 -0
- package/agents/mle-reviewer/AGENT.md +68 -0
- package/agents/mle-reviewer/evals/triggers.json +16 -0
- package/agents/network-config-reviewer/AGENT.md +68 -0
- package/agents/network-config-reviewer/evals/triggers.json +17 -0
- package/agents/payments-reviewer/AGENT.md +64 -0
- package/agents/payments-reviewer/evals/triggers.json +16 -0
- package/agents/performance-optimizer/AGENT.md +86 -0
- package/agents/performance-optimizer/evals/triggers.json +16 -0
- package/agents/perl-build-resolver/AGENT.md +84 -0
- package/agents/perl-build-resolver/evals/triggers.json +15 -0
- package/agents/perl-reviewer/AGENT.md +77 -0
- package/agents/perl-reviewer/evals/triggers.json +15 -0
- package/agents/php-build-resolver/AGENT.md +88 -0
- package/agents/php-build-resolver/evals/triggers.json +16 -0
- package/agents/php-reviewer/AGENT.md +61 -0
- package/agents/php-reviewer/evals/triggers.json +15 -0
- package/agents/planner/AGENT.md +75 -0
- package/agents/planner/evals/triggers.json +17 -0
- package/agents/pr-test-analyzer/AGENT.md +82 -0
- package/agents/pr-test-analyzer/evals/triggers.json +16 -0
- package/agents/python-build-resolver/AGENT.md +87 -0
- package/agents/python-build-resolver/evals/triggers.json +16 -0
- package/agents/python-reviewer/AGENT.md +63 -0
- package/agents/python-reviewer/evals/triggers.json +15 -0
- package/agents/rag-reviewer/AGENT.md +71 -0
- package/agents/rag-reviewer/evals/triggers.json +16 -0
- package/agents/react-reviewer/AGENT.md +70 -0
- package/agents/react-reviewer/evals/triggers.json +16 -0
- package/agents/refactor-cleaner/AGENT.md +82 -0
- package/agents/refactor-cleaner/evals/triggers.json +16 -0
- package/agents/ruby-build-resolver/AGENT.md +93 -0
- package/agents/ruby-build-resolver/evals/triggers.json +16 -0
- package/agents/ruby-reviewer/AGENT.md +62 -0
- package/agents/ruby-reviewer/evals/triggers.json +16 -0
- package/agents/rust-build-resolver/AGENT.md +98 -0
- package/agents/rust-build-resolver/evals/triggers.json +16 -0
- package/agents/rust-reviewer/AGENT.md +78 -0
- package/agents/rust-reviewer/evals/triggers.json +15 -0
- package/agents/security-reviewer/AGENT.md +84 -0
- package/agents/security-reviewer/evals/triggers.json +16 -0
- package/agents/silent-failure-hunter/AGENT.md +66 -0
- package/agents/silent-failure-hunter/evals/triggers.json +16 -0
- package/agents/solidity-reviewer/AGENT.md +70 -0
- package/agents/solidity-reviewer/evals/triggers.json +16 -0
- package/agents/spec-reviewer/AGENT.md +95 -0
- package/agents/spec-reviewer/evals/behavior.json +57 -0
- package/agents/spec-reviewer/evals/triggers.json +16 -0
- package/agents/swift-build-resolver/AGENT.md +85 -0
- package/agents/swift-build-resolver/evals/triggers.json +15 -0
- package/agents/swift-reviewer/AGENT.md +75 -0
- package/agents/swift-reviewer/evals/triggers.json +15 -0
- package/agents/task-implementer/AGENT.md +89 -0
- package/agents/task-implementer/evals/behavior.json +47 -0
- package/agents/task-implementer/evals/triggers.json +16 -0
- package/agents/typescript-build-resolver/AGENT.md +76 -0
- package/agents/typescript-build-resolver/evals/triggers.json +15 -0
- package/agents/typescript-reviewer/AGENT.md +76 -0
- package/agents/typescript-reviewer/evals/triggers.json +15 -0
- package/agents/vue-reviewer/AGENT.md +75 -0
- package/agents/vue-reviewer/evals/triggers.json +15 -0
- package/bin/kete-loom.js +723 -0
- package/commands/aside.md +19 -0
- package/commands/brainstorm.md +25 -0
- package/commands/build-fix.md +26 -0
- package/commands/campaign.md +19 -0
- package/commands/changelog.md +36 -0
- package/commands/checkpoint.md +26 -0
- package/commands/codemap.md +25 -0
- package/commands/commit.md +26 -0
- package/commands/debug.md +27 -0
- package/commands/deps-audit.md +32 -0
- package/commands/dual-review.md +34 -0
- package/commands/epic-decompose.md +21 -0
- package/commands/explain.md +37 -0
- package/commands/feature-dev.md +23 -0
- package/commands/finish-branch.md +26 -0
- package/commands/fix-bug.md +38 -0
- package/commands/hookify.md +23 -0
- package/commands/i18n-check.md +39 -0
- package/commands/issue-sync.md +22 -0
- package/commands/jira.md +19 -0
- package/commands/learn.md +23 -0
- package/commands/loom.md +21 -0
- package/commands/loop.md +20 -0
- package/commands/model-route.md +27 -0
- package/commands/onboard.md +35 -0
- package/commands/orchestrate.md +21 -0
- package/commands/plan-feature.md +36 -0
- package/commands/postmortem.md +42 -0
- package/commands/pr-describe.md +39 -0
- package/commands/pr.md +22 -0
- package/commands/prd.md +41 -0
- package/commands/production-readiness.md +45 -0
- package/commands/project-init.md +21 -0
- package/commands/refactor-clean.md +24 -0
- package/commands/resume-session.md +22 -0
- package/commands/review.md +35 -0
- package/commands/save-session.md +37 -0
- package/commands/security-scan.md +32 -0
- package/commands/sessions.md +21 -0
- package/commands/skill-create.md +21 -0
- package/commands/tdd.md +36 -0
- package/commands/test-coverage.md +24 -0
- package/commands/threat-model.md +36 -0
- package/commands/update-docs.md +25 -0
- package/commands/usage-report.md +43 -0
- package/commands/verify.md +21 -0
- package/hooks/block-dangerous-commands/HOOK.md +30 -0
- package/hooks/block-dangerous-commands/cases.json +50 -0
- package/hooks/block-dangerous-commands/hook.js +75 -0
- package/hooks/block-foreground-servers/HOOK.md +34 -0
- package/hooks/block-foreground-servers/cases.json +31 -0
- package/hooks/block-foreground-servers/hook.js +41 -0
- package/hooks/block-no-verify/HOOK.md +25 -0
- package/hooks/block-no-verify/cases.json +30 -0
- package/hooks/block-no-verify/hook.js +43 -0
- package/hooks/capture-lessons/HOOK.md +24 -0
- package/hooks/capture-lessons/hook.js +48 -0
- package/hooks/format-on-edit/HOOK.md +24 -0
- package/hooks/format-on-edit/hook.js +89 -0
- package/hooks/guard-secrets/HOOK.md +19 -0
- package/hooks/guard-secrets/cases.json +110 -0
- package/hooks/guard-secrets/hook.js +44 -0
- package/hooks/load-session-context/HOOK.md +20 -0
- package/hooks/load-session-context/hook.js +56 -0
- package/hooks/notify-on-stop/HOOK.md +25 -0
- package/hooks/notify-on-stop/hook.js +27 -0
- package/hooks/protect-files/HOOK.md +24 -0
- package/hooks/protect-files/cases.json +27 -0
- package/hooks/protect-files/hook.js +39 -0
- package/hooks/protect-lint-config/HOOK.md +29 -0
- package/hooks/protect-lint-config/cases.json +18 -0
- package/hooks/protect-lint-config/fixtures/.eslintrc.json +1 -0
- package/hooks/protect-lint-config/fixtures/.golangci.yml +1 -0
- package/hooks/protect-lint-config/fixtures/.prettierrc +1 -0
- package/hooks/protect-lint-config/fixtures/.rubocop.yml +1 -0
- package/hooks/protect-lint-config/fixtures/biome.json +1 -0
- package/hooks/protect-lint-config/fixtures/eslint.config.mjs +1 -0
- package/hooks/protect-lint-config/fixtures/ruff.toml +1 -0
- package/hooks/protect-lint-config/hook.js +25 -0
- package/hooks/read-before-edit/HOOK.md +26 -0
- package/hooks/read-before-edit/cases.json +15 -0
- package/hooks/read-before-edit/hook.js +50 -0
- package/hooks/run.js +148 -0
- package/hooks/verify-before-stop/HOOK.md +32 -0
- package/hooks/verify-before-stop/hook.js +70 -0
- package/mcp/atlassian.json +11 -0
- package/mcp/chrome-devtools.json +18 -0
- package/mcp/clickhouse.json +11 -0
- package/mcp/cloudflare.json +11 -0
- package/mcp/context7.json +11 -0
- package/mcp/exa.json +11 -0
- package/mcp/fetch.json +17 -0
- package/mcp/figma.json +11 -0
- package/mcp/firecrawl.json +11 -0
- package/mcp/git.json +17 -0
- package/mcp/github.json +11 -0
- package/mcp/linear.json +11 -0
- package/mcp/memory.json +18 -0
- package/mcp/notion.json +11 -0
- package/mcp/playwright.json +18 -0
- package/mcp/sentry.json +11 -0
- package/mcp/stripe.json +11 -0
- package/mcp/supabase.json +11 -0
- package/mcp/time.json +17 -0
- package/mcp/vercel.json +11 -0
- package/package.json +61 -4
- package/profiles.json +214 -0
- package/rules/common.md +21 -0
- package/rules/cpp.md +29 -0
- package/rules/csharp.md +25 -0
- package/rules/dart.md +29 -0
- package/rules/fsharp.md +28 -0
- package/rules/git.md +26 -0
- package/rules/go.md +29 -0
- package/rules/java.md +29 -0
- package/rules/kotlin.md +27 -0
- package/rules/perl.md +26 -0
- package/rules/php.md +28 -0
- package/rules/python.md +30 -0
- package/rules/ruby.md +27 -0
- package/rules/rust.md +26 -0
- package/rules/security.md +29 -0
- package/rules/swift.md +28 -0
- package/rules/testing.md +25 -0
- package/rules/typescript.md +29 -0
- package/rules/use-skills.md +23 -0
- package/schemas/skill-frontmatter.schema.json +52 -0
- package/scripts/lib/audit.js +96 -0
- package/scripts/lib/behavior.js +52 -0
- package/scripts/lib/frontmatter.js +65 -0
- package/scripts/lib/hooks-install.js +294 -0
- package/scripts/lib/i18n.js +51 -0
- package/scripts/lib/inventory.js +85 -0
- package/scripts/lib/lint.js +180 -0
- package/scripts/lib/mcp-install.js +288 -0
- package/scripts/lib/profiles.js +128 -0
- package/scripts/lib/render.js +92 -0
- package/scripts/lib/rules-install.js +118 -0
- package/scripts/lib/skills.js +87 -0
- package/scripts/lib/targets.js +123 -0
- package/skills/accounting-api-integration/SKILL.md +81 -0
- package/skills/accounting-api-integration/evals/triggers.json +17 -0
- package/skills/accounting-api-integration/references/quickbooks.md +48 -0
- package/skills/accounting-api-integration/references/xero.md +45 -0
- package/skills/agent-failure-debugging/SKILL.md +92 -0
- package/skills/agent-failure-debugging/evals/triggers.json +16 -0
- package/skills/agent-harness-design/SKILL.md +125 -0
- package/skills/agent-harness-design/evals/triggers.json +21 -0
- package/skills/agent-outbound-messaging/SKILL.md +92 -0
- package/skills/agent-outbound-messaging/evals/triggers.json +16 -0
- package/skills/agent-security/SKILL.md +117 -0
- package/skills/agent-security/evals/triggers.json +16 -0
- package/skills/agent-security/references/host-configs.md +37 -0
- package/skills/ai-media-generation/SKILL.md +89 -0
- package/skills/ai-media-generation/evals/triggers.json +16 -0
- package/skills/ai-media-generation/references/job-pipeline.md +76 -0
- package/skills/angular-patterns/SKILL.md +122 -0
- package/skills/angular-patterns/evals/triggers.json +16 -0
- package/skills/api-client-integration/SKILL.md +86 -0
- package/skills/api-client-integration/evals/triggers.json +16 -0
- package/skills/api-client-integration/references/resilience.md +57 -0
- package/skills/api-design/SKILL.md +96 -0
- package/skills/api-design/evals/triggers.json +18 -0
- package/skills/api-design/references/conventions.md +133 -0
- package/skills/architecture-decision-records/SKILL.md +98 -0
- package/skills/architecture-decision-records/evals/triggers.json +17 -0
- package/skills/article-writing/SKILL.md +108 -0
- package/skills/article-writing/evals/triggers.json +16 -0
- package/skills/aspnet-core-patterns/SKILL.md +149 -0
- package/skills/aspnet-core-patterns/evals/triggers.json +16 -0
- package/skills/auth-patterns/SKILL.md +104 -0
- package/skills/auth-patterns/evals/triggers.json +17 -0
- package/skills/auth-patterns/references/oauth-oidc.md +64 -0
- package/skills/autonomous-loops/SKILL.md +99 -0
- package/skills/autonomous-loops/evals/triggers.json +14 -0
- package/skills/aws-patterns/SKILL.md +91 -0
- package/skills/aws-patterns/evals/triggers.json +16 -0
- package/skills/azure-patterns/SKILL.md +86 -0
- package/skills/azure-patterns/evals/triggers.json +16 -0
- package/skills/benchmark-methodology/SKILL.md +88 -0
- package/skills/benchmark-methodology/evals/triggers.json +16 -0
- package/skills/benchmark-methodology/references/language-harnesses.md +130 -0
- package/skills/bgp-diagnostics/SKILL.md +84 -0
- package/skills/bgp-diagnostics/evals/triggers.json +18 -0
- package/skills/bgp-diagnostics/references/bgp-reference.md +81 -0
- package/skills/bioinformatics-workflows/SKILL.md +108 -0
- package/skills/bioinformatics-workflows/evals/triggers.json +16 -0
- package/skills/bioinformatics-workflows/references/commands.md +71 -0
- package/skills/bioinformatics-workflows/references/formats.md +24 -0
- package/skills/bioinformatics-workflows/references/workflow-managers.md +107 -0
- package/skills/blender-automation/SKILL.md +100 -0
- package/skills/blender-automation/evals/triggers.json +16 -0
- package/skills/blender-automation/references/batch-and-render.md +77 -0
- package/skills/blender-automation/references/bpy-inspection.md +91 -0
- package/skills/blender-automation/references/rig-and-retarget-checks.md +23 -0
- package/skills/brand-strategy/SKILL.md +83 -0
- package/skills/brand-strategy/evals/triggers.json +16 -0
- package/skills/brand-voice/SKILL.md +112 -0
- package/skills/brand-voice/evals/triggers.json +16 -0
- package/skills/browser-qa/SKILL.md +99 -0
- package/skills/browser-qa/evals/triggers.json +16 -0
- package/skills/bun-runtime/SKILL.md +93 -0
- package/skills/bun-runtime/evals/triggers.json +16 -0
- package/skills/change-impact-analysis/SKILL.md +89 -0
- package/skills/change-impact-analysis/evals/triggers.json +16 -0
- package/skills/change-impact-analysis/references/graph-commands.md +28 -0
- package/skills/cisco-ios-config/SKILL.md +101 -0
- package/skills/cisco-ios-config/evals/triggers.json +18 -0
- package/skills/cisco-ios-config/references/verification.md +63 -0
- package/skills/clickhouse-patterns/SKILL.md +101 -0
- package/skills/clickhouse-patterns/evals/triggers.json +18 -0
- package/skills/clickhouse-patterns/references/engines-and-views.md +138 -0
- package/skills/clinical-decision-support/SKILL.md +90 -0
- package/skills/clinical-decision-support/evals/triggers.json +16 -0
- package/skills/clinical-decision-support/references/cds-hooks.md +76 -0
- package/skills/clinical-decision-support/references/regulatory-boundaries.md +37 -0
- package/skills/code-tour/SKILL.md +97 -0
- package/skills/code-tour/evals/triggers.json +14 -0
- package/skills/codebase-onboarding/SKILL.md +112 -0
- package/skills/codebase-onboarding/evals/triggers.json +14 -0
- package/skills/cold-outreach-sequences/SKILL.md +90 -0
- package/skills/cold-outreach-sequences/evals/triggers.json +16 -0
- package/skills/content-repurposing/SKILL.md +82 -0
- package/skills/content-repurposing/evals/triggers.json +16 -0
- package/skills/context-budget/SKILL.md +84 -0
- package/skills/context-budget/evals/triggers.json +14 -0
- package/skills/contract-drafting/SKILL.md +96 -0
- package/skills/contract-drafting/evals/triggers.json +16 -0
- package/skills/contract-drafting/references/term-sheets.md +68 -0
- package/skills/contract-first-development/SKILL.md +86 -0
- package/skills/contract-first-development/evals/triggers.json +16 -0
- package/skills/contract-first-development/references/tooling.md +46 -0
- package/skills/conventional-commits/SKILL.md +144 -0
- package/skills/conventional-commits/evals/triggers.json +16 -0
- package/skills/cpp-patterns/SKILL.md +129 -0
- package/skills/cpp-patterns/evals/triggers.json +16 -0
- package/skills/cpp-patterns/references/cmake-and-tooling.md +88 -0
- package/skills/cpp-patterns/references/undefined-behaviour.md +75 -0
- package/skills/cpp-testing/SKILL.md +131 -0
- package/skills/cpp-testing/evals/triggers.json +16 -0
- package/skills/csharp-patterns/SKILL.md +110 -0
- package/skills/csharp-patterns/evals/triggers.json +17 -0
- package/skills/csharp-patterns/references/analyzers.md +59 -0
- package/skills/csharp-testing/SKILL.md +85 -0
- package/skills/csharp-testing/evals/triggers.json +17 -0
- package/skills/csharp-testing/references/integration-tests.md +77 -0
- package/skills/css-architecture/SKILL.md +143 -0
- package/skills/css-architecture/evals/triggers.json +16 -0
- package/skills/customs-trade-compliance/SKILL.md +95 -0
- package/skills/customs-trade-compliance/evals/triggers.json +16 -0
- package/skills/customs-trade-compliance/references/incoterms-2020.md +42 -0
- package/skills/dart-patterns/SKILL.md +157 -0
- package/skills/dart-patterns/evals/triggers.json +18 -0
- package/skills/dart-testing/SKILL.md +164 -0
- package/skills/dart-testing/evals/triggers.json +18 -0
- package/skills/data-analysis-notebooks/SKILL.md +113 -0
- package/skills/data-analysis-notebooks/evals/triggers.json +16 -0
- package/skills/data-analysis-notebooks/references/dataframe-pitfalls.md +49 -0
- package/skills/data-analysis-notebooks/references/statistics-pitfalls.md +24 -0
- package/skills/data-pipelines/SKILL.md +90 -0
- package/skills/data-pipelines/evals/triggers.json +16 -0
- package/skills/data-pipelines/references/orchestrators.md +64 -0
- package/skills/database-migrations/SKILL.md +102 -0
- package/skills/database-migrations/evals/triggers.json +16 -0
- package/skills/database-migrations/references/recipes.md +98 -0
- package/skills/database-migrations/references/tools.md +21 -0
- package/skills/dbt-patterns/SKILL.md +96 -0
- package/skills/dbt-patterns/evals/triggers.json +16 -0
- package/skills/dbt-patterns/references/yaml-examples.md +114 -0
- package/skills/decision-council/SKILL.md +98 -0
- package/skills/decision-council/evals/triggers.json +16 -0
- package/skills/deep-research/SKILL.md +107 -0
- package/skills/deep-research/evals/triggers.json +14 -0
- package/skills/dependency-audit/SKILL.md +103 -0
- package/skills/dependency-audit/evals/triggers.json +16 -0
- package/skills/dependency-audit/references/tools.md +124 -0
- package/skills/deployment-strategies/SKILL.md +108 -0
- package/skills/deployment-strategies/evals/triggers.json +16 -0
- package/skills/design-brainstorming/SKILL.md +132 -0
- package/skills/design-brainstorming/evals/behavior.json +55 -0
- package/skills/design-brainstorming/evals/triggers.json +16 -0
- package/skills/design-brainstorming/references/visual-mockups.md +34 -0
- package/skills/desktop-app-testing/SKILL.md +104 -0
- package/skills/desktop-app-testing/evals/triggers.json +16 -0
- package/skills/desktop-app-testing/references/drivers.md +81 -0
- package/skills/django-patterns/SKILL.md +123 -0
- package/skills/django-patterns/evals/triggers.json +16 -0
- package/skills/docker-patterns/SKILL.md +132 -0
- package/skills/docker-patterns/evals/triggers.json +16 -0
- package/skills/docker-patterns/references/dockerfiles.md +105 -0
- package/skills/document-processing/SKILL.md +100 -0
- package/skills/document-processing/evals/triggers.json +17 -0
- package/skills/document-processing/references/extraction-and-ocr.md +71 -0
- package/skills/document-processing/references/forms-and-conversion.md +69 -0
- package/skills/document-processing/references/redaction.md +61 -0
- package/skills/e2e-testing-playwright/SKILL.md +94 -0
- package/skills/e2e-testing-playwright/evals/triggers.json +16 -0
- package/skills/e2e-testing-playwright/references/config-and-ci.md +129 -0
- package/skills/ef-core-patterns/SKILL.md +117 -0
- package/skills/ef-core-patterns/evals/triggers.json +16 -0
- package/skills/email-deliverability/SKILL.md +99 -0
- package/skills/email-deliverability/evals/triggers.json +17 -0
- package/skills/email-deliverability/references/dns-records.md +85 -0
- package/skills/energy-procurement/SKILL.md +106 -0
- package/skills/energy-procurement/evals/triggers.json +16 -0
- package/skills/error-handling-patterns/SKILL.md +112 -0
- package/skills/error-handling-patterns/evals/triggers.json +18 -0
- package/skills/error-handling-patterns/references/language-idioms.md +49 -0
- package/skills/estimation-and-scoping/SKILL.md +97 -0
- package/skills/estimation-and-scoping/evals/triggers.json +14 -0
- package/skills/evm-dapp-integration/SKILL.md +73 -0
- package/skills/evm-dapp-integration/evals/triggers.json +16 -0
- package/skills/fastapi-patterns/SKILL.md +127 -0
- package/skills/fastapi-patterns/evals/triggers.json +16 -0
- package/skills/ffmpeg-media-processing/SKILL.md +94 -0
- package/skills/ffmpeg-media-processing/evals/triggers.json +16 -0
- package/skills/ffmpeg-media-processing/references/recipes.md +112 -0
- package/skills/fhir-integration/SKILL.md +81 -0
- package/skills/fhir-integration/evals/triggers.json +16 -0
- package/skills/fhir-integration/references/search-and-bundles.md +73 -0
- package/skills/fhir-integration/references/smart-on-fhir.md +50 -0
- package/skills/finishing-a-branch/SKILL.md +127 -0
- package/skills/finishing-a-branch/evals/behavior.json +49 -0
- package/skills/finishing-a-branch/evals/triggers.json +16 -0
- package/skills/flask-patterns/SKILL.md +132 -0
- package/skills/flask-patterns/evals/triggers.json +16 -0
- package/skills/flutter-patterns/SKILL.md +99 -0
- package/skills/flutter-patterns/evals/triggers.json +16 -0
- package/skills/flutterwave-integration/SKILL.md +75 -0
- package/skills/flutterwave-integration/evals/triggers.json +16 -0
- package/skills/flutterwave-integration/references/api.md +73 -0
- package/skills/flutterwave-integration/references/webhooks.md +49 -0
- package/skills/freight-carrier-management/SKILL.md +107 -0
- package/skills/freight-carrier-management/evals/triggers.json +16 -0
- package/skills/fsharp-patterns/SKILL.md +133 -0
- package/skills/fsharp-patterns/evals/triggers.json +16 -0
- package/skills/fsharp-testing/SKILL.md +136 -0
- package/skills/fsharp-testing/evals/triggers.json +16 -0
- package/skills/gcp-patterns/SKILL.md +86 -0
- package/skills/gcp-patterns/evals/triggers.json +16 -0
- package/skills/git-workflow/SKILL.md +114 -0
- package/skills/git-workflow/evals/triggers.json +16 -0
- package/skills/git-worktrees/SKILL.md +130 -0
- package/skills/git-worktrees/evals/behavior.json +56 -0
- package/skills/git-worktrees/evals/triggers.json +16 -0
- package/skills/github-actions-ci/SKILL.md +117 -0
- package/skills/github-actions-ci/evals/triggers.json +16 -0
- package/skills/github-api-automation/SKILL.md +101 -0
- package/skills/github-api-automation/evals/triggers.json +17 -0
- package/skills/go-patterns/SKILL.md +118 -0
- package/skills/go-patterns/evals/triggers.json +17 -0
- package/skills/go-patterns/references/concurrency.md +162 -0
- package/skills/go-testing/SKILL.md +154 -0
- package/skills/go-testing/evals/triggers.json +17 -0
- package/skills/google-workspace-integration/SKILL.md +65 -0
- package/skills/google-workspace-integration/evals/triggers.json +17 -0
- package/skills/google-workspace-integration/references/api.md +121 -0
- package/skills/harmonyos-arkts/SKILL.md +117 -0
- package/skills/harmonyos-arkts/evals/triggers.json +16 -0
- package/skills/harmonyos-arkts/references/build-errors.md +42 -0
- package/skills/hexagonal-architecture/SKILL.md +89 -0
- package/skills/hexagonal-architecture/evals/triggers.json +17 -0
- package/skills/hipaa-compliance/SKILL.md +91 -0
- package/skills/hipaa-compliance/evals/triggers.json +18 -0
- package/skills/hipaa-compliance/references/safeguards.md +68 -0
- package/skills/hl7v2-integration/SKILL.md +69 -0
- package/skills/hl7v2-integration/evals/triggers.json +16 -0
- package/skills/hl7v2-integration/references/messages-and-ack.md +78 -0
- package/skills/homelab-network-setup/SKILL.md +125 -0
- package/skills/homelab-network-setup/evals/triggers.json +18 -0
- package/skills/homelab-network-setup/references/firewall-and-dns.md +45 -0
- package/skills/homelab-network-setup/references/wireguard.md +72 -0
- package/skills/hubtel-integration/SKILL.md +77 -0
- package/skills/hubtel-integration/evals/triggers.json +16 -0
- package/skills/hubtel-integration/references/api.md +92 -0
- package/skills/i18n-localization/SKILL.md +114 -0
- package/skills/i18n-localization/evals/triggers.json +16 -0
- package/skills/i18n-localization/references/libraries.md +52 -0
- package/skills/implementation-plans/SKILL.md +117 -0
- package/skills/implementation-plans/evals/behavior.json +54 -0
- package/skills/implementation-plans/evals/triggers.json +16 -0
- package/skills/incident-postmortem/SKILL.md +118 -0
- package/skills/incident-postmortem/evals/triggers.json +14 -0
- package/skills/inventory-demand-planning/SKILL.md +89 -0
- package/skills/inventory-demand-planning/evals/triggers.json +16 -0
- package/skills/inventory-demand-planning/references/formulas.md +62 -0
- package/skills/investor-materials/SKILL.md +127 -0
- package/skills/investor-materials/evals/triggers.json +16 -0
- package/skills/investor-materials/references/templates.md +74 -0
- package/skills/invoicing-and-tax/SKILL.md +84 -0
- package/skills/invoicing-and-tax/evals/triggers.json +17 -0
- package/skills/invoicing-and-tax/references/e-invoicing.md +24 -0
- package/skills/invoicing-and-tax/references/invoice-fields.md +38 -0
- package/skills/invoicing-and-tax/references/rounding.md +26 -0
- package/skills/ios-platform-features/SKILL.md +99 -0
- package/skills/ios-platform-features/evals/triggers.json +16 -0
- package/skills/ios-platform-features/references/foundation-models.md +90 -0
- package/skills/java-patterns/SKILL.md +141 -0
- package/skills/java-patterns/evals/triggers.json +17 -0
- package/skills/java-testing/SKILL.md +142 -0
- package/skills/java-testing/evals/triggers.json +16 -0
- package/skills/jetpack-compose-patterns/SKILL.md +88 -0
- package/skills/jetpack-compose-patterns/evals/triggers.json +16 -0
- package/skills/jira-integration/SKILL.md +92 -0
- package/skills/jira-integration/evals/triggers.json +17 -0
- package/skills/jpa-hibernate/SKILL.md +92 -0
- package/skills/jpa-hibernate/evals/triggers.json +18 -0
- package/skills/jpa-hibernate/references/mapping.md +99 -0
- package/skills/jvm-sql-mappers/SKILL.md +98 -0
- package/skills/jvm-sql-mappers/evals/triggers.json +16 -0
- package/skills/jvm-sql-mappers/references/examples.md +129 -0
- package/skills/kotlin-multiplatform/SKILL.md +97 -0
- package/skills/kotlin-multiplatform/evals/triggers.json +16 -0
- package/skills/kotlin-patterns/SKILL.md +128 -0
- package/skills/kotlin-patterns/evals/triggers.json +16 -0
- package/skills/kotlin-testing/SKILL.md +117 -0
- package/skills/kotlin-testing/evals/triggers.json +16 -0
- package/skills/ktor-patterns/SKILL.md +135 -0
- package/skills/ktor-patterns/evals/triggers.json +18 -0
- package/skills/kubernetes-patterns/SKILL.md +106 -0
- package/skills/kubernetes-patterns/evals/triggers.json +16 -0
- package/skills/kubernetes-patterns/references/manifests.md +115 -0
- package/skills/laravel-patterns/SKILL.md +136 -0
- package/skills/laravel-patterns/evals/triggers.json +16 -0
- package/skills/linear-integration/SKILL.md +98 -0
- package/skills/linear-integration/evals/triggers.json +17 -0
- package/skills/literature-review/SKILL.md +109 -0
- package/skills/literature-review/evals/triggers.json +16 -0
- package/skills/literature-review/references/appraisal.md +41 -0
- package/skills/literature-review/references/search-sources.md +39 -0
- package/skills/llm-app-patterns/SKILL.md +97 -0
- package/skills/llm-app-patterns/evals/triggers.json +17 -0
- package/skills/llm-evals/SKILL.md +98 -0
- package/skills/llm-evals/evals/triggers.json +16 -0
- package/skills/llm-evals/references/graders.md +66 -0
- package/skills/logistics-exception-management/SKILL.md +90 -0
- package/skills/logistics-exception-management/evals/triggers.json +16 -0
- package/skills/manim-animations/SKILL.md +106 -0
- package/skills/manim-animations/evals/triggers.json +16 -0
- package/skills/market-research/SKILL.md +117 -0
- package/skills/market-research/evals/triggers.json +16 -0
- package/skills/marketing-campaign/SKILL.md +111 -0
- package/skills/marketing-campaign/evals/triggers.json +16 -0
- package/skills/mcp-server-patterns/SKILL.md +127 -0
- package/skills/mcp-server-patterns/evals/triggers.json +18 -0
- package/skills/mcp-server-patterns/references/protocol-notes.md +68 -0
- package/skills/metrics-dashboards/SKILL.md +113 -0
- package/skills/metrics-dashboards/evals/triggers.json +16 -0
- package/skills/ml-experiment-workflow/SKILL.md +125 -0
- package/skills/ml-experiment-workflow/evals/triggers.json +16 -0
- package/skills/mobile-accessibility/SKILL.md +94 -0
- package/skills/mobile-accessibility/evals/triggers.json +16 -0
- package/skills/mongodb-patterns/SKILL.md +115 -0
- package/skills/mongodb-patterns/evals/triggers.json +18 -0
- package/skills/mongodb-patterns/references/indexes-and-aggregation.md +94 -0
- package/skills/mpesa-daraja-integration/SKILL.md +70 -0
- package/skills/mpesa-daraja-integration/evals/triggers.json +16 -0
- package/skills/mpesa-daraja-integration/references/api.md +103 -0
- package/skills/mpesa-daraja-integration/references/callbacks.md +74 -0
- package/skills/mtn-momo-integration/SKILL.md +66 -0
- package/skills/mtn-momo-integration/evals/triggers.json +16 -0
- package/skills/mtn-momo-integration/references/api.md +153 -0
- package/skills/mtn-momo-integration/references/callbacks.md +92 -0
- package/skills/mtn-momo-integration/references/sandbox-and-go-live.md +51 -0
- package/skills/mtn-momo-integration/scripts/sandbox-setup.js +79 -0
- package/skills/mysql-patterns/SKILL.md +96 -0
- package/skills/mysql-patterns/evals/triggers.json +16 -0
- package/skills/mysql-patterns/references/explain.md +34 -0
- package/skills/mysql-patterns/references/online-ddl.md +41 -0
- package/skills/nestjs-patterns/SKILL.md +114 -0
- package/skills/nestjs-patterns/evals/triggers.json +16 -0
- package/skills/nestjs-patterns/references/testing.md +68 -0
- package/skills/network-automation/SKILL.md +107 -0
- package/skills/network-automation/evals/triggers.json +18 -0
- package/skills/network-automation/references/tool-snippets.md +153 -0
- package/skills/network-design/SKILL.md +98 -0
- package/skills/network-design/evals/triggers.json +16 -0
- package/skills/network-troubleshooting/SKILL.md +152 -0
- package/skills/network-troubleshooting/evals/triggers.json +18 -0
- package/skills/network-troubleshooting/references/commands.md +33 -0
- package/skills/nextjs-patterns/SKILL.md +150 -0
- package/skills/nextjs-patterns/evals/triggers.json +18 -0
- package/skills/nextjs-patterns/references/caching.md +87 -0
- package/skills/node-backend-patterns/SKILL.md +103 -0
- package/skills/node-backend-patterns/evals/triggers.json +16 -0
- package/skills/node-backend-patterns/references/templates.md +122 -0
- package/skills/nuxt-patterns/SKILL.md +103 -0
- package/skills/nuxt-patterns/evals/triggers.json +16 -0
- package/skills/observability/SKILL.md +125 -0
- package/skills/observability/evals/triggers.json +17 -0
- package/skills/observability/references/otel-setup.md +87 -0
- package/skills/observability/references/slo-alerts.md +70 -0
- package/skills/open-source-release/SKILL.md +107 -0
- package/skills/open-source-release/evals/triggers.json +15 -0
- package/skills/open-source-release/references/history-scrub.md +65 -0
- package/skills/parallel-agent-orchestration/SKILL.md +106 -0
- package/skills/parallel-agent-orchestration/evals/triggers.json +14 -0
- package/skills/patent-research/SKILL.md +94 -0
- package/skills/patent-research/evals/triggers.json +16 -0
- package/skills/patent-research/references/databases-and-queries.md +52 -0
- package/skills/paystack-integration/SKILL.md +59 -0
- package/skills/paystack-integration/evals/triggers.json +14 -0
- package/skills/paystack-integration/references/api.md +73 -0
- package/skills/paystack-integration/references/mobile-money.md +50 -0
- package/skills/paystack-integration/references/webhooks.md +80 -0
- package/skills/pci-dss-scope/SKILL.md +103 -0
- package/skills/pci-dss-scope/evals/triggers.json +18 -0
- package/skills/pci-dss-scope/references/saq-and-data.md +36 -0
- package/skills/perl-patterns/SKILL.md +135 -0
- package/skills/perl-patterns/evals/triggers.json +18 -0
- package/skills/perl-testing/SKILL.md +126 -0
- package/skills/perl-testing/evals/triggers.json +17 -0
- package/skills/php-patterns/SKILL.md +116 -0
- package/skills/php-patterns/evals/triggers.json +16 -0
- package/skills/php-testing/SKILL.md +123 -0
- package/skills/php-testing/evals/triggers.json +16 -0
- package/skills/postgres-patterns/SKILL.md +103 -0
- package/skills/postgres-patterns/evals/triggers.json +17 -0
- package/skills/postgres-patterns/references/explain.md +59 -0
- package/skills/postgres-patterns/references/locks.md +53 -0
- package/skills/prd-writing/SKILL.md +124 -0
- package/skills/prd-writing/evals/triggers.json +15 -0
- package/skills/prisma-patterns/SKILL.md +83 -0
- package/skills/prisma-patterns/evals/triggers.json +18 -0
- package/skills/prisma-patterns/references/prisma-8.md +46 -0
- package/skills/prisma-patterns/references/workflow.md +50 -0
- package/skills/privacy-compliance/SKILL.md +121 -0
- package/skills/privacy-compliance/evals/triggers.json +18 -0
- package/skills/privacy-compliance/references/jurisdictions.md +51 -0
- package/skills/production-scheduling/SKILL.md +98 -0
- package/skills/production-scheduling/evals/triggers.json +16 -0
- package/skills/prompt-engineering/SKILL.md +92 -0
- package/skills/prompt-engineering/evals/triggers.json +16 -0
- package/skills/prospect-research/SKILL.md +87 -0
- package/skills/prospect-research/evals/triggers.json +16 -0
- package/skills/python-app-distribution/SKILL.md +107 -0
- package/skills/python-app-distribution/evals/triggers.json +16 -0
- package/skills/python-app-distribution/references/pypi-trusted-publishing.md +55 -0
- package/skills/python-app-distribution/references/windows-macos-signing.md +70 -0
- package/skills/python-patterns/SKILL.md +107 -0
- package/skills/python-patterns/evals/triggers.json +16 -0
- package/skills/python-patterns/references/tooling.md +101 -0
- package/skills/python-testing/SKILL.md +126 -0
- package/skills/python-testing/evals/triggers.json +16 -0
- package/skills/python-testing/references/mocking.md +71 -0
- package/skills/pytorch-patterns/SKILL.md +139 -0
- package/skills/pytorch-patterns/evals/triggers.json +16 -0
- package/skills/pytorch-patterns/references/debugging.md +39 -0
- package/skills/quality-nonconformance/SKILL.md +107 -0
- package/skills/quality-nonconformance/evals/triggers.json +16 -0
- package/skills/quality-nonconformance/references/8d-and-capa.md +46 -0
- package/skills/quarkus-patterns/SKILL.md +93 -0
- package/skills/quarkus-patterns/evals/triggers.json +18 -0
- package/skills/rag-pipeline-patterns/SKILL.md +117 -0
- package/skills/rag-pipeline-patterns/evals/triggers.json +18 -0
- package/skills/rag-pipeline-patterns/references/evaluation.md +37 -0
- package/skills/rag-pipeline-patterns/references/retrieval-recipes.md +78 -0
- package/skills/rails-patterns/SKILL.md +132 -0
- package/skills/rails-patterns/evals/triggers.json +16 -0
- package/skills/react-native-patterns/SKILL.md +101 -0
- package/skills/react-native-patterns/evals/triggers.json +16 -0
- package/skills/react-patterns/SKILL.md +140 -0
- package/skills/react-patterns/evals/triggers.json +18 -0
- package/skills/react-performance/SKILL.md +107 -0
- package/skills/react-performance/evals/triggers.json +18 -0
- package/skills/react-testing/SKILL.md +121 -0
- package/skills/react-testing/evals/triggers.json +18 -0
- package/skills/react-testing/references/msw.md +64 -0
- package/skills/react-testing/references/queries.md +41 -0
- package/skills/react-testing/references/setup.md +74 -0
- package/skills/recommender-systems/SKILL.md +119 -0
- package/skills/recommender-systems/evals/triggers.json +16 -0
- package/skills/recommender-systems/references/evaluation.md +39 -0
- package/skills/redis-patterns/SKILL.md +109 -0
- package/skills/redis-patterns/evals/triggers.json +18 -0
- package/skills/redis-patterns/references/operations.md +61 -0
- package/skills/refactoring-safely/SKILL.md +107 -0
- package/skills/refactoring-safely/evals/behavior.json +57 -0
- package/skills/refactoring-safely/evals/triggers.json +17 -0
- package/skills/release-management/SKILL.md +141 -0
- package/skills/release-management/evals/triggers.json +16 -0
- package/skills/remotion-video/SKILL.md +91 -0
- package/skills/remotion-video/evals/triggers.json +16 -0
- package/skills/remotion-video/references/lambda.md +66 -0
- package/skills/reproducible-dev-environments/SKILL.md +132 -0
- package/skills/reproducible-dev-environments/evals/triggers.json +16 -0
- package/skills/responding-to-code-review/SKILL.md +124 -0
- package/skills/responding-to-code-review/evals/behavior.json +54 -0
- package/skills/responding-to-code-review/evals/triggers.json +16 -0
- package/skills/returns-reverse-logistics/SKILL.md +97 -0
- package/skills/returns-reverse-logistics/evals/triggers.json +16 -0
- package/skills/ruby-patterns/SKILL.md +127 -0
- package/skills/ruby-patterns/evals/triggers.json +18 -0
- package/skills/ruby-testing/SKILL.md +113 -0
- package/skills/ruby-testing/evals/triggers.json +18 -0
- package/skills/runbook-writing/SKILL.md +101 -0
- package/skills/runbook-writing/evals/triggers.json +14 -0
- package/skills/rust-patterns/SKILL.md +118 -0
- package/skills/rust-patterns/evals/triggers.json +16 -0
- package/skills/rust-patterns/references/cargo-and-clippy.md +105 -0
- package/skills/rust-patterns/references/errors-and-traits.md +97 -0
- package/skills/rust-testing/SKILL.md +148 -0
- package/skills/rust-testing/evals/triggers.json +16 -0
- package/skills/rust-testing/references/fakes-proptest-async.md +113 -0
- package/skills/search-first/SKILL.md +73 -0
- package/skills/search-first/evals/triggers.json +14 -0
- package/skills/security-review/SKILL.md +58 -0
- package/skills/security-review/evals/behavior.json +56 -0
- package/skills/security-review/evals/triggers.json +14 -0
- package/skills/security-review/references/checklist.md +54 -0
- package/skills/security-review/scripts/scan-secrets.js +79 -0
- package/skills/seo-audit/SKILL.md +111 -0
- package/skills/seo-audit/evals/triggers.json +16 -0
- package/skills/seo-audit/references/checks.md +65 -0
- package/skills/session-handoff/SKILL.md +101 -0
- package/skills/session-handoff/evals/behavior.json +55 -0
- package/skills/session-handoff/evals/triggers.json +14 -0
- package/skills/skill-authoring/SKILL.md +98 -0
- package/skills/skill-authoring/evals/triggers.json +15 -0
- package/skills/skill-authoring/references/frontmatter.md +40 -0
- package/skills/skill-authoring/references/pressure-testing.md +87 -0
- package/skills/slack-app-integration/SKILL.md +108 -0
- package/skills/slack-app-integration/evals/triggers.json +17 -0
- package/skills/slide-decks/SKILL.md +107 -0
- package/skills/slide-decks/evals/triggers.json +18 -0
- package/skills/slide-decks/references/html-decks.md +86 -0
- package/skills/slide-decks/references/layouts.md +45 -0
- package/skills/slide-decks/references/pptx.md +87 -0
- package/skills/smart-contract-security/SKILL.md +110 -0
- package/skills/smart-contract-security/evals/triggers.json +16 -0
- package/skills/smart-contract-security/references/vulnerability-checklist.md +79 -0
- package/skills/social-media-publishing/SKILL.md +84 -0
- package/skills/social-media-publishing/evals/triggers.json +17 -0
- package/skills/social-media-publishing/references/platform-apis.md +116 -0
- package/skills/solidity-patterns/SKILL.md +95 -0
- package/skills/solidity-patterns/evals/triggers.json +16 -0
- package/skills/spring-boot-patterns/SKILL.md +128 -0
- package/skills/spring-boot-patterns/evals/triggers.json +18 -0
- package/skills/spring-boot-patterns/references/testing.md +72 -0
- package/skills/stripe-integration/SKILL.md +69 -0
- package/skills/stripe-integration/evals/triggers.json +16 -0
- package/skills/stripe-integration/references/api.md +71 -0
- package/skills/stripe-integration/references/billing.md +58 -0
- package/skills/stripe-integration/references/webhooks.md +76 -0
- package/skills/subagent-driven-development/SKILL.md +109 -0
- package/skills/subagent-driven-development/evals/behavior.json +53 -0
- package/skills/subagent-driven-development/evals/triggers.json +15 -0
- package/skills/subagent-driven-development/references/implementer-brief.md +60 -0
- package/skills/subagent-driven-development/references/reviewer-briefs.md +52 -0
- package/skills/subscription-billing-ops/SKILL.md +118 -0
- package/skills/subscription-billing-ops/evals/triggers.json +17 -0
- package/skills/subscription-billing-ops/references/proration.md +47 -0
- package/skills/subscription-billing-ops/references/revenue-metrics.md +38 -0
- package/skills/svelte-patterns/SKILL.md +122 -0
- package/skills/svelte-patterns/evals/triggers.json +16 -0
- package/skills/swift-patterns/SKILL.md +113 -0
- package/skills/swift-patterns/evals/triggers.json +16 -0
- package/skills/swift-patterns/references/concurrency-migration.md +40 -0
- package/skills/swift-testing/SKILL.md +121 -0
- package/skills/swift-testing/evals/triggers.json +16 -0
- package/skills/swift-testing/references/swift-testing-cheatsheet.md +81 -0
- package/skills/swiftui-patterns/SKILL.md +102 -0
- package/skills/swiftui-patterns/evals/triggers.json +16 -0
- package/skills/systematic-debugging/SKILL.md +92 -0
- package/skills/systematic-debugging/evals/behavior.json +59 -0
- package/skills/systematic-debugging/evals/triggers.json +16 -0
- package/skills/systematic-debugging/references/condition-waiting.md +52 -0
- package/skills/systematic-debugging/references/root-cause-tracing.md +49 -0
- package/skills/systematic-debugging/references/test-pollution.md +46 -0
- package/skills/tdd-workflow/SKILL.md +69 -0
- package/skills/tdd-workflow/evals/behavior.json +55 -0
- package/skills/tdd-workflow/evals/triggers.json +15 -0
- package/skills/tdd-workflow/references/testing-anti-patterns.md +87 -0
- package/skills/technical-writing/SKILL.md +95 -0
- package/skills/technical-writing/evals/triggers.json +14 -0
- package/skills/terraform-patterns/SKILL.md +122 -0
- package/skills/terraform-patterns/evals/triggers.json +16 -0
- package/skills/terraform-patterns/references/backends.md +67 -0
- package/skills/test-coverage-improvement/SKILL.md +107 -0
- package/skills/test-coverage-improvement/evals/triggers.json +16 -0
- package/skills/threat-modeling/SKILL.md +113 -0
- package/skills/threat-modeling/evals/triggers.json +16 -0
- package/skills/transactional-email/SKILL.md +68 -0
- package/skills/transactional-email/evals/triggers.json +17 -0
- package/skills/transactional-email/references/providers.md +63 -0
- package/skills/typescript-patterns/SKILL.md +122 -0
- package/skills/typescript-patterns/evals/triggers.json +16 -0
- package/skills/typescript-testing/SKILL.md +101 -0
- package/skills/typescript-testing/evals/triggers.json +16 -0
- package/skills/ui-demo-recording/SKILL.md +93 -0
- package/skills/ui-demo-recording/evals/triggers.json +16 -0
- package/skills/ui-demo-recording/references/cursor-and-captions.md +48 -0
- package/skills/ui-demo-recording/references/playwright-recording.md +63 -0
- package/skills/ui-demo-recording/references/post-processing.md +57 -0
- package/skills/ui-design-polish/SKILL.md +113 -0
- package/skills/ui-design-polish/evals/triggers.json +18 -0
- package/skills/ui-design-polish/references/detail-checklist.md +45 -0
- package/skills/ui-design-polish/references/tokens.md +68 -0
- package/skills/ui-flow-audit/SKILL.md +112 -0
- package/skills/ui-flow-audit/evals/triggers.json +17 -0
- package/skills/ui-motion/SKILL.md +103 -0
- package/skills/ui-motion/evals/triggers.json +18 -0
- package/skills/ui-motion/references/patterns.md +138 -0
- package/skills/ui-motion/references/tokens.md +52 -0
- package/skills/unicode-text-processing/SKILL.md +103 -0
- package/skills/unicode-text-processing/evals/triggers.json +17 -0
- package/skills/unicode-text-processing/references/apis.md +89 -0
- package/skills/unicode-text-processing/references/script-notes.md +50 -0
- package/skills/verification-loop/SKILL.md +70 -0
- package/skills/verification-loop/evals/behavior.json +52 -0
- package/skills/verification-loop/evals/triggers.json +14 -0
- package/skills/verification-loop/scripts/detect-checks.js +102 -0
- package/skills/video-editing/SKILL.md +111 -0
- package/skills/video-editing/evals/triggers.json +16 -0
- package/skills/video-editing/references/edl-and-logging.md +44 -0
- package/skills/video-editing/references/ffmpeg-edit-recipes.md +92 -0
- package/skills/video-editing/references/resolve-scripting.md +53 -0
- package/skills/vite-patterns/SKILL.md +117 -0
- package/skills/vite-patterns/evals/triggers.json +16 -0
- package/skills/vue-patterns/SKILL.md +104 -0
- package/skills/vue-patterns/evals/triggers.json +16 -0
- package/skills/web-accessibility/SKILL.md +119 -0
- package/skills/web-accessibility/evals/triggers.json +16 -0
- package/skills/web-performance/SKILL.md +107 -0
- package/skills/web-performance/evals/triggers.json +16 -0
- package/skills/web-scraping/SKILL.md +80 -0
- package/skills/web-scraping/evals/triggers.json +16 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Regulatory boundaries for clinical software
|
|
2
|
+
|
|
3
|
+
This is a map of questions to raise, not a determination. Regulatory affairs or counsel decides whether a product is a medical device, and the rules change: check the current text of each source before relying on it.
|
|
4
|
+
|
|
5
|
+
## United States (FDA)
|
|
6
|
+
|
|
7
|
+
- Basis: section 520(o)(1)(E) of the FD&C Act (added by the 21st Century Cures Act) excludes some CDS software from the device definition. FDA's "Clinical Decision Support Software" guidance explains how it reads the criteria; FDA lists a final version dated January 2026, which replaced the September 2022 version. Secondary summaries say it relaxed FDA's position on software that gives a single recommendation and refined its approach to time-critical use. Read the FDA text itself before relying on either point.
|
|
8
|
+
- All four criteria must be met for the exclusion:
|
|
9
|
+
1. Not intended to acquire, process or analyse a medical image, a signal from an in vitro diagnostic device, or a pattern or signal from a signal acquisition system.
|
|
10
|
+
2. Intended to display, analyse or print medical information about a patient or other medical information (such as peer-reviewed studies and guidelines).
|
|
11
|
+
3. Intended to support or provide recommendations to a healthcare professional about prevention, diagnosis or treatment.
|
|
12
|
+
4. Intended to enable the healthcare professional to independently review the basis for the recommendations, so they don't rely primarily on the software.
|
|
13
|
+
- Red flags that push toward device regulation: image or waveform analysis; patient- or caregiver-facing recommendations; time-critical alerts; outputs a clinician cannot independently check (opaque ML); automatic actions.
|
|
14
|
+
- Related: FDA guidance on device software functions and mobile medical applications, and general wellness products, describe other functions FDA does or does not focus on.
|
|
15
|
+
|
|
16
|
+
## European Union (MDR 2017/745)
|
|
17
|
+
|
|
18
|
+
- Software intended by its manufacturer for a medical purpose (diagnosis, prevention, monitoring, prediction, prognosis, treatment) can be a medical device (MDR Article 2). MDCG 2019-11 is the guidance on qualifying and classifying software.
|
|
19
|
+
- Annex VIII Rule 11: software that provides information used to take decisions with diagnostic or therapeutic purposes is class IIa; class IIb where those decisions could cause a serious deterioration of health or a surgical intervention; class III where they could cause death or an irreversible deterioration. Few decision support products are class I under the MDR.
|
|
20
|
+
- The EU AI Act also applies to AI systems that are, or are safety components of, devices requiring notified-body assessment.
|
|
21
|
+
|
|
22
|
+
## United Kingdom
|
|
23
|
+
|
|
24
|
+
- Medical devices: MHRA under the UK MDR 2002 (as amended); MHRA publishes guidance on software and AI as a medical device.
|
|
25
|
+
- NHS clinical safety (applies to health IT deployed in the NHS in England whether or not it is a device): DCB0129 for manufacturers and DCB0160 for deploying organisations. They require a clinical risk management process, a hazard log, a clinical safety case report and a named Clinical Safety Officer (a registered clinician).
|
|
26
|
+
|
|
27
|
+
## Other markets
|
|
28
|
+
|
|
29
|
+
Check the national regulator (for example Health Canada, TGA in Australia, and national authorities across Africa and Asia). Many follow IMDRF "Software as a Medical Device" concepts, which classify by the significance of the information to the decision and the state of the condition.
|
|
30
|
+
|
|
31
|
+
## Engineering practices that help in every regime
|
|
32
|
+
|
|
33
|
+
- A written intended-use statement for each feature.
|
|
34
|
+
- A hazard log: what could go wrong (wrong patient, wrong unit, missing data, outage), severity, likelihood, mitigations, residual risk.
|
|
35
|
+
- Traceability from requirement to rule version to test case to release.
|
|
36
|
+
- Software lifecycle practices aligned with IEC 62304 and risk management with ISO 14971 where the product is, or may become, a device.
|
|
37
|
+
- Post-release monitoring of fire rates, overrides and incidents, with a route to report safety issues.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-tour
|
|
3
|
+
description: Authors a step-by-step guided walkthrough of a codebase or a single feature as an ordered list of stops, each pinned to a file:line reference with a short explanation of what that code does and why it matters, written so a new contributor can follow it in one sitting. Use when asked to create a code walkthrough, a feature tour, a "follow the request" guide, or contributor-facing reading order for part of a project.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Any Agent Skills host. Needs git to pin the tour to a commit.
|
|
6
|
+
metadata:
|
|
7
|
+
kete-loom/version: "0.1.0"
|
|
8
|
+
kete-loom/category: docs
|
|
9
|
+
kete-loom/risk: writes-files
|
|
10
|
+
kete-loom/requires: "git"
|
|
11
|
+
kete-loom/owner: "Kete-org"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Code tour
|
|
15
|
+
|
|
16
|
+
A code tour is a reading order. It takes a newcomer through the code that matters, one stop at a time, so they understand a feature without reading the whole repo. A good tour has 6 to 15 stops, follows the path execution takes, and every stop points at real code.
|
|
17
|
+
|
|
18
|
+
## 1. Agree the scope
|
|
19
|
+
|
|
20
|
+
Before writing, settle with the user:
|
|
21
|
+
|
|
22
|
+
- **Subject:** the whole codebase at high level, or one feature or flow (for example "how a login request is handled").
|
|
23
|
+
- **Reader:** new contributor, reviewer, new team member, or future maintainer. This sets how much background each stop needs.
|
|
24
|
+
- **Where it lives:** a Markdown file in the repo (default `docs/tours/<topic>.md`), or reply only.
|
|
25
|
+
|
|
26
|
+
If the subject is "everything" for a large repo, propose splitting into one overview tour plus one tour per major flow, and ask which to write first.
|
|
27
|
+
|
|
28
|
+
## 2. Find the path
|
|
29
|
+
|
|
30
|
+
1. Locate the entry point for the subject: a route, command handler, event consumer, UI action or public function.
|
|
31
|
+
2. Follow the call chain by reading code and searching for callers and definitions. Don't trust names; open each function.
|
|
32
|
+
3. Note each place a reader must understand: where input arrives, where it's validated, where the core decision is made, where state changes, where it leaves the system, and where errors are handled.
|
|
33
|
+
4. Find the test that exercises this path. It makes a good last stop.
|
|
34
|
+
|
|
35
|
+
Drop stops that are pure plumbing (re-exports, trivial wrappers) unless skipping them would confuse the reader.
|
|
36
|
+
|
|
37
|
+
## 3. Pin it to a commit
|
|
38
|
+
|
|
39
|
+
Line numbers drift. Record the current commit with `git rev-parse --short HEAD` and put it in the tour header. If `git status --porcelain -- <cited paths>` shows uncommitted changes in files the tour cites, tell the user the references may move once they commit.
|
|
40
|
+
|
|
41
|
+
## 4. Write the stops
|
|
42
|
+
|
|
43
|
+
Each stop has:
|
|
44
|
+
|
|
45
|
+
- a numbered title that says what happens, not the file name ("3. Validate the payload", not "3. validators.ts");
|
|
46
|
+
- a `path:line` or `path:start-end` reference, relative to the repo root;
|
|
47
|
+
- 2 to 5 sentences: what this code does, why it's here, and what to notice;
|
|
48
|
+
- optionally, a short excerpt (at most 10 lines) when the point is a specific construct.
|
|
49
|
+
|
|
50
|
+
Rules for stops:
|
|
51
|
+
|
|
52
|
+
- Order follows execution or data flow, not the directory tree.
|
|
53
|
+
- Each stop should connect to the next ("the validated payload is handed to...").
|
|
54
|
+
- Explain intent and non-obvious decisions. Don't narrate code line by line.
|
|
55
|
+
- Flag gotchas the reader would otherwise hit: hidden side effects, global state, ordering requirements, surprising config.
|
|
56
|
+
- Keep ranges tight. A stop pointing at a 300-line file teaches nothing.
|
|
57
|
+
|
|
58
|
+
## 5. Use this format
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
# Tour: <subject>
|
|
62
|
+
|
|
63
|
+
> Commit `<sha>` · Reader: <audience> · About <N> minutes
|
|
64
|
+
|
|
65
|
+
**You'll learn:** <one or two sentences>
|
|
66
|
+
**Before you start:** <prerequisites, such as how to run the app or which concepts to know>
|
|
67
|
+
|
|
68
|
+
## 1. <What happens here>
|
|
69
|
+
`path/to/file.ext:12-30`
|
|
70
|
+
|
|
71
|
+
<2 to 5 sentences.>
|
|
72
|
+
|
|
73
|
+
## 2. <Next step>
|
|
74
|
+
`path/to/other.ext:44`
|
|
75
|
+
|
|
76
|
+
<...>
|
|
77
|
+
|
|
78
|
+
## Where to go next
|
|
79
|
+
- <related tour, doc, or the test to run: `<command>`>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 6. Verify before you hand it over
|
|
83
|
+
|
|
84
|
+
1. Open every cited range and confirm it still shows what the stop describes. Fix or drop any that don't.
|
|
85
|
+
2. Confirm every path exists, using the exact case.
|
|
86
|
+
3. Read the tour top to bottom as the target reader. If a stop uses a term no earlier stop or prerequisite introduced, add a sentence or a link.
|
|
87
|
+
4. If the tour includes a command, run it, or mark it as not run.
|
|
88
|
+
|
|
89
|
+
## Never
|
|
90
|
+
|
|
91
|
+
- Invent a file, function or line number. If you couldn't find something, say so in the tour.
|
|
92
|
+
- Edit source code to make the tour easier to write.
|
|
93
|
+
- Overwrite an existing tour without asking; offer an updated version alongside it.
|
|
94
|
+
|
|
95
|
+
## Report back
|
|
96
|
+
|
|
97
|
+
Return the tour (or its path), the commit it is pinned to, the number of stops, and any references you could not verify. For getting yourself oriented rather than writing for others, use `codebase-onboarding`; for README or API docs, use `technical-writing`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"should_trigger": [
|
|
3
|
+
"Write a guided tour of how a login request moves through this app, with file and line references for each stop",
|
|
4
|
+
"Create a walkthrough of the billing module for new contributors so they know what to read and in what order",
|
|
5
|
+
"Can you make a step-by-step code tour of the plugin loader for the docs folder?",
|
|
6
|
+
"Our new hire starts Monday. Put together a feature tour of the search indexing pipeline pinned to the current commit"
|
|
7
|
+
],
|
|
8
|
+
"should_not_trigger": [
|
|
9
|
+
"I just cloned this project, help me figure out how to build it and where the entry points are",
|
|
10
|
+
"Write API reference docs for the public functions in the sdk package",
|
|
11
|
+
"Update the README and CHANGELOG to reflect the renamed config flag",
|
|
12
|
+
"Explain what this one regular expression in utils.py matches"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: codebase-onboarding
|
|
3
|
+
description: Gets you productive in an unfamiliar repository fast by locating its entry points, building and running it locally, mapping modules and the main data flow, reading the tests as a specification, and ending with a one-page orientation note. Use when someone has just cloned or inherited a project, asks "how does this codebase work", "where do I start", or needs to understand a repo before changing it.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Any Agent Skills host. Needs git and whatever build tool the project uses.
|
|
6
|
+
metadata:
|
|
7
|
+
kete-loom/version: "0.1.0"
|
|
8
|
+
kete-loom/category: docs
|
|
9
|
+
kete-loom/risk: runs-commands
|
|
10
|
+
kete-loom/requires: "git"
|
|
11
|
+
kete-loom/owner: "Kete-org"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Codebase onboarding
|
|
15
|
+
|
|
16
|
+
Turn an unknown repository into a mental map you can act on. The goal is not to read everything: it is to find the few files that matter, prove you can build and run the thing, and write down what you learned so the next person starts faster.
|
|
17
|
+
|
|
18
|
+
Work read-first. Do not edit tracked files during onboarding. The only files you may create are git-ignored local config copies (step 2) and the orientation note, and the note only where the user agrees.
|
|
19
|
+
|
|
20
|
+
## 1. Get the lay of the land (5 minutes)
|
|
21
|
+
|
|
22
|
+
1. List the top level of the repo and read, in this order, whichever exist: `README*`, `CONTRIBUTING*`, `AGENTS.md`, `CLAUDE.md`, `docs/` index, `ARCHITECTURE*`.
|
|
23
|
+
2. Identify the stack from manifests: `package.json`, `pyproject.toml`, `requirements*.txt`, `go.mod`, `Cargo.toml`, `pom.xml`, `build.gradle*`, `*.csproj`, `Gemfile`, `composer.json`, `pubspec.yaml`, `Package.swift`, `CMakeLists.txt`, `Makefile`.
|
|
24
|
+
3. Note the scripts or tasks they define (for example `scripts` in `package.json`, targets in a `Makefile`, `[project.scripts]` in `pyproject.toml`). These are the project's own answer to "how do I build, test and run this".
|
|
25
|
+
4. Check recent history: `git log --oneline -20` and `git shortlog -sn --since="6 months ago"` show what is active and who knows it.
|
|
26
|
+
5. Check CI config (`.github/workflows/`, `.gitlab-ci.yml`, `Jenkinsfile`, `.circleci/`). CI is the most reliable record of the real build and test commands.
|
|
27
|
+
|
|
28
|
+
If it is a monorepo (workspaces, `packages/`, `apps/`, `services/`), ask the user which package they care about before going further. Onboarding to everything at once produces nothing useful.
|
|
29
|
+
|
|
30
|
+
## 2. Build and run it
|
|
31
|
+
|
|
32
|
+
1. Install dependencies with the command the README or CI uses. Prefer the lockfile-respecting form (`npm ci`, `pip install -r`, `go mod download`, `bundle install`).
|
|
33
|
+
2. Run the test suite once. Record the command, pass/fail counts and duration.
|
|
34
|
+
3. Start the app, CLI or service the way the README says, and hit one real path (a request, a command, a page).
|
|
35
|
+
4. Copy environment templates (`.env.example`, `config/*.sample`) only into files that `git check-ignore <path>` confirms are ignored, and never overwrite an existing `.env`.
|
|
36
|
+
|
|
37
|
+
Stop and ask the user when:
|
|
38
|
+
|
|
39
|
+
- setup needs credentials, a paid service, production data or access you don't have;
|
|
40
|
+
- a step would install system-wide packages, change global config or run a database migration against anything but a local database;
|
|
41
|
+
- the build fails and the fix is not obvious after one attempt. Report the exact error instead of guessing.
|
|
42
|
+
|
|
43
|
+
Never run deploy, publish, release or data-deleting scripts while onboarding, even if they sit next to the build scripts.
|
|
44
|
+
|
|
45
|
+
## 3. Find the entry points
|
|
46
|
+
|
|
47
|
+
Search for where execution starts. Typical signs:
|
|
48
|
+
|
|
49
|
+
| Kind | Look for |
|
|
50
|
+
|---|---|
|
|
51
|
+
| Web server | route or controller registration, `listen(`, app factory, framework config |
|
|
52
|
+
| CLI | `bin` field in `package.json`, `[project.scripts]`, `main` packages, argument parsers |
|
|
53
|
+
| Library | the package's public export file (`index.*`, `__init__.py`, `lib.rs`, `mod.rs`) |
|
|
54
|
+
| Workers and jobs | queue consumers, cron or scheduler definitions, serverless handlers |
|
|
55
|
+
| Frontend | the root component, router definition, HTML entry |
|
|
56
|
+
|
|
57
|
+
List at most five entry points with `path:line`. If you find more, group them.
|
|
58
|
+
|
|
59
|
+
## 4. Map modules and data flow
|
|
60
|
+
|
|
61
|
+
1. Sketch the module layout from directory names, then confirm by reading one file in each major directory. Directory names lie; imports don't.
|
|
62
|
+
2. Pick one representative request or command and trace it end to end: entry point, validation, business logic, persistence or external call, response. Write each hop as `path:line — what happens`.
|
|
63
|
+
3. Note where state lives: databases (look for migrations and schema files), caches, queues, files, third-party APIs.
|
|
64
|
+
4. Note the cross-cutting pieces: config loading, logging, auth, error handling, dependency injection.
|
|
65
|
+
|
|
66
|
+
## 5. Read the tests as a spec
|
|
67
|
+
|
|
68
|
+
- Find the test layout and the fixtures or factories.
|
|
69
|
+
- Read the tests for the flow you traced. They show intended behaviour and edge cases the code alone hides.
|
|
70
|
+
- Note what has no tests. That is where changes are risky.
|
|
71
|
+
|
|
72
|
+
## 6. Write the orientation note
|
|
73
|
+
|
|
74
|
+
Ask the user where it should go (reply only, a scratch file, or `docs/ONBOARDING.md`). Do not overwrite an existing onboarding doc; propose additions instead. Keep it to one page, in this format:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
# <project> orientation
|
|
78
|
+
|
|
79
|
+
**What it is:** <one sentence>
|
|
80
|
+
**Stack:** <languages, frameworks, datastores>
|
|
81
|
+
|
|
82
|
+
## Run it
|
|
83
|
+
- Install: `<command>`
|
|
84
|
+
- Test: `<command>` (<N> passed, <duration>)
|
|
85
|
+
- Start: `<command>`, then <how to see it working>
|
|
86
|
+
|
|
87
|
+
## Entry points
|
|
88
|
+
- `path:line` — <what starts here>
|
|
89
|
+
|
|
90
|
+
## How a request flows
|
|
91
|
+
1. `path:line` — <step>
|
|
92
|
+
|
|
93
|
+
## Where things live
|
|
94
|
+
- <directory> — <responsibility>
|
|
95
|
+
|
|
96
|
+
## Gotchas
|
|
97
|
+
- <surprising thing, flaky test, required env var>
|
|
98
|
+
|
|
99
|
+
## Open questions
|
|
100
|
+
- <things you could not confirm>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Rules
|
|
104
|
+
|
|
105
|
+
- Every claim in the note points to a file or a command output. If you inferred it, say "probably".
|
|
106
|
+
- Don't summarise files you didn't open.
|
|
107
|
+
- Don't paste secrets from `.env` or config into the note or the reply.
|
|
108
|
+
- Keep it short. A note nobody reads is worse than none.
|
|
109
|
+
|
|
110
|
+
## Report back
|
|
111
|
+
|
|
112
|
+
Return the orientation note (or its path), the commands you ran with their results, and the open questions the user should take to a maintainer. For a walkthrough meant for other contributors, hand off to the `code-tour` skill; for polished project docs, to `technical-writing`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"should_trigger": [
|
|
3
|
+
"I just inherited this repo and have no idea how it fits together, help me get oriented",
|
|
4
|
+
"Where do I even start with this codebase? Figure out how to build and run it",
|
|
5
|
+
"Map out the modules and how a request flows through this service before I change anything",
|
|
6
|
+
"New job, first day, cloned their monorepo. Give me a quick lay of the land for the payments package"
|
|
7
|
+
],
|
|
8
|
+
"should_not_trigger": [
|
|
9
|
+
"Write a guided tour of the checkout feature for our new contributors, with file and line stops",
|
|
10
|
+
"Rewrite our README so a new user can install the CLI in five minutes",
|
|
11
|
+
"I changed the config loader, update the docs and changelog to match",
|
|
12
|
+
"Propose how we should split this monolith into separate services and write up the trade-offs"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cold-outreach-sequences
|
|
3
|
+
description: Plans, writes and runs B2B cold outreach sequences to prospects who have not opted in - picking an ideal customer profile and a narrow segment, researching a genuine reason to write to each person, drafting short multi-touch email and LinkedIn steps with sensible spacing, staying within CAN-SPAM, GDPR and PECR, and judging results by positive replies and meetings rather than opens. Use when a founder or sales team wants an outbound prospecting sequence written or reviewed, asks why cold emails get no replies, or needs to know whether emailing a bought list of business contacts is allowed.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Any Agent Skills host. Works from the user's prospect list, product notes and sending tool; it writes copy and plans and does not send email itself.
|
|
6
|
+
metadata:
|
|
7
|
+
kete-loom/version: "0.1.0"
|
|
8
|
+
kete-loom/category: business
|
|
9
|
+
kete-loom/risk: read-only
|
|
10
|
+
kete-loom/owner: "Kete-org"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Cold outreach sequences
|
|
14
|
+
|
|
15
|
+
Write to a small number of well-chosen people with a reason that is true for each of them, ask for one easy next step, stop when they say no, and measure what actually produces meetings.
|
|
16
|
+
|
|
17
|
+
This skill gives working rules, not legal advice. For anything beyond routine B2B prospecting (consumer lists, health or financial data, a regulator complaint, a new country), the user must check with a qualified privacy lawyer.
|
|
18
|
+
|
|
19
|
+
## Ground rules
|
|
20
|
+
|
|
21
|
+
1. **Narrow beats big.** One segment per sequence: a role, a company type and a trigger (hiring for X, just raised, new regulation, uses tool Y). If you cannot say why this group needs the product now, stop and ask the user.
|
|
22
|
+
2. **Personalisation must be real and checkable.** Reference something the person or company actually did or published, with the source noted. Never invent a mutual connection, a compliment, a past conversation or a "saw your post" you have not seen. A merge field with their company name is not personalisation.
|
|
23
|
+
3. **One ask, small.** A reply, a 15-minute call, or permission to send something. No calendar link in the first email unless the user insists.
|
|
24
|
+
4. **Short.** First email under about 120 words, plain text, no images or attachments, at most one link. Follow-ups shorter.
|
|
25
|
+
5. **Stop on any reply** that is negative, an out-of-office with a leaving date, or a request to stop. Suppress them across every tool and sender.
|
|
26
|
+
6. **Protect the main domain.** Cold mail goes from a separate, authenticated domain or subdomain at modest daily volume per mailbox. Setting up SPF, DKIM, DMARC and warm-up belongs to the email-deliverability skill.
|
|
27
|
+
|
|
28
|
+
## Compliance checks (before any copy)
|
|
29
|
+
|
|
30
|
+
Ask where recipients are based and where the sender is based, then apply each that fits:
|
|
31
|
+
|
|
32
|
+
| Rule | What it requires for cold B2B email |
|
|
33
|
+
|---|---|
|
|
34
|
+
| US CAN-SPAM | No B2B exemption. Truthful From, Reply-To and routing headers; a subject that matches the content; identify the message as an ad where it is one; a valid physical postal address; a clear opt-out that works for at least 30 days, honoured within 10 business days, with no fee or login. |
|
|
35
|
+
| EU GDPR | A named work address is personal data. Most cold B2B outreach relies on legitimate interests: write a short legitimate-interests assessment, keep only data needed, tell them where you got their details (Article 14) no later than the first message you send them, and honour objections at once (Article 21). Country e-privacy laws vary; some require prior consent even for B2B. Germany's UWG § 7(2) No. 2 requires prior express consent for email advertising to any addressee, business or consumer (the § 7(3) existing-customer exception aside). |
|
|
36
|
+
| UK PECR + UK GDPR | Emailing corporate subscribers (limited companies, LLPs, public bodies) without consent is allowed if you identify yourself and give an opt-out. Sole traders and some partnerships count as individuals and need consent. UK GDPR still applies to named work addresses. The ICO says this guidance is under review after the Data (Use and Access) Act 2025; check the current version at ico.org.uk. |
|
|
37
|
+
| Canada CASL | Stricter: generally needs consent. Implied consent has narrow cases, such as an address the person conspicuously published without a "no unsolicited messages" statement, where the message is relevant to their business role (CASL s. 10(9)(b)). Stop and ask the user to confirm with counsel before emailing Canadian prospects. |
|
|
38
|
+
|
|
39
|
+
**Stop and ask the user** if the list was bought or scraped and its source is unknown, if it contains personal (non-work) addresses, or if recipients are consumers. Do not write a sequence for those until the user confirms the legal basis.
|
|
40
|
+
|
|
41
|
+
## Steps
|
|
42
|
+
|
|
43
|
+
1. **Define the segment.** Write the ICP in one line, the trigger, the problem they likely have, and the proof you have (customer result, number, named customer the user may cite). Ask the user for proof if there is none; never make up results.
|
|
44
|
+
2. **Check the list.** Required fields: name, role, company, work email, source, country, and one research note per person. Remove role addresses (`info@`, `sales@`), personal addresses, existing customers, open deals and anyone on the suppression list. Verify addresses with the user's verification tool before sending.
|
|
45
|
+
3. **Research each prospect** for 2 to 5 minutes: recent company news, job posts, their own posts or talks. Record one fact and its URL. If nothing relevant turns up, use the segment-level trigger honestly instead of faking a personal line.
|
|
46
|
+
4. **Write the sequence.** Default shape (adjust to the user's market):
|
|
47
|
+
|
|
48
|
+
| Step | Day | Channel | Purpose |
|
|
49
|
+
|---|---|---|---|
|
|
50
|
+
| 1 | 0 | Email | Specific reason, the problem, one proof point, small ask |
|
|
51
|
+
| 2 | 3 | Email (same thread) | One new angle or useful resource, no "just bumping this" |
|
|
52
|
+
| 3 | 7 | LinkedIn (view, then connection request with no pitch) | Familiarity, optional |
|
|
53
|
+
| 4 | 10 | Email | Short case or number relevant to their trigger |
|
|
54
|
+
| 5 | 17 | Email | Polite close: "should I stop writing about this?" |
|
|
55
|
+
|
|
56
|
+
Four or five touches over two to three weeks is enough. Send on weekdays in the prospect's time zone.
|
|
57
|
+
5. **Write each email** as: subject (2 to 5 words, lower-case is fine, no clickbait or "Re:" on a first message), opening line from the research note, one sentence on the problem in their words, one proof sentence, the ask, signature with the sender's real name, company, postal address and an opt-out line.
|
|
58
|
+
6. **Review every draft** against the checklist below before handing it over.
|
|
59
|
+
7. **Run a pilot** of 50 to 100 prospects. Change one thing at a time (segment, opening, offer) between batches.
|
|
60
|
+
8. **Measure.** Track per step and per segment: delivered, bounced, replied, positive replies, meetings booked, opt-outs. Ignore open rates (Apple Mail Privacy Protection and image blocking make them unreliable). Rules of thumb (not provider or legal limits): bounce rate above about 3% suggests the list is bad; positive replies under about 1% after 200 sends suggests the segment or offer is wrong, not the wording.
|
|
61
|
+
|
|
62
|
+
## Draft checklist
|
|
63
|
+
|
|
64
|
+
- Is the personal line true, and is its source recorded?
|
|
65
|
+
- Could this email be sent unchanged to 1,000 other people? If yes, rewrite.
|
|
66
|
+
- One ask only? No attachments, tracking-heavy links or images?
|
|
67
|
+
- Sender identity, postal address and opt-out present?
|
|
68
|
+
- Any claim, number or customer name the user has not confirmed? Remove it.
|
|
69
|
+
- No fake urgency, fake "Re:" or "Fwd:", or guilt-tripping in the break-up email.
|
|
70
|
+
|
|
71
|
+
## Never
|
|
72
|
+
|
|
73
|
+
- Send from the company's main domain at volume, or rotate many lookalike domains to dodge spam filters.
|
|
74
|
+
- Keep emailing someone who asked to stop, or re-add them through another tool or sender.
|
|
75
|
+
- Scrape personal data in breach of a site's terms, or guess personal email addresses.
|
|
76
|
+
- Automate LinkedIn connection requests or messages beyond what LinkedIn permits.
|
|
77
|
+
|
|
78
|
+
## Output format
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Segment: role / company type / trigger Region(s): ... Legal basis: ...
|
|
82
|
+
Proof points used: ... (user-confirmed)
|
|
83
|
+
Sequence: step, day, channel, subject, body (per step)
|
|
84
|
+
Personalisation notes: prospect -> fact -> source URL
|
|
85
|
+
Compliance: footer text, opt-out method, suppression handling
|
|
86
|
+
Pilot plan: batch size, what is being tested, metrics and thresholds
|
|
87
|
+
Open questions for the user: ...
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Primary sources: FTC CAN-SPAM guide (https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business), ICO electronic mail marketing (https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/electronic-and-telephone-marketing/electronic-mail-marketing/), UWG § 7 (https://www.gesetze-im-internet.de/uwg_2004/__7.html), CASL s. 10 (https://laws-lois.justice.gc.ca/eng/acts/E-1.6/page-2.html).
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"should_trigger": [
|
|
3
|
+
"Write a four-step cold email sequence to heads of finance at mid-size logistics firms in the UK",
|
|
4
|
+
"We sent 500 outbound emails and got two replies. Can you review the copy and targeting?",
|
|
5
|
+
"Is it legal to cold email business contacts in Germany and France that we found on LinkedIn?",
|
|
6
|
+
"Help me personalise opening lines for these 30 prospects without making stuff up",
|
|
7
|
+
"How many days should we wait between follow-ups in an outbound prospecting sequence?"
|
|
8
|
+
],
|
|
9
|
+
"should_not_trigger": [
|
|
10
|
+
"Our newsletter emails started landing in spam after we switched provider, check our DKIM",
|
|
11
|
+
"Write a welcome email series for people who just signed up for our free trial",
|
|
12
|
+
"Repurpose our founder's podcast episode into five LinkedIn posts",
|
|
13
|
+
"Draft a proposal document for the client we met last week",
|
|
14
|
+
"Plan our product launch campaign across paid ads, email and events"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: content-repurposing
|
|
3
|
+
description: Breaks one finished long-form source (article, talk recording, podcast episode, webinar or report) into channel-native derivatives such as LinkedIn posts, X threads, newsletter sections, short video clip scripts and quote cards, by extracting the core claims with timestamps or paragraph references, matching each to a format, and checking every derivative against the source so nothing is exaggerated, misquoted or stripped of its caveats. Use when someone has a long piece already published or recorded and wants a set of social posts, threads, a newsletter or clips made from it, or wants derivatives checked for accuracy against the original.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Any Agent Skills host. Needs the source as text (article or transcript with timestamps); clip cutting itself is done in the user's video tool.
|
|
6
|
+
metadata:
|
|
7
|
+
kete-loom/version: "0.1.0"
|
|
8
|
+
kete-loom/category: business
|
|
9
|
+
kete-loom/risk: read-only
|
|
10
|
+
kete-loom/owner: "Kete-org"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Content repurposing
|
|
14
|
+
|
|
15
|
+
Turn one long piece into many short ones that each work on their own channel, and that all still say what the original said.
|
|
16
|
+
|
|
17
|
+
## Ground rules
|
|
18
|
+
|
|
19
|
+
1. **The source is the only source.** Every claim, number and quote in a derivative must trace to a paragraph or timestamp in the original. No new facts, statistics or examples unless the user supplies them.
|
|
20
|
+
2. **Quotes are exact.** Quote marks mean the speaker's words verbatim from the transcript. Tidy filler words only with "[...]" or by paraphrasing without quote marks. Name the speaker as they are credited.
|
|
21
|
+
3. **Keep the caveats.** If the source says "in our sample of 40 customers" or "early results", the derivative says it too. Do not turn "may help" into "proves".
|
|
22
|
+
4. **Native, not pasted.** Each channel gets its own shape, length and opening; never post the same paragraph everywhere.
|
|
23
|
+
5. **One idea per derivative.** A post that tries to summarise the whole piece usually says nothing.
|
|
24
|
+
6. **Credit and link back** to the original where the channel allows it.
|
|
25
|
+
|
|
26
|
+
## Steps
|
|
27
|
+
|
|
28
|
+
1. **Get the source in text.** For audio or video, ask for a transcript with timestamps (or produce one with the user's transcription tool). Ask who the audience is, which channels they use, the brand voice guide if one exists, and the goal (traffic back to the piece, followers, sign-ups).
|
|
29
|
+
2. **Extract a claim map.** List 5 to 15 standalone ideas: each a one-sentence claim, its support (data, story, example), the exact reference (paragraph number or `mm:ss`), and any caveat. Mark the 2 or 3 strongest. Show this map to the user before drafting if the piece is technical, regulated or about named people.
|
|
30
|
+
3. **Match ideas to formats** with the table below. Pick only the channels the user actually uses.
|
|
31
|
+
4. **Draft each derivative** from one row of the claim map. Write the hook first (the specific claim or result, not "In today's episode..."), then the support, then one call to action.
|
|
32
|
+
5. **Accuracy pass.** For every derivative, check each sentence against its reference: same meaning, same numbers, caveats kept, quotes verbatim, speaker correct. Fix or drop anything that does not trace back.
|
|
33
|
+
6. **Channel pass.** Check length, link placement and formatting against the platform's current limits. Posting or scheduling through APIs is the social-media-publishing skill's job.
|
|
34
|
+
7. **Plan the release.** Space derivatives over 2 to 4 weeks, lead with the strongest idea, and vary formats so the same audience does not see the same point twice in a week.
|
|
35
|
+
|
|
36
|
+
## Format guide
|
|
37
|
+
|
|
38
|
+
| Format | Shape | Best for |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| LinkedIn post | Hook line, short paragraphs, one takeaway, link in the post or first comment per the user's practice | Lessons, results, opinions with reasoning |
|
|
41
|
+
| X thread | First post states the payoff; 4 to 8 posts, one point each; last post links to the source | Step-by-step processes, lists, a story with a turn |
|
|
42
|
+
| Single X post | One sharp claim or number with its context | The most quotable line |
|
|
43
|
+
| Newsletter section | 150 to 400 words: why it matters to this reader, the key idea, link to the full piece | Existing subscribers; deeper context |
|
|
44
|
+
| Short video clip (Reels, Shorts, TikTok, LinkedIn video) | 20 to 60 seconds; starts on the strongest sentence; burned-in captions; one idea | Talks, podcasts with video, demos |
|
|
45
|
+
| Quote card | One verbatim line, speaker name, source title | Memorable lines; check the quote twice |
|
|
46
|
+
| Carousel or slide set | One point per slide, 5 to 10 slides | Frameworks, checklists, before/after |
|
|
47
|
+
|
|
48
|
+
## Clip selection (talks and podcasts)
|
|
49
|
+
|
|
50
|
+
1. Scan the transcript for moments that stand alone: a clear claim, a story with an ending, a surprising number, a strong answer to a question.
|
|
51
|
+
2. Record start and end timestamps with a few seconds of padding, and the first sentence the clip opens on.
|
|
52
|
+
3. Reject clips that need earlier context to make sense, or whose meaning changes when cut (a joke, a hypothetical, a "some people say...").
|
|
53
|
+
4. Write the caption and on-screen title for each clip; captions must match what is said.
|
|
54
|
+
|
|
55
|
+
## Stop and ask the user
|
|
56
|
+
|
|
57
|
+
- Before quoting or clipping a guest or a third party; confirm the user has permission to reuse their words and likeness.
|
|
58
|
+
- When the source contains health, financial, legal or safety advice; derivatives must keep its qualifications, and a qualified reviewer should approve them.
|
|
59
|
+
- When a strong derivative would need a fact the source does not contain.
|
|
60
|
+
- Before using material marked internal, embargoed or unpublished.
|
|
61
|
+
|
|
62
|
+
## Never
|
|
63
|
+
|
|
64
|
+
- Invent statistics, quotes, customer names or results to make a post punchier.
|
|
65
|
+
- Remove caveats, attribution or context that changes the meaning.
|
|
66
|
+
- Present a paraphrase in quote marks.
|
|
67
|
+
- Rewrite the whole source into a new long article; that is a separate article-writing job.
|
|
68
|
+
|
|
69
|
+
## Output format
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Source: title, link, length Audience and goal: ...
|
|
73
|
+
Claim map: # | claim | support | reference (para or mm:ss) | caveat
|
|
74
|
+
Derivatives (one block each):
|
|
75
|
+
Channel / format:
|
|
76
|
+
Built from claim #:
|
|
77
|
+
Draft:
|
|
78
|
+
Accuracy check: pass | notes
|
|
79
|
+
Clips: start-end | opening line | caption
|
|
80
|
+
Release plan: date | channel | derivative
|
|
81
|
+
Questions for the user: ...
|
|
82
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"should_trigger": [
|
|
3
|
+
"Turn my 2,000-word blog post on pricing mistakes into a week of LinkedIn posts and an X thread",
|
|
4
|
+
"Here's the transcript of our podcast episode, find the best 30-second clips and write captions",
|
|
5
|
+
"Repurpose the keynote I gave last month into a newsletter section and some quote cards",
|
|
6
|
+
"Check these social posts we made from our research report, did we exaggerate anything?",
|
|
7
|
+
"We publish one long webinar a month. How do we get two weeks of social content out of each one?"
|
|
8
|
+
],
|
|
9
|
+
"should_not_trigger": [
|
|
10
|
+
"Write a 1500-word blog post from scratch about remote onboarding",
|
|
11
|
+
"Our scheduled LinkedIn posts fail with a 401 from the Posts API",
|
|
12
|
+
"Write a cold email sequence for prospects in the healthcare sector",
|
|
13
|
+
"Define our brand voice with do and don't examples for the social team",
|
|
14
|
+
"Burn subtitles into this mp4 and trim the first ten seconds with ffmpeg"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-budget
|
|
3
|
+
description: Keeps a long agent task inside its context window by deciding what to read in full versus search for, reading files in slices, summarising findings into a running notes file, pushing bulky reads and log analysis to subagents that return short answers, and checkpointing before the window runs out. Use when a task spans many files or huge outputs (logs, lockfiles, generated code, large diffs), when earlier details start getting lost, or when the user warns the session is close to its context limit.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Any Agent Skills host. Subagent delegation needs a host that supports subagents.
|
|
6
|
+
metadata:
|
|
7
|
+
kete-loom/version: "0.1.0"
|
|
8
|
+
kete-loom/category: meta
|
|
9
|
+
kete-loom/risk: writes-files
|
|
10
|
+
kete-loom/owner: "Kete-org"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Context budget
|
|
14
|
+
|
|
15
|
+
The context window is the agent's working memory. Everything you read, every command output and every long reply spends it. When it fills, the host compacts or truncates and early details (the goal, constraints, decisions) are the first to blur. Spend it on what changes your next action.
|
|
16
|
+
|
|
17
|
+
## 1. Set the budget at the start
|
|
18
|
+
|
|
19
|
+
1. Write the goal and the hard constraints in 3 to 5 lines in a notes file (for example `.handoff/notes.md` or the host's scratch area). This survives compaction; your memory does not.
|
|
20
|
+
2. Estimate the size of the job: how many files, how big the outputs. If it clearly won't fit in one session, plan checkpoints now (section 6).
|
|
21
|
+
|
|
22
|
+
## 2. Search before you read
|
|
23
|
+
|
|
24
|
+
Decision rule for every file or output:
|
|
25
|
+
|
|
26
|
+
| Situation | Do |
|
|
27
|
+
|---|---|
|
|
28
|
+
| You need to know *where* something is | Search (file name or text search). Don't open files to look. |
|
|
29
|
+
| You need one function or section | Search for it, then read only that line range. |
|
|
30
|
+
| File is small (under ~300 lines) and central to the change | Read it in full once. |
|
|
31
|
+
| File is large, generated, minified, a lockfile or vendored | Never read in full. Search inside it or read a slice. |
|
|
32
|
+
| You already read it and haven't changed it | Don't reread. Use your notes. |
|
|
33
|
+
| You changed it | Reread only the edited region to confirm. |
|
|
34
|
+
|
|
35
|
+
## 3. Keep command output small
|
|
36
|
+
|
|
37
|
+
- Filter at the source: `grep`, `head -n 50`, `tail -n 50`, `wc -l`, `--stat`, `--name-only`, `--quiet`, a test runner's "only failures" flag.
|
|
38
|
+
- Run the single failing test, not the whole suite, while iterating. Run the full suite once at the end.
|
|
39
|
+
- Redirect huge output to a file, then search the file: `cmd > out.log 2>&1; grep -n "ERROR" out.log | head` (use the host's scratch or temp directory, not the repo, for `out.log`).
|
|
40
|
+
- Never paste a full log, diff or dependency tree into the conversation when a count or the first error answers the question.
|
|
41
|
+
|
|
42
|
+
## 4. Summarise as you go
|
|
43
|
+
|
|
44
|
+
After each investigation step, append 1 to 3 lines to the notes file:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
- auth: tokens are checked in src/middleware/auth.ts:40-88 (verifyToken). Refresh is NOT handled there.
|
|
48
|
+
- tests: npm test -- auth -> 12 pass, 1 fail (refresh.test.ts "expired token")
|
|
49
|
+
- decided: fix in verifyToken, not the client, because the client is shared by 3 apps
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Write file paths and line numbers, so you can return to the source instead of keeping its text in context.
|
|
53
|
+
|
|
54
|
+
## 5. Delegate bulky reads
|
|
55
|
+
|
|
56
|
+
Hand work to a subagent when it means reading a lot to produce a little:
|
|
57
|
+
|
|
58
|
+
- Scanning a large directory or many files for a pattern and judging each hit.
|
|
59
|
+
- Reading a long log, trace or report to find the root error.
|
|
60
|
+
- Surveying how a library or API is used across the codebase.
|
|
61
|
+
|
|
62
|
+
Give the subagent a precise question and a return format with a size cap, for example: "Find every caller of `chargeCard`. Return a list of `path:line - one-line purpose`, max 30 lines. Don't propose fixes." Then verify one or two of its claims yourself before acting on them. If the host has no subagents, do the read in slices and summarise each slice before the next. See the `parallel-agent-orchestration` skill for splitting larger work.
|
|
63
|
+
|
|
64
|
+
## 6. Checkpoint before you run out
|
|
65
|
+
|
|
66
|
+
Checkpoint when any of these is true:
|
|
67
|
+
|
|
68
|
+
- You have finished a coherent unit of work (tests green for one part).
|
|
69
|
+
- The host shows the context is past roughly two thirds full, or warns about compaction.
|
|
70
|
+
- You notice you are rereading things or have forgotten an earlier decision.
|
|
71
|
+
|
|
72
|
+
A checkpoint is: update the notes file, commit coherent work if the user allows commits, and write a handoff note (the `session-handoff` skill has the format). Then either continue with a compacted context or tell the user that a fresh session should resume from the note.
|
|
73
|
+
|
|
74
|
+
## 7. Keep your replies lean
|
|
75
|
+
|
|
76
|
+
- Report results, not narration. Skip restating files you just read.
|
|
77
|
+
- Show only the diff hunks that matter, not whole files.
|
|
78
|
+
|
|
79
|
+
## Never
|
|
80
|
+
|
|
81
|
+
- Never read an entire large file "to understand it" when a search would locate the part you need.
|
|
82
|
+
- Never drop the goal or the user's constraints from your notes to save space.
|
|
83
|
+
- Never trust a subagent's summary blindly for a decision that changes code; spot-check it.
|
|
84
|
+
- Never keep working past a compaction without rereading your notes file first.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"should_trigger": [
|
|
3
|
+
"This repo is huge and you keep forgetting what we decided earlier, work more economically",
|
|
4
|
+
"The build log is 40,000 lines, find the real error without dumping it all into the chat",
|
|
5
|
+
"We're going to touch about 60 files in this refactor, plan how to do it without blowing the context window",
|
|
6
|
+
"You're close to the context limit, how should we keep going on this task without losing track"
|
|
7
|
+
],
|
|
8
|
+
"should_not_trigger": [
|
|
9
|
+
"Save a handoff note so I can resume this in a fresh session tomorrow",
|
|
10
|
+
"Split this migration across four subagents working in parallel",
|
|
11
|
+
"Set up an unattended loop that keeps fixing lint errors until the count hits zero",
|
|
12
|
+
"Reduce the token cost of the system prompt in our customer support chatbot"
|
|
13
|
+
]
|
|
14
|
+
}
|