memory-journal-mcp 7.7.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +126 -56
- package/dist/chunk-6OHRCNYW.js +3231 -0
- package/dist/chunk-JFMITANR.js +5168 -0
- package/dist/{chunk-QCQPAF4I.js → chunk-MWNLAEHR.js} +301 -4321
- package/dist/{chunk-ARLYSFSI.js → chunk-UHSO65A4.js} +4242 -6092
- package/dist/cli.js +21 -3
- package/dist/index.d.ts +16 -13
- package/dist/index.js +4 -2
- package/dist/resources-IJVKDFGS.js +2 -0
- package/dist/tools-44DGXE3V.js +2 -0
- package/dist/worker-script.js +201 -20
- package/package.json +7 -4
- package/skills/README.md +62 -25
- package/skills/adversarial-performance/SKILL.md +139 -0
- package/skills/adversarial-performance/references/audit-categories.md +462 -0
- package/skills/adversarial-performance/references/copilot-performance-prompts.md +44 -0
- package/skills/adversarial-performance/references/copilot-usage.md +16 -0
- package/skills/adversarial-performance/references/feedback-loop.md +177 -0
- package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +398 -0
- package/skills/adversarial-planner/SKILL.md +23 -54
- package/skills/adversarial-planner/references/copilot-integration.md +25 -40
- package/skills/adversarial-planner/references/copilot-usage.md +16 -0
- package/skills/adversarial-planner/references/multi-pass-protocol.md +4 -0
- package/skills/adversarial-security/SKILL.md +149 -0
- package/skills/adversarial-security/references/adversarial-base-protocol.md +44 -0
- package/skills/adversarial-security/references/audit-categories.md +723 -0
- package/skills/adversarial-security/references/copilot-security-prompts.md +142 -0
- package/skills/adversarial-security/references/copilot-usage.md +16 -0
- package/skills/adversarial-security/references/feedback-loop.md +206 -0
- package/skills/adversarial-security/references/journal-opt-out.md +7 -0
- package/skills/adversarial-security/references/multi-pass-security-protocol.md +403 -0
- package/skills/adversarial-skill-audit/SKILL.md +118 -0
- package/skills/adversarial-skill-audit/references/audit-categories.md +308 -0
- package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +68 -0
- package/skills/adversarial-skill-audit/references/copilot-usage.md +16 -0
- package/skills/adversarial-skill-audit/references/feedback-loop.md +155 -0
- package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +367 -0
- package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +48 -0
- package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +52 -0
- package/skills/adversarial-workflow-audit/SKILL.md +82 -0
- package/skills/adversarial-workflow-audit/references/audit-categories.md +28 -0
- package/skills/adversarial-workflow-audit/references/copilot-usage.md +16 -0
- package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +24 -0
- package/skills/agents-sdk/SKILL.md +220 -0
- package/skills/agents-sdk/references/callable.md +92 -0
- package/skills/agents-sdk/references/codemode.md +209 -0
- package/skills/agents-sdk/references/email.md +144 -0
- package/skills/agents-sdk/references/mcp/SKILL.md +65 -0
- package/skills/agents-sdk/references/mcp/code-mode-reference.md +245 -0
- package/skills/agents-sdk/references/mcp/oauth-reference.md +359 -0
- package/skills/agents-sdk/references/mcp/references/architecture-reference.md +208 -0
- package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +156 -0
- package/skills/agents-sdk/references/mcp/references/error-handling.md +343 -0
- package/skills/agents-sdk/references/mcp/references/http-security.md +164 -0
- package/skills/agents-sdk/references/mcp/references/implementation-guide.md +507 -0
- package/skills/agents-sdk/references/mcp/references/testing-reference.md +171 -0
- package/skills/agents-sdk/references/mcp.md +157 -0
- package/skills/agents-sdk/references/state-scheduling.md +164 -0
- package/skills/agents-sdk/references/streaming-chat.md +168 -0
- package/skills/agents-sdk/references/workflows.md +136 -0
- package/skills/auth-identity/SKILL.md +48 -0
- package/skills/autonomous-dev/SKILL.md +46 -23
- package/skills/autonomous-dev/references/workflow_orchestration.md +22 -0
- package/skills/aws/SKILL.md +39 -0
- package/skills/azure/SKILL.md +38 -0
- package/skills/bin/sync.js +7 -1
- package/skills/biome/SKILL.md +59 -0
- package/skills/bun/SKILL.md +8 -2
- package/skills/cloudflare/SKILL.md +37 -0
- package/skills/cloudflare/references/agents-sdk/README.md +95 -0
- package/skills/cloudflare/references/agents-sdk/api.md +195 -0
- package/skills/cloudflare/references/agents-sdk/configuration.md +178 -0
- package/skills/cloudflare/references/agents-sdk/gotchas.md +173 -0
- package/skills/cloudflare/references/agents-sdk/patterns.md +215 -0
- package/skills/cloudflare/references/ai-gateway/README.md +176 -0
- package/skills/cloudflare/references/ai-gateway/configuration.md +117 -0
- package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +88 -0
- package/skills/cloudflare/references/ai-gateway/features.md +96 -0
- package/skills/cloudflare/references/ai-gateway/sdk-integration.md +110 -0
- package/skills/cloudflare/references/ai-gateway/troubleshooting.md +90 -0
- package/skills/cloudflare/references/ai-search/README.md +145 -0
- package/skills/cloudflare/references/ai-search/api.md +87 -0
- package/skills/cloudflare/references/ai-search/configuration.md +91 -0
- package/skills/cloudflare/references/ai-search/gotchas.md +92 -0
- package/skills/cloudflare/references/ai-search/patterns.md +87 -0
- package/skills/cloudflare/references/analytics-engine/README.md +96 -0
- package/skills/cloudflare/references/analytics-engine/api.md +112 -0
- package/skills/cloudflare/references/analytics-engine/configuration.md +107 -0
- package/skills/cloudflare/references/analytics-engine/gotchas.md +87 -0
- package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
- package/skills/cloudflare/references/api/README.md +66 -0
- package/skills/cloudflare/references/api/api.md +205 -0
- package/skills/cloudflare/references/api/configuration.md +158 -0
- package/skills/cloudflare/references/api/gotchas.md +231 -0
- package/skills/cloudflare/references/api/patterns.md +208 -0
- package/skills/cloudflare/references/api-shield/README.md +44 -0
- package/skills/cloudflare/references/api-shield/api.md +153 -0
- package/skills/cloudflare/references/api-shield/configuration.md +210 -0
- package/skills/cloudflare/references/api-shield/gotchas.md +132 -0
- package/skills/cloudflare/references/api-shield/patterns.md +185 -0
- package/skills/cloudflare/references/argo-smart-routing/README.md +96 -0
- package/skills/cloudflare/references/argo-smart-routing/api.md +253 -0
- package/skills/cloudflare/references/argo-smart-routing/configuration.md +205 -0
- package/skills/cloudflare/references/argo-smart-routing/gotchas.md +115 -0
- package/skills/cloudflare/references/argo-smart-routing/patterns.md +107 -0
- package/skills/cloudflare/references/bindings/README.md +127 -0
- package/skills/cloudflare/references/bindings/api.md +214 -0
- package/skills/cloudflare/references/bindings/configuration.md +200 -0
- package/skills/cloudflare/references/bindings/gotchas.md +210 -0
- package/skills/cloudflare/references/bindings/patterns.md +205 -0
- package/skills/cloudflare/references/bot-management/README.md +95 -0
- package/skills/cloudflare/references/bot-management/api.md +175 -0
- package/skills/cloudflare/references/bot-management/configuration.md +175 -0
- package/skills/cloudflare/references/bot-management/gotchas.md +116 -0
- package/skills/cloudflare/references/bot-management/patterns.md +181 -0
- package/skills/cloudflare/references/browser-rendering/README.md +84 -0
- package/skills/cloudflare/references/browser-rendering/api.md +108 -0
- package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
- package/skills/cloudflare/references/browser-rendering/gotchas.md +91 -0
- package/skills/cloudflare/references/browser-rendering/patterns.md +93 -0
- package/skills/cloudflare/references/c3/README.md +111 -0
- package/skills/cloudflare/references/c3/api.md +71 -0
- package/skills/cloudflare/references/c3/configuration.md +85 -0
- package/skills/cloudflare/references/c3/gotchas.md +97 -0
- package/skills/cloudflare/references/c3/patterns.md +84 -0
- package/skills/cloudflare/references/cache-reserve/README.md +150 -0
- package/skills/cloudflare/references/cache-reserve/api.md +184 -0
- package/skills/cloudflare/references/cache-reserve/configuration.md +170 -0
- package/skills/cloudflare/references/cache-reserve/gotchas.md +136 -0
- package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
- package/skills/cloudflare/references/containers/README.md +87 -0
- package/skills/cloudflare/references/containers/api.md +197 -0
- package/skills/cloudflare/references/containers/configuration.md +191 -0
- package/skills/cloudflare/references/containers/gotchas.md +182 -0
- package/skills/cloudflare/references/containers/patterns.md +204 -0
- package/skills/cloudflare/references/cron-triggers/README.md +101 -0
- package/skills/cloudflare/references/cron-triggers/api.md +224 -0
- package/skills/cloudflare/references/cron-triggers/configuration.md +190 -0
- package/skills/cloudflare/references/cron-triggers/gotchas.md +207 -0
- package/skills/cloudflare/references/cron-triggers/patterns.md +274 -0
- package/skills/cloudflare/references/d1/README.md +137 -0
- package/skills/cloudflare/references/d1/api.md +213 -0
- package/skills/cloudflare/references/d1/configuration.md +198 -0
- package/skills/cloudflare/references/d1/gotchas.md +98 -0
- package/skills/cloudflare/references/d1/patterns.md +240 -0
- package/skills/cloudflare/references/ddos/README.md +42 -0
- package/skills/cloudflare/references/ddos/api.md +158 -0
- package/skills/cloudflare/references/ddos/configuration.md +94 -0
- package/skills/cloudflare/references/ddos/gotchas.md +114 -0
- package/skills/cloudflare/references/ddos/patterns.md +220 -0
- package/skills/cloudflare/references/decision-trees.md +95 -0
- package/skills/cloudflare/references/do-storage/README.md +79 -0
- package/skills/cloudflare/references/do-storage/api.md +107 -0
- package/skills/cloudflare/references/do-storage/configuration.md +114 -0
- package/skills/cloudflare/references/do-storage/gotchas.md +153 -0
- package/skills/cloudflare/references/do-storage/patterns.md +210 -0
- package/skills/cloudflare/references/do-storage/testing.md +186 -0
- package/skills/cloudflare/references/durable-objects/README.md +194 -0
- package/skills/cloudflare/references/durable-objects/api.md +205 -0
- package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
- package/skills/cloudflare/references/durable-objects/gotchas.md +200 -0
- package/skills/cloudflare/references/durable-objects/patterns.md +205 -0
- package/skills/cloudflare/references/email-routing/README.md +89 -0
- package/skills/cloudflare/references/email-routing/api.md +192 -0
- package/skills/cloudflare/references/email-routing/configuration.md +187 -0
- package/skills/cloudflare/references/email-routing/gotchas.md +203 -0
- package/skills/cloudflare/references/email-routing/patterns.md +241 -0
- package/skills/cloudflare/references/email-workers/README.md +153 -0
- package/skills/cloudflare/references/email-workers/api.md +227 -0
- package/skills/cloudflare/references/email-workers/configuration.md +115 -0
- package/skills/cloudflare/references/email-workers/gotchas.md +133 -0
- package/skills/cloudflare/references/email-workers/patterns.md +108 -0
- package/skills/cloudflare/references/graphql-api/README.md +147 -0
- package/skills/cloudflare/references/graphql-api/api.md +175 -0
- package/skills/cloudflare/references/graphql-api/configuration.md +151 -0
- package/skills/cloudflare/references/graphql-api/gotchas.md +111 -0
- package/skills/cloudflare/references/graphql-api/patterns.md +276 -0
- package/skills/cloudflare/references/hyperdrive/README.md +84 -0
- package/skills/cloudflare/references/hyperdrive/api.md +149 -0
- package/skills/cloudflare/references/hyperdrive/configuration.md +166 -0
- package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
- package/skills/cloudflare/references/hyperdrive/patterns.md +203 -0
- package/skills/cloudflare/references/images/README.md +65 -0
- package/skills/cloudflare/references/images/api.md +101 -0
- package/skills/cloudflare/references/images/configuration.md +206 -0
- package/skills/cloudflare/references/images/gotchas.md +106 -0
- package/skills/cloudflare/references/images/patterns.md +126 -0
- package/skills/cloudflare/references/kv/README.md +90 -0
- package/skills/cloudflare/references/kv/api.md +163 -0
- package/skills/cloudflare/references/kv/configuration.md +148 -0
- package/skills/cloudflare/references/kv/gotchas.md +133 -0
- package/skills/cloudflare/references/kv/patterns.md +195 -0
- package/skills/cloudflare/references/miniflare/README.md +113 -0
- package/skills/cloudflare/references/miniflare/api.md +204 -0
- package/skills/cloudflare/references/miniflare/configuration.md +174 -0
- package/skills/cloudflare/references/miniflare/gotchas.md +179 -0
- package/skills/cloudflare/references/miniflare/patterns.md +187 -0
- package/skills/cloudflare/references/network-interconnect/README.md +104 -0
- package/skills/cloudflare/references/network-interconnect/api.md +220 -0
- package/skills/cloudflare/references/network-interconnect/configuration.md +123 -0
- package/skills/cloudflare/references/network-interconnect/gotchas.md +175 -0
- package/skills/cloudflare/references/network-interconnect/patterns.md +174 -0
- package/skills/cloudflare/references/observability/README.md +93 -0
- package/skills/cloudflare/references/observability/api.md +168 -0
- package/skills/cloudflare/references/observability/configuration.md +178 -0
- package/skills/cloudflare/references/observability/gotchas.md +125 -0
- package/skills/cloudflare/references/observability/patterns.md +105 -0
- package/skills/cloudflare/references/pages/README.md +92 -0
- package/skills/cloudflare/references/pages/api.md +205 -0
- package/skills/cloudflare/references/pages/configuration.md +216 -0
- package/skills/cloudflare/references/pages/gotchas.md +218 -0
- package/skills/cloudflare/references/pages/patterns.md +215 -0
- package/skills/cloudflare/references/pages-functions/README.md +104 -0
- package/skills/cloudflare/references/pages-functions/api.md +159 -0
- package/skills/cloudflare/references/pages-functions/configuration.md +130 -0
- package/skills/cloudflare/references/pages-functions/gotchas.md +102 -0
- package/skills/cloudflare/references/pages-functions/patterns.md +148 -0
- package/skills/cloudflare/references/pipelines/README.md +109 -0
- package/skills/cloudflare/references/pipelines/api.md +214 -0
- package/skills/cloudflare/references/pipelines/configuration.md +98 -0
- package/skills/cloudflare/references/pipelines/gotchas.md +84 -0
- package/skills/cloudflare/references/pipelines/patterns.md +87 -0
- package/skills/cloudflare/references/product-index.md +112 -0
- package/skills/cloudflare/references/pulumi/README.md +113 -0
- package/skills/cloudflare/references/pulumi/api.md +230 -0
- package/skills/cloudflare/references/pulumi/configuration.md +213 -0
- package/skills/cloudflare/references/pulumi/gotchas.md +205 -0
- package/skills/cloudflare/references/pulumi/patterns.md +260 -0
- package/skills/cloudflare/references/queues/README.md +99 -0
- package/skills/cloudflare/references/queues/api.md +211 -0
- package/skills/cloudflare/references/queues/configuration.md +151 -0
- package/skills/cloudflare/references/queues/gotchas.md +210 -0
- package/skills/cloudflare/references/queues/patterns.md +220 -0
- package/skills/cloudflare/references/r2/README.md +97 -0
- package/skills/cloudflare/references/r2/api.md +235 -0
- package/skills/cloudflare/references/r2/configuration.md +176 -0
- package/skills/cloudflare/references/r2/gotchas.md +190 -0
- package/skills/cloudflare/references/r2/patterns.md +203 -0
- package/skills/cloudflare/references/r2-data-catalog/README.md +157 -0
- package/skills/cloudflare/references/r2-data-catalog/api.md +199 -0
- package/skills/cloudflare/references/r2-data-catalog/configuration.md +205 -0
- package/skills/cloudflare/references/r2-data-catalog/gotchas.md +170 -0
- package/skills/cloudflare/references/r2-data-catalog/patterns.md +191 -0
- package/skills/cloudflare/references/r2-sql/README.md +138 -0
- package/skills/cloudflare/references/r2-sql/SKILL.md.backup +512 -0
- package/skills/cloudflare/references/r2-sql/api.md +159 -0
- package/skills/cloudflare/references/r2-sql/configuration.md +152 -0
- package/skills/cloudflare/references/r2-sql/gotchas.md +228 -0
- package/skills/cloudflare/references/r2-sql/patterns.md +230 -0
- package/skills/cloudflare/references/realtime-sfu/README.md +66 -0
- package/skills/cloudflare/references/realtime-sfu/api.md +164 -0
- package/skills/cloudflare/references/realtime-sfu/configuration.md +141 -0
- package/skills/cloudflare/references/realtime-sfu/gotchas.md +138 -0
- package/skills/cloudflare/references/realtime-sfu/patterns.md +187 -0
- package/skills/cloudflare/references/realtimekit/README.md +118 -0
- package/skills/cloudflare/references/realtimekit/api.md +234 -0
- package/skills/cloudflare/references/realtimekit/configuration.md +226 -0
- package/skills/cloudflare/references/realtimekit/gotchas.md +206 -0
- package/skills/cloudflare/references/realtimekit/patterns.md +240 -0
- package/skills/cloudflare/references/sandbox/README.md +104 -0
- package/skills/cloudflare/references/sandbox/api.md +200 -0
- package/skills/cloudflare/references/sandbox/configuration.md +154 -0
- package/skills/cloudflare/references/sandbox/gotchas.md +201 -0
- package/skills/cloudflare/references/sandbox/patterns.md +195 -0
- package/skills/cloudflare/references/secrets-store/README.md +77 -0
- package/skills/cloudflare/references/secrets-store/api.md +199 -0
- package/skills/cloudflare/references/secrets-store/configuration.md +187 -0
- package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
- package/skills/cloudflare/references/secrets-store/patterns.md +218 -0
- package/skills/cloudflare/references/smart-placement/README.md +143 -0
- package/skills/cloudflare/references/smart-placement/api.md +192 -0
- package/skills/cloudflare/references/smart-placement/configuration.md +202 -0
- package/skills/cloudflare/references/smart-placement/gotchas.md +180 -0
- package/skills/cloudflare/references/smart-placement/patterns.md +190 -0
- package/skills/cloudflare/references/snippets/README.md +74 -0
- package/skills/cloudflare/references/snippets/api.md +214 -0
- package/skills/cloudflare/references/snippets/configuration.md +239 -0
- package/skills/cloudflare/references/snippets/gotchas.md +104 -0
- package/skills/cloudflare/references/snippets/patterns.md +135 -0
- package/skills/cloudflare/references/spectrum/README.md +52 -0
- package/skills/cloudflare/references/spectrum/api.md +184 -0
- package/skills/cloudflare/references/spectrum/configuration.md +203 -0
- package/skills/cloudflare/references/spectrum/gotchas.md +155 -0
- package/skills/cloudflare/references/spectrum/patterns.md +206 -0
- package/skills/cloudflare/references/static-assets/README.md +65 -0
- package/skills/cloudflare/references/static-assets/api.md +201 -0
- package/skills/cloudflare/references/static-assets/configuration.md +186 -0
- package/skills/cloudflare/references/static-assets/gotchas.md +164 -0
- package/skills/cloudflare/references/static-assets/patterns.md +189 -0
- package/skills/cloudflare/references/stream/README.md +123 -0
- package/skills/cloudflare/references/stream/api-live.md +202 -0
- package/skills/cloudflare/references/stream/api.md +206 -0
- package/skills/cloudflare/references/stream/configuration.md +151 -0
- package/skills/cloudflare/references/stream/gotchas.md +139 -0
- package/skills/cloudflare/references/stream/patterns.md +217 -0
- package/skills/cloudflare/references/tail-workers/README.md +92 -0
- package/skills/cloudflare/references/tail-workers/api.md +203 -0
- package/skills/cloudflare/references/tail-workers/configuration.md +178 -0
- package/skills/cloudflare/references/tail-workers/gotchas.md +206 -0
- package/skills/cloudflare/references/tail-workers/patterns.md +190 -0
- package/skills/cloudflare/references/terraform/README.md +100 -0
- package/skills/cloudflare/references/terraform/api.md +178 -0
- package/skills/cloudflare/references/terraform/configuration.md +197 -0
- package/skills/cloudflare/references/terraform/gotchas.md +150 -0
- package/skills/cloudflare/references/terraform/patterns.md +174 -0
- package/skills/cloudflare/references/tunnel/README.md +137 -0
- package/skills/cloudflare/references/tunnel/api.md +205 -0
- package/skills/cloudflare/references/tunnel/configuration.md +163 -0
- package/skills/cloudflare/references/tunnel/gotchas.md +159 -0
- package/skills/cloudflare/references/tunnel/networking.md +174 -0
- package/skills/cloudflare/references/tunnel/patterns.md +199 -0
- package/skills/cloudflare/references/turn/README.md +86 -0
- package/skills/cloudflare/references/turn/api.md +236 -0
- package/skills/cloudflare/references/turn/configuration.md +181 -0
- package/skills/cloudflare/references/turn/gotchas.md +236 -0
- package/skills/cloudflare/references/turn/patterns.md +228 -0
- package/skills/cloudflare/references/turnstile/README.md +102 -0
- package/skills/cloudflare/references/turnstile/api.md +253 -0
- package/skills/cloudflare/references/turnstile/configuration.md +242 -0
- package/skills/cloudflare/references/turnstile/gotchas.md +253 -0
- package/skills/cloudflare/references/turnstile/patterns.md +195 -0
- package/skills/cloudflare/references/vectorize/README.md +133 -0
- package/skills/cloudflare/references/vectorize/api.md +89 -0
- package/skills/cloudflare/references/vectorize/configuration.md +91 -0
- package/skills/cloudflare/references/vectorize/gotchas.md +83 -0
- package/skills/cloudflare/references/vectorize/patterns.md +92 -0
- package/skills/cloudflare/references/waf/README.md +125 -0
- package/skills/cloudflare/references/waf/api.md +203 -0
- package/skills/cloudflare/references/waf/configuration.md +215 -0
- package/skills/cloudflare/references/waf/gotchas.md +208 -0
- package/skills/cloudflare/references/waf/patterns.md +236 -0
- package/skills/cloudflare/references/web-analytics/README.md +149 -0
- package/skills/cloudflare/references/web-analytics/configuration.md +81 -0
- package/skills/cloudflare/references/web-analytics/gotchas.md +86 -0
- package/skills/cloudflare/references/web-analytics/integration.md +63 -0
- package/skills/cloudflare/references/web-analytics/patterns.md +98 -0
- package/skills/cloudflare/references/workerd/README.md +85 -0
- package/skills/cloudflare/references/workerd/api.md +219 -0
- package/skills/cloudflare/references/workerd/configuration.md +200 -0
- package/skills/cloudflare/references/workerd/gotchas.md +151 -0
- package/skills/cloudflare/references/workerd/patterns.md +205 -0
- package/skills/cloudflare/references/workers/README.md +110 -0
- package/skills/cloudflare/references/workers/api.md +197 -0
- package/skills/cloudflare/references/workers/configuration.md +184 -0
- package/skills/cloudflare/references/workers/frameworks.md +200 -0
- package/skills/cloudflare/references/workers/gotchas.md +145 -0
- package/skills/cloudflare/references/workers/patterns.md +220 -0
- package/skills/cloudflare/references/workers-ai/README.md +206 -0
- package/skills/cloudflare/references/workers-ai/api.md +115 -0
- package/skills/cloudflare/references/workers-ai/configuration.md +98 -0
- package/skills/cloudflare/references/workers-ai/gotchas.md +130 -0
- package/skills/cloudflare/references/workers-ai/patterns.md +122 -0
- package/skills/cloudflare/references/workers-for-platforms/README.md +95 -0
- package/skills/cloudflare/references/workers-for-platforms/api.md +212 -0
- package/skills/cloudflare/references/workers-for-platforms/configuration.md +178 -0
- package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
- package/skills/cloudflare/references/workers-for-platforms/patterns.md +210 -0
- package/skills/cloudflare/references/workers-playground/README.md +131 -0
- package/skills/cloudflare/references/workers-playground/api.md +101 -0
- package/skills/cloudflare/references/workers-playground/configuration.md +169 -0
- package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
- package/skills/cloudflare/references/workers-playground/patterns.md +134 -0
- package/skills/cloudflare/references/workers-vpc/README.md +130 -0
- package/skills/cloudflare/references/workers-vpc/api.md +196 -0
- package/skills/cloudflare/references/workers-vpc/configuration.md +151 -0
- package/skills/cloudflare/references/workers-vpc/gotchas.md +171 -0
- package/skills/cloudflare/references/workers-vpc/patterns.md +235 -0
- package/skills/cloudflare/references/workflows/README.md +72 -0
- package/skills/cloudflare/references/workflows/api.md +237 -0
- package/skills/cloudflare/references/workflows/configuration.md +158 -0
- package/skills/cloudflare/references/workflows/gotchas.md +97 -0
- package/skills/cloudflare/references/workflows/patterns.md +245 -0
- package/skills/cloudflare/references/wrangler/README.md +143 -0
- package/skills/cloudflare/references/wrangler/api.md +188 -0
- package/skills/cloudflare/references/wrangler/configuration.md +198 -0
- package/skills/cloudflare/references/wrangler/gotchas.md +212 -0
- package/skills/cloudflare/references/wrangler/patterns.md +211 -0
- package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +131 -0
- package/skills/cloudflare/references/zaraz/README.md +114 -0
- package/skills/cloudflare/references/zaraz/api.md +118 -0
- package/skills/cloudflare/references/zaraz/configuration.md +94 -0
- package/skills/cloudflare/references/zaraz/gotchas.md +88 -0
- package/skills/cloudflare/references/zaraz/patterns.md +77 -0
- package/skills/docker/SKILL.md +7 -101
- package/skills/docker/references/advanced-examples.md +71 -0
- package/skills/docker/references/templates.md +34 -0
- package/skills/docs-marketer/SKILL.md +178 -0
- package/skills/docs-marketer/references/audit-categories.md +328 -0
- package/skills/docs-marketer/references/copilot-docs-prompts.md +88 -0
- package/skills/docs-marketer/references/copilot-usage.md +16 -0
- package/skills/docs-marketer/references/feedback-loop.md +155 -0
- package/skills/docs-marketer/references/multi-pass-docs-protocol.md +410 -0
- package/skills/drizzle-orm/SKILL.md +82 -0
- package/skills/durable-objects/SKILL.md +167 -0
- package/skills/durable-objects/references/advanced_features.md +29 -0
- package/skills/durable-objects/references/rules.md +300 -0
- package/skills/durable-objects/references/testing.md +261 -0
- package/skills/durable-objects/references/workers.md +336 -0
- package/skills/gcp/SKILL.md +37 -0
- package/skills/github-actions/SKILL.md +5 -58
- package/skills/github-actions/references/templates.md +65 -0
- package/skills/github-commander/SKILL.md +13 -21
- package/skills/github-commander/workflows/copilot-audit.md +12 -12
- package/skills/github-copilot-cli/SKILL.md +21 -26
- package/skills/github-repo-setup/SKILL.md +136 -0
- package/skills/github-repo-setup/references/community-standards.md +136 -0
- package/skills/github-repo-setup/references/github-automation.md +490 -0
- package/skills/github-repo-setup/references/inline-templates.md +205 -0
- package/skills/github-repo-setup/references/project-config.md +320 -0
- package/skills/gitlab/SKILL.md +7 -2
- package/skills/gitlab/package-lock.json +389 -389
- package/skills/golang/SKILL.md +8 -1
- package/skills/graphql/SKILL.md +30 -0
- package/skills/hono/SKILL.md +82 -0
- package/skills/journal-optimizer/SKILL.md +206 -0
- package/skills/journal-optimizer/references/optimizer-scripts.md +169 -0
- package/skills/llm-app-engineering/SKILL.md +18 -0
- package/skills/monorepo/SKILL.md +56 -0
- package/skills/multi-agent-orchestration/SKILL.md +14 -0
- package/skills/mysql/SKILL.md +6 -2
- package/skills/next-best-practices/SKILL.md +86 -0
- package/skills/next-best-practices/references/cache-components-examples.md +234 -0
- package/skills/next-best-practices/references/cache-components.md +210 -0
- package/skills/next-best-practices/references/upgrade-decision-tree.md +33 -0
- package/skills/next-best-practices/references/upgrade.md +43 -0
- package/skills/next-cache-components/SKILL.md +441 -0
- package/skills/next-upgrade/SKILL.md +43 -0
- package/skills/next-upgrade/references/decision-tree.md +33 -0
- package/skills/nodejs/SKILL.md +46 -0
- package/skills/opentelemetry/SKILL.md +62 -0
- package/skills/package.json +39 -4
- package/skills/playwright-standard/SKILL.md +6 -11
- package/skills/playwright-standard/references/locators.md +7 -0
- package/skills/postgres/SKILL.md +6 -1
- package/skills/python/SKILL.md +8 -70
- package/skills/python/references/advanced-patterns.md +37 -0
- package/skills/python/references/config-templates.md +48 -0
- package/skills/rag-pipelines/SKILL.md +14 -0
- package/skills/redis/SKILL.md +31 -0
- package/skills/render/SKILL.md +35 -0
- package/skills/rust/SKILL.md +15 -25
- package/skills/rust/references/borrow-checker.md +13 -0
- package/skills/rust/references/ecosystem.md +11 -0
- package/skills/sandbox-sdk/SKILL.md +186 -0
- package/skills/sandbox-sdk/references/api-quick-ref.md +113 -0
- package/skills/sandbox-sdk/references/examples.md +52 -0
- package/skills/shadcn-ui/SKILL.md +22 -57
- package/skills/skill-builder/SKILL.md +23 -424
- package/skills/skill-builder/references/tutorial.md +457 -0
- package/skills/sqlite/SKILL.md +16 -5
- package/skills/table.md +59 -0
- package/skills/tailwind-css/SKILL.md +11 -60
- package/skills/tailwind-css/references/component-patterns.md +52 -0
- package/skills/trpc/SKILL.md +56 -0
- package/skills/typescript/SKILL.md +30 -433
- package/skills/typescript/references/tutorial.md +453 -0
- package/skills/vercel-ai-sdk/SKILL.md +48 -0
- package/skills/vitest-standard/SKILL.md +5 -11
- package/skills/vitest-standard/references/assertions.md +11 -0
- package/skills/web-perf/SKILL.md +207 -0
- package/skills/workers-best-practices/SKILL.md +120 -0
- package/skills/workers-best-practices/references/anti-patterns.md +18 -0
- package/skills/workers-best-practices/references/review.md +174 -0
- package/skills/workers-best-practices/references/rules.md +485 -0
- package/skills/wrangler/SKILL.md +43 -0
- package/skills/wrangler/references/cli-commands.md +861 -0
- package/skills/zod/SKILL.md +48 -0
- package/dist/tools-P4VGG4FH.js +0 -1
- package/skills/react-best-practices/AGENTS.md +0 -2883
- package/skills/react-best-practices/SKILL.md +0 -138
- /package/skills/{react-best-practices → next-best-practices}/README.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/metadata.json +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/_sections.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/_template.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/advanced-event-handler-refs.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/advanced-init-once.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/advanced-use-latest.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-api-routes.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-defer-await.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-dependencies.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-parallel.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-suspense-boundaries.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-barrel-imports.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-conditional.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-defer-third-party.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-dynamic-imports.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-preload.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-event-listeners.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-localstorage-schema.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-passive-event-listeners.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-swr-dedup.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-batch-dom-css.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-function-results.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-property-access.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-storage.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-combine-iterations.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-early-exit.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-hoist-regexp.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-index-maps.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-length-check-first.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-min-max-loop.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-set-map-lookups.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-tosorted-immutable.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-activity.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-animate-svg-wrapper.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-conditional-render.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-content-visibility.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hoist-jsx.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-no-flicker.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-suppress-warning.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-svg-precision.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-usetransition-loading.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-defer-reads.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-dependencies.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state-no-effect.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-functional-setstate.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-lazy-state-init.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo-with-default-value.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-move-effect-to-event.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-simple-expression-in-memo.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-transitions.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-use-ref-transient-values.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-after-nonblocking.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-auth-actions.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-lru.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-react.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-dedup-props.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-parallel-fetching.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-serialization.md +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adversarial-performance
|
|
3
|
+
description: |
|
|
4
|
+
Multi-pass adversarial performance audit for entire repositories. Combines
|
|
5
|
+
structured profiling (Agent A) with adversarial stress-testing critique
|
|
6
|
+
(Agent B) through iterative passes. Optimize repo/backend performance, hot-paths, build size, and server throughput. Do NOT use for frontend page load metrics
|
|
7
|
+
or Lighthouse audits (use web-perf). NOT for frontend Core Web Vitals (use web-perf).
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Adversarial Performance
|
|
11
|
+
|
|
12
|
+
A multi-pass performance auditing system that produces high-confidence
|
|
13
|
+
optimization assessments by introducing structured adversarial critique
|
|
14
|
+
stages. Audits pass through an iterative pipeline of profiling,
|
|
15
|
+
stress-testing critique, optimization planning, and optional external
|
|
16
|
+
validation — producing output optimized for measurable impact, effort
|
|
17
|
+
efficiency, and regression safety.
|
|
18
|
+
|
|
19
|
+
## When to Load
|
|
20
|
+
|
|
21
|
+
Load this skill when any of these apply:
|
|
22
|
+
|
|
23
|
+
- Running a performance audit against an entire repository
|
|
24
|
+
- Profiling build times, runtime hot paths, or bundle size
|
|
25
|
+
- The user asks for an adversarial performance review or stress-test analysis
|
|
26
|
+
- The user says "perf audit", "performance review", "find bottlenecks",
|
|
27
|
+
"adversarial performance", "optimize this repo", "make this faster",
|
|
28
|
+
"why is this slow", or "speed up my code"
|
|
29
|
+
- Preparing a performance baseline report before a major release
|
|
30
|
+
- You want to reduce blind spots in your own performance assessment
|
|
31
|
+
|
|
32
|
+
## Auto-Detection
|
|
33
|
+
|
|
34
|
+
Before starting, auto-detect the project profile by scanning the repository:
|
|
35
|
+
|
|
36
|
+
| Signal | Project Profile | Extra Categories |
|
|
37
|
+
| ----------------------------------------------- | --------------- | ---------------------------------------------------------- |
|
|
38
|
+
| MCP SDK imports, tool handlers, `tools/list` | `mcp-server` | Token & Context Efficiency (Category 7) — full depth |
|
|
39
|
+
| Express/Hono/Fastify, HTTP handlers, `listen()` | `web-app` | Runtime Performance (Category 4) — extra API latency focus |
|
|
40
|
+
| `bin` field, CLI arg parsing | `cli-tool` | Startup Cost analysis in Category 4 |
|
|
41
|
+
| Vitest/Jest/Playwright config | `tested` | Test Suite Performance (Category 5) — full depth |
|
|
42
|
+
| Dockerfile present | `containerized` | Build Performance (Category 1) — Docker layer analysis |
|
|
43
|
+
| Database imports (better-sqlite3, pg, mysql2) | `data-layer` | Database & I/O (Category 6) — full depth |
|
|
44
|
+
|
|
45
|
+
Profiles stack. A typical MCP server might be `mcp-server + cli-tool +
|
|
46
|
+
tested + containerized + data-layer`.
|
|
47
|
+
|
|
48
|
+
## Adversarial Protocol
|
|
49
|
+
|
|
50
|
+
This skill follows the standard dual-agent adversarial pattern (Agent A: The Profiler, Agent B: The Stress Tester).
|
|
51
|
+
For the core pipeline rules, phase definitions, and agent switching protocols, read:
|
|
52
|
+
**[../adversarial-security/references/adversarial-base-protocol.md](../adversarial-security/references/adversarial-base-protocol.md)**
|
|
53
|
+
|
|
54
|
+
For the performance-specific protocol with review dimensions, scoring weights, and output templates, read:
|
|
55
|
+
**[references/multi-pass-performance-protocol.md](references/multi-pass-performance-protocol.md)**
|
|
56
|
+
|
|
57
|
+
## Audit Categories
|
|
58
|
+
|
|
59
|
+
The 7 performance categories audited during Phase 1 (Profiling) and
|
|
60
|
+
challenged during Phase 2 (Stress Test) are:
|
|
61
|
+
|
|
62
|
+
1. Build Performance
|
|
63
|
+
2. Bundle & Output Analysis
|
|
64
|
+
3. Dependency Weight
|
|
65
|
+
4. Runtime Performance
|
|
66
|
+
5. Test Suite Performance
|
|
67
|
+
6. Database & I/O Performance
|
|
68
|
+
7. Token & Context Efficiency (MCP servers — graceful degradation)
|
|
69
|
+
|
|
70
|
+
For the full checklist with measurement methods, anti-patterns, and
|
|
71
|
+
optimization patterns, read
|
|
72
|
+
[references/audit-categories.md](references/audit-categories.md).
|
|
73
|
+
|
|
74
|
+
## External Validation (Phase 4)
|
|
75
|
+
|
|
76
|
+
Phase 4 triggers an independent validation pass using the GitHub CLI (`gh copilot`).
|
|
77
|
+
This provides a fundamentally different model's perspective on the audit,
|
|
78
|
+
catching performance patterns that internal review normalizes.
|
|
79
|
+
|
|
80
|
+
For Copilot-specific prompt templates, read
|
|
81
|
+
[references/copilot-performance-prompts.md](references/copilot-performance-prompts.md).
|
|
82
|
+
|
|
83
|
+
**Prerequisites:** `gh` CLI v2.x+ with `gh auth status` passing. If `gh copilot`
|
|
84
|
+
is not available, skip Phase 4 gracefully and note the skip in the journal entry.
|
|
85
|
+
|
|
86
|
+
Read [references/copilot-usage.md](references/copilot-usage.md) for critical non-interactive execution requirements.
|
|
87
|
+
|
|
88
|
+
## Feedback Loop & Documentation
|
|
89
|
+
|
|
90
|
+
Every phase creates a journal entry with structured tags and entry types.
|
|
91
|
+
This builds a searchable audit trail that tracks performance evolution
|
|
92
|
+
across releases.
|
|
93
|
+
|
|
94
|
+
For journal templates, tag conventions, and retrospective templates, read
|
|
95
|
+
[references/feedback-loop.md](references/feedback-loop.md).
|
|
96
|
+
|
|
97
|
+
### Journal Opt-Out
|
|
98
|
+
|
|
99
|
+
See [references/journal-opt-out.md](references/journal-opt-out.md) for instructions on how to handle explicit opt-outs from journaling.
|
|
100
|
+
|
|
101
|
+
### Consolidated Report
|
|
102
|
+
|
|
103
|
+
The final deliverable is a **single consolidated artifact** merging all four
|
|
104
|
+
phases into one document. Do NOT produce separate artifacts per phase — the user should receive one
|
|
105
|
+
comprehensive document with all findings, optimizations, and external
|
|
106
|
+
validation results. Before sharing output outside the audit context, redact or generalize sensitive query patterns, specific API payloads, and avoid including live credentials or internal hostnames.
|
|
107
|
+
|
|
108
|
+
## Configuration
|
|
109
|
+
|
|
110
|
+
| Variable | Default | Description |
|
|
111
|
+
| -------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- |
|
|
112
|
+
| `MAX_AUDIT_PASSES` | `2` | Maximum stress-test cycles (phases 2–3 repeat) |
|
|
113
|
+
| `AUDIT_DEPTH` | `standard` | Depth: `scan`, `standard`, or `intensive` |
|
|
114
|
+
| `COPILOT_VALIDATION` | `true` | Enable/disable the Copilot extension validation phase |
|
|
115
|
+
| `PROJECT_PROFILE` | `auto` | Auto-detect or explicit profile list |
|
|
116
|
+
| `RUN_COMMANDS` | `false` | Whether to execute measurement commands (`tsc --diagnostics`, `npm test`, etc.) or perform static analysis only |
|
|
117
|
+
|
|
118
|
+
### Audit Depth Profiles
|
|
119
|
+
|
|
120
|
+
- **Scan**: Quick triage — Categories 1, 3, 4 only. Focus on the most
|
|
121
|
+
impactful bottlenecks. Best for small repos or time-constrained reviews.
|
|
122
|
+
- **Standard**: Full 7-category audit with all review dimensions. Default
|
|
123
|
+
for most repositories.
|
|
124
|
+
- **Intensive**: Extended audit with additional focus on:
|
|
125
|
+
- Algorithmic complexity analysis (Big-O) on hot paths
|
|
126
|
+
- Memory allocation profiling patterns
|
|
127
|
+
- Cold start vs. warm path divergence
|
|
128
|
+
- Concurrency bottleneck analysis (event loop blocking, worker saturation)
|
|
129
|
+
- Historical regression tracking (compare against prior audit baselines)
|
|
130
|
+
|
|
131
|
+
## Synergies
|
|
132
|
+
|
|
133
|
+
| Skill/Workflow | Relationship |
|
|
134
|
+
| ---------------------- | ------------------------------------------------------------------------------------------- |
|
|
135
|
+
| `adversarial-security` | Sibling skill — applies adversarial pattern to security; this applies it to performance |
|
|
136
|
+
| `adversarial-planner` | Parent pattern — plan-level adversarial review; this and security extend it to audits |
|
|
137
|
+
| `autonomous-dev` | Generator/Evaluator pipeline at code level; use after this skill to implement optimizations |
|
|
138
|
+
| `/perf-audit` workflow | Provides the category checklist; this skill adds adversarial methodology on top |
|
|
139
|
+
| `web-perf` | Web-specific performance skill; use alongside for frontend-heavy projects |
|
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
# Audit Categories
|
|
2
|
+
|
|
3
|
+
Detailed reference for the 7 performance audit categories. Each category
|
|
4
|
+
includes what to measure, anti-patterns, optimization patterns, and
|
|
5
|
+
depth-specific considerations.
|
|
6
|
+
|
|
7
|
+
Agent A (Profiler) uses this as a measurement checklist during Phase 1.
|
|
8
|
+
Agent B (Stress Tester) uses it to construct worst-case scenarios in Phase 2.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Category 1 — Build Performance
|
|
13
|
+
|
|
14
|
+
### What to Measure
|
|
15
|
+
|
|
16
|
+
- Total TypeScript compilation time (`tsc --noEmit --diagnostics`)
|
|
17
|
+
- Bundler build time (`npm run build`)
|
|
18
|
+
- Files compiled and lines of code
|
|
19
|
+
- Memory usage during compilation
|
|
20
|
+
- Incremental vs. clean build times
|
|
21
|
+
- Docker image build time (if containerized)
|
|
22
|
+
|
|
23
|
+
### Anti-Patterns
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
// Deep generic nesting — exponential type resolution
|
|
27
|
+
type DeepPartial<T> = {
|
|
28
|
+
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K]
|
|
29
|
+
} // Deeply nested usage causes slow compilation
|
|
30
|
+
|
|
31
|
+
// Circular type references
|
|
32
|
+
type A = { b: B }
|
|
33
|
+
type B = { a: A } // Compiler struggles with these
|
|
34
|
+
|
|
35
|
+
// Barrel re-exports pulling in entire dependency graph
|
|
36
|
+
export * from './module-a'
|
|
37
|
+
export * from './module-b'
|
|
38
|
+
// Forces tsc to resolve everything even if only one export is used
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Optimization Patterns
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
// Explicit exports instead of barrel wildcards
|
|
45
|
+
export { SpecificType } from "./module-a";
|
|
46
|
+
export { SpecificFunction } from "./module-b";
|
|
47
|
+
|
|
48
|
+
// Project references for monorepo build parallelism
|
|
49
|
+
// tsconfig.json
|
|
50
|
+
{ "references": [{ "path": "./packages/core" }] }
|
|
51
|
+
|
|
52
|
+
// Incremental compilation
|
|
53
|
+
// tsconfig.json
|
|
54
|
+
{ "compilerOptions": { "incremental": true, "tsBuildInfoFile": ".tsbuildinfo" } }
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Depth: Intensive
|
|
58
|
+
|
|
59
|
+
- Profile individual file compilation times to find the slowest files
|
|
60
|
+
- Analyze type complexity (deeply nested generics, conditional types)
|
|
61
|
+
- Measure Docker layer cache hit rates
|
|
62
|
+
- Compare clean vs. incremental build to validate caching effectiveness
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Category 2 — Bundle & Output Analysis
|
|
67
|
+
|
|
68
|
+
### What to Measure
|
|
69
|
+
|
|
70
|
+
- Total output size (`dist/` or `build/`)
|
|
71
|
+
- Top 5 largest output files by size
|
|
72
|
+
- Source map presence and size in production
|
|
73
|
+
- Number of output chunks (for code-split builds)
|
|
74
|
+
- Tree-shaking effectiveness (are unused exports eliminated?)
|
|
75
|
+
|
|
76
|
+
### Anti-Patterns
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// Importing entire library when only one function is needed
|
|
80
|
+
import _ from 'lodash' // Pulls in ~600KB
|
|
81
|
+
_.get(obj, 'path')
|
|
82
|
+
|
|
83
|
+
// Dev dependency accidentally in production bundle
|
|
84
|
+
import { faker } from '@faker-js/faker' // 3MB+ test utility
|
|
85
|
+
|
|
86
|
+
// Source maps shipped to production
|
|
87
|
+
// tsup.config.ts
|
|
88
|
+
{
|
|
89
|
+
sourcemap: true
|
|
90
|
+
} // Fine for dev, costly for production
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Optimization Patterns
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
// Targeted imports
|
|
97
|
+
import get from 'lodash/get' // ~1KB vs 600KB
|
|
98
|
+
|
|
99
|
+
// External dependencies (not bundled)
|
|
100
|
+
// tsup.config.ts
|
|
101
|
+
{
|
|
102
|
+
external: ['better-sqlite3', 'sql.js']
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Source maps only in dev
|
|
106
|
+
{
|
|
107
|
+
sourcemap: process.env.NODE_ENV !== 'production'
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Depth: Intensive
|
|
112
|
+
|
|
113
|
+
- Trace each large output file to its source to find bundling waste
|
|
114
|
+
- Analyze tree-shaking failures (what's included but never called?)
|
|
115
|
+
- Measure gzip/brotli compressed sizes for realistic transfer cost
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Category 3 — Dependency Weight
|
|
120
|
+
|
|
121
|
+
### What to Measure
|
|
122
|
+
|
|
123
|
+
- Total production dependency count (direct + transitive)
|
|
124
|
+
- Top 5 heaviest dependencies by install size
|
|
125
|
+
- Duplicate packages (different versions of the same dep)
|
|
126
|
+
- Dependency tree depth (deep trees increase install time and risk)
|
|
127
|
+
- `devDependencies` accidentally in `dependencies`
|
|
128
|
+
|
|
129
|
+
### Anti-Patterns
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
// Heavy utility library for one function
|
|
133
|
+
"dependencies": { "moment": "^2.30.0" } // 300KB+ for date formatting
|
|
134
|
+
|
|
135
|
+
// Duplicate versions in tree
|
|
136
|
+
"better-sqlite3": "11.0.0" // direct
|
|
137
|
+
"some-plugin > better-sqlite3": "10.0.0" // transitive duplicate
|
|
138
|
+
|
|
139
|
+
// Dev dependency in prod
|
|
140
|
+
"dependencies": { "@types/node": "^22.0.0" } // Should be devDependencies
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Optimization Patterns
|
|
144
|
+
|
|
145
|
+
```json
|
|
146
|
+
// Lighter alternatives
|
|
147
|
+
"dependencies": { "dayjs": "^1.11.0" } // 2KB vs 300KB
|
|
148
|
+
|
|
149
|
+
// Deduplication
|
|
150
|
+
// npm dedupe
|
|
151
|
+
|
|
152
|
+
// Correct dependency placement
|
|
153
|
+
"devDependencies": { "@types/node": "^22.0.0" }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Depth: Intensive
|
|
157
|
+
|
|
158
|
+
- Calculate total `node_modules` size for production install
|
|
159
|
+
- Compare each heavy dependency against lighter alternatives
|
|
160
|
+
- Check for phantom dependencies (used but not declared — rely on hoisting)
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Category 4 — Runtime Performance
|
|
165
|
+
|
|
166
|
+
### What to Look For
|
|
167
|
+
|
|
168
|
+
This is a **static analysis** category. Scan source code for patterns that
|
|
169
|
+
cause runtime performance issues without running a profiler.
|
|
170
|
+
|
|
171
|
+
- **Hot-path allocations** — object/array creation inside tight loops,
|
|
172
|
+
repeated `JSON.parse`/`JSON.stringify`, unnecessary spread operators in
|
|
173
|
+
iteration
|
|
174
|
+
- **Missing early returns** — functions doing expensive work before checking
|
|
175
|
+
guard conditions
|
|
176
|
+
- **Redundant computation** — values computed multiple times when they could
|
|
177
|
+
be cached or hoisted
|
|
178
|
+
- **Blocking operations** — synchronous file I/O (`fs.readFileSync` in
|
|
179
|
+
request handlers), CPU-intensive loops without yielding, serial `await`
|
|
180
|
+
where parallel is safe
|
|
181
|
+
- **Memory leaks** — event listeners not cleaned up, growing Maps/Sets
|
|
182
|
+
without eviction, closures capturing large scopes, timers without
|
|
183
|
+
`clearInterval`
|
|
184
|
+
- **Startup cost** — heavy top-level initialization, eager loading of
|
|
185
|
+
rarely-used modules
|
|
186
|
+
|
|
187
|
+
### Anti-Patterns
|
|
188
|
+
|
|
189
|
+
```typescript
|
|
190
|
+
// Object allocation in hot loop
|
|
191
|
+
for (const row of rows) {
|
|
192
|
+
const result = { ...defaults, ...row } // New object every iteration
|
|
193
|
+
results.push(result)
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// Serial await where parallel is safe
|
|
197
|
+
const a = await fetchA()
|
|
198
|
+
const b = await fetchB() // b doesn't depend on a — should be parallel
|
|
199
|
+
|
|
200
|
+
// Sync file I/O in request handler
|
|
201
|
+
app.get('/config', (req, res) => {
|
|
202
|
+
const config = fs.readFileSync('config.json') // Blocks event loop
|
|
203
|
+
res.json(JSON.parse(config))
|
|
204
|
+
})
|
|
205
|
+
|
|
206
|
+
// Missing early return
|
|
207
|
+
function processItem(item) {
|
|
208
|
+
const expensive = computeExpensiveThing(item) // Done before validation
|
|
209
|
+
if (!item.isValid) return null // Wasted computation
|
|
210
|
+
return expensive
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Memory leak — growing Map without eviction
|
|
214
|
+
const cache = new Map()
|
|
215
|
+
function getUser(id) {
|
|
216
|
+
if (!cache.has(id)) cache.set(id, fetchUser(id)) // Never evicts
|
|
217
|
+
return cache.get(id)
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Optimization Patterns
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
// Reuse object shape
|
|
225
|
+
const result = Object.create(null)
|
|
226
|
+
for (const row of rows) {
|
|
227
|
+
Object.assign(result, defaults, row)
|
|
228
|
+
results.push({ ...result })
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// Parallel await
|
|
232
|
+
const [a, b] = await Promise.all([fetchA(), fetchB()])
|
|
233
|
+
|
|
234
|
+
// Async file I/O with caching
|
|
235
|
+
let configCache
|
|
236
|
+
app.get('/config', async (req, res) => {
|
|
237
|
+
configCache ??= await fs.readFile('config.json', 'utf8')
|
|
238
|
+
res.json(JSON.parse(configCache))
|
|
239
|
+
})
|
|
240
|
+
|
|
241
|
+
// Early return before expensive work
|
|
242
|
+
function processItem(item) {
|
|
243
|
+
if (!item.isValid) return null
|
|
244
|
+
return computeExpensiveThing(item)
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// LRU cache with eviction
|
|
248
|
+
import { LRUCache } from 'lru-cache'
|
|
249
|
+
const cache = new LRUCache({ max: 1000, ttl: 60_000 })
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Depth: Intensive
|
|
253
|
+
|
|
254
|
+
- Trace hot paths end-to-end (request → handler → query → response)
|
|
255
|
+
- Analyze Big-O complexity of key algorithms
|
|
256
|
+
- Check for event loop blocking using heuristic detection (sync I/O,
|
|
257
|
+
heavy computation, long-running regex)
|
|
258
|
+
- Estimate cold start time (first request after process start)
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Category 5 — Test Suite Performance
|
|
263
|
+
|
|
264
|
+
### What to Measure
|
|
265
|
+
|
|
266
|
+
- Total suite duration
|
|
267
|
+
- Top 5 slowest test files (with durations)
|
|
268
|
+
- Top 5 slowest individual tests (with durations)
|
|
269
|
+
- Parallelization configuration (Vitest `pool`, `poolOptions`)
|
|
270
|
+
- Test isolation overhead (setup/teardown time)
|
|
271
|
+
|
|
272
|
+
### Anti-Patterns
|
|
273
|
+
|
|
274
|
+
```typescript
|
|
275
|
+
// Real I/O in unit tests
|
|
276
|
+
test("fetches data", async () => {
|
|
277
|
+
const data = await fetch("https://api.example.com/data"); // Network I/O
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
// Heavy setup for simple assertions
|
|
281
|
+
beforeEach(async () => {
|
|
282
|
+
await seedEntireDatabase(); // 500ms setup for a 10ms assertion
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
// Sequential tests that could parallelize
|
|
286
|
+
// vitest.config.ts
|
|
287
|
+
{ test: { pool: "forks", poolOptions: { forks: { singleFork: true } } } }
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Optimization Patterns
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
// Mock external I/O
|
|
294
|
+
vi.mock('node:fetch', () => ({ default: vi.fn() }))
|
|
295
|
+
|
|
296
|
+
// Minimal setup — seed only what the test needs
|
|
297
|
+
beforeEach(async () => {
|
|
298
|
+
await seedSingleTable('users', [testUser])
|
|
299
|
+
})
|
|
300
|
+
|
|
301
|
+
// Parallel execution
|
|
302
|
+
// vitest.config.ts
|
|
303
|
+
{
|
|
304
|
+
test: {
|
|
305
|
+
pool: 'threads'
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Applicability
|
|
311
|
+
|
|
312
|
+
If the project has no test suite, report this category as N/A.
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Category 6 — Database & I/O Performance
|
|
317
|
+
|
|
318
|
+
### What to Look For
|
|
319
|
+
|
|
320
|
+
- **N+1 queries** — database queries executed inside loops instead of
|
|
321
|
+
batching
|
|
322
|
+
- **Unbounded queries** — `SELECT *` without `LIMIT`, missing pagination
|
|
323
|
+
- **Missing indexes** — filtered/joined columns without indexes
|
|
324
|
+
- **Connection management** — pool sizing, connection leak risks, missing
|
|
325
|
+
timeouts
|
|
326
|
+
- **Caching** — repeated identical queries without caching, stale TTLs
|
|
327
|
+
- **Serialization overhead** — excessive object transformation between
|
|
328
|
+
layers, unnecessary deep cloning
|
|
329
|
+
|
|
330
|
+
### Anti-Patterns
|
|
331
|
+
|
|
332
|
+
```typescript
|
|
333
|
+
// N+1 query
|
|
334
|
+
const users = await db.query('SELECT * FROM users')
|
|
335
|
+
for (const user of users) {
|
|
336
|
+
const orders = await db.query(`SELECT * FROM orders WHERE user_id = ?`, [user.id])
|
|
337
|
+
// Each iteration is a new query
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// Unbounded query
|
|
341
|
+
const allRows = await db.query('SELECT * FROM large_table') // No LIMIT
|
|
342
|
+
|
|
343
|
+
// Unnecessary deep clone
|
|
344
|
+
const copy = JSON.parse(JSON.stringify(largeObject)) // Expensive!
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Optimization Patterns
|
|
348
|
+
|
|
349
|
+
```typescript
|
|
350
|
+
// Batch query
|
|
351
|
+
const users = await db.query('SELECT * FROM users')
|
|
352
|
+
const userIds = users.map((u) => u.id)
|
|
353
|
+
const orders = await db.query(
|
|
354
|
+
`SELECT * FROM orders WHERE user_id IN (${userIds.map(() => '?').join(',')})`,
|
|
355
|
+
userIds
|
|
356
|
+
)
|
|
357
|
+
|
|
358
|
+
// Bounded query with pagination
|
|
359
|
+
const rows = await db.query('SELECT * FROM large_table LIMIT ? OFFSET ?', [100, offset])
|
|
360
|
+
|
|
361
|
+
// Structured clone (faster than JSON roundtrip)
|
|
362
|
+
const copy = structuredClone(largeObject)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Applicability
|
|
366
|
+
|
|
367
|
+
If the project doesn't interact with databases or perform significant I/O,
|
|
368
|
+
report this category as N/A. Still check for file system operations and
|
|
369
|
+
network calls.
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## Category 7 — Token & Context Efficiency
|
|
374
|
+
|
|
375
|
+
### Applicability
|
|
376
|
+
|
|
377
|
+
This category applies to **all project types** with graceful degradation:
|
|
378
|
+
|
|
379
|
+
| Project Profile | Depth | Rationale |
|
|
380
|
+
| --------------- | ------------- | -------------------------------------- |
|
|
381
|
+
| `mcp-server` | Full | Primary target — all checks apply |
|
|
382
|
+
| `web-app` | Informational | Check API response verbosity |
|
|
383
|
+
| `cli-tool` | Informational | Check output verbosity, help text size |
|
|
384
|
+
| `library` | Informational | Check type export complexity |
|
|
385
|
+
|
|
386
|
+
### What to Look For
|
|
387
|
+
|
|
388
|
+
- **Verbose tool output** — tools returning full objects when summaries
|
|
389
|
+
suffice. Do `outputSchema` definitions constrain response size?
|
|
390
|
+
- **Missing Code Mode** — servers with 15+ tools should offer sandboxed JS
|
|
391
|
+
execution for token-efficient multi-step operations (70–90% savings)
|
|
392
|
+
- **Instruction bloat** — `instructions` field sending full documentation
|
|
393
|
+
instead of slim pointers to pull-based help resources
|
|
394
|
+
- **Tool count** — 50+ tool servers without `--tool-filter` waste context
|
|
395
|
+
on unused tool definitions
|
|
396
|
+
- **Redundant tools** — tools with significantly overlapping functionality
|
|
397
|
+
- **Response padding** — success responses including unnecessary metadata,
|
|
398
|
+
empty arrays, or default values that could be omitted
|
|
399
|
+
|
|
400
|
+
### Anti-Patterns
|
|
401
|
+
|
|
402
|
+
```typescript
|
|
403
|
+
// Tool returning everything — wastes tokens
|
|
404
|
+
return {
|
|
405
|
+
success: true,
|
|
406
|
+
data: entireTable, // Could be thousands of rows
|
|
407
|
+
metadata: fullSchemaInfo, // Not requested
|
|
408
|
+
stats: computedStats, // Not requested
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
// Huge instructions field — pushed on every connection
|
|
412
|
+
const INSTRUCTIONS = `Full 10-page documentation here...` // 5KB+
|
|
413
|
+
|
|
414
|
+
// 170 tools, no filtering
|
|
415
|
+
server.registerAllTools() // Client receives all 170 tool schemas
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### Optimization Patterns
|
|
419
|
+
|
|
420
|
+
```typescript
|
|
421
|
+
// Constrained output — only what was asked for
|
|
422
|
+
return {
|
|
423
|
+
success: true,
|
|
424
|
+
rows: data.slice(0, limit),
|
|
425
|
+
totalCount: data.length,
|
|
426
|
+
truncated: data.length > limit,
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// Slim instructions + pull-based help resources
|
|
430
|
+
const INSTRUCTIONS = 'Use sqlite://help for documentation.' // ~50 chars
|
|
431
|
+
|
|
432
|
+
// Tool filtering
|
|
433
|
+
// --tool-filter "core,json,codemode" → 47 tools instead of 170
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
### MCP Server Checklist
|
|
437
|
+
|
|
438
|
+
When the target is an MCP server, specifically verify:
|
|
439
|
+
|
|
440
|
+
- [ ] `instructions` field is < 1KB (slim pointer, not full docs)
|
|
441
|
+
- [ ] Help resources exist for pull-based documentation
|
|
442
|
+
- [ ] `--tool-filter` is implemented for large tool counts
|
|
443
|
+
- [ ] Code Mode (sandboxed JS) is available for multi-step operations
|
|
444
|
+
- [ ] `outputSchema` constrains response shapes (no unbounded arrays)
|
|
445
|
+
- [ ] Tools don't return redundant metadata by default
|
|
446
|
+
- [ ] Progress notifications are used for long-running operations
|
|
447
|
+
- [ ] Resources are used for large static data (schemas, configs)
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
## Category Cross-Reference
|
|
452
|
+
|
|
453
|
+
Quick lookup for which categories matter most by project profile:
|
|
454
|
+
|
|
455
|
+
| Project Profile | Primary Categories | Secondary |
|
|
456
|
+
| --------------- | ------------------ | --------- |
|
|
457
|
+
| MCP Server | 4, 6, 7 | 1, 3 |
|
|
458
|
+
| Web App | 1, 2, 4 | 3, 5 |
|
|
459
|
+
| CLI Tool | 1, 3, 4 | 5 |
|
|
460
|
+
| Library | 1, 2, 3 | 4 |
|
|
461
|
+
| Data-heavy | 4, 6 | 1, 3, 5 |
|
|
462
|
+
| Test-heavy | 5, 4 | 1 |
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Copilot Performance Prompts
|
|
2
|
+
|
|
3
|
+
Reference for Phase 4 of the adversarial performance protocol — the
|
|
4
|
+
independent external validation pass using the GitHub Copilot CLI.
|
|
5
|
+
|
|
6
|
+
## Prerequisites
|
|
7
|
+
|
|
8
|
+
1. **GitHub CLI installed**: `gh --version` (v2.x+)
|
|
9
|
+
2. **Authenticated**: `gh auth status` passing
|
|
10
|
+
3. **Copilot available**: `gh copilot --version` — the `copilot` subcommand is built into modern `gh` CLI (no separate extension needed)
|
|
11
|
+
|
|
12
|
+
If Copilot CLI is not available, skip Phase 4 gracefully.
|
|
13
|
+
|
|
14
|
+
## Prompt Templates
|
|
15
|
+
|
|
16
|
+
> **⚠️ CRITICAL — Non-Interactive Mode**: The `gh copilot` CLI must be run in
|
|
17
|
+
> non-interactive mode using the `-p` (or `--prompt`) flag. Interactive mode
|
|
18
|
+
> will hang indefinitely in an automated agent context. Use:
|
|
19
|
+
>
|
|
20
|
+
> ```
|
|
21
|
+
> gh copilot -p "<prompt>" --allow-tool "shell(find,cat,head,grep)"
|
|
22
|
+
> ```
|
|
23
|
+
>
|
|
24
|
+
> The `--allow-tool` flag grants Copilot read access to the repository files.
|
|
25
|
+
|
|
26
|
+
- Expect 60–120 seconds per prompt. In environments with hard synchronous timeouts (like Antigravity's 10s `WaitMsBeforeAsync` limit), allow the command to naturally fall into the background. Use the `schedule` tool or wait for the system notification to retrieve the results. Do not skip execution due to timeout constraints.
|
|
27
|
+
|
|
28
|
+
## Parsing Copilot Output
|
|
29
|
+
|
|
30
|
+
1. **Extract findings** — parse tables or numbered lists
|
|
31
|
+
2. **Map to categories** — classify against the 7 audit categories
|
|
32
|
+
3. **Quantify impact** — if Copilot didn't estimate improvement, add
|
|
33
|
+
your own estimates based on the code context
|
|
34
|
+
4. **Deduplicate** — compare against Phase 2 findings
|
|
35
|
+
5. **Disposition** — apply Accept/Reject/Modify/Defer from Phase 3
|
|
36
|
+
|
|
37
|
+
## Prompt Selection Guide
|
|
38
|
+
|
|
39
|
+
| Audit Depth | Project Profile | Prompts to Use |
|
|
40
|
+
| ----------- | --------------- | ------------------------------------------ |
|
|
41
|
+
| Scan | Any | Full Repository only |
|
|
42
|
+
| Standard | Non-MCP | Full Repository + Dependencies |
|
|
43
|
+
| Standard | MCP Server | Full Repository + Dependencies + MCP Token |
|
|
44
|
+
| Intensive | Any | All 3 prompts |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# GitHub Copilot External Validation
|
|
2
|
+
|
|
3
|
+
> **⚠️ CRITICAL — Non-Interactive Mode**: The `gh copilot` CLI must be run in
|
|
4
|
+
> non-interactive mode using the `-p` (or `--prompt`) flag. Interactive mode
|
|
5
|
+
> will hang indefinitely in an automated agent context. Use:
|
|
6
|
+
>
|
|
7
|
+
> ```
|
|
8
|
+
> gh copilot -p "Considering these standards from Phase 0 research: [insert findings]. <prompt>" --allow-tool "shell(find,cat,head,grep)"
|
|
9
|
+
> ```
|
|
10
|
+
>
|
|
11
|
+
> The `--allow-tool` flag grants Copilot read access to the repository files.
|
|
12
|
+
> Always `Set-Location` (or `cd`) to the target repository before invoking.
|
|
13
|
+
>
|
|
14
|
+
> **⚠️ TIMEOUT GUIDANCE**: Expect 60–120 seconds per prompt. In environments with hard synchronous timeouts, use the `-s` flag or allow the command to naturally fall into the background.
|
|
15
|
+
|
|
16
|
+
> **⚠️ CRITICAL — No Fabrication**: You MUST actually execute `gh copilot` commands. Do NOT fabricate or predict what Copilot would say.
|