cokit-cli 1.0.9 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +32 -32
- package/README.FLOW.md +237 -237
- package/README.md +142 -92
- package/agents/brainstormer.agent.md +71 -71
- package/agents/code-reviewer.agent.md +136 -136
- package/agents/code-simplifier.agent.md +43 -0
- package/agents/debugger.agent.md +128 -128
- package/agents/docs-manager.agent.md +121 -121
- package/agents/fullstack-developer.agent.md +52 -0
- package/agents/git-manager.agent.md +390 -390
- package/agents/planner.agent.md +94 -94
- package/agents/researcher.agent.md +31 -32
- package/agents/scout.agent.md +107 -107
- package/agents/tester.agent.md +117 -117
- package/agents/ui-ux-designer.agent.md +57 -0
- package/bin/cokit.js +4 -4
- package/collections/ck-core.collection.yml +28 -28
- package/collections/ck-development-rules.collection.yml +18 -18
- package/collections/ck-documentation.collection.yml +14 -14
- package/collections/ck-git-workflow.collection.yml +12 -12
- package/collections/ck-orchestration.collection.yml +16 -16
- package/docs/README.md +75 -108
- package/docs/code-standards.md +68 -0
- package/docs/codebase-summary.md +263 -0
- package/docs/cokit-commands-usage-guide.md +138 -0
- package/docs/cokit-comprehensive-mapping-guide.md +361 -374
- package/docs/cokit-slides.md +212 -222
- package/docs/cokit-sync-and-maintenance-guide.md +414 -0
- package/docs/cokit-team-presentation.md +356 -378
- package/docs/copilot-processing-flow.md +215 -212
- package/docs/guide-next-steps-speckit-cokit-implementation.md +187 -0
- package/docs/migration-guide.md +133 -133
- package/docs/project-overview-pdr.md +45 -0
- package/docs/project-roadmap.md +308 -280
- package/docs/system-architecture.md +81 -0
- package/instructions/ck-backend.instructions.md +48 -48
- package/instructions/ck-development.instructions.md +54 -54
- package/instructions/ck-frontend.instructions.md +44 -44
- package/instructions/ck-research.instructions.md +167 -167
- package/instructions/ck-testing.instructions.md +36 -36
- package/package.json +71 -42
- package/prompts/ck-ask.prompt.md +67 -57
- package/prompts/ck-bootstrap.prompt.md +141 -136
- package/prompts/ck-brainstorm.prompt.md +87 -105
- package/prompts/ck-cook.prompt.md +96 -97
- package/prompts/ck-debug.prompt.md +115 -14
- package/prompts/ck-docs.prompt.md +102 -51
- package/prompts/ck-fix-ci.prompt.md +46 -0
- package/prompts/ck-fix-fast.prompt.md +44 -0
- package/prompts/ck-fix-hard.prompt.md +60 -0
- package/prompts/ck-fix-logs.prompt.md +53 -0
- package/prompts/ck-fix-test.prompt.md +47 -0
- package/prompts/ck-fix-types.prompt.md +29 -0
- package/prompts/ck-fix-ui.prompt.md +50 -0
- package/prompts/ck-fix.prompt.md +50 -44
- package/prompts/ck-git.prompt.md +104 -79
- package/{templates/repo/.github/prompts/ck-ck-help.prompt.md → prompts/ck-help.prompt.md} +142 -112
- package/prompts/ck-journal.prompt.md +19 -0
- package/prompts/ck-plan-fast.prompt.md +106 -0
- package/prompts/ck-plan-hard.prompt.md +133 -0
- package/prompts/ck-plan-validate.prompt.md +209 -0
- package/prompts/ck-plan.prompt.md +75 -80
- package/prompts/ck-preview.prompt.md +77 -0
- package/{templates/repo/.github/prompts/ck-review-codebase.prompt.md → prompts/ck-review.prompt.md} +58 -44
- package/prompts/ck-scout.prompt.md +85 -25
- package/prompts/ck-simplify.prompt.md +46 -0
- package/prompts/ck-spec-analyze.prompt.md +201 -0
- package/prompts/ck-spec-checklist.prompt.md +308 -0
- package/prompts/ck-spec-clarify.prompt.md +190 -0
- package/prompts/ck-spec-constitution.prompt.md +92 -0
- package/prompts/ck-spec-implement.prompt.md +157 -0
- package/prompts/ck-spec-plan.prompt.md +95 -0
- package/prompts/ck-spec-specify.prompt.md +260 -0
- package/prompts/ck-spec-tasks.prompt.md +181 -0
- package/prompts/ck-test.prompt.md +21 -10
- package/prompts/ck-watzup.prompt.md +21 -0
- package/skills/INSTALLATION.md +311 -0
- package/skills/README.md +112 -0
- package/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/skills/agent-browser/SKILL.md +291 -0
- package/skills/agent-browser/references/.gitkeep +0 -0
- package/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/agent_skills_spec.md +55 -0
- package/skills/{ck-backend-development → backend-development}/SKILL.md +94 -96
- package/skills/{ck-backend-development → backend-development}/references/backend-api-design.md +697 -495
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-architecture.md +454 -454
- package/skills/{ck-backend-development → backend-development}/references/backend-authentication.md +433 -338
- package/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +659 -659
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-debugging.md +904 -904
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-devops.md +494 -494
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-mindset.md +387 -387
- package/skills/{ck-backend-development → backend-development}/references/backend-performance.md +397 -397
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-security.md +340 -290
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-technologies.md +300 -290
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-testing.md +484 -561
- package/skills/brainstorm/SKILL.md +74 -0
- package/skills/{ck-code-review → code-review}/SKILL.md +143 -143
- package/skills/{ck-code-review → code-review}/references/code-review-reception.md +1 -1
- package/skills/{ck-code-review → code-review}/references/requesting-code-review.md +7 -7
- package/skills/common/README.md +120 -0
- package/skills/common/api_key_helper.py +411 -0
- package/skills/common/api_key_rotator.py +248 -0
- package/skills/context-engineering/SKILL.md +106 -0
- package/skills/context-engineering/references/context-compression.md +84 -0
- package/skills/context-engineering/references/context-degradation.md +93 -0
- package/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/context-engineering/references/context-optimization.md +82 -0
- package/skills/context-engineering/references/evaluation.md +89 -0
- package/skills/context-engineering/references/memory-systems.md +88 -0
- package/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/context-engineering/references/project-development.md +97 -0
- package/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/skills/context-engineering/references/tool-design.md +86 -0
- package/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/skills/cook/README.md +86 -0
- package/skills/cook/SKILL.md +93 -0
- package/skills/cook/references/agent-patterns.md +75 -0
- package/skills/cook/references/intent-detection.md +101 -0
- package/skills/cook/references/review-cycle.md +75 -0
- package/skills/cook/references/workflow-steps.md +140 -0
- package/skills/databases/SKILL.md +111 -0
- package/skills/databases/analytics.md +198 -0
- package/skills/databases/db-design.md +188 -0
- package/skills/databases/incremental-etl.md +213 -0
- package/skills/databases/references/mongodb-aggregation.md +447 -0
- package/skills/databases/references/mongodb-atlas.md +465 -0
- package/skills/databases/references/mongodb-crud.md +408 -0
- package/skills/databases/references/mongodb-indexing.md +442 -0
- package/skills/databases/references/postgresql-administration.md +594 -0
- package/skills/databases/references/postgresql-performance.md +527 -0
- package/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/databases/references/postgresql-queries.md +475 -0
- package/skills/databases/scripts/db_backup.py +502 -0
- package/skills/databases/scripts/db_migrate.py +426 -0
- package/skills/databases/scripts/db_performance_check.py +457 -0
- package/skills/databases/scripts/requirements.txt +20 -0
- package/skills/databases/stacks/bigquery.md +231 -0
- package/skills/databases/stacks/d1_cloudflare.md +137 -0
- package/skills/databases/stacks/mysql.md +216 -0
- package/skills/databases/stacks/postgres.md +235 -0
- package/skills/databases/stacks/sqlite.md +244 -0
- package/skills/databases/transactional.md +176 -0
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/SKILL.md +83 -82
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/references/defense-in-depth.md +124 -124
- package/skills/{ck-debugging → debug}/references/root-cause-tracing.md +122 -122
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/references/systematic-debugging.md +102 -102
- package/skills/{ck-debugging → debug}/references/verification.md +123 -123
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/scripts/find-polluter.sh +63 -63
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/scripts/find-polluter.test.md +102 -102
- package/skills/devops/.env.example +76 -0
- package/skills/devops/SKILL.md +102 -0
- package/skills/devops/references/browser-rendering.md +305 -0
- package/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/devops/references/cloudflare-platform.md +271 -0
- package/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/devops/references/docker-basics.md +297 -0
- package/skills/devops/references/docker-compose.md +292 -0
- package/skills/devops/references/gcloud-platform.md +297 -0
- package/skills/devops/references/gcloud-services.md +304 -0
- package/skills/devops/references/kubernetes-basics.md +99 -0
- package/skills/devops/references/kubernetes-helm-advanced.md +75 -0
- package/skills/devops/references/kubernetes-helm.md +81 -0
- package/skills/devops/references/kubernetes-kubectl.md +74 -0
- package/skills/devops/references/kubernetes-security-advanced.md +98 -0
- package/skills/devops/references/kubernetes-security.md +95 -0
- package/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/skills/devops/references/kubernetes-troubleshooting.md +49 -0
- package/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/skills/devops/references/kubernetes-workflows.md +78 -0
- package/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/devops/scripts/docker_optimize.py +332 -0
- package/skills/devops/scripts/requirements.txt +20 -0
- package/skills/docs-seeker/.env.example +15 -0
- package/skills/docs-seeker/SKILL.md +96 -0
- package/skills/docs-seeker/package.json +25 -0
- package/skills/docs-seeker/references/advanced.md +79 -0
- package/skills/docs-seeker/references/context7-patterns.md +64 -0
- package/skills/docs-seeker/references/errors.md +68 -0
- package/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/skills/docs-seeker/scripts/fetch-docs.js +214 -0
- package/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/skills/docs-seeker/workflows/library-search.md +86 -0
- package/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/skills/fix/SKILL.md +100 -0
- package/skills/fix/references/complexity-assessment.md +61 -0
- package/skills/fix/references/mode-selection.md +30 -0
- package/skills/fix/references/parallel-exploration.md +77 -0
- package/skills/fix/references/review-cycle.md +77 -0
- package/skills/fix/references/skill-activation-matrix.md +65 -0
- package/skills/fix/references/workflow-ci.md +28 -0
- package/skills/fix/references/workflow-deep.md +91 -0
- package/skills/fix/references/workflow-logs.md +36 -0
- package/skills/fix/references/workflow-quick.md +59 -0
- package/skills/fix/references/workflow-standard.md +86 -0
- package/skills/fix/references/workflow-test.md +36 -0
- package/skills/fix/references/workflow-types.md +33 -0
- package/skills/fix/references/workflow-ui.md +34 -0
- package/skills/frontend-design/SKILL.md +74 -0
- package/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/skills/frontend-design/references/analysis-techniques.md +118 -0
- package/skills/frontend-design/references/animejs.md +396 -0
- package/skills/frontend-design/references/asset-generation.md +161 -0
- package/skills/frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/skills/frontend-design/references/technical-optimization.md +44 -0
- package/skills/frontend-design/references/technical-overview.md +90 -0
- package/skills/frontend-design/references/technical-workflows.md +150 -0
- package/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/frontend-design/references/workflow-describe.md +86 -0
- package/skills/frontend-design/references/workflow-quick.md +54 -0
- package/skills/frontend-design/references/workflow-screenshot.md +62 -0
- package/skills/git/SKILL.md +99 -0
- package/skills/git/references/branch-management.md +88 -0
- package/skills/git/references/commit-standards.md +46 -0
- package/skills/git/references/gh-cli-guide.md +109 -0
- package/skills/git/references/safety-protocols.md +69 -0
- package/skills/git/references/workflow-commit.md +58 -0
- package/skills/git/references/workflow-merge.md +48 -0
- package/skills/git/references/workflow-pr.md +58 -0
- package/skills/git/references/workflow-push.md +52 -0
- package/skills/install.ps1 +1247 -0
- package/skills/install.sh +1300 -0
- package/skills/mcp-management/README.md +219 -0
- package/skills/mcp-management/SKILL.md +209 -0
- package/skills/mcp-management/assets/tools.json +3146 -0
- package/skills/mcp-management/references/configuration.md +114 -0
- package/skills/mcp-management/references/gemini-cli-integration.md +221 -0
- package/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/mcp-management/scripts/.env.example +10 -0
- package/skills/mcp-management/scripts/cli.ts +195 -0
- package/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/mcp-management/scripts/dist/cli.js +160 -0
- package/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/mcp-management/scripts/package.json +20 -0
- package/skills/mcp-management/scripts/tsconfig.json +15 -0
- package/skills/mermaidjs-v11/SKILL.md +115 -0
- package/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/skills/mermaidjs-v11/references/examples.md +344 -0
- package/skills/mermaidjs-v11/references/integration.md +310 -0
- package/skills/{ck-planning → planning}/SKILL.md +131 -112
- package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/codebase-understanding.md +62 -62
- package/skills/{ck-planning → planning}/references/output-standards.md +141 -127
- package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/plan-organization.md +160 -150
- package/skills/{ck-planning → planning}/references/research-phase.md +49 -49
- package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/solution-design.md +63 -63
- package/skills/{ck-problem-solving → problem-solving}/SKILL.md +95 -95
- package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/attribution.md +69 -69
- package/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +79 -79
- package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/inversion-exercise.md +91 -91
- package/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +87 -87
- package/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +95 -95
- package/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +80 -80
- package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/when-stuck.md +72 -72
- package/skills/repomix/SKILL.md +247 -0
- package/skills/repomix/references/configuration.md +211 -0
- package/skills/repomix/references/usage-patterns.md +232 -0
- package/skills/repomix/scripts/README.md +179 -0
- package/skills/repomix/scripts/repomix_batch.py +455 -0
- package/skills/repomix/scripts/repos.example.json +15 -0
- package/skills/repomix/scripts/requirements.txt +15 -0
- package/skills/research/SKILL.md +169 -0
- package/skills/scout/SKILL.md +78 -0
- package/skills/scout/references/external-scouting.md +140 -0
- package/skills/scout/references/internal-scouting.md +119 -0
- package/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +8 -8
- package/skills/{ck-sequential-thinking → sequential-thinking}/README.md +183 -183
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/SKILL.md +92 -92
- package/skills/{ck-sequential-thinking → sequential-thinking}/package.json +31 -31
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/advanced-strategies.md +79 -79
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/advanced-techniques.md +76 -76
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/core-patterns.md +95 -95
- package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +88 -88
- package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +94 -94
- package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +90 -90
- package/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +159 -159
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/scripts/process-thought.js +236 -236
- package/skills/ui-styling/LICENSE.txt +202 -0
- package/skills/ui-styling/SKILL.md +319 -0
- package/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ui-styling/references/shadcn-components.md +424 -0
- package/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ui-styling/scripts/requirements.txt +17 -0
- package/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/web-testing/SKILL.md +94 -0
- package/skills/web-testing/references/accessibility-testing.md +84 -0
- package/skills/web-testing/references/api-testing.md +78 -0
- package/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
- package/skills/web-testing/references/component-testing.md +94 -0
- package/skills/web-testing/references/contract-testing.md +146 -0
- package/skills/web-testing/references/cross-browser-checklist.md +72 -0
- package/skills/web-testing/references/database-testing.md +139 -0
- package/skills/web-testing/references/e2e-testing-playwright.md +119 -0
- package/skills/web-testing/references/functional-testing-checklist.md +88 -0
- package/skills/web-testing/references/interactive-testing-patterns.md +89 -0
- package/skills/web-testing/references/load-testing-k6.md +93 -0
- package/skills/web-testing/references/mobile-gesture-testing.md +85 -0
- package/skills/web-testing/references/performance-core-web-vitals.md +124 -0
- package/skills/web-testing/references/playwright-component-testing.md +115 -0
- package/skills/web-testing/references/pre-release-checklist.md +75 -0
- package/skills/web-testing/references/security-checklists.md +81 -0
- package/skills/web-testing/references/security-testing-overview.md +92 -0
- package/skills/web-testing/references/shadow-dom-testing.md +70 -0
- package/skills/web-testing/references/test-data-management.md +131 -0
- package/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
- package/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
- package/skills/web-testing/references/unit-integration-testing.md +138 -0
- package/skills/web-testing/references/visual-regression.md +92 -0
- package/skills/web-testing/references/vulnerability-payloads.md +93 -0
- package/skills/web-testing/scripts/analyze-test-results.js +280 -0
- package/skills/web-testing/scripts/init-playwright.js +233 -0
- package/src/commands/add.js +93 -93
- package/src/commands/doctor.js +117 -117
- package/src/commands/init.js +183 -183
- package/src/commands/list.js +91 -91
- package/src/commands/update.js +22 -22
- package/src/index.js +35 -35
- package/src/utils/colors.js +14 -14
- package/src/utils/copy.js +122 -122
- package/src/utils/paths.js +66 -66
- package/src/utils/update-checker.js +126 -126
- package/templates/repo/.github/AGENTS.md +103 -55
- package/templates/repo/.github/agents/brainstormer.agent.md +71 -71
- package/templates/repo/.github/agents/code-reviewer.agent.md +136 -136
- package/templates/repo/.github/agents/code-simplifier.agent.md +43 -0
- package/templates/repo/.github/agents/debugger.agent.md +128 -128
- package/templates/repo/.github/agents/docs-manager.agent.md +121 -121
- package/templates/repo/.github/agents/fullstack-developer.agent.md +52 -0
- package/templates/repo/.github/agents/git-manager.agent.md +390 -390
- package/templates/repo/.github/agents/planner.agent.md +94 -94
- package/templates/repo/.github/agents/researcher.agent.md +31 -32
- package/templates/repo/.github/agents/scout.agent.md +107 -107
- package/templates/repo/.github/agents/tester.agent.md +117 -117
- package/templates/repo/.github/agents/ui-ux-designer.agent.md +57 -0
- package/templates/repo/.github/collections/ck-core.collection.yml +28 -28
- package/templates/repo/.github/collections/ck-development-rules.collection.yml +18 -18
- package/templates/repo/.github/collections/ck-documentation.collection.yml +14 -14
- package/templates/repo/.github/collections/ck-git-workflow.collection.yml +12 -12
- package/templates/repo/.github/collections/ck-orchestration.collection.yml +16 -16
- package/templates/repo/.github/instructions/ck-backend.instructions.md +48 -48
- package/templates/repo/.github/instructions/ck-development.instructions.md +54 -54
- package/templates/repo/.github/instructions/ck-frontend.instructions.md +44 -44
- package/templates/repo/.github/instructions/ck-research.instructions.md +167 -167
- package/templates/repo/.github/instructions/ck-testing.instructions.md +36 -36
- package/templates/repo/.github/prompts/ck-ask.prompt.md +67 -57
- package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +141 -136
- package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +87 -105
- package/templates/repo/.github/prompts/ck-cook.prompt.md +96 -97
- package/templates/repo/.github/prompts/ck-debug.prompt.md +115 -14
- package/templates/repo/.github/prompts/ck-docs.prompt.md +102 -51
- package/templates/repo/.github/prompts/ck-fix-ci.prompt.md +46 -0
- package/templates/repo/.github/prompts/ck-fix-fast.prompt.md +44 -0
- package/templates/repo/.github/prompts/ck-fix-hard.prompt.md +60 -0
- package/templates/repo/.github/prompts/ck-fix-logs.prompt.md +53 -0
- package/templates/repo/.github/prompts/ck-fix-test.prompt.md +47 -0
- package/templates/repo/.github/prompts/ck-fix-types.prompt.md +29 -0
- package/templates/repo/.github/prompts/ck-fix-ui.prompt.md +50 -0
- package/templates/repo/.github/prompts/ck-fix.prompt.md +50 -44
- package/templates/repo/.github/prompts/ck-git.prompt.md +104 -79
- package/{prompts/ck-ck-help.prompt.md → templates/repo/.github/prompts/ck-help.prompt.md} +142 -112
- package/templates/repo/.github/prompts/ck-journal.prompt.md +19 -0
- package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +106 -0
- package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +133 -0
- package/templates/repo/.github/prompts/ck-plan-validate.prompt.md +209 -0
- package/templates/repo/.github/prompts/ck-plan.prompt.md +75 -80
- package/templates/repo/.github/prompts/ck-preview.prompt.md +77 -0
- package/{prompts/ck-review-codebase.prompt.md → templates/repo/.github/prompts/ck-review.prompt.md} +58 -44
- package/templates/repo/.github/prompts/ck-scout.prompt.md +85 -25
- package/templates/repo/.github/prompts/ck-simplify.prompt.md +46 -0
- package/templates/repo/.github/prompts/ck-spec-analyze.prompt.md +201 -0
- package/templates/repo/.github/prompts/ck-spec-checklist.prompt.md +308 -0
- package/templates/repo/.github/prompts/ck-spec-clarify.prompt.md +190 -0
- package/templates/repo/.github/prompts/ck-spec-constitution.prompt.md +92 -0
- package/templates/repo/.github/prompts/ck-spec-implement.prompt.md +157 -0
- package/templates/repo/.github/prompts/ck-spec-plan.prompt.md +95 -0
- package/templates/repo/.github/prompts/ck-spec-specify.prompt.md +260 -0
- package/templates/repo/.github/prompts/ck-spec-tasks.prompt.md +181 -0
- package/templates/repo/.github/prompts/ck-test.prompt.md +21 -10
- package/templates/repo/.github/prompts/ck-watzup.prompt.md +21 -0
- package/templates/repo/.github/skills/INSTALLATION.md +311 -0
- package/templates/repo/.github/skills/README.md +112 -0
- package/templates/repo/.github/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/templates/repo/.github/skills/agent-browser/SKILL.md +291 -0
- package/templates/repo/.github/skills/agent-browser/references/.gitkeep +0 -0
- package/templates/repo/.github/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/templates/repo/.github/skills/agent_skills_spec.md +55 -0
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/SKILL.md +94 -96
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-api-design.md +697 -495
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-architecture.md +454 -454
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-authentication.md +433 -338
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +659 -659
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-debugging.md +904 -904
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-devops.md +494 -494
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-mindset.md +387 -387
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-performance.md +397 -397
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-security.md +340 -290
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-technologies.md +300 -290
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-testing.md +484 -561
- package/templates/repo/.github/skills/brainstorm/SKILL.md +74 -0
- package/templates/repo/.github/skills/{ck-code-review → code-review}/SKILL.md +143 -143
- package/templates/repo/.github/skills/{ck-code-review → code-review}/references/code-review-reception.md +208 -208
- package/templates/repo/.github/skills/{ck-code-review → code-review}/references/requesting-code-review.md +104 -104
- package/templates/repo/.github/skills/{ck-code-review → code-review}/references/verification-before-completion.md +138 -138
- package/templates/repo/.github/skills/common/README.md +120 -0
- package/templates/repo/.github/skills/common/api_key_helper.py +411 -0
- package/templates/repo/.github/skills/common/api_key_rotator.py +248 -0
- package/templates/repo/.github/skills/context-engineering/SKILL.md +106 -0
- package/templates/repo/.github/skills/context-engineering/references/context-compression.md +84 -0
- package/templates/repo/.github/skills/context-engineering/references/context-degradation.md +93 -0
- package/templates/repo/.github/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/templates/repo/.github/skills/context-engineering/references/context-optimization.md +82 -0
- package/templates/repo/.github/skills/context-engineering/references/evaluation.md +89 -0
- package/templates/repo/.github/skills/context-engineering/references/memory-systems.md +88 -0
- package/templates/repo/.github/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/templates/repo/.github/skills/context-engineering/references/project-development.md +97 -0
- package/templates/repo/.github/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/templates/repo/.github/skills/context-engineering/references/tool-design.md +86 -0
- package/templates/repo/.github/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/templates/repo/.github/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/templates/repo/.github/skills/cook/README.md +86 -0
- package/templates/repo/.github/skills/cook/SKILL.md +93 -0
- package/templates/repo/.github/skills/cook/references/agent-patterns.md +75 -0
- package/templates/repo/.github/skills/cook/references/intent-detection.md +101 -0
- package/templates/repo/.github/skills/cook/references/review-cycle.md +75 -0
- package/templates/repo/.github/skills/cook/references/workflow-steps.md +140 -0
- package/templates/repo/.github/skills/databases/SKILL.md +111 -0
- package/templates/repo/.github/skills/databases/analytics.md +198 -0
- package/templates/repo/.github/skills/databases/db-design.md +188 -0
- package/templates/repo/.github/skills/databases/incremental-etl.md +213 -0
- package/templates/repo/.github/skills/databases/references/mongodb-aggregation.md +447 -0
- package/templates/repo/.github/skills/databases/references/mongodb-atlas.md +465 -0
- package/templates/repo/.github/skills/databases/references/mongodb-crud.md +408 -0
- package/templates/repo/.github/skills/databases/references/mongodb-indexing.md +442 -0
- package/templates/repo/.github/skills/databases/references/postgresql-administration.md +594 -0
- package/templates/repo/.github/skills/databases/references/postgresql-performance.md +527 -0
- package/templates/repo/.github/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/templates/repo/.github/skills/databases/references/postgresql-queries.md +475 -0
- package/templates/repo/.github/skills/databases/scripts/db_backup.py +502 -0
- package/templates/repo/.github/skills/databases/scripts/db_migrate.py +426 -0
- package/templates/repo/.github/skills/databases/scripts/db_performance_check.py +457 -0
- package/templates/repo/.github/skills/databases/scripts/requirements.txt +20 -0
- package/templates/repo/.github/skills/databases/stacks/bigquery.md +231 -0
- package/templates/repo/.github/skills/databases/stacks/d1_cloudflare.md +137 -0
- package/templates/repo/.github/skills/databases/stacks/mysql.md +216 -0
- package/templates/repo/.github/skills/databases/stacks/postgres.md +235 -0
- package/templates/repo/.github/skills/databases/stacks/sqlite.md +244 -0
- package/templates/repo/.github/skills/databases/transactional.md +176 -0
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/SKILL.md +83 -82
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/references/defense-in-depth.md +124 -124
- package/templates/repo/.github/skills/{ck-debugging → debug}/references/root-cause-tracing.md +122 -122
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/references/systematic-debugging.md +102 -102
- package/templates/repo/.github/skills/{ck-debugging → debug}/references/verification.md +123 -123
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/scripts/find-polluter.sh +63 -63
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/scripts/find-polluter.test.md +102 -102
- package/templates/repo/.github/skills/devops/.env.example +76 -0
- package/templates/repo/.github/skills/devops/SKILL.md +102 -0
- package/templates/repo/.github/skills/devops/references/browser-rendering.md +305 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-platform.md +271 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/templates/repo/.github/skills/devops/references/docker-basics.md +297 -0
- package/templates/repo/.github/skills/devops/references/docker-compose.md +292 -0
- package/templates/repo/.github/skills/devops/references/gcloud-platform.md +297 -0
- package/templates/repo/.github/skills/devops/references/gcloud-services.md +304 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-basics.md +99 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-helm-advanced.md +75 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-helm.md +81 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-kubectl.md +74 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-security-advanced.md +98 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-security.md +95 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-troubleshooting.md +49 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-workflows.md +78 -0
- package/templates/repo/.github/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/templates/repo/.github/skills/devops/scripts/docker_optimize.py +332 -0
- package/templates/repo/.github/skills/devops/scripts/requirements.txt +20 -0
- package/templates/repo/.github/skills/docs-seeker/.env.example +15 -0
- package/templates/repo/.github/skills/docs-seeker/SKILL.md +96 -0
- package/templates/repo/.github/skills/docs-seeker/package.json +25 -0
- package/templates/repo/.github/skills/docs-seeker/references/advanced.md +79 -0
- package/templates/repo/.github/skills/docs-seeker/references/context7-patterns.md +64 -0
- package/templates/repo/.github/skills/docs-seeker/references/errors.md +68 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/fetch-docs.js +214 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/templates/repo/.github/skills/docs-seeker/workflows/library-search.md +86 -0
- package/templates/repo/.github/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/templates/repo/.github/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/templates/repo/.github/skills/fix/SKILL.md +100 -0
- package/templates/repo/.github/skills/fix/references/complexity-assessment.md +61 -0
- package/templates/repo/.github/skills/fix/references/mode-selection.md +30 -0
- package/templates/repo/.github/skills/fix/references/parallel-exploration.md +77 -0
- package/templates/repo/.github/skills/fix/references/review-cycle.md +77 -0
- package/templates/repo/.github/skills/fix/references/skill-activation-matrix.md +65 -0
- package/templates/repo/.github/skills/fix/references/workflow-ci.md +28 -0
- package/templates/repo/.github/skills/fix/references/workflow-deep.md +91 -0
- package/templates/repo/.github/skills/fix/references/workflow-logs.md +36 -0
- package/templates/repo/.github/skills/fix/references/workflow-quick.md +59 -0
- package/templates/repo/.github/skills/fix/references/workflow-standard.md +86 -0
- package/templates/repo/.github/skills/fix/references/workflow-test.md +36 -0
- package/templates/repo/.github/skills/fix/references/workflow-types.md +33 -0
- package/templates/repo/.github/skills/fix/references/workflow-ui.md +34 -0
- package/templates/repo/.github/skills/frontend-design/SKILL.md +74 -0
- package/templates/repo/.github/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/templates/repo/.github/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/templates/repo/.github/skills/frontend-design/references/analysis-techniques.md +118 -0
- package/templates/repo/.github/skills/frontend-design/references/animejs.md +396 -0
- package/templates/repo/.github/skills/frontend-design/references/asset-generation.md +161 -0
- package/templates/repo/.github/skills/frontend-design/references/design-extraction-overview.md +71 -0
- package/templates/repo/.github/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/templates/repo/.github/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/templates/repo/.github/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-optimization.md +44 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-overview.md +90 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-workflows.md +150 -0
- package/templates/repo/.github/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-describe.md +86 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-quick.md +54 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-screenshot.md +62 -0
- package/templates/repo/.github/skills/git/SKILL.md +99 -0
- package/templates/repo/.github/skills/git/references/branch-management.md +88 -0
- package/templates/repo/.github/skills/git/references/commit-standards.md +46 -0
- package/templates/repo/.github/skills/git/references/gh-cli-guide.md +109 -0
- package/templates/repo/.github/skills/git/references/safety-protocols.md +69 -0
- package/templates/repo/.github/skills/git/references/workflow-commit.md +58 -0
- package/templates/repo/.github/skills/git/references/workflow-merge.md +48 -0
- package/templates/repo/.github/skills/git/references/workflow-pr.md +58 -0
- package/templates/repo/.github/skills/git/references/workflow-push.md +52 -0
- package/templates/repo/.github/skills/install.ps1 +1247 -0
- package/templates/repo/.github/skills/install.sh +1300 -0
- package/templates/repo/.github/skills/mcp-management/README.md +219 -0
- package/templates/repo/.github/skills/mcp-management/SKILL.md +209 -0
- package/templates/repo/.github/skills/mcp-management/assets/tools.json +3146 -0
- package/templates/repo/.github/skills/mcp-management/references/configuration.md +114 -0
- package/templates/repo/.github/skills/mcp-management/references/gemini-cli-integration.md +221 -0
- package/templates/repo/.github/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/templates/repo/.github/skills/mcp-management/scripts/.env.example +10 -0
- package/templates/repo/.github/skills/mcp-management/scripts/cli.ts +195 -0
- package/templates/repo/.github/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/templates/repo/.github/skills/mcp-management/scripts/dist/cli.js +160 -0
- package/templates/repo/.github/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/templates/repo/.github/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/templates/repo/.github/skills/mcp-management/scripts/package.json +20 -0
- package/templates/repo/.github/skills/mcp-management/scripts/tsconfig.json +15 -0
- package/templates/repo/.github/skills/mermaidjs-v11/SKILL.md +115 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/examples.md +344 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/integration.md +310 -0
- package/templates/repo/.github/skills/{ck-planning → planning}/SKILL.md +131 -112
- package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/codebase-understanding.md +62 -62
- package/templates/repo/.github/skills/{ck-planning → planning}/references/output-standards.md +141 -127
- package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/plan-organization.md +160 -150
- package/templates/repo/.github/skills/{ck-planning → planning}/references/research-phase.md +49 -49
- package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/solution-design.md +63 -63
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/SKILL.md +95 -95
- package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/attribution.md +69 -69
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +79 -79
- package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/inversion-exercise.md +91 -91
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +87 -87
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +95 -95
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +80 -80
- package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/when-stuck.md +72 -72
- package/templates/repo/.github/skills/repomix/SKILL.md +247 -0
- package/templates/repo/.github/skills/repomix/references/configuration.md +211 -0
- package/templates/repo/.github/skills/repomix/references/usage-patterns.md +232 -0
- package/templates/repo/.github/skills/repomix/scripts/README.md +179 -0
- package/templates/repo/.github/skills/repomix/scripts/repomix_batch.py +455 -0
- package/templates/repo/.github/skills/repomix/scripts/repos.example.json +15 -0
- package/templates/repo/.github/skills/repomix/scripts/requirements.txt +15 -0
- package/templates/repo/.github/skills/research/SKILL.md +169 -0
- package/templates/repo/.github/skills/scout/SKILL.md +78 -0
- package/templates/repo/.github/skills/scout/references/external-scouting.md +140 -0
- package/templates/repo/.github/skills/scout/references/internal-scouting.md +119 -0
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +8 -8
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/README.md +183 -183
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/SKILL.md +92 -92
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/package.json +31 -31
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/advanced-strategies.md +79 -79
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/advanced-techniques.md +76 -76
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/core-patterns.md +95 -95
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +88 -88
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +94 -94
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +90 -90
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +159 -159
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/scripts/process-thought.js +236 -236
- package/templates/repo/.github/skills/ui-styling/LICENSE.txt +202 -0
- package/templates/repo/.github/skills/ui-styling/SKILL.md +319 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/templates/repo/.github/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/templates/repo/.github/skills/ui-styling/references/shadcn-components.md +424 -0
- package/templates/repo/.github/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/templates/repo/.github/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/templates/repo/.github/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/templates/repo/.github/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/templates/repo/.github/skills/ui-styling/scripts/requirements.txt +17 -0
- package/templates/repo/.github/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/templates/repo/.github/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/templates/repo/.github/skills/web-testing/SKILL.md +94 -0
- package/templates/repo/.github/skills/web-testing/references/accessibility-testing.md +84 -0
- package/templates/repo/.github/skills/web-testing/references/api-testing.md +78 -0
- package/templates/repo/.github/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
- package/templates/repo/.github/skills/web-testing/references/component-testing.md +94 -0
- package/templates/repo/.github/skills/web-testing/references/contract-testing.md +146 -0
- package/templates/repo/.github/skills/web-testing/references/cross-browser-checklist.md +72 -0
- package/templates/repo/.github/skills/web-testing/references/database-testing.md +139 -0
- package/templates/repo/.github/skills/web-testing/references/e2e-testing-playwright.md +119 -0
- package/templates/repo/.github/skills/web-testing/references/functional-testing-checklist.md +88 -0
- package/templates/repo/.github/skills/web-testing/references/interactive-testing-patterns.md +89 -0
- package/templates/repo/.github/skills/web-testing/references/load-testing-k6.md +93 -0
- package/templates/repo/.github/skills/web-testing/references/mobile-gesture-testing.md +85 -0
- package/templates/repo/.github/skills/web-testing/references/performance-core-web-vitals.md +124 -0
- package/templates/repo/.github/skills/web-testing/references/playwright-component-testing.md +115 -0
- package/templates/repo/.github/skills/web-testing/references/pre-release-checklist.md +75 -0
- package/templates/repo/.github/skills/web-testing/references/security-checklists.md +81 -0
- package/templates/repo/.github/skills/web-testing/references/security-testing-overview.md +92 -0
- package/templates/repo/.github/skills/web-testing/references/shadow-dom-testing.md +70 -0
- package/templates/repo/.github/skills/web-testing/references/test-data-management.md +131 -0
- package/templates/repo/.github/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
- package/templates/repo/.github/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
- package/templates/repo/.github/skills/web-testing/references/unit-integration-testing.md +138 -0
- package/templates/repo/.github/skills/web-testing/references/visual-regression.md +92 -0
- package/templates/repo/.github/skills/web-testing/references/vulnerability-payloads.md +93 -0
- package/templates/repo/.github/skills/web-testing/scripts/analyze-test-results.js +280 -0
- package/templates/repo/.github/skills/web-testing/scripts/init-playwright.js +233 -0
- package/templates/repo/.github/spec-kit/memory/constitution.md +50 -0
- package/templates/repo/.github/spec-kit/scripts/bash/check-prerequisites.sh +166 -0
- package/templates/repo/.github/spec-kit/scripts/bash/common.sh +156 -0
- package/templates/repo/.github/spec-kit/scripts/bash/create-new-feature.sh +297 -0
- package/templates/repo/.github/spec-kit/scripts/bash/setup-plan.sh +61 -0
- package/templates/repo/.github/spec-kit/scripts/bash/update-agent-context.sh +799 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/check-prerequisites.ps1 +148 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/common.ps1 +137 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/create-new-feature.ps1 +283 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/setup-plan.ps1 +61 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/update-agent-context.ps1 +448 -0
- package/templates/repo/.github/spec-kit/templates/agent-file-template.md +28 -0
- package/templates/repo/.github/spec-kit/templates/checklist-template.md +40 -0
- package/templates/repo/.github/spec-kit/templates/commands/analyze.md +187 -0
- package/templates/repo/.github/spec-kit/templates/commands/checklist.md +297 -0
- package/templates/repo/.github/spec-kit/templates/commands/clarify.md +184 -0
- package/templates/repo/.github/spec-kit/templates/commands/constitution.md +82 -0
- package/templates/repo/.github/spec-kit/templates/commands/implement.md +138 -0
- package/templates/repo/.github/spec-kit/templates/commands/plan.md +95 -0
- package/templates/repo/.github/spec-kit/templates/commands/specify.md +261 -0
- package/templates/repo/.github/spec-kit/templates/commands/tasks.md +140 -0
- package/templates/repo/.github/spec-kit/templates/commands/taskstoissues.md +33 -0
- package/templates/repo/.github/spec-kit/templates/plan-template.md +104 -0
- package/templates/repo/.github/spec-kit/templates/spec-template.md +115 -0
- package/templates/repo/.github/spec-kit/templates/tasks-phase-template.md +42 -0
- package/templates/repo/.github/spec-kit/templates/tasks-template.md +268 -0
- package/templates/repo/.github/spec-kit/templates/vscode-settings.json +14 -0
- package/templates/repo/.vscode/settings.json +70 -70
- package/.vscode/settings.json +0 -70
- package/AGENTS.md +0 -103
- package/FAQ.md +0 -101
- package/INIT.md +0 -154
- package/QUICK-START.md +0 -37
- package/changelogs/1.0.8.md +0 -77
- package/changelogs/1.0.9.md +0 -173
- package/plans/reports/docs-manager-260120-0854-documentation-update.md +0 -323
- package/prompts/ck-code.prompt.md +0 -178
- package/repomix-output.xml +0 -40725
- package/rules/README.agents.md +0 -55
- package/rules/README.collections.md +0 -78
- package/rules/README.copilot-instructions.md +0 -66
- package/rules/README.instructions.md +0 -73
- package/rules/README.md +0 -39
- package/rules/README.prompts.md +0 -76
- package/rules/README.skills.md +0 -71
- package/skills/ck-frontend-development/SKILL.md +0 -399
- package/skills/ck-frontend-development/resources/common-patterns.md +0 -331
- package/skills/ck-frontend-development/resources/complete-examples.md +0 -872
- package/skills/ck-frontend-development/resources/component-patterns.md +0 -502
- package/skills/ck-frontend-development/resources/data-fetching.md +0 -767
- package/skills/ck-frontend-development/resources/file-organization.md +0 -502
- package/skills/ck-frontend-development/resources/loading-and-error-states.md +0 -501
- package/skills/ck-frontend-development/resources/performance.md +0 -406
- package/skills/ck-frontend-development/resources/routing-guide.md +0 -364
- package/skills/ck-frontend-development/resources/styling-guide.md +0 -428
- package/skills/ck-frontend-development/resources/typescript-standards.md +0 -418
- package/skills/ck-sequential-thinking/tests/format-thought.test.js +0 -133
- package/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
- package/templates/repo/.github/.cokit-version +0 -4
- package/templates/repo/.github/copilot-instructions.md +0 -45
- package/templates/repo/.github/prompts/ck-code.prompt.md +0 -178
- package/templates/repo/.github/skills/ck-frontend-development/SKILL.md +0 -399
- package/templates/repo/.github/skills/ck-frontend-development/resources/common-patterns.md +0 -331
- package/templates/repo/.github/skills/ck-frontend-development/resources/complete-examples.md +0 -872
- package/templates/repo/.github/skills/ck-frontend-development/resources/component-patterns.md +0 -502
- package/templates/repo/.github/skills/ck-frontend-development/resources/data-fetching.md +0 -767
- package/templates/repo/.github/skills/ck-frontend-development/resources/file-organization.md +0 -502
- package/templates/repo/.github/skills/ck-frontend-development/resources/loading-and-error-states.md +0 -501
- package/templates/repo/.github/skills/ck-frontend-development/resources/performance.md +0 -406
- package/templates/repo/.github/skills/ck-frontend-development/resources/routing-guide.md +0 -364
- package/templates/repo/.github/skills/ck-frontend-development/resources/styling-guide.md +0 -428
- package/templates/repo/.github/skills/ck-frontend-development/resources/typescript-standards.md +0 -418
- package/templates/repo/.github/skills/ck-sequential-thinking/tests/format-thought.test.js +0 -133
- package/templates/repo/.github/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
- /package/skills/{ck-code-review → code-review}/references/verification-before-completion.md +0 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Compression Evaluator - Evaluate compression quality with probe-based testing.
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
python compression_evaluator.py evaluate <original_file> <compressed_file>
|
|
7
|
+
python compression_evaluator.py generate-probes <context_file>
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import argparse
|
|
11
|
+
import json
|
|
12
|
+
import os
|
|
13
|
+
import re
|
|
14
|
+
import sys
|
|
15
|
+
from dataclasses import dataclass, field
|
|
16
|
+
from enum import Enum
|
|
17
|
+
from typing import Optional
|
|
18
|
+
|
|
19
|
+
MAX_FILE_SIZE_MB = 100
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def load_file(path: str, as_json: bool = True):
|
|
23
|
+
"""Load file with proper error handling and size validation."""
|
|
24
|
+
try:
|
|
25
|
+
size_mb = os.path.getsize(path) / (1024 * 1024)
|
|
26
|
+
if size_mb > MAX_FILE_SIZE_MB:
|
|
27
|
+
print(f"Error: File too large ({size_mb:.1f}MB). Max {MAX_FILE_SIZE_MB}MB", file=sys.stderr)
|
|
28
|
+
sys.exit(1)
|
|
29
|
+
with open(path, encoding='utf-8') as f:
|
|
30
|
+
return json.load(f) if as_json else f.read()
|
|
31
|
+
except FileNotFoundError:
|
|
32
|
+
print(f"Error: File not found: {path}", file=sys.stderr)
|
|
33
|
+
sys.exit(1)
|
|
34
|
+
except PermissionError:
|
|
35
|
+
print(f"Error: Permission denied: {path}", file=sys.stderr)
|
|
36
|
+
sys.exit(1)
|
|
37
|
+
except json.JSONDecodeError as e:
|
|
38
|
+
print(f"Error: Invalid JSON in {path}: {e}", file=sys.stderr)
|
|
39
|
+
sys.exit(1)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class ProbeType(Enum):
|
|
43
|
+
RECALL = "recall" # Factual retention
|
|
44
|
+
ARTIFACT = "artifact" # File tracking
|
|
45
|
+
CONTINUATION = "continuation" # Task planning
|
|
46
|
+
DECISION = "decision" # Reasoning chains
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@dataclass
|
|
50
|
+
class Probe:
|
|
51
|
+
type: ProbeType
|
|
52
|
+
question: str
|
|
53
|
+
ground_truth: str
|
|
54
|
+
context_reference: Optional[str] = None
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@dataclass
|
|
58
|
+
class ProbeResult:
|
|
59
|
+
probe: Probe
|
|
60
|
+
response: str
|
|
61
|
+
scores: dict
|
|
62
|
+
overall_score: float
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@dataclass
|
|
66
|
+
class EvaluationReport:
|
|
67
|
+
compression_ratio: float
|
|
68
|
+
quality_score: float
|
|
69
|
+
dimension_scores: dict
|
|
70
|
+
probe_results: list
|
|
71
|
+
recommendations: list = field(default_factory=list)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
# Six evaluation dimensions with weights
|
|
75
|
+
DIMENSIONS = {
|
|
76
|
+
"accuracy": {"weight": 0.20, "description": "Technical correctness"},
|
|
77
|
+
"context_awareness": {"weight": 0.15, "description": "Conversation state"},
|
|
78
|
+
"artifact_trail": {"weight": 0.20, "description": "File tracking"},
|
|
79
|
+
"completeness": {"weight": 0.20, "description": "Coverage and depth"},
|
|
80
|
+
"continuity": {"weight": 0.15, "description": "Work continuation"},
|
|
81
|
+
"instruction_following": {"weight": 0.10, "description": "Constraint adherence"}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def estimate_tokens(text: str) -> int:
|
|
86
|
+
"""Estimate token count."""
|
|
87
|
+
return len(text) // 4
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def extract_facts(messages: list) -> list:
|
|
91
|
+
"""Extract factual statements that can be probed."""
|
|
92
|
+
facts = []
|
|
93
|
+
patterns = [
|
|
94
|
+
(r"error[:\s]+([^.]+)", "error"),
|
|
95
|
+
(r"next step[s]?[:\s]+([^.]+)", "next_step"),
|
|
96
|
+
(r"decided to\s+([^.]+)", "decision"),
|
|
97
|
+
(r"implemented\s+([^.]+)", "implementation"),
|
|
98
|
+
(r"found that\s+([^.]+)", "finding")
|
|
99
|
+
]
|
|
100
|
+
|
|
101
|
+
for msg in messages:
|
|
102
|
+
content = str(msg.get("content", "") if isinstance(msg, dict) else msg)
|
|
103
|
+
for pattern, fact_type in patterns:
|
|
104
|
+
matches = re.findall(pattern, content, re.IGNORECASE)
|
|
105
|
+
for match in matches:
|
|
106
|
+
facts.append({"type": fact_type, "content": match.strip()})
|
|
107
|
+
return facts
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def extract_files(messages: list) -> list:
|
|
111
|
+
"""Extract file references."""
|
|
112
|
+
files = []
|
|
113
|
+
patterns = [
|
|
114
|
+
r"(?:created|modified|updated|edited|read)\s+[`'\"]?([a-zA-Z0-9_/.-]+\.[a-zA-Z]+)[`'\"]?",
|
|
115
|
+
r"file[:\s]+[`'\"]?([a-zA-Z0-9_/.-]+\.[a-zA-Z]+)[`'\"]?"
|
|
116
|
+
]
|
|
117
|
+
|
|
118
|
+
for msg in messages:
|
|
119
|
+
content = str(msg.get("content", "") if isinstance(msg, dict) else msg)
|
|
120
|
+
for pattern in patterns:
|
|
121
|
+
matches = re.findall(pattern, content)
|
|
122
|
+
files.extend(matches)
|
|
123
|
+
return list(set(files))
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def extract_decisions(messages: list) -> list:
|
|
127
|
+
"""Extract decision points."""
|
|
128
|
+
decisions = []
|
|
129
|
+
patterns = [
|
|
130
|
+
r"chose\s+([^.]+)\s+(?:because|since|over)",
|
|
131
|
+
r"decided\s+(?:to\s+)?([^.]+)",
|
|
132
|
+
r"went with\s+([^.]+)"
|
|
133
|
+
]
|
|
134
|
+
|
|
135
|
+
for msg in messages:
|
|
136
|
+
content = str(msg.get("content", "") if isinstance(msg, dict) else msg)
|
|
137
|
+
for pattern in patterns:
|
|
138
|
+
matches = re.findall(pattern, content, re.IGNORECASE)
|
|
139
|
+
decisions.extend(matches)
|
|
140
|
+
return decisions
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
def generate_probes(messages: list) -> list:
|
|
144
|
+
"""Generate probe set for evaluation."""
|
|
145
|
+
probes = []
|
|
146
|
+
|
|
147
|
+
# Recall probes from facts
|
|
148
|
+
facts = extract_facts(messages)
|
|
149
|
+
for fact in facts[:3]: # Limit to 3 recall probes
|
|
150
|
+
probes.append(Probe(
|
|
151
|
+
type=ProbeType.RECALL,
|
|
152
|
+
question=f"What was the {fact['type'].replace('_', ' ')}?",
|
|
153
|
+
ground_truth=fact["content"]
|
|
154
|
+
))
|
|
155
|
+
|
|
156
|
+
# Artifact probes from files
|
|
157
|
+
files = extract_files(messages)
|
|
158
|
+
if files:
|
|
159
|
+
probes.append(Probe(
|
|
160
|
+
type=ProbeType.ARTIFACT,
|
|
161
|
+
question="Which files have been modified or created?",
|
|
162
|
+
ground_truth=", ".join(files)
|
|
163
|
+
))
|
|
164
|
+
|
|
165
|
+
# Continuation probe
|
|
166
|
+
probes.append(Probe(
|
|
167
|
+
type=ProbeType.CONTINUATION,
|
|
168
|
+
question="What should be done next?",
|
|
169
|
+
ground_truth="[Extracted from context]" # Would need LLM to generate
|
|
170
|
+
))
|
|
171
|
+
|
|
172
|
+
# Decision probes
|
|
173
|
+
decisions = extract_decisions(messages)
|
|
174
|
+
for decision in decisions[:2]: # Limit to 2 decision probes
|
|
175
|
+
probes.append(Probe(
|
|
176
|
+
type=ProbeType.DECISION,
|
|
177
|
+
question=f"Why was the decision made to {decision[:50]}...?",
|
|
178
|
+
ground_truth=decision
|
|
179
|
+
))
|
|
180
|
+
|
|
181
|
+
return probes
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def evaluate_response(probe: Probe, response: str) -> dict:
|
|
185
|
+
"""
|
|
186
|
+
Evaluate response against probe.
|
|
187
|
+
Note: Production should use LLM-as-Judge.
|
|
188
|
+
"""
|
|
189
|
+
scores = {}
|
|
190
|
+
response_lower = response.lower()
|
|
191
|
+
ground_truth_lower = probe.ground_truth.lower()
|
|
192
|
+
|
|
193
|
+
# Heuristic scoring (replace with LLM evaluation in production)
|
|
194
|
+
# Check for ground truth presence
|
|
195
|
+
if ground_truth_lower in response_lower:
|
|
196
|
+
base_score = 1.0
|
|
197
|
+
elif any(word in response_lower for word in ground_truth_lower.split()[:3]):
|
|
198
|
+
base_score = 0.6
|
|
199
|
+
else:
|
|
200
|
+
base_score = 0.3
|
|
201
|
+
|
|
202
|
+
# Adjust based on probe type
|
|
203
|
+
if probe.type == ProbeType.ARTIFACT:
|
|
204
|
+
# Check file mentions
|
|
205
|
+
files_mentioned = len(re.findall(r'\.[a-z]+', response_lower))
|
|
206
|
+
scores["artifact_trail"] = min(1.0, base_score + files_mentioned * 0.1)
|
|
207
|
+
scores["accuracy"] = base_score
|
|
208
|
+
elif probe.type == ProbeType.RECALL:
|
|
209
|
+
scores["accuracy"] = base_score
|
|
210
|
+
scores["completeness"] = base_score
|
|
211
|
+
elif probe.type == ProbeType.CONTINUATION:
|
|
212
|
+
scores["continuity"] = base_score
|
|
213
|
+
scores["context_awareness"] = base_score
|
|
214
|
+
elif probe.type == ProbeType.DECISION:
|
|
215
|
+
scores["accuracy"] = base_score
|
|
216
|
+
scores["context_awareness"] = base_score
|
|
217
|
+
|
|
218
|
+
return scores
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
def calculate_compression_ratio(original: str, compressed: str) -> float:
|
|
222
|
+
"""Calculate compression ratio."""
|
|
223
|
+
original_tokens = estimate_tokens(original)
|
|
224
|
+
compressed_tokens = estimate_tokens(compressed)
|
|
225
|
+
if original_tokens == 0:
|
|
226
|
+
return 0.0
|
|
227
|
+
return 1.0 - (compressed_tokens / original_tokens)
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
def evaluate_compression(original_messages: list, compressed_text: str,
|
|
231
|
+
probes: Optional[list] = None) -> EvaluationReport:
|
|
232
|
+
"""
|
|
233
|
+
Evaluate compression quality.
|
|
234
|
+
|
|
235
|
+
Args:
|
|
236
|
+
original_messages: Original context messages
|
|
237
|
+
compressed_text: Compressed summary
|
|
238
|
+
probes: Optional pre-generated probes
|
|
239
|
+
|
|
240
|
+
Returns:
|
|
241
|
+
EvaluationReport with scores and recommendations
|
|
242
|
+
"""
|
|
243
|
+
# Generate probes if not provided
|
|
244
|
+
if probes is None:
|
|
245
|
+
probes = generate_probes(original_messages)
|
|
246
|
+
|
|
247
|
+
# Calculate compression ratio
|
|
248
|
+
original_text = json.dumps(original_messages)
|
|
249
|
+
compression_ratio = calculate_compression_ratio(original_text, compressed_text)
|
|
250
|
+
|
|
251
|
+
# Evaluate each probe (simulated - production uses LLM)
|
|
252
|
+
probe_results = []
|
|
253
|
+
dimension_scores = {dim: [] for dim in DIMENSIONS}
|
|
254
|
+
|
|
255
|
+
for probe in probes:
|
|
256
|
+
# In production, send compressed_text + probe.question to LLM
|
|
257
|
+
# Here we simulate with heuristic check
|
|
258
|
+
scores = evaluate_response(probe, compressed_text)
|
|
259
|
+
|
|
260
|
+
overall = sum(scores.values()) / len(scores) if scores else 0
|
|
261
|
+
probe_results.append(ProbeResult(
|
|
262
|
+
probe=probe,
|
|
263
|
+
response="[Would be LLM response]",
|
|
264
|
+
scores=scores,
|
|
265
|
+
overall_score=overall
|
|
266
|
+
))
|
|
267
|
+
|
|
268
|
+
# Aggregate by dimension
|
|
269
|
+
for dim, score in scores.items():
|
|
270
|
+
if dim in dimension_scores:
|
|
271
|
+
dimension_scores[dim].append(score)
|
|
272
|
+
|
|
273
|
+
# Calculate dimension averages
|
|
274
|
+
avg_dimensions = {}
|
|
275
|
+
for dim, scores in dimension_scores.items():
|
|
276
|
+
avg_dimensions[dim] = sum(scores) / len(scores) if scores else 0.5
|
|
277
|
+
|
|
278
|
+
# Calculate weighted quality score
|
|
279
|
+
quality_score = sum(
|
|
280
|
+
avg_dimensions.get(dim, 0.5) * info["weight"]
|
|
281
|
+
for dim, info in DIMENSIONS.items()
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
# Generate recommendations
|
|
285
|
+
recommendations = []
|
|
286
|
+
if compression_ratio > 0.99:
|
|
287
|
+
recommendations.append("Very high compression. Risk of information loss.")
|
|
288
|
+
if avg_dimensions.get("artifact_trail", 1) < 0.5:
|
|
289
|
+
recommendations.append("Artifact tracking weak. Add explicit file section to summary.")
|
|
290
|
+
if avg_dimensions.get("continuity", 1) < 0.5:
|
|
291
|
+
recommendations.append("Continuity low. Add 'Next Steps' section to summary.")
|
|
292
|
+
if quality_score < 0.6:
|
|
293
|
+
recommendations.append("Quality below threshold. Consider less aggressive compression.")
|
|
294
|
+
|
|
295
|
+
return EvaluationReport(
|
|
296
|
+
compression_ratio=compression_ratio,
|
|
297
|
+
quality_score=quality_score,
|
|
298
|
+
dimension_scores=avg_dimensions,
|
|
299
|
+
probe_results=probe_results,
|
|
300
|
+
recommendations=recommendations
|
|
301
|
+
)
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
def main():
|
|
305
|
+
parser = argparse.ArgumentParser(description="Compression quality evaluator")
|
|
306
|
+
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
307
|
+
|
|
308
|
+
# Evaluate command
|
|
309
|
+
eval_parser = subparsers.add_parser("evaluate", help="Evaluate compression quality")
|
|
310
|
+
eval_parser.add_argument("original_file", help="JSON file with original messages")
|
|
311
|
+
eval_parser.add_argument("compressed_file", help="Text file with compressed summary")
|
|
312
|
+
|
|
313
|
+
# Generate probes command
|
|
314
|
+
probe_parser = subparsers.add_parser("generate-probes", help="Generate evaluation probes")
|
|
315
|
+
probe_parser.add_argument("context_file", help="JSON file with context messages")
|
|
316
|
+
|
|
317
|
+
args = parser.parse_args()
|
|
318
|
+
|
|
319
|
+
if args.command == "evaluate":
|
|
320
|
+
original = load_file(args.original_file, as_json=True)
|
|
321
|
+
messages = original if isinstance(original, list) else original.get("messages", [])
|
|
322
|
+
compressed = load_file(args.compressed_file, as_json=False)
|
|
323
|
+
|
|
324
|
+
report = evaluate_compression(messages, compressed)
|
|
325
|
+
print(json.dumps({
|
|
326
|
+
"compression_ratio": f"{report.compression_ratio:.1%}",
|
|
327
|
+
"quality_score": f"{report.quality_score:.2f}",
|
|
328
|
+
"dimension_scores": {k: f"{v:.2f}" for k, v in report.dimension_scores.items()},
|
|
329
|
+
"probe_count": len(report.probe_results),
|
|
330
|
+
"recommendations": report.recommendations
|
|
331
|
+
}, indent=2))
|
|
332
|
+
|
|
333
|
+
elif args.command == "generate-probes":
|
|
334
|
+
data = load_file(args.context_file, as_json=True)
|
|
335
|
+
messages = data if isinstance(data, list) else data.get("messages", [])
|
|
336
|
+
|
|
337
|
+
probes = generate_probes(messages)
|
|
338
|
+
output = []
|
|
339
|
+
for probe in probes:
|
|
340
|
+
output.append({
|
|
341
|
+
"type": probe.type.value,
|
|
342
|
+
"question": probe.question,
|
|
343
|
+
"ground_truth": probe.ground_truth
|
|
344
|
+
})
|
|
345
|
+
print(json.dumps(output, indent=2))
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
if __name__ == "__main__":
|
|
349
|
+
main()
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Context Analyzer - Health analysis and degradation detection for agent contexts.
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
python context_analyzer.py analyze <context_file>
|
|
7
|
+
python context_analyzer.py budget --system 2000 --tools 1500 --docs 3000 --history 5000
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import argparse
|
|
11
|
+
import json
|
|
12
|
+
import math
|
|
13
|
+
import os
|
|
14
|
+
import re
|
|
15
|
+
import sys
|
|
16
|
+
from dataclasses import dataclass, field
|
|
17
|
+
from enum import Enum
|
|
18
|
+
from typing import Optional
|
|
19
|
+
|
|
20
|
+
MAX_FILE_SIZE_MB = 100
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def load_json_file(path: str):
|
|
24
|
+
"""Load JSON file with proper error handling and size validation."""
|
|
25
|
+
try:
|
|
26
|
+
size_mb = os.path.getsize(path) / (1024 * 1024)
|
|
27
|
+
if size_mb > MAX_FILE_SIZE_MB:
|
|
28
|
+
print(f"Error: File too large ({size_mb:.1f}MB). Max {MAX_FILE_SIZE_MB}MB", file=sys.stderr)
|
|
29
|
+
sys.exit(1)
|
|
30
|
+
with open(path, encoding='utf-8') as f:
|
|
31
|
+
return json.load(f)
|
|
32
|
+
except FileNotFoundError:
|
|
33
|
+
print(f"Error: File not found: {path}", file=sys.stderr)
|
|
34
|
+
sys.exit(1)
|
|
35
|
+
except PermissionError:
|
|
36
|
+
print(f"Error: Permission denied: {path}", file=sys.stderr)
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
except json.JSONDecodeError as e:
|
|
39
|
+
print(f"Error: Invalid JSON in {path}: {e}", file=sys.stderr)
|
|
40
|
+
sys.exit(1)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class HealthStatus(Enum):
|
|
44
|
+
HEALTHY = "healthy"
|
|
45
|
+
WARNING = "warning"
|
|
46
|
+
DEGRADED = "degraded"
|
|
47
|
+
CRITICAL = "critical"
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@dataclass
|
|
51
|
+
class ContextAnalysis:
|
|
52
|
+
total_tokens: int
|
|
53
|
+
token_limit: int
|
|
54
|
+
utilization: float
|
|
55
|
+
health_status: HealthStatus
|
|
56
|
+
health_score: float
|
|
57
|
+
degradation_risk: float
|
|
58
|
+
poisoning_risk: float
|
|
59
|
+
recommendations: list = field(default_factory=list)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def estimate_tokens(text: str) -> int:
|
|
63
|
+
"""Estimate token count (~4 chars per token for English)."""
|
|
64
|
+
return len(text) // 4
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def estimate_message_tokens(messages: list) -> int:
|
|
68
|
+
"""Estimate tokens in message list."""
|
|
69
|
+
total = 0
|
|
70
|
+
for msg in messages:
|
|
71
|
+
if isinstance(msg, dict):
|
|
72
|
+
content = msg.get("content", "")
|
|
73
|
+
total += estimate_tokens(str(content))
|
|
74
|
+
# Add overhead for role, metadata
|
|
75
|
+
total += 10
|
|
76
|
+
else:
|
|
77
|
+
total += estimate_tokens(str(msg))
|
|
78
|
+
return total
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def measure_attention_distribution(context_length: int, sample_size: int = 100) -> list:
|
|
82
|
+
"""
|
|
83
|
+
Simulate U-shaped attention distribution.
|
|
84
|
+
Real implementation would extract from model attention weights.
|
|
85
|
+
"""
|
|
86
|
+
attention = []
|
|
87
|
+
for i in range(sample_size):
|
|
88
|
+
position = i / sample_size
|
|
89
|
+
# U-shaped curve: high at start/end, low in middle
|
|
90
|
+
if position < 0.1:
|
|
91
|
+
score = 0.9 - position * 2
|
|
92
|
+
elif position > 0.9:
|
|
93
|
+
score = 0.7 + (position - 0.9) * 2
|
|
94
|
+
else:
|
|
95
|
+
score = 0.3 + 0.1 * math.sin(position * math.pi)
|
|
96
|
+
attention.append(score)
|
|
97
|
+
return attention
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def detect_lost_in_middle(messages: list, critical_keywords: list) -> list:
|
|
101
|
+
"""Identify critical items in attention-degraded regions."""
|
|
102
|
+
if not messages:
|
|
103
|
+
return []
|
|
104
|
+
|
|
105
|
+
total = len(messages)
|
|
106
|
+
warnings = []
|
|
107
|
+
|
|
108
|
+
for i, msg in enumerate(messages):
|
|
109
|
+
position = i / total
|
|
110
|
+
content = str(msg.get("content", "") if isinstance(msg, dict) else msg)
|
|
111
|
+
|
|
112
|
+
# Middle region (10%-90%)
|
|
113
|
+
if 0.1 < position < 0.9:
|
|
114
|
+
for keyword in critical_keywords:
|
|
115
|
+
if keyword.lower() in content.lower():
|
|
116
|
+
warnings.append({
|
|
117
|
+
"position": i,
|
|
118
|
+
"position_pct": f"{position:.1%}",
|
|
119
|
+
"keyword": keyword,
|
|
120
|
+
"risk": "high" if 0.3 < position < 0.7 else "medium"
|
|
121
|
+
})
|
|
122
|
+
return warnings
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def detect_poisoning_patterns(messages: list) -> dict:
|
|
126
|
+
"""Detect potential context poisoning indicators."""
|
|
127
|
+
error_patterns = [
|
|
128
|
+
r"error", r"failed", r"exception", r"cannot", r"unable",
|
|
129
|
+
r"invalid", r"not found", r"undefined", r"null"
|
|
130
|
+
]
|
|
131
|
+
# Simple contradiction check - look for both positive and negative statements
|
|
132
|
+
contradiction_keywords = [
|
|
133
|
+
("is correct", "is not correct"),
|
|
134
|
+
("should work", "should not work"),
|
|
135
|
+
("will succeed", "will fail"),
|
|
136
|
+
("is valid", "is invalid"),
|
|
137
|
+
]
|
|
138
|
+
|
|
139
|
+
errors_found = []
|
|
140
|
+
contradictions = []
|
|
141
|
+
|
|
142
|
+
for i, msg in enumerate(messages):
|
|
143
|
+
content = str(msg.get("content", "") if isinstance(msg, dict) else msg).lower()
|
|
144
|
+
|
|
145
|
+
# Check error patterns
|
|
146
|
+
for pattern in error_patterns:
|
|
147
|
+
if re.search(pattern, content):
|
|
148
|
+
errors_found.append({"position": i, "pattern": pattern})
|
|
149
|
+
|
|
150
|
+
# Check for contradiction keywords (simplified)
|
|
151
|
+
for pos_phrase, neg_phrase in contradiction_keywords:
|
|
152
|
+
if pos_phrase in content and neg_phrase in content:
|
|
153
|
+
contradictions.append({"position": i, "type": "self-contradiction"})
|
|
154
|
+
|
|
155
|
+
total = max(len(messages), 1)
|
|
156
|
+
return {
|
|
157
|
+
"error_density": len(errors_found) / total,
|
|
158
|
+
"contradiction_count": len(contradictions),
|
|
159
|
+
"poisoning_risk": min(1.0, (len(errors_found) * 0.1 + len(contradictions) * 0.3))
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def calculate_health_score(utilization: float, degradation_risk: float, poisoning_risk: float) -> float:
|
|
164
|
+
"""
|
|
165
|
+
Calculate composite health score.
|
|
166
|
+
1.0 = healthy, 0.0 = critical
|
|
167
|
+
"""
|
|
168
|
+
score = 1.0
|
|
169
|
+
# Utilization penalty (kicks in after 70%)
|
|
170
|
+
if utilization > 0.7:
|
|
171
|
+
score -= (utilization - 0.7) * 1.5
|
|
172
|
+
# Degradation penalty
|
|
173
|
+
score -= degradation_risk * 0.3
|
|
174
|
+
# Poisoning penalty
|
|
175
|
+
score -= poisoning_risk * 0.2
|
|
176
|
+
return max(0.0, min(1.0, score))
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
def get_health_status(score: float) -> HealthStatus:
|
|
180
|
+
"""Map health score to status."""
|
|
181
|
+
if score > 0.8:
|
|
182
|
+
return HealthStatus.HEALTHY
|
|
183
|
+
elif score > 0.6:
|
|
184
|
+
return HealthStatus.WARNING
|
|
185
|
+
elif score > 0.4:
|
|
186
|
+
return HealthStatus.DEGRADED
|
|
187
|
+
return HealthStatus.CRITICAL
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def analyze_context(messages: list, token_limit: int = 128000,
|
|
191
|
+
critical_keywords: Optional[list] = None) -> ContextAnalysis:
|
|
192
|
+
"""
|
|
193
|
+
Comprehensive context health analysis.
|
|
194
|
+
|
|
195
|
+
Args:
|
|
196
|
+
messages: List of context messages
|
|
197
|
+
token_limit: Model's context window size
|
|
198
|
+
critical_keywords: Keywords that should be at attention-favored positions
|
|
199
|
+
|
|
200
|
+
Returns:
|
|
201
|
+
ContextAnalysis with health metrics and recommendations
|
|
202
|
+
"""
|
|
203
|
+
critical_keywords = critical_keywords or ["goal", "task", "important", "critical", "must"]
|
|
204
|
+
|
|
205
|
+
# Calculate token utilization
|
|
206
|
+
total_tokens = estimate_message_tokens(messages)
|
|
207
|
+
utilization = total_tokens / token_limit
|
|
208
|
+
|
|
209
|
+
# Check for lost-in-middle issues
|
|
210
|
+
middle_warnings = detect_lost_in_middle(messages, critical_keywords)
|
|
211
|
+
degradation_risk = min(1.0, len(middle_warnings) * 0.2)
|
|
212
|
+
|
|
213
|
+
# Check for poisoning
|
|
214
|
+
poisoning = detect_poisoning_patterns(messages)
|
|
215
|
+
poisoning_risk = poisoning["poisoning_risk"]
|
|
216
|
+
|
|
217
|
+
# Calculate health
|
|
218
|
+
health_score = calculate_health_score(utilization, degradation_risk, poisoning_risk)
|
|
219
|
+
health_status = get_health_status(health_score)
|
|
220
|
+
|
|
221
|
+
# Generate recommendations
|
|
222
|
+
recommendations = []
|
|
223
|
+
if utilization > 0.8:
|
|
224
|
+
recommendations.append("URGENT: Context utilization >80%. Trigger compaction immediately.")
|
|
225
|
+
elif utilization > 0.7:
|
|
226
|
+
recommendations.append("WARNING: Context utilization >70%. Plan for compaction.")
|
|
227
|
+
|
|
228
|
+
if middle_warnings:
|
|
229
|
+
recommendations.append(f"Found {len(middle_warnings)} critical items in middle region. "
|
|
230
|
+
"Consider moving to beginning/end.")
|
|
231
|
+
|
|
232
|
+
if poisoning_risk > 0.3:
|
|
233
|
+
recommendations.append("High poisoning risk detected. Review recent tool outputs for errors.")
|
|
234
|
+
|
|
235
|
+
if health_status == HealthStatus.CRITICAL:
|
|
236
|
+
recommendations.append("CRITICAL: Consider context reset with clean state.")
|
|
237
|
+
|
|
238
|
+
return ContextAnalysis(
|
|
239
|
+
total_tokens=total_tokens,
|
|
240
|
+
token_limit=token_limit,
|
|
241
|
+
utilization=utilization,
|
|
242
|
+
health_status=health_status,
|
|
243
|
+
health_score=health_score,
|
|
244
|
+
degradation_risk=degradation_risk,
|
|
245
|
+
poisoning_risk=poisoning_risk,
|
|
246
|
+
recommendations=recommendations
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
def calculate_budget(system: int, tools: int, docs: int, history: int,
|
|
251
|
+
buffer_pct: float = 0.15) -> dict:
|
|
252
|
+
"""Calculate context budget allocation."""
|
|
253
|
+
subtotal = system + tools + docs + history
|
|
254
|
+
buffer = int(subtotal * buffer_pct)
|
|
255
|
+
total = subtotal + buffer
|
|
256
|
+
|
|
257
|
+
return {
|
|
258
|
+
"allocation": {
|
|
259
|
+
"system_prompt": system,
|
|
260
|
+
"tool_definitions": tools,
|
|
261
|
+
"retrieved_docs": docs,
|
|
262
|
+
"message_history": history,
|
|
263
|
+
"reserved_buffer": buffer
|
|
264
|
+
},
|
|
265
|
+
"total_budget": total,
|
|
266
|
+
"warning_threshold": int(total * 0.7),
|
|
267
|
+
"critical_threshold": int(total * 0.8),
|
|
268
|
+
"recommendations": [
|
|
269
|
+
f"Trigger compaction at {int(total * 0.7):,} tokens",
|
|
270
|
+
f"Aggressive optimization at {int(total * 0.8):,} tokens",
|
|
271
|
+
f"Reserved {buffer:,} tokens ({buffer_pct:.0%}) for responses"
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
def main():
|
|
277
|
+
parser = argparse.ArgumentParser(description="Context health analyzer")
|
|
278
|
+
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
279
|
+
|
|
280
|
+
# Analyze command
|
|
281
|
+
analyze_parser = subparsers.add_parser("analyze", help="Analyze context health")
|
|
282
|
+
analyze_parser.add_argument("context_file", help="JSON file with messages array")
|
|
283
|
+
analyze_parser.add_argument("--limit", type=int, default=128000, help="Token limit")
|
|
284
|
+
analyze_parser.add_argument("--keywords", nargs="+", help="Critical keywords to track")
|
|
285
|
+
|
|
286
|
+
# Budget command
|
|
287
|
+
budget_parser = subparsers.add_parser("budget", help="Calculate context budget")
|
|
288
|
+
budget_parser.add_argument("--system", type=int, default=2000, help="System prompt tokens")
|
|
289
|
+
budget_parser.add_argument("--tools", type=int, default=1500, help="Tool definitions tokens")
|
|
290
|
+
budget_parser.add_argument("--docs", type=int, default=3000, help="Retrieved docs tokens")
|
|
291
|
+
budget_parser.add_argument("--history", type=int, default=5000, help="Message history tokens")
|
|
292
|
+
budget_parser.add_argument("--buffer", type=float, default=0.15, help="Buffer percentage")
|
|
293
|
+
|
|
294
|
+
args = parser.parse_args()
|
|
295
|
+
|
|
296
|
+
if args.command == "analyze":
|
|
297
|
+
data = load_json_file(args.context_file)
|
|
298
|
+
messages = data if isinstance(data, list) else data.get("messages", [])
|
|
299
|
+
result = analyze_context(messages, args.limit, args.keywords)
|
|
300
|
+
print(json.dumps({
|
|
301
|
+
"total_tokens": result.total_tokens,
|
|
302
|
+
"token_limit": result.token_limit,
|
|
303
|
+
"utilization": f"{result.utilization:.1%}",
|
|
304
|
+
"health_status": result.health_status.value,
|
|
305
|
+
"health_score": f"{result.health_score:.2f}",
|
|
306
|
+
"degradation_risk": f"{result.degradation_risk:.2f}",
|
|
307
|
+
"poisoning_risk": f"{result.poisoning_risk:.2f}",
|
|
308
|
+
"recommendations": result.recommendations
|
|
309
|
+
}, indent=2))
|
|
310
|
+
|
|
311
|
+
elif args.command == "budget":
|
|
312
|
+
result = calculate_budget(args.system, args.tools, args.docs, args.history, args.buffer)
|
|
313
|
+
print(json.dumps(result, indent=2))
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
if __name__ == "__main__":
|
|
317
|
+
main()
|