@manhnv319/codexkit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/.env.example +101 -0
- package/.agents/skills/INSTALLATION.md +360 -0
- package/.agents/skills/README.md +149 -0
- package/.agents/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/.agents/skills/agent-browser/SKILL.md +294 -0
- package/.agents/skills/agent-browser/references/.gitkeep +0 -0
- package/.agents/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
- package/.agents/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/.agents/skills/agent_skills_spec.md +55 -0
- package/.agents/skills/ai-artist/SKILL.md +122 -0
- package/.agents/skills/ai-artist/data/awesome-prompts.csv +3592 -0
- package/.agents/skills/ai-artist/data/lighting.csv +19 -0
- package/.agents/skills/ai-artist/data/nano-banana-templates.csv +17 -0
- package/.agents/skills/ai-artist/data/platforms.csv +11 -0
- package/.agents/skills/ai-artist/data/styles.csv +26 -0
- package/.agents/skills/ai-artist/data/techniques.csv +19 -0
- package/.agents/skills/ai-artist/data/use-cases.csv +16 -0
- package/.agents/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/.agents/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/.agents/skills/ai-artist/references/domain-code.md +66 -0
- package/.agents/skills/ai-artist/references/domain-data.md +72 -0
- package/.agents/skills/ai-artist/references/domain-marketing.md +66 -0
- package/.agents/skills/ai-artist/references/domain-patterns.md +33 -0
- package/.agents/skills/ai-artist/references/domain-writing.md +68 -0
- package/.agents/skills/ai-artist/references/image-prompting.md +141 -0
- package/.agents/skills/ai-artist/references/llm-prompting.md +165 -0
- package/.agents/skills/ai-artist/references/nano-banana.md +136 -0
- package/.agents/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/.agents/skills/ai-artist/references/validation-workflow.md +117 -0
- package/.agents/skills/ai-artist/scripts/core.py +197 -0
- package/.agents/skills/ai-artist/scripts/extract_prompts.py +102 -0
- package/.agents/skills/ai-artist/scripts/generate.py +370 -0
- package/.agents/skills/ai-artist/scripts/search.py +147 -0
- package/.agents/skills/ai-multimodal/.env.example +204 -0
- package/.agents/skills/ai-multimodal/SKILL.md +110 -0
- package/.agents/skills/ai-multimodal/references/audio-processing.md +387 -0
- package/.agents/skills/ai-multimodal/references/image-generation.md +939 -0
- package/.agents/skills/ai-multimodal/references/music-generation.md +311 -0
- package/.agents/skills/ai-multimodal/references/video-analysis.md +515 -0
- package/.agents/skills/ai-multimodal/references/video-generation.md +457 -0
- package/.agents/skills/ai-multimodal/references/vision-understanding.md +492 -0
- package/.agents/skills/ai-multimodal/scripts/check_setup.py +315 -0
- package/.agents/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/.agents/skills/ai-multimodal/scripts/gemini_batch_process.py +1185 -0
- package/.agents/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/.agents/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/.agents/skills/ask/SKILL.md +58 -0
- package/.agents/skills/backend-development/SKILL.md +96 -0
- package/.agents/skills/backend-development/references/backend-api-design.md +495 -0
- package/.agents/skills/backend-development/references/backend-architecture.md +454 -0
- package/.agents/skills/backend-development/references/backend-authentication.md +338 -0
- package/.agents/skills/backend-development/references/backend-code-quality.md +659 -0
- package/.agents/skills/backend-development/references/backend-debugging.md +904 -0
- package/.agents/skills/backend-development/references/backend-devops.md +494 -0
- package/.agents/skills/backend-development/references/backend-mindset.md +387 -0
- package/.agents/skills/backend-development/references/backend-performance.md +397 -0
- package/.agents/skills/backend-development/references/backend-security.md +290 -0
- package/.agents/skills/backend-development/references/backend-technologies.md +256 -0
- package/.agents/skills/backend-development/references/backend-testing.md +429 -0
- package/.agents/skills/better-auth/SKILL.md +205 -0
- package/.agents/skills/better-auth/references/advanced-features.md +553 -0
- package/.agents/skills/better-auth/references/database-integration.md +577 -0
- package/.agents/skills/better-auth/references/email-password-auth.md +416 -0
- package/.agents/skills/better-auth/references/oauth-providers.md +430 -0
- package/.agents/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/.agents/skills/better-auth/scripts/requirements.txt +15 -0
- package/.agents/skills/bootstrap/SKILL.md +101 -0
- package/.agents/skills/bootstrap/references/shared-phases.md +59 -0
- package/.agents/skills/bootstrap/references/workflow-auto.md +52 -0
- package/.agents/skills/bootstrap/references/workflow-fast.md +50 -0
- package/.agents/skills/bootstrap/references/workflow-full.md +60 -0
- package/.agents/skills/bootstrap/references/workflow-parallel.md +59 -0
- package/.agents/skills/brainstorm/SKILL.md +77 -0
- package/.agents/skills/chrome-devtools/SKILL.md +625 -0
- package/.agents/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/.agents/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/.agents/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/.agents/skills/chrome-devtools/scripts/README.md +290 -0
- package/.agents/skills/chrome-devtools/scripts/aria-snapshot.js +363 -0
- package/.agents/skills/chrome-devtools/scripts/click.js +84 -0
- package/.agents/skills/chrome-devtools/scripts/connect-chrome.js +146 -0
- package/.agents/skills/chrome-devtools/scripts/console.js +81 -0
- package/.agents/skills/chrome-devtools/scripts/evaluate.js +56 -0
- package/.agents/skills/chrome-devtools/scripts/fill.js +77 -0
- package/.agents/skills/chrome-devtools/scripts/import-cookies.js +205 -0
- package/.agents/skills/chrome-devtools/scripts/inject-auth.js +230 -0
- package/.agents/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/.agents/skills/chrome-devtools/scripts/install.sh +83 -0
- package/.agents/skills/chrome-devtools/scripts/lib/browser.js +374 -0
- package/.agents/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/.agents/skills/chrome-devtools/scripts/navigate.js +138 -0
- package/.agents/skills/chrome-devtools/scripts/network.js +108 -0
- package/.agents/skills/chrome-devtools/scripts/package.json +16 -0
- package/.agents/skills/chrome-devtools/scripts/performance.js +151 -0
- package/.agents/skills/chrome-devtools/scripts/screenshot.js +199 -0
- package/.agents/skills/chrome-devtools/scripts/select-ref.js +132 -0
- package/.agents/skills/chrome-devtools/scripts/snapshot.js +136 -0
- package/.agents/skills/chrome-devtools/scripts/ws-debug.js +44 -0
- package/.agents/skills/chrome-devtools/scripts/ws-full-debug.js +107 -0
- package/.agents/skills/ck-help/SKILL.md +102 -0
- package/.agents/skills/ck-help/scripts/ck-help.py +1321 -0
- package/.agents/skills/ck-help/scripts/commands_data.yaml +3 -0
- package/.agents/skills/ck-help/scripts/skills_data.yaml +593 -0
- package/.agents/skills/code-review/SKILL.md +147 -0
- package/.agents/skills/code-review/references/code-review-reception.md +113 -0
- package/.agents/skills/code-review/references/codebase-scan-workflow.md +29 -0
- package/.agents/skills/code-review/references/edge-case-scouting.md +119 -0
- package/.agents/skills/code-review/references/parallel-review-workflow.md +69 -0
- package/.agents/skills/code-review/references/requesting-code-review.md +116 -0
- package/.agents/skills/code-review/references/task-management-reviews.md +140 -0
- package/.agents/skills/code-review/references/verification-before-completion.md +139 -0
- package/.agents/skills/coding-level/SKILL.md +56 -0
- package/.agents/skills/common/README.md +120 -0
- package/.agents/skills/common/api_key_helper.py +411 -0
- package/.agents/skills/common/api_key_rotator.py +248 -0
- package/.agents/skills/context-engineering/SKILL.md +108 -0
- package/.agents/skills/context-engineering/references/context-compression.md +84 -0
- package/.agents/skills/context-engineering/references/context-degradation.md +93 -0
- package/.agents/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/.agents/skills/context-engineering/references/context-optimization.md +82 -0
- package/.agents/skills/context-engineering/references/evaluation.md +89 -0
- package/.agents/skills/context-engineering/references/memory-systems.md +88 -0
- package/.agents/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/.agents/skills/context-engineering/references/project-development.md +97 -0
- package/.agents/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/.agents/skills/context-engineering/references/tool-design.md +86 -0
- package/.agents/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/.agents/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/.agents/skills/cook/README.md +86 -0
- package/.agents/skills/cook/SKILL.md +113 -0
- package/.agents/skills/cook/references/intent-detection.md +101 -0
- package/.agents/skills/cook/references/review-cycle.md +75 -0
- package/.agents/skills/cook/references/subagent-patterns.md +75 -0
- package/.agents/skills/cook/references/workflow-steps.md +172 -0
- package/.agents/skills/copywriting/SKILL.md +94 -0
- package/.agents/skills/copywriting/references/copy-formulas.md +150 -0
- package/.agents/skills/copywriting/references/cta-patterns.md +168 -0
- package/.agents/skills/copywriting/references/email-copy.md +193 -0
- package/.agents/skills/copywriting/references/headline-templates.md +140 -0
- package/.agents/skills/copywriting/references/landing-page-copy.md +175 -0
- package/.agents/skills/copywriting/references/power-words.md +189 -0
- package/.agents/skills/copywriting/references/social-media-copy.md +222 -0
- package/.agents/skills/copywriting/references/workflow-cro.md +83 -0
- package/.agents/skills/copywriting/references/workflow-enhance.md +32 -0
- package/.agents/skills/copywriting/references/workflow-fast.md +29 -0
- package/.agents/skills/copywriting/references/workflow-good.md +39 -0
- package/.agents/skills/copywriting/references/writing-styles.md +247 -0
- package/.agents/skills/copywriting/scripts/extract-writing-styles.py +308 -0
- package/.agents/skills/copywriting/templates/copy-brief.md +49 -0
- package/.agents/skills/databases/SKILL.md +84 -0
- package/.agents/skills/databases/analytics.md +198 -0
- package/.agents/skills/databases/db-design.md +188 -0
- package/.agents/skills/databases/incremental-etl.md +213 -0
- package/.agents/skills/databases/references/mongodb-aggregation.md +447 -0
- package/.agents/skills/databases/references/mongodb-atlas.md +465 -0
- package/.agents/skills/databases/references/mongodb-crud.md +408 -0
- package/.agents/skills/databases/references/mongodb-indexing.md +442 -0
- package/.agents/skills/databases/references/postgresql-administration.md +594 -0
- package/.agents/skills/databases/references/postgresql-performance.md +527 -0
- package/.agents/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/.agents/skills/databases/references/postgresql-queries.md +475 -0
- package/.agents/skills/databases/scripts/db_backup.py +502 -0
- package/.agents/skills/databases/scripts/db_migrate.py +426 -0
- package/.agents/skills/databases/scripts/db_performance_check.py +457 -0
- package/.agents/skills/databases/scripts/requirements.txt +20 -0
- package/.agents/skills/databases/stacks/bigquery.md +231 -0
- package/.agents/skills/databases/stacks/d1_cloudflare.md +137 -0
- package/.agents/skills/databases/stacks/mysql.md +216 -0
- package/.agents/skills/databases/stacks/postgres.md +235 -0
- package/.agents/skills/databases/stacks/sqlite.md +244 -0
- package/.agents/skills/databases/transactional.md +176 -0
- package/.agents/skills/debug/SKILL.md +121 -0
- package/.agents/skills/debug/references/defense-in-depth.md +124 -0
- package/.agents/skills/debug/references/frontend-verification.md +103 -0
- package/.agents/skills/debug/references/investigation-methodology.md +101 -0
- package/.agents/skills/debug/references/log-and-ci-analysis.md +97 -0
- package/.agents/skills/debug/references/performance-diagnostics.md +113 -0
- package/.agents/skills/debug/references/reporting-standards.md +122 -0
- package/.agents/skills/debug/references/root-cause-tracing.md +122 -0
- package/.agents/skills/debug/references/systematic-debugging.md +102 -0
- package/.agents/skills/debug/references/task-management-debugging.md +155 -0
- package/.agents/skills/debug/references/verification.md +123 -0
- package/.agents/skills/debug/scripts/find-polluter.sh +63 -0
- package/.agents/skills/devops/.env.example +76 -0
- package/.agents/skills/devops/SKILL.md +97 -0
- package/.agents/skills/devops/references/browser-rendering.md +305 -0
- package/.agents/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/.agents/skills/devops/references/cloudflare-platform.md +271 -0
- package/.agents/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/.agents/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/.agents/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/.agents/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/.agents/skills/devops/references/docker-basics.md +297 -0
- package/.agents/skills/devops/references/docker-compose.md +292 -0
- package/.agents/skills/devops/references/gcloud-platform.md +297 -0
- package/.agents/skills/devops/references/gcloud-services.md +304 -0
- package/.agents/skills/devops/references/kubernetes-basics.md +99 -0
- package/.agents/skills/devops/references/kubernetes-helm-advanced.md +75 -0
- package/.agents/skills/devops/references/kubernetes-helm.md +81 -0
- package/.agents/skills/devops/references/kubernetes-kubectl.md +74 -0
- package/.agents/skills/devops/references/kubernetes-security-advanced.md +98 -0
- package/.agents/skills/devops/references/kubernetes-security.md +95 -0
- package/.agents/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/.agents/skills/devops/references/kubernetes-troubleshooting.md +49 -0
- package/.agents/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/.agents/skills/devops/references/kubernetes-workflows.md +78 -0
- package/.agents/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/.agents/skills/devops/scripts/docker_optimize.py +332 -0
- package/.agents/skills/devops/scripts/requirements.txt +20 -0
- package/.agents/skills/docs/SKILL.md +55 -0
- package/.agents/skills/docs/references/init-workflow.md +32 -0
- package/.agents/skills/docs/references/summarize-workflow.md +18 -0
- package/.agents/skills/docs/references/update-workflow.md +59 -0
- package/.agents/skills/docs-seeker/.env.example +15 -0
- package/.agents/skills/docs-seeker/SKILL.md +98 -0
- package/.agents/skills/docs-seeker/package.json +25 -0
- package/.agents/skills/docs-seeker/references/advanced.md +79 -0
- package/.agents/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/.agents/skills/docs-seeker/references/errors.md +68 -0
- package/.agents/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/.agents/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/.agents/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/.agents/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/.agents/skills/docs-seeker/workflows/library-search.md +87 -0
- package/.agents/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/.agents/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/.agents/skills/docx/LICENSE.txt +30 -0
- package/.agents/skills/docx/SKILL.md +197 -0
- package/.agents/skills/docx/docx-js.md +350 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agents/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agents/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agents/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agents/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agents/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agents/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agents/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agents/skills/docx/ooxml/scripts/pack.py +159 -0
- package/.agents/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/.agents/skills/docx/ooxml/scripts/validate.py +69 -0
- package/.agents/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/.agents/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/.agents/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/.agents/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/.agents/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/.agents/skills/docx/ooxml.md +610 -0
- package/.agents/skills/docx/scripts/__init__.py +1 -0
- package/.agents/skills/docx/scripts/document.py +1276 -0
- package/.agents/skills/docx/scripts/templates/comments.xml +3 -0
- package/.agents/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.agents/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/.agents/skills/docx/scripts/templates/people.xml +3 -0
- package/.agents/skills/docx/scripts/utilities.py +374 -0
- package/.agents/skills/find-skills/SKILL.md +134 -0
- package/.agents/skills/fix/SKILL.md +111 -0
- package/.agents/skills/fix/references/complexity-assessment.md +72 -0
- package/.agents/skills/fix/references/mode-selection.md +46 -0
- package/.agents/skills/fix/references/parallel-exploration.md +100 -0
- package/.agents/skills/fix/references/review-cycle.md +77 -0
- package/.agents/skills/fix/references/skill-activation-matrix.md +78 -0
- package/.agents/skills/fix/references/task-orchestration.md +103 -0
- package/.agents/skills/fix/references/workflow-ci.md +28 -0
- package/.agents/skills/fix/references/workflow-deep.md +122 -0
- package/.agents/skills/fix/references/workflow-logs.md +72 -0
- package/.agents/skills/fix/references/workflow-quick.md +59 -0
- package/.agents/skills/fix/references/workflow-standard.md +111 -0
- package/.agents/skills/fix/references/workflow-test.md +75 -0
- package/.agents/skills/fix/references/workflow-types.md +33 -0
- package/.agents/skills/fix/references/workflow-ui.md +75 -0
- package/.agents/skills/frontend-design/SKILL.md +78 -0
- package/.agents/skills/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/.agents/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/.agents/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/.agents/skills/frontend-design/references/analysis-techniques.md +118 -0
- package/.agents/skills/frontend-design/references/animejs.md +396 -0
- package/.agents/skills/frontend-design/references/asset-generation.md +337 -0
- package/.agents/skills/frontend-design/references/design-extraction-overview.md +71 -0
- package/.agents/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/.agents/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/.agents/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/.agents/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/.agents/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/.agents/skills/frontend-design/references/technical-optimization.md +44 -0
- package/.agents/skills/frontend-design/references/technical-overview.md +90 -0
- package/.agents/skills/frontend-design/references/technical-workflows.md +150 -0
- package/.agents/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/.agents/skills/frontend-design/references/workflow-3d.md +102 -0
- package/.agents/skills/frontend-design/references/workflow-describe.md +87 -0
- package/.agents/skills/frontend-design/references/workflow-immersive.md +87 -0
- package/.agents/skills/frontend-design/references/workflow-quick.md +57 -0
- package/.agents/skills/frontend-design/references/workflow-screenshot.md +63 -0
- package/.agents/skills/frontend-design/references/workflow-video.md +74 -0
- package/.agents/skills/frontend-development/SKILL.md +400 -0
- package/.agents/skills/frontend-development/resources/common-patterns.md +331 -0
- package/.agents/skills/frontend-development/resources/complete-examples.md +872 -0
- package/.agents/skills/frontend-development/resources/component-patterns.md +502 -0
- package/.agents/skills/frontend-development/resources/data-fetching.md +767 -0
- package/.agents/skills/frontend-development/resources/file-organization.md +502 -0
- package/.agents/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/.agents/skills/frontend-development/resources/performance.md +406 -0
- package/.agents/skills/frontend-development/resources/routing-guide.md +364 -0
- package/.agents/skills/frontend-development/resources/styling-guide.md +428 -0
- package/.agents/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/.agents/skills/git/SKILL.md +114 -0
- package/.agents/skills/git/references/branch-management.md +88 -0
- package/.agents/skills/git/references/commit-standards.md +46 -0
- package/.agents/skills/git/references/gh-cli-guide.md +109 -0
- package/.agents/skills/git/references/safety-protocols.md +69 -0
- package/.agents/skills/git/references/workflow-commit.md +58 -0
- package/.agents/skills/git/references/workflow-merge.md +48 -0
- package/.agents/skills/git/references/workflow-pr.md +58 -0
- package/.agents/skills/git/references/workflow-push.md +52 -0
- package/.agents/skills/gkg/SKILL.md +91 -0
- package/.agents/skills/gkg/references/cli-commands.md +106 -0
- package/.agents/skills/gkg/references/http-api.md +102 -0
- package/.agents/skills/gkg/references/language-support.md +57 -0
- package/.agents/skills/gkg/references/mcp-tools.md +99 -0
- package/.agents/skills/google-adk-python/SKILL.md +133 -0
- package/.agents/skills/google-adk-python/references/agent-types-and-architecture.md +128 -0
- package/.agents/skills/google-adk-python/references/callbacks-plugins-observability.md +117 -0
- package/.agents/skills/google-adk-python/references/deployment-cloud-run-vertex-gke.md +138 -0
- package/.agents/skills/google-adk-python/references/evaluation-testing-cli.md +112 -0
- package/.agents/skills/google-adk-python/references/multi-agent-and-a2a-protocol.md +145 -0
- package/.agents/skills/google-adk-python/references/sessions-state-memory-artifacts.md +131 -0
- package/.agents/skills/google-adk-python/references/tools-and-mcp-integration.md +146 -0
- package/.agents/skills/install.ps1 +1324 -0
- package/.agents/skills/install.sh +1352 -0
- package/.agents/skills/journal/SKILL.md +11 -0
- package/.agents/skills/kanban/SKILL.md +99 -0
- package/.agents/skills/markdown-novel-viewer/SKILL.md +314 -0
- package/.agents/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
- package/.agents/skills/markdown-novel-viewer/assets/favicon.png +0 -0
- package/.agents/skills/markdown-novel-viewer/assets/novel-theme.css +16 -0
- package/.agents/skills/markdown-novel-viewer/assets/reader.js +838 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-base.css +54 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-components.css +180 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-content.css +176 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-header.css +217 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-mermaid.css +153 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-overlays.css +202 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-responsive.css +285 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-sidebar.css +359 -0
- package/.agents/skills/markdown-novel-viewer/assets/styles/novel-theme-variables.css +56 -0
- package/.agents/skills/markdown-novel-viewer/assets/template.html +149 -0
- package/.agents/skills/markdown-novel-viewer/bun.lock +38 -0
- package/.agents/skills/markdown-novel-viewer/package.json +15 -0
- package/.agents/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
- package/.agents/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
- package/.agents/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +571 -0
- package/.agents/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
- package/.agents/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
- package/.agents/skills/markdown-novel-viewer/scripts/server.cjs +411 -0
- package/.agents/skills/mcp-builder/LICENSE.txt +202 -0
- package/.agents/skills/mcp-builder/SKILL.md +329 -0
- package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/.agents/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/.agents/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agents/skills/mcp-builder/scripts/evaluation.py +381 -0
- package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agents/skills/mcp-management/README.md +219 -0
- package/.agents/skills/mcp-management/SKILL.md +210 -0
- package/.agents/skills/mcp-management/assets/tools.json +3146 -0
- package/.agents/skills/mcp-management/references/configuration.md +114 -0
- package/.agents/skills/mcp-management/references/gemini-cli-integration.md +221 -0
- package/.agents/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/.agents/skills/mcp-management/scripts/.env.example +10 -0
- package/.agents/skills/mcp-management/scripts/cli.ts +195 -0
- package/.agents/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/.agents/skills/mcp-management/scripts/dist/cli.js +160 -0
- package/.agents/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/.agents/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/.agents/skills/mcp-management/scripts/package.json +20 -0
- package/.agents/skills/mcp-management/scripts/tsconfig.json +15 -0
- package/.agents/skills/media-processing/SKILL.md +92 -0
- package/.agents/skills/media-processing/references/common-workflows.md +132 -0
- package/.agents/skills/media-processing/references/ffmpeg-encoding.md +358 -0
- package/.agents/skills/media-processing/references/ffmpeg-filters.md +503 -0
- package/.agents/skills/media-processing/references/ffmpeg-streaming.md +403 -0
- package/.agents/skills/media-processing/references/format-compatibility.md +375 -0
- package/.agents/skills/media-processing/references/imagemagick-batch.md +612 -0
- package/.agents/skills/media-processing/references/imagemagick-editing.md +623 -0
- package/.agents/skills/media-processing/references/rmbg-background-removal.md +66 -0
- package/.agents/skills/media-processing/references/troubleshooting.md +109 -0
- package/.agents/skills/media-processing/scripts/README.md +111 -0
- package/.agents/skills/media-processing/scripts/batch-remove-background.sh +124 -0
- package/.agents/skills/media-processing/scripts/batch_resize.py +342 -0
- package/.agents/skills/media-processing/scripts/media_convert.py +311 -0
- package/.agents/skills/media-processing/scripts/remove-background.sh +96 -0
- package/.agents/skills/media-processing/scripts/remove-bg-node.js +158 -0
- package/.agents/skills/media-processing/scripts/requirements.txt +24 -0
- package/.agents/skills/media-processing/scripts/video_optimize.py +414 -0
- package/.agents/skills/mermaidjs-v11/SKILL.md +116 -0
- package/.agents/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/.agents/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/.agents/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/.agents/skills/mermaidjs-v11/references/examples.md +344 -0
- package/.agents/skills/mermaidjs-v11/references/integration.md +310 -0
- package/.agents/skills/mintlify/SKILL.md +121 -0
- package/.agents/skills/mintlify/references/ai-features-and-integrations-reference.md +756 -0
- package/.agents/skills/mintlify/references/api-documentation-components-reference.md +873 -0
- package/.agents/skills/mintlify/references/deployment-and-continuous-integration-reference.md +674 -0
- package/.agents/skills/mintlify/references/docs-json-configuration-reference.md +724 -0
- package/.agents/skills/mintlify/references/mdx-components-reference.md +551 -0
- package/.agents/skills/mintlify/references/navigation-structure-and-organization-reference.md +775 -0
- package/.agents/skills/mobile-development/SKILL.md +213 -0
- package/.agents/skills/mobile-development/references/mobile-android.md +604 -0
- package/.agents/skills/mobile-development/references/mobile-best-practices.md +545 -0
- package/.agents/skills/mobile-development/references/mobile-debugging.md +1089 -0
- package/.agents/skills/mobile-development/references/mobile-frameworks.md +465 -0
- package/.agents/skills/mobile-development/references/mobile-ios.md +496 -0
- package/.agents/skills/mobile-development/references/mobile-mindset.md +544 -0
- package/.agents/skills/payment-integration/README.md +217 -0
- package/.agents/skills/payment-integration/SKILL.md +103 -0
- package/.agents/skills/payment-integration/references/creem/api.md +139 -0
- package/.agents/skills/payment-integration/references/creem/checkouts.md +99 -0
- package/.agents/skills/payment-integration/references/creem/licensing.md +136 -0
- package/.agents/skills/payment-integration/references/creem/overview.md +65 -0
- package/.agents/skills/payment-integration/references/creem/sdk.md +161 -0
- package/.agents/skills/payment-integration/references/creem/subscriptions.md +129 -0
- package/.agents/skills/payment-integration/references/creem/webhooks.md +120 -0
- package/.agents/skills/payment-integration/references/implementation-workflows.md +43 -0
- package/.agents/skills/payment-integration/references/multi-provider-order-management-patterns.md +821 -0
- package/.agents/skills/payment-integration/references/paddle/api.md +116 -0
- package/.agents/skills/payment-integration/references/paddle/best-practices.md +130 -0
- package/.agents/skills/payment-integration/references/paddle/overview.md +57 -0
- package/.agents/skills/payment-integration/references/paddle/paddle-js.md +106 -0
- package/.agents/skills/payment-integration/references/paddle/sdk.md +131 -0
- package/.agents/skills/payment-integration/references/paddle/subscriptions.md +118 -0
- package/.agents/skills/payment-integration/references/paddle/webhooks.md +112 -0
- package/.agents/skills/payment-integration/references/polar/benefits.md +396 -0
- package/.agents/skills/payment-integration/references/polar/best-practices.md +902 -0
- package/.agents/skills/payment-integration/references/polar/checkouts.md +266 -0
- package/.agents/skills/payment-integration/references/polar/overview.md +184 -0
- package/.agents/skills/payment-integration/references/polar/products.md +244 -0
- package/.agents/skills/payment-integration/references/polar/sdk.md +436 -0
- package/.agents/skills/payment-integration/references/polar/subscriptions.md +340 -0
- package/.agents/skills/payment-integration/references/polar/webhooks.md +405 -0
- package/.agents/skills/payment-integration/references/sepay/api.md +140 -0
- package/.agents/skills/payment-integration/references/sepay/best-practices.md +939 -0
- package/.agents/skills/payment-integration/references/sepay/overview.md +138 -0
- package/.agents/skills/payment-integration/references/sepay/qr-codes.md +228 -0
- package/.agents/skills/payment-integration/references/sepay/sdk.md +213 -0
- package/.agents/skills/payment-integration/references/sepay/webhooks.md +208 -0
- package/.agents/skills/payment-integration/references/stripe/stripe-best-practices.md +32 -0
- package/.agents/skills/payment-integration/references/stripe/stripe-cli.md +148 -0
- package/.agents/skills/payment-integration/references/stripe/stripe-js.md +116 -0
- package/.agents/skills/payment-integration/references/stripe/stripe-sdks.md +84 -0
- package/.agents/skills/payment-integration/references/stripe/stripe-upgrade.md +175 -0
- package/.agents/skills/payment-integration/scripts/.env.example +20 -0
- package/.agents/skills/payment-integration/scripts/checkout-helper.js +244 -0
- package/.agents/skills/payment-integration/scripts/package.json +17 -0
- package/.agents/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/.agents/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/.agents/skills/payment-integration/scripts/test-scripts.js +237 -0
- package/.agents/skills/pdf/LICENSE.txt +30 -0
- package/.agents/skills/pdf/SKILL.md +294 -0
- package/.agents/skills/pdf/forms.md +205 -0
- package/.agents/skills/pdf/reference.md +612 -0
- package/.agents/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/.agents/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/.agents/skills/pdf/scripts/create_validation_image.py +41 -0
- package/.agents/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/.agents/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/.agents/skills/plan/SKILL.md +137 -0
- package/.agents/skills/plan/references/archive-workflow.md +53 -0
- package/.agents/skills/plan/references/codebase-understanding.md +62 -0
- package/.agents/skills/plan/references/output-standards.md +141 -0
- package/.agents/skills/plan/references/plan-organization.md +143 -0
- package/.agents/skills/plan/references/red-team-personas.md +69 -0
- package/.agents/skills/plan/references/red-team-workflow.md +77 -0
- package/.agents/skills/plan/references/research-phase.md +49 -0
- package/.agents/skills/plan/references/solution-design.md +63 -0
- package/.agents/skills/plan/references/task-management.md +132 -0
- package/.agents/skills/plan/references/validate-question-framework.md +80 -0
- package/.agents/skills/plan/references/validate-workflow.md +65 -0
- package/.agents/skills/plan/references/workflow-modes.md +145 -0
- package/.agents/skills/plans-kanban/SKILL.md +167 -0
- package/.agents/skills/plans-kanban/assets/dashboard-template.html +119 -0
- package/.agents/skills/plans-kanban/assets/dashboard.css +1594 -0
- package/.agents/skills/plans-kanban/assets/dashboard.js +596 -0
- package/.agents/skills/plans-kanban/assets/favicon.png +0 -0
- package/.agents/skills/plans-kanban/package.json +13 -0
- package/.agents/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
- package/.agents/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
- package/.agents/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
- package/.agents/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
- package/.agents/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
- package/.agents/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
- package/.agents/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
- package/.agents/skills/plans-kanban/scripts/server.cjs +260 -0
- package/.agents/skills/pptx/LICENSE.txt +30 -0
- package/.agents/skills/pptx/SKILL.md +484 -0
- package/.agents/skills/pptx/html2pptx.md +625 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agents/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agents/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agents/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agents/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agents/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agents/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agents/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agents/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/.agents/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/.agents/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/.agents/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/.agents/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/.agents/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/.agents/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/.agents/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/.agents/skills/pptx/ooxml.md +427 -0
- package/.agents/skills/pptx/scripts/html2pptx.js +979 -0
- package/.agents/skills/pptx/scripts/inventory.py +1020 -0
- package/.agents/skills/pptx/scripts/rearrange.py +231 -0
- package/.agents/skills/pptx/scripts/replace.py +385 -0
- package/.agents/skills/pptx/scripts/thumbnail.py +450 -0
- package/.agents/skills/preview/SKILL.md +75 -0
- package/.agents/skills/preview/references/generation-modes.md +95 -0
- package/.agents/skills/preview/references/view-mode.md +42 -0
- package/.agents/skills/problem-solving/SKILL.md +97 -0
- package/.agents/skills/problem-solving/references/attribution.md +69 -0
- package/.agents/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/.agents/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/.agents/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/.agents/skills/problem-solving/references/scale-game.md +95 -0
- package/.agents/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/.agents/skills/problem-solving/references/when-stuck.md +72 -0
- package/.agents/skills/project-management/SKILL.md +122 -0
- package/.agents/skills/project-management/references/documentation-triggers.md +60 -0
- package/.agents/skills/project-management/references/hydration-workflow.md +85 -0
- package/.agents/skills/project-management/references/progress-tracking.md +96 -0
- package/.agents/skills/project-management/references/reporting-patterns.md +94 -0
- package/.agents/skills/project-management/references/task-operations.md +85 -0
- package/.agents/skills/react-best-practices/AGENTS.md +2249 -0
- package/.agents/skills/react-best-practices/README.md +123 -0
- package/.agents/skills/react-best-practices/SKILL.md +122 -0
- package/.agents/skills/react-best-practices/metadata.json +15 -0
- package/.agents/skills/react-best-practices/rules/_sections.md +46 -0
- package/.agents/skills/react-best-practices/rules/_template.md +28 -0
- package/.agents/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.agents/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/.agents/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/.agents/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/.agents/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/.agents/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/.agents/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.agents/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.agents/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/.agents/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.agents/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.agents/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/.agents/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/.agents/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.agents/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/.agents/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.agents/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.agents/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/.agents/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.agents/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/.agents/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.agents/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/.agents/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/.agents/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.agents/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.agents/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.agents/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/.agents/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.agents/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.agents/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.agents/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.agents/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.agents/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.agents/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.agents/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.agents/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.agents/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.agents/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.agents/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/.agents/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/.agents/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.agents/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/.agents/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/.agents/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/.agents/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/.agents/skills/remotion/SKILL.md +44 -0
- package/.agents/skills/remotion/rules/3d.md +86 -0
- package/.agents/skills/remotion/rules/animations.md +29 -0
- package/.agents/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agents/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agents/skills/remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agents/skills/remotion/rules/assets.md +78 -0
- package/.agents/skills/remotion/rules/audio.md +172 -0
- package/.agents/skills/remotion/rules/calculate-metadata.md +104 -0
- package/.agents/skills/remotion/rules/can-decode.md +75 -0
- package/.agents/skills/remotion/rules/charts.md +58 -0
- package/.agents/skills/remotion/rules/compositions.md +146 -0
- package/.agents/skills/remotion/rules/display-captions.md +126 -0
- package/.agents/skills/remotion/rules/extract-frames.md +229 -0
- package/.agents/skills/remotion/rules/fonts.md +152 -0
- package/.agents/skills/remotion/rules/get-audio-duration.md +58 -0
- package/.agents/skills/remotion/rules/get-video-dimensions.md +68 -0
- package/.agents/skills/remotion/rules/get-video-duration.md +58 -0
- package/.agents/skills/remotion/rules/gifs.md +138 -0
- package/.agents/skills/remotion/rules/images.md +130 -0
- package/.agents/skills/remotion/rules/import-srt-captions.md +67 -0
- package/.agents/skills/remotion/rules/lottie.md +68 -0
- package/.agents/skills/remotion/rules/measuring-dom-nodes.md +35 -0
- package/.agents/skills/remotion/rules/measuring-text.md +143 -0
- package/.agents/skills/remotion/rules/sequencing.md +106 -0
- package/.agents/skills/remotion/rules/tailwind.md +11 -0
- package/.agents/skills/remotion/rules/text-animations.md +20 -0
- package/.agents/skills/remotion/rules/timing.md +179 -0
- package/.agents/skills/remotion/rules/transcribe-captions.md +19 -0
- package/.agents/skills/remotion/rules/transitions.md +122 -0
- package/.agents/skills/remotion/rules/trimming.md +53 -0
- package/.agents/skills/remotion/rules/videos.md +171 -0
- package/.agents/skills/repomix/SKILL.md +248 -0
- package/.agents/skills/repomix/references/configuration.md +211 -0
- package/.agents/skills/repomix/references/usage-patterns.md +232 -0
- package/.agents/skills/repomix/scripts/README.md +179 -0
- package/.agents/skills/repomix/scripts/repomix_batch.py +455 -0
- package/.agents/skills/repomix/scripts/repos.example.json +15 -0
- package/.agents/skills/repomix/scripts/requirements.txt +15 -0
- package/.agents/skills/research/SKILL.md +171 -0
- package/.agents/skills/scout/SKILL.md +89 -0
- package/.agents/skills/scout/references/external-scouting.md +140 -0
- package/.agents/skills/scout/references/internal-scouting.md +119 -0
- package/.agents/skills/scout/references/task-management-scouting.md +125 -0
- package/.agents/skills/sequential-thinking/.env.example +8 -0
- package/.agents/skills/sequential-thinking/README.md +183 -0
- package/.agents/skills/sequential-thinking/SKILL.md +95 -0
- package/.agents/skills/sequential-thinking/package.json +31 -0
- package/.agents/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/.agents/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/.agents/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/.agents/skills/sequential-thinking/references/examples-api.md +88 -0
- package/.agents/skills/sequential-thinking/references/examples-architecture.md +94 -0
- package/.agents/skills/sequential-thinking/references/examples-debug.md +90 -0
- package/.agents/skills/sequential-thinking/scripts/format-thought.js +159 -0
- package/.agents/skills/sequential-thinking/scripts/process-thought.js +236 -0
- package/.agents/skills/shader/SKILL.md +113 -0
- package/.agents/skills/shader/references/glsl-cellular-voronoi-worley-noise-patterns.md +142 -0
- package/.agents/skills/shader/references/glsl-colors-rgb-hsb-gradients-mixing-color-spaces.md +143 -0
- package/.agents/skills/shader/references/glsl-fbm-fractional-brownian-motion-turbulence-octaves.md +146 -0
- package/.agents/skills/shader/references/glsl-fundamentals-data-types-vectors-precision-coordinates.md +104 -0
- package/.agents/skills/shader/references/glsl-noise-random-perlin-simplex-cellular-voronoi.md +115 -0
- package/.agents/skills/shader/references/glsl-pattern-symmetry-truchet-domain-warping.md +134 -0
- package/.agents/skills/shader/references/glsl-patterns-tiling-fract-matrices-transformations.md +133 -0
- package/.agents/skills/shader/references/glsl-procedural-textures-clouds-marble-wood-terrain.md +144 -0
- package/.agents/skills/shader/references/glsl-shader-builtin-functions-complete-api-reference.md +112 -0
- package/.agents/skills/shader/references/glsl-shapes-polygon-star-polar-sdf-combinations.md +124 -0
- package/.agents/skills/shader/references/glsl-shapes-sdf-circles-rectangles-polar-distance-fields.md +106 -0
- package/.agents/skills/shader/references/glsl-shaping-functions-step-smoothstep-curves-interpolation.md +141 -0
- package/.agents/skills/shopify/README.md +66 -0
- package/.agents/skills/shopify/SKILL.md +320 -0
- package/.agents/skills/shopify/references/app-development.md +470 -0
- package/.agents/skills/shopify/references/extensions.md +493 -0
- package/.agents/skills/shopify/references/themes.md +498 -0
- package/.agents/skills/shopify/scripts/requirements.txt +19 -0
- package/.agents/skills/shopify/scripts/shopify_init.py +423 -0
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +119 -0
- package/.agents/skills/skill-creator/references/benchmark-optimization-guide.md +86 -0
- package/.agents/skills/skill-creator/references/distribution-guide.md +79 -0
- package/.agents/skills/skill-creator/references/mcp-skills-integration.md +71 -0
- package/.agents/skills/skill-creator/references/metadata-quality-criteria.md +76 -0
- package/.agents/skills/skill-creator/references/plugin-marketplace-hosting.md +104 -0
- package/.agents/skills/skill-creator/references/plugin-marketplace-overview.md +89 -0
- package/.agents/skills/skill-creator/references/plugin-marketplace-schema.md +93 -0
- package/.agents/skills/skill-creator/references/plugin-marketplace-sources.md +103 -0
- package/.agents/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +76 -0
- package/.agents/skills/skill-creator/references/script-quality-criteria.md +106 -0
- package/.agents/skills/skill-creator/references/skill-anatomy-and-requirements.md +76 -0
- package/.agents/skills/skill-creator/references/skill-creation-workflow.md +95 -0
- package/.agents/skills/skill-creator/references/skill-design-patterns.md +75 -0
- package/.agents/skills/skill-creator/references/skillmark-benchmark-criteria.md +102 -0
- package/.agents/skills/skill-creator/references/structure-organization-criteria.md +114 -0
- package/.agents/skills/skill-creator/references/testing-and-iteration.md +78 -0
- package/.agents/skills/skill-creator/references/token-efficiency-criteria.md +74 -0
- package/.agents/skills/skill-creator/references/troubleshooting-guide.md +80 -0
- package/.agents/skills/skill-creator/references/validation-checklist.md +83 -0
- package/.agents/skills/skill-creator/references/writing-effective-instructions.md +88 -0
- package/.agents/skills/skill-creator/references/yaml-frontmatter-reference.md +91 -0
- package/.agents/skills/skill-creator/scripts/debug.zip +0 -0
- package/.agents/skills/skill-creator/scripts/encoding_utils.py +36 -0
- package/.agents/skills/skill-creator/scripts/init_skill.py +308 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +115 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +69 -0
- package/.agents/skills/tanstack/SKILL.md +141 -0
- package/.agents/skills/tanstack/references/tanstack-ai.md +97 -0
- package/.agents/skills/tanstack/references/tanstack-form.md +125 -0
- package/.agents/skills/tanstack/references/tanstack-start.md +100 -0
- package/.agents/skills/team/SKILL.md +285 -0
- package/.agents/skills/team/references/agent-teams-controls-and-modes.md +107 -0
- package/.agents/skills/team/references/agent-teams-examples-and-best-practices.md +182 -0
- package/.agents/skills/team/references/agent-teams-official-docs.md +175 -0
- package/.agents/skills/template-skill/SKILL.md +6 -0
- package/.agents/skills/test/SKILL.md +109 -0
- package/.agents/skills/test/references/report-format.md +58 -0
- package/.agents/skills/test/references/test-execution-workflow.md +103 -0
- package/.agents/skills/test/references/ui-testing-workflow.md +65 -0
- package/.agents/skills/threejs/SKILL.md +142 -0
- package/.agents/skills/threejs/data/api-reference.csv +61 -0
- package/.agents/skills/threejs/data/categories.csv +14 -0
- package/.agents/skills/threejs/data/examples-all.csv +557 -0
- package/.agents/skills/threejs/data/use-cases.csv +21 -0
- package/.agents/skills/threejs/references/00-fundamentals.md +487 -0
- package/.agents/skills/threejs/references/01-getting-started.md +177 -0
- package/.agents/skills/threejs/references/02-loaders.md +169 -0
- package/.agents/skills/threejs/references/03-textures.md +170 -0
- package/.agents/skills/threejs/references/04-cameras.md +195 -0
- package/.agents/skills/threejs/references/05-lights.md +183 -0
- package/.agents/skills/threejs/references/06-animations.md +214 -0
- package/.agents/skills/threejs/references/07-math.md +260 -0
- package/.agents/skills/threejs/references/08-interaction.md +267 -0
- package/.agents/skills/threejs/references/09-postprocessing.md +240 -0
- package/.agents/skills/threejs/references/10-controls.md +259 -0
- package/.agents/skills/threejs/references/11-materials-advanced.md +270 -0
- package/.agents/skills/threejs/references/11-materials.md +519 -0
- package/.agents/skills/threejs/references/12-performance.md +269 -0
- package/.agents/skills/threejs/references/13-node-materials.md +298 -0
- package/.agents/skills/threejs/references/14-physics-vr.md +304 -0
- package/.agents/skills/threejs/references/15-specialized-loaders.md +333 -0
- package/.agents/skills/threejs/references/16-webgpu.md +302 -0
- package/.agents/skills/threejs/references/17-shader.md +641 -0
- package/.agents/skills/threejs/references/18-geometry.md +547 -0
- package/.agents/skills/threejs/scripts/core.py +236 -0
- package/.agents/skills/threejs/scripts/extract_examples.py +688 -0
- package/.agents/skills/threejs/scripts/generate_csv_from_json.py +135 -0
- package/.agents/skills/threejs/scripts/search.py +77 -0
- package/.agents/skills/ui-styling/LICENSE.txt +202 -0
- package/.agents/skills/ui-styling/SKILL.md +322 -0
- package/.agents/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/.agents/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/.agents/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/.agents/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/.agents/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/.agents/skills/ui-styling/references/shadcn-components.md +424 -0
- package/.agents/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/.agents/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/.agents/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/.agents/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/.agents/skills/ui-styling/scripts/requirements.txt +17 -0
- package/.agents/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/.agents/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +352 -0
- package/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agents/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agents/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agents/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agents/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agents/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agents/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agents/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agents/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agents/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/.agents/skills/ui-ux-pro-max/scripts/design_system.py +494 -0
- package/.agents/skills/ui-ux-pro-max/scripts/search.py +84 -0
- package/.agents/skills/use-mcp/SKILL.md +42 -0
- package/.agents/skills/watzup/SKILL.md +12 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +36 -0
- package/.agents/skills/web-frameworks/SKILL.md +325 -0
- package/.agents/skills/web-frameworks/references/nextjs-app-router.md +465 -0
- package/.agents/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/.agents/skills/web-frameworks/references/nextjs-optimization.md +511 -0
- package/.agents/skills/web-frameworks/references/nextjs-server-components.md +495 -0
- package/.agents/skills/web-frameworks/references/remix-icon-integration.md +603 -0
- package/.agents/skills/web-frameworks/references/turborepo-caching.md +551 -0
- package/.agents/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/.agents/skills/web-frameworks/references/turborepo-setup.md +542 -0
- package/.agents/skills/web-frameworks/scripts/__init__.py +0 -0
- package/.agents/skills/web-frameworks/scripts/nextjs_init.py +547 -0
- package/.agents/skills/web-frameworks/scripts/requirements.txt +16 -0
- package/.agents/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/.agents/skills/web-testing/SKILL.md +97 -0
- package/.agents/skills/web-testing/references/accessibility-testing.md +84 -0
- package/.agents/skills/web-testing/references/api-testing.md +78 -0
- package/.agents/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
- package/.agents/skills/web-testing/references/component-testing.md +94 -0
- package/.agents/skills/web-testing/references/contract-testing.md +146 -0
- package/.agents/skills/web-testing/references/cross-browser-checklist.md +72 -0
- package/.agents/skills/web-testing/references/database-testing.md +139 -0
- package/.agents/skills/web-testing/references/e2e-testing-playwright.md +119 -0
- package/.agents/skills/web-testing/references/functional-testing-checklist.md +88 -0
- package/.agents/skills/web-testing/references/interactive-testing-patterns.md +89 -0
- package/.agents/skills/web-testing/references/load-testing-k6.md +93 -0
- package/.agents/skills/web-testing/references/mobile-gesture-testing.md +85 -0
- package/.agents/skills/web-testing/references/performance-core-web-vitals.md +124 -0
- package/.agents/skills/web-testing/references/playwright-component-testing.md +115 -0
- package/.agents/skills/web-testing/references/pre-release-checklist.md +75 -0
- package/.agents/skills/web-testing/references/security-checklists.md +81 -0
- package/.agents/skills/web-testing/references/security-testing-overview.md +92 -0
- package/.agents/skills/web-testing/references/shadow-dom-testing.md +70 -0
- package/.agents/skills/web-testing/references/test-data-management.md +131 -0
- package/.agents/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
- package/.agents/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
- package/.agents/skills/web-testing/references/unit-integration-testing.md +138 -0
- package/.agents/skills/web-testing/references/visual-regression.md +92 -0
- package/.agents/skills/web-testing/references/vulnerability-payloads.md +93 -0
- package/.agents/skills/web-testing/scripts/analyze-test-results.js +280 -0
- package/.agents/skills/web-testing/scripts/init-playwright.js +233 -0
- package/.agents/skills/worktree/SKILL.md +96 -0
- package/.agents/skills/worktree/scripts/worktree.cjs +916 -0
- package/.agents/skills/xlsx/LICENSE.txt +30 -0
- package/.agents/skills/xlsx/SKILL.md +289 -0
- package/.agents/skills/xlsx/recalc.py +191 -0
- package/.codex/.ck.json +60 -0
- package/.codex/.ckignore +27 -0
- package/.codex/.env.example +100 -0
- package/.codex/agents/brainstormer.toml +95 -0
- package/.codex/agents/code_reviewer.toml +149 -0
- package/.codex/agents/code_simplifier.toml +53 -0
- package/.codex/agents/debugger.toml +156 -0
- package/.codex/agents/docs_manager.toml +219 -0
- package/.codex/agents/fullstack_developer.toml +106 -0
- package/.codex/agents/git_manager.toml +19 -0
- package/.codex/agents/journal_writer.toml +123 -0
- package/.codex/agents/mcp_manager.toml +107 -0
- package/.codex/agents/planner.toml +127 -0
- package/.codex/agents/project_manager.toml +24 -0
- package/.codex/agents/researcher.toml +56 -0
- package/.codex/agents/tester.toml +124 -0
- package/.codex/agents/ui_ux_designer.toml +244 -0
- package/.codex/config.toml +62 -0
- package/.codex/hooks/0d96e20e-ignore.cjs +57 -0
- package/.codex/hooks/111d873d-post-edit-simplify-reminder.cjs +57 -0
- package/.codex/hooks/14186886-privacy-checker.cjs +57 -0
- package/.codex/hooks/17d7bcee-scout-block.cjs +57 -0
- package/.codex/hooks/1934d86e-broad-pattern-detector.cjs +57 -0
- package/.codex/hooks/1f9c4413-git-info-cache.cjs +57 -0
- package/.codex/hooks/4fbf7219-ck-config-utils.cjs +57 -0
- package/.codex/hooks/6ff39162-descriptive-name.cjs +57 -0
- package/.codex/hooks/82944a10-path-extractor.cjs +57 -0
- package/.codex/hooks/8878b47f-scout-checker.cjs +57 -0
- package/.codex/hooks/8e3dd532-error-formatter.cjs +57 -0
- package/.codex/hooks/95ae8dff-hook-logger.cjs +57 -0
- package/.codex/hooks/a6eb3532-pattern-matcher.cjs +57 -0
- package/.codex/hooks/b2811319-project-detector.cjs +57 -0
- package/.codex/hooks/ck-cook-after-plan-reminder.cjs +57 -0
- package/.codex/hooks/ck-dev-rules-reminder.cjs +57 -0
- package/.codex/hooks/ck-session-init.cjs +57 -0
- package/.codex/hooks/ck-subagent-init.cjs +57 -0
- package/.codex/hooks/cook-after-plan-reminder.cjs +72 -0
- package/.codex/hooks/descriptive-name.cjs +47 -0
- package/.codex/hooks/dev-rules-reminder.cjs +72 -0
- package/.codex/hooks/fd6a12c7-privacy-block.cjs +57 -0
- package/.codex/hooks/ffed8b60-context-builder.cjs +57 -0
- package/.codex/hooks/lib/ck-config-utils.cjs +842 -0
- package/.codex/hooks/lib/colors.cjs +95 -0
- package/.codex/hooks/lib/config-counter.cjs +103 -0
- package/.codex/hooks/lib/context-builder.cjs +616 -0
- package/.codex/hooks/lib/git-info-cache.cjs +143 -0
- package/.codex/hooks/lib/hook-logger.cjs +92 -0
- package/.codex/hooks/lib/privacy-checker.cjs +297 -0
- package/.codex/hooks/lib/project-detector.cjs +474 -0
- package/.codex/hooks/lib/scout-checker.cjs +263 -0
- package/.codex/hooks/lib/transcript-parser.cjs +181 -0
- package/.codex/hooks/notifications/.env.example +21 -0
- package/.codex/hooks/notifications/discord_notify.sh +234 -0
- package/.codex/hooks/notifications/docs/discord-hook-setup.md +461 -0
- package/.codex/hooks/notifications/docs/slack-hook-setup.md +118 -0
- package/.codex/hooks/notifications/docs/telegram-hook-setup.md +813 -0
- package/.codex/hooks/notifications/lib/env-loader.cjs +105 -0
- package/.codex/hooks/notifications/lib/sender.cjs +128 -0
- package/.codex/hooks/notifications/notify.cjs +156 -0
- package/.codex/hooks/notifications/providers/discord.cjs +197 -0
- package/.codex/hooks/notifications/providers/slack.cjs +111 -0
- package/.codex/hooks/notifications/providers/telegram.cjs +109 -0
- package/.codex/hooks/notifications/send-discord.sh +75 -0
- package/.codex/hooks/notifications/telegram_notify.sh +137 -0
- package/.codex/hooks/post-edit-simplify-reminder.cjs +156 -0
- package/.codex/hooks/privacy-block.cjs +166 -0
- package/.codex/hooks/scout-block/broad-pattern-detector.cjs +264 -0
- package/.codex/hooks/scout-block/error-formatter.cjs +156 -0
- package/.codex/hooks/scout-block/path-extractor.cjs +327 -0
- package/.codex/hooks/scout-block/pattern-matcher.cjs +199 -0
- package/.codex/hooks/scout-block/vendor/ignore.cjs +627 -0
- package/.codex/hooks/scout-block.cjs +147 -0
- package/.codex/hooks/session-init.cjs +360 -0
- package/.codex/hooks/subagent-init.cjs +203 -0
- package/.codex/hooks.json +85 -0
- package/.codex/output-styles/coding-level-0-eli5.md +103 -0
- package/.codex/output-styles/coding-level-1-junior.md +124 -0
- package/.codex/output-styles/coding-level-2-mid.md +146 -0
- package/.codex/output-styles/coding-level-3-senior.md +148 -0
- package/.codex/output-styles/coding-level-4-lead.md +159 -0
- package/.codex/output-styles/coding-level-5-god.md +91 -0
- package/.codex/rules/development-rules.md +52 -0
- package/.codex/rules/documentation-management.md +121 -0
- package/.codex/rules/orchestration-protocol.md +43 -0
- package/.codex/rules/primary-workflow.md +57 -0
- package/.codex/rules/team-coordination-rules.md +90 -0
- package/.codex/scripts/README.md +150 -0
- package/.codex/scripts/ck-help.py +33 -0
- package/.codex/scripts/commands_data.yaml +3 -0
- package/.codex/scripts/fix-shebang-permissions.sh +50 -0
- package/.codex/scripts/generate_catalogs.py +197 -0
- package/.codex/scripts/requirements.txt +1 -0
- package/.codex/scripts/resolve_env.py +329 -0
- package/.codex/scripts/scan_commands.py +25 -0
- package/.codex/scripts/scan_skills.py +237 -0
- package/.codex/scripts/set-active-plan.cjs +65 -0
- package/.codex/scripts/skills_data.yaml +2 -0
- package/.codex/scripts/validate-docs.cjs +342 -0
- package/.codex/scripts/win_compat.py +57 -0
- package/.codex/scripts/worktree.cjs +9 -0
- package/LICENSE +18 -0
- package/PUBLISH_PRIVATE.md +90 -0
- package/README.md +52 -0
- package/docs/agent-teams-guide.md +510 -0
- package/docs/code-standards.md +941 -0
- package/docs/codebase-summary.md +366 -0
- package/docs/project-overview-pdr.md +585 -0
- package/docs/project-roadmap.md +534 -0
- package/docs/referecences/claude-cli-usage-limits-api.md +522 -0
- package/docs/research/architectural-defense-prompt-injection.md +536 -0
- package/docs/research/claude-code-native-tasks-orchestration-system.md +693 -0
- package/docs/research/complete-guide-to-building-skills-for-claude.md +1180 -0
- package/docs/research/preventing-prompt-injection-in-skills.md +283 -0
- package/docs/skill-native-task.md +460 -0
- package/docs/skills-interconnection-map.md +102 -0
- package/docs/system-architecture.md +1029 -0
- package/package.json +45 -0
- package/plans/templates/bug-fix-template.md +69 -0
- package/plans/templates/feature-implementation-template.md +84 -0
- package/plans/templates/refactor-template.md +82 -0
- package/plans/templates/template-usage-guide.md +58 -0
- package/scripts/apply-codex-kit.mjs +1374 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* SubagentStart Hook - Injects context to subagents (Optimized)
|
|
4
|
+
*
|
|
5
|
+
* Fires: When a subagent (Task tool call) is started
|
|
6
|
+
* Purpose: Inject minimal context using env vars from SessionStart
|
|
7
|
+
* Target: ~200 tokens (down from ~350)
|
|
8
|
+
*
|
|
9
|
+
* Exit Codes:
|
|
10
|
+
* 0 - Success (non-blocking, allows continuation)
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// Crash wrapper
|
|
14
|
+
try {
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
const {
|
|
18
|
+
loadConfig,
|
|
19
|
+
resolveNamingPattern,
|
|
20
|
+
getGitBranch,
|
|
21
|
+
getGitRoot,
|
|
22
|
+
resolvePlanPath,
|
|
23
|
+
getReportsPath,
|
|
24
|
+
normalizePath,
|
|
25
|
+
extractTaskListId,
|
|
26
|
+
isHookEnabled
|
|
27
|
+
} = require('./lib/ck-config-utils.cjs');
|
|
28
|
+
const { resolveSkillsVenv } = require('./lib/context-builder.cjs');
|
|
29
|
+
|
|
30
|
+
// Early exit if hook disabled in config
|
|
31
|
+
if (!isHookEnabled('subagent-init')) {
|
|
32
|
+
process.exit(0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Get agent-specific context from config
|
|
37
|
+
*/
|
|
38
|
+
function getAgentContext(agentType, config) {
|
|
39
|
+
const agentConfig = config.subagent?.agents?.[agentType];
|
|
40
|
+
if (!agentConfig?.contextPrefix) return null;
|
|
41
|
+
return agentConfig.contextPrefix;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Build trust verification section if enabled
|
|
46
|
+
*/
|
|
47
|
+
function buildTrustVerification(config) {
|
|
48
|
+
if (!config.trust?.enabled || !config.trust?.passphrase) return [];
|
|
49
|
+
return [
|
|
50
|
+
``,
|
|
51
|
+
`## Trust Verification`,
|
|
52
|
+
`Passphrase: "${config.trust.passphrase}"`
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Main hook execution
|
|
58
|
+
*/
|
|
59
|
+
async function main() {
|
|
60
|
+
try {
|
|
61
|
+
const stdin = fs.readFileSync(0, 'utf-8').trim();
|
|
62
|
+
if (!stdin) process.exit(0);
|
|
63
|
+
|
|
64
|
+
const payload = JSON.parse(stdin);
|
|
65
|
+
const agentType = payload.agent_type || 'unknown';
|
|
66
|
+
const agentId = payload.agent_id || 'unknown';
|
|
67
|
+
|
|
68
|
+
// Load config for trust verification, naming, and agent-specific context
|
|
69
|
+
const config = loadConfig({ includeProject: false, includeAssertions: false });
|
|
70
|
+
|
|
71
|
+
// Use payload.cwd if provided for git operations (monorepo support)
|
|
72
|
+
// This ensures subagent resolves paths relative to its own CWD, not process.cwd()
|
|
73
|
+
// Issue #327: Use trim() to handle empty string edge case
|
|
74
|
+
const effectiveCwd = payload.cwd?.trim() || process.cwd();
|
|
75
|
+
|
|
76
|
+
// Compute naming pattern directly (don't rely on env vars which may not propagate)
|
|
77
|
+
// Pass effectiveCwd to git commands to support monorepo/submodule scenarios
|
|
78
|
+
const gitBranch = getGitBranch(effectiveCwd);
|
|
79
|
+
const gitRoot = getGitRoot(effectiveCwd);
|
|
80
|
+
// Issue #327: Use CWD as base for subdirectory workflow support
|
|
81
|
+
// Git root is kept for reference but CWD determines where files are created
|
|
82
|
+
const baseDir = effectiveCwd;
|
|
83
|
+
|
|
84
|
+
// Debug logging for path resolution troubleshooting
|
|
85
|
+
if (process.env.CK_DEBUG) {
|
|
86
|
+
console.error(`[subagent-init] effectiveCwd=${effectiveCwd}, gitRoot=${gitRoot}, baseDir=${baseDir}`);
|
|
87
|
+
}
|
|
88
|
+
const namePattern = resolveNamingPattern(config.plan, gitBranch);
|
|
89
|
+
|
|
90
|
+
// Resolve plan and reports path - use absolute paths based on CWD (Issue #327)
|
|
91
|
+
// Use session_id from payload to resolve active plan context (Issue #321)
|
|
92
|
+
const sessionId = payload.session_id || process.env.CK_SESSION_ID || null;
|
|
93
|
+
const resolved = resolvePlanPath(sessionId, config);
|
|
94
|
+
const reportsPath = getReportsPath(resolved.path, resolved.resolvedBy, config.plan, config.paths, baseDir);
|
|
95
|
+
const activePlan = resolved.resolvedBy === 'session' ? resolved.path : '';
|
|
96
|
+
const suggestedPlan = resolved.resolvedBy === 'branch' ? resolved.path : '';
|
|
97
|
+
|
|
98
|
+
// Extract task list ID for Codex Tasks coordination (shared helper, DRY)
|
|
99
|
+
const taskListId = extractTaskListId(resolved);
|
|
100
|
+
const plansPath = path.join(baseDir, normalizePath(config.paths?.plans) || 'plans');
|
|
101
|
+
const docsPath = path.join(baseDir, normalizePath(config.paths?.docs) || 'docs');
|
|
102
|
+
const thinkingLanguage = config.locale?.thinkingLanguage || '';
|
|
103
|
+
const responseLanguage = config.locale?.responseLanguage || '';
|
|
104
|
+
// Auto-default thinkingLanguage to 'en' when only responseLanguage is set
|
|
105
|
+
const effectiveThinking = thinkingLanguage || (responseLanguage ? 'en' : '');
|
|
106
|
+
|
|
107
|
+
// Build compact context (~200 tokens)
|
|
108
|
+
const lines = [];
|
|
109
|
+
|
|
110
|
+
// Subagent identification
|
|
111
|
+
lines.push(`## Subagent: ${agentType}`);
|
|
112
|
+
lines.push(`ID: ${agentId} | CWD: ${effectiveCwd}`);
|
|
113
|
+
lines.push(``);
|
|
114
|
+
|
|
115
|
+
// Plan context (from env vars)
|
|
116
|
+
lines.push(`## Context`);
|
|
117
|
+
if (activePlan) {
|
|
118
|
+
lines.push(`- Plan: ${activePlan}`);
|
|
119
|
+
if (taskListId) {
|
|
120
|
+
lines.push(`- Task List: ${taskListId} (shared with session)`);
|
|
121
|
+
}
|
|
122
|
+
} else if (suggestedPlan) {
|
|
123
|
+
lines.push(`- Plan: none | Suggested: ${suggestedPlan}`);
|
|
124
|
+
} else {
|
|
125
|
+
lines.push(`- Plan: none`);
|
|
126
|
+
}
|
|
127
|
+
lines.push(`- Reports: ${reportsPath}`);
|
|
128
|
+
lines.push(`- Paths: ${plansPath}/ | ${docsPath}/`);
|
|
129
|
+
lines.push(``);
|
|
130
|
+
|
|
131
|
+
// Language (thinking + response, if configured)
|
|
132
|
+
const hasThinking = effectiveThinking && effectiveThinking !== responseLanguage;
|
|
133
|
+
if (hasThinking || responseLanguage) {
|
|
134
|
+
lines.push(`## Language`);
|
|
135
|
+
if (hasThinking) {
|
|
136
|
+
lines.push(`- Thinking: Use ${effectiveThinking} for reasoning (logic, precision).`);
|
|
137
|
+
}
|
|
138
|
+
if (responseLanguage) {
|
|
139
|
+
lines.push(`- Response: Respond in ${responseLanguage} (natural, fluent).`);
|
|
140
|
+
}
|
|
141
|
+
lines.push(``);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Resolve Python venv path for subagent instructions
|
|
145
|
+
const skillsVenv = resolveSkillsVenv();
|
|
146
|
+
|
|
147
|
+
// Core rules (minimal)
|
|
148
|
+
lines.push(`## Rules`);
|
|
149
|
+
lines.push(`- Reports → ${reportsPath}`);
|
|
150
|
+
lines.push(`- YAGNI / KISS / DRY`);
|
|
151
|
+
lines.push(`- Concise, list unresolved Qs at end`);
|
|
152
|
+
// Python venv rules (if venv exists)
|
|
153
|
+
if (skillsVenv) {
|
|
154
|
+
lines.push(`- Python scripts in .agents/skills/: Use \`${skillsVenv}\``);
|
|
155
|
+
lines.push(`- Never use global pip install`);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Naming templates (computed directly for reliable injection)
|
|
159
|
+
lines.push(``);
|
|
160
|
+
lines.push(`## Naming`);
|
|
161
|
+
lines.push(`- Report: ${path.join(reportsPath, `${agentType}-${namePattern}.md`)}`);
|
|
162
|
+
lines.push(`- Plan dir: ${path.join(plansPath, namePattern)}/`);
|
|
163
|
+
|
|
164
|
+
// Trust verification (if enabled)
|
|
165
|
+
lines.push(...buildTrustVerification(config));
|
|
166
|
+
|
|
167
|
+
// Agent-specific context (if configured)
|
|
168
|
+
const agentContext = getAgentContext(agentType, config);
|
|
169
|
+
if (agentContext) {
|
|
170
|
+
lines.push(``);
|
|
171
|
+
lines.push(`## Agent Instructions`);
|
|
172
|
+
lines.push(agentContext);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// CRITICAL: SubagentStart requires hookSpecificOutput.additionalContext format
|
|
176
|
+
const output = {
|
|
177
|
+
hookSpecificOutput: {
|
|
178
|
+
hookEventName: "SubagentStart",
|
|
179
|
+
additionalContext: lines.join('\n')
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
console.log(JSON.stringify(output));
|
|
184
|
+
process.exit(0);
|
|
185
|
+
} catch (error) {
|
|
186
|
+
console.error(`SubagentStart hook error: ${error.message}`);
|
|
187
|
+
process.exit(0); // Fail-open
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
main();
|
|
192
|
+
} catch (e) {
|
|
193
|
+
// Minimal crash logging (zero deps — only Node builtins)
|
|
194
|
+
try {
|
|
195
|
+
const fs = require('fs');
|
|
196
|
+
const p = require('path');
|
|
197
|
+
const logDir = p.join(__dirname, '.logs');
|
|
198
|
+
if (!fs.existsSync(logDir)) fs.mkdirSync(logDir, { recursive: true });
|
|
199
|
+
fs.appendFileSync(p.join(logDir, 'hook-log.jsonl'),
|
|
200
|
+
JSON.stringify({ ts: new Date().toISOString(), hook: p.basename(__filename, '.cjs'), status: 'crash', error: e.message }) + '\n');
|
|
201
|
+
} catch (_) {}
|
|
202
|
+
process.exit(0); // fail-open
|
|
203
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "startup|resume|clear|compact",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "node .codex/hooks/ck-session-init.cjs",
|
|
10
|
+
"statusMessage": "Loading Codex Kit context"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"SubagentStart": [
|
|
16
|
+
{
|
|
17
|
+
"matcher": "*",
|
|
18
|
+
"hooks": [
|
|
19
|
+
{
|
|
20
|
+
"type": "command",
|
|
21
|
+
"command": "node .codex/hooks/ck-subagent-init.cjs",
|
|
22
|
+
"statusMessage": "Preparing subagent context"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"SubagentStop": [
|
|
28
|
+
{
|
|
29
|
+
"matcher": "Plan|planner",
|
|
30
|
+
"hooks": [
|
|
31
|
+
{
|
|
32
|
+
"type": "command",
|
|
33
|
+
"command": "node .codex/hooks/ck-cook-after-plan-reminder.cjs"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"UserPromptSubmit": [
|
|
39
|
+
{
|
|
40
|
+
"hooks": [
|
|
41
|
+
{
|
|
42
|
+
"type": "command",
|
|
43
|
+
"command": "node .codex/hooks/ck-dev-rules-reminder.cjs",
|
|
44
|
+
"statusMessage": "Injecting Codex Kit rules"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"PreToolUse": [
|
|
50
|
+
{
|
|
51
|
+
"matcher": "Write",
|
|
52
|
+
"hooks": [
|
|
53
|
+
{
|
|
54
|
+
"type": "command",
|
|
55
|
+
"command": "node .codex/hooks/6ff39162-descriptive-name.cjs"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"matcher": "Bash|Glob|Grep|Read|Edit|Write",
|
|
61
|
+
"hooks": [
|
|
62
|
+
{
|
|
63
|
+
"type": "command",
|
|
64
|
+
"command": "node .codex/hooks/17d7bcee-scout-block.cjs"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "command",
|
|
68
|
+
"command": "node .codex/hooks/fd6a12c7-privacy-block.cjs"
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"PostToolUse": [
|
|
74
|
+
{
|
|
75
|
+
"matcher": "Edit|Write|MultiEdit",
|
|
76
|
+
"hooks": [
|
|
77
|
+
{
|
|
78
|
+
"type": "command",
|
|
79
|
+
"command": "node .codex/hooks/111d873d-post-edit-simplify-reminder.cjs"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ELI5 Mode (Level 0)
|
|
3
|
+
description: Explain Like I'm 5 - For complete beginners with zero coding experience
|
|
4
|
+
keep-coding-instructions: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ELI5 Communication Mode
|
|
8
|
+
|
|
9
|
+
You are teaching someone who has NEVER written a single line of code. They don't know what a "variable" or "function" is. Your mission is to build confidence while teaching.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## MANDATORY RULES (You MUST follow ALL of these)
|
|
14
|
+
|
|
15
|
+
### Language Rules
|
|
16
|
+
1. **MUST** use at least ONE real-world analogy per concept (cooking recipes, LEGO blocks, labeled boxes, etc.)
|
|
17
|
+
2. **MUST** define EVERY technical term on first use with a simple comparison
|
|
18
|
+
3. **MUST** spell out ALL acronyms and explain them (e.g., "API - Application Programming Interface - think of it like a waiter taking your order to the kitchen")
|
|
19
|
+
4. **MUST** use "we" language to create partnership ("Let's try...", "We can...")
|
|
20
|
+
5. **MUST** end EVERY response with a check-in: "Does this make sense so far? Any questions about [specific topic]?"
|
|
21
|
+
|
|
22
|
+
### Code Rules
|
|
23
|
+
1. **MUST** add a comment explaining what EVERY single line does
|
|
24
|
+
2. **MUST** keep code blocks to 5-10 lines maximum - break larger examples into steps
|
|
25
|
+
3. **MUST** use descriptive variable names that read like plain English (e.g., `numberOfApples` not `n`)
|
|
26
|
+
4. **MUST** show the expected output/result after EVERY code block
|
|
27
|
+
5. **MUST** start with the SIMPLEST possible version, then add complexity gradually
|
|
28
|
+
|
|
29
|
+
### Teaching Rules
|
|
30
|
+
1. **MUST** explain the "why" BEFORE the "how"
|
|
31
|
+
2. **MUST** use visual metaphors and real-world comparisons
|
|
32
|
+
3. **MUST** celebrate progress: "Great question!", "You're getting it!"
|
|
33
|
+
4. **MUST** encourage experimentation: "Try changing X to see what happens!"
|
|
34
|
+
5. **MUST** preemptively explain anything that might be confusing
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## FORBIDDEN at this level (You MUST NOT do these)
|
|
39
|
+
|
|
40
|
+
1. **NEVER** assume they know ANY programming concept
|
|
41
|
+
2. **NEVER** use technical jargon without explaining it first
|
|
42
|
+
3. **NEVER** show code blocks longer than 10 lines
|
|
43
|
+
4. **NEVER** use acronyms without spelling them out AND explaining
|
|
44
|
+
5. **NEVER** skip steps - break everything into the smallest pieces
|
|
45
|
+
6. **NEVER** use phrases like "obviously", "simply", "just", "easy"
|
|
46
|
+
7. **NEVER** make them feel stupid for not knowing something
|
|
47
|
+
8. **NEVER** dive into code without first explaining the concept
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Required Response Structure
|
|
52
|
+
|
|
53
|
+
Every response MUST follow this structure:
|
|
54
|
+
|
|
55
|
+
### 1. Big Picture (1-2 sentences)
|
|
56
|
+
What are we trying to accomplish? Use everyday language.
|
|
57
|
+
|
|
58
|
+
### 2. Real-World Analogy
|
|
59
|
+
How does this relate to something they already know? (cooking, organizing, games, etc.)
|
|
60
|
+
|
|
61
|
+
### 3. Baby Steps
|
|
62
|
+
Break down into the SMALLEST possible steps. Number each step.
|
|
63
|
+
- Show ONE concept at a time
|
|
64
|
+
- Explain before showing code
|
|
65
|
+
- Show code with full comments
|
|
66
|
+
- Show expected output
|
|
67
|
+
|
|
68
|
+
### 4. Try It Yourself
|
|
69
|
+
Give them something simple to experiment with.
|
|
70
|
+
"Try changing the number 5 to 10 and see what happens!"
|
|
71
|
+
|
|
72
|
+
### 5. Check-In
|
|
73
|
+
"Does this make sense so far? Any questions about [specific topic we just covered]?"
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Example Response Pattern
|
|
78
|
+
|
|
79
|
+
**Question:** "What is a variable?"
|
|
80
|
+
|
|
81
|
+
**Response:**
|
|
82
|
+
|
|
83
|
+
### Big Picture
|
|
84
|
+
A variable is like a labeled box where you can store information that you want to use later.
|
|
85
|
+
|
|
86
|
+
### Real-World Analogy
|
|
87
|
+
Imagine you have a box, and you put a sticky note on it that says "Age". Inside the box, you put a piece of paper with the number 25. Whenever you need to know what's in the "Age" box, you just look inside!
|
|
88
|
+
|
|
89
|
+
### Let's Try It
|
|
90
|
+
```python
|
|
91
|
+
# This creates a "box" called my_age and puts 25 inside it
|
|
92
|
+
my_age = 25
|
|
93
|
+
|
|
94
|
+
# This looks inside the box and shows us what's there
|
|
95
|
+
print(my_age)
|
|
96
|
+
```
|
|
97
|
+
**Output:** `25`
|
|
98
|
+
|
|
99
|
+
### Try It Yourself
|
|
100
|
+
Try changing `25` to your actual age and run it again. What do you see?
|
|
101
|
+
|
|
102
|
+
### Check-In
|
|
103
|
+
Does this make sense? Any questions about how variables work?
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Junior Developer Mode (Level 1)
|
|
3
|
+
description: Educational explanations for developers with 0-2 years experience
|
|
4
|
+
keep-coding-instructions: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Junior Developer Communication Mode
|
|
8
|
+
|
|
9
|
+
You are mentoring a junior developer who understands basic programming (variables, functions, loops) but is building professional knowledge. They need to understand WHY things work, not just HOW.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## MANDATORY RULES (You MUST follow ALL of these)
|
|
14
|
+
|
|
15
|
+
### Explanation Rules
|
|
16
|
+
1. **MUST** always explain WHY before showing HOW
|
|
17
|
+
2. **MUST** explain the reasoning behind every decision ("We use X because...")
|
|
18
|
+
3. **MUST** point out common mistakes beginners make and how to avoid them
|
|
19
|
+
4. **MUST** connect new concepts to ones they likely already know
|
|
20
|
+
5. **MUST** include a "Key Takeaways" section at the end of significant explanations
|
|
21
|
+
|
|
22
|
+
### Code Rules
|
|
23
|
+
1. **MUST** add comments for non-obvious logic (not every line, but important parts)
|
|
24
|
+
2. **MUST** use meaningful variable/function names that express intent
|
|
25
|
+
3. **MUST** show before/after comparisons when refactoring or improving code
|
|
26
|
+
4. **MUST** explain what each import/dependency does on first use
|
|
27
|
+
5. **MUST** keep code blocks under 30 lines - split larger examples
|
|
28
|
+
|
|
29
|
+
### Teaching Rules
|
|
30
|
+
1. **MUST** define technical terms on first use (briefly, not ELI5-level)
|
|
31
|
+
2. **MUST** mention alternative approaches briefly ("Another way is... but we chose X because...")
|
|
32
|
+
3. **MUST** encourage good habits: testing, documentation, version control
|
|
33
|
+
4. **MUST** include relevant documentation links for further learning
|
|
34
|
+
5. **MUST** suggest what to learn next after completing a task
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## FORBIDDEN at this level (You MUST NOT do these)
|
|
39
|
+
|
|
40
|
+
1. **NEVER** assume they know advanced patterns (design patterns, architecture)
|
|
41
|
+
2. **NEVER** skip explaining WHY - always give reasoning
|
|
42
|
+
3. **NEVER** use advanced jargon without brief explanation (middleware, decorator, etc.)
|
|
43
|
+
4. **NEVER** show complex solutions without building up to them
|
|
44
|
+
5. **NEVER** ignore error handling - always show proper error handling
|
|
45
|
+
6. **NEVER** forget to mention common pitfalls
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Required Response Structure
|
|
50
|
+
|
|
51
|
+
### 1. Context (2-3 sentences)
|
|
52
|
+
What problem are we solving? Why does it matter?
|
|
53
|
+
|
|
54
|
+
### 2. Approach
|
|
55
|
+
Why are we doing it this way? What are we trying to achieve?
|
|
56
|
+
|
|
57
|
+
### 3. Implementation
|
|
58
|
+
Step-by-step with explanatory comments.
|
|
59
|
+
- Explain imports and dependencies
|
|
60
|
+
- Show the code with helpful comments
|
|
61
|
+
- Explain non-obvious parts
|
|
62
|
+
|
|
63
|
+
### 4. Common Pitfalls
|
|
64
|
+
What mistakes do beginners often make here?
|
|
65
|
+
|
|
66
|
+
### 5. Key Takeaways
|
|
67
|
+
Bullet points of what to remember from this.
|
|
68
|
+
|
|
69
|
+
### 6. Learn More (Optional)
|
|
70
|
+
Links or concepts to explore for deeper understanding.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Example Response Pattern
|
|
75
|
+
|
|
76
|
+
**Question:** "How do I make an API call?"
|
|
77
|
+
|
|
78
|
+
**Response:**
|
|
79
|
+
|
|
80
|
+
### Context
|
|
81
|
+
When your app needs data from another service (like weather data or user info), you make an API call. Think of it as your app asking another computer for information.
|
|
82
|
+
|
|
83
|
+
### Approach
|
|
84
|
+
We'll use the `fetch` API because it's built into modern browsers and Node.js 18+. It returns a Promise, which lets us handle the response when it arrives.
|
|
85
|
+
|
|
86
|
+
### Implementation
|
|
87
|
+
```javascript
|
|
88
|
+
// fetch returns a Promise - we use async/await to wait for the response
|
|
89
|
+
async function getUser(userId) {
|
|
90
|
+
try {
|
|
91
|
+
// Make the request to the API
|
|
92
|
+
const response = await fetch(`https://api.example.com/users/${userId}`);
|
|
93
|
+
|
|
94
|
+
// Check if the request was successful (status 200-299)
|
|
95
|
+
if (!response.ok) {
|
|
96
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Parse the JSON body - this is also async
|
|
100
|
+
const user = await response.json();
|
|
101
|
+
return user;
|
|
102
|
+
|
|
103
|
+
} catch (error) {
|
|
104
|
+
// Always handle errors - network can fail, API can be down
|
|
105
|
+
console.error('Failed to fetch user:', error);
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Common Pitfalls
|
|
112
|
+
- **Forgetting `await`**: Without it, you get a Promise object instead of the data
|
|
113
|
+
- **Not checking `response.ok`**: fetch doesn't throw on 404 or 500 errors
|
|
114
|
+
- **Skipping error handling**: Network requests can fail - always use try/catch
|
|
115
|
+
|
|
116
|
+
### Key Takeaways
|
|
117
|
+
- Use `async/await` for cleaner Promise handling
|
|
118
|
+
- Always check `response.ok` before parsing
|
|
119
|
+
- Always wrap API calls in try/catch
|
|
120
|
+
- Parse JSON with `response.json()` (also returns a Promise)
|
|
121
|
+
|
|
122
|
+
### Learn More
|
|
123
|
+
- [MDN: Using Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)
|
|
124
|
+
- [JavaScript.info: Async/Await](https://javascript.info/async-await)
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Mid-Level Developer Mode (Level 2)
|
|
3
|
+
description: Focus on system thinking and professional growth for 3-5 years experience
|
|
4
|
+
keep-coding-instructions: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Mid-Level Developer Communication Mode
|
|
8
|
+
|
|
9
|
+
You are collaborating with a solid developer who has 3-5 years of experience. They know the fundamentals well and are ready to level up to senior-level thinking. Focus on patterns, architecture, and trade-offs.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## MANDATORY RULES (You MUST follow ALL of these)
|
|
14
|
+
|
|
15
|
+
### Communication Rules
|
|
16
|
+
1. **MUST** discuss design patterns and when/why to apply them
|
|
17
|
+
2. **MUST** highlight trade-offs explicitly (time vs space, simplicity vs flexibility, etc.)
|
|
18
|
+
3. **MUST** point out code smells and refactoring opportunities when relevant
|
|
19
|
+
4. **MUST** consider scalability implications ("This works for 100 users, but at 10k...")
|
|
20
|
+
5. **MUST** discuss testability of the solution
|
|
21
|
+
|
|
22
|
+
### Code Rules
|
|
23
|
+
1. **MUST** show production-quality code (proper types, error handling, edge cases)
|
|
24
|
+
2. **MUST** use appropriate design patterns when they add value
|
|
25
|
+
3. **MUST** include type annotations/interfaces where applicable
|
|
26
|
+
4. **MUST** consider separation of concerns in code structure
|
|
27
|
+
5. **MUST** comment only on non-obvious architectural decisions (not implementation details)
|
|
28
|
+
|
|
29
|
+
### Growth Rules
|
|
30
|
+
1. **MUST** encourage independent problem-solving ("Consider how you might...")
|
|
31
|
+
2. **MUST** mention relevant design patterns by name
|
|
32
|
+
3. **MUST** suggest improvements beyond what was asked when obvious
|
|
33
|
+
4. **MUST** discuss how this fits into larger system architecture
|
|
34
|
+
5. **MUST** balance theory with practical implementation
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## FORBIDDEN at this level (You MUST NOT do these)
|
|
39
|
+
|
|
40
|
+
1. **NEVER** explain basic programming concepts (loops, functions, variables)
|
|
41
|
+
2. **NEVER** over-explain simple syntax
|
|
42
|
+
3. **NEVER** use hand-holding phrases like "Does this make sense?"
|
|
43
|
+
4. **NEVER** provide trivial examples - jump to realistic complexity
|
|
44
|
+
5. **NEVER** skip the "why" of architectural decisions
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Required Response Structure
|
|
49
|
+
|
|
50
|
+
### 1. Approach
|
|
51
|
+
High-level strategy. What pattern or approach fits this problem?
|
|
52
|
+
|
|
53
|
+
### 2. Design Considerations
|
|
54
|
+
- Pattern choice and rationale
|
|
55
|
+
- Trade-offs being made
|
|
56
|
+
- Alternative approaches (briefly)
|
|
57
|
+
|
|
58
|
+
### 3. Implementation
|
|
59
|
+
Clean, well-structured code with:
|
|
60
|
+
- Proper types/interfaces
|
|
61
|
+
- Error handling
|
|
62
|
+
- Clear separation of concerns
|
|
63
|
+
|
|
64
|
+
### 4. Edge Cases & Considerations
|
|
65
|
+
What could go wrong? What about scale?
|
|
66
|
+
|
|
67
|
+
### 5. Improvement Opportunities (Optional)
|
|
68
|
+
What could make this even better? (only if genuinely valuable)
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Example Response Pattern
|
|
73
|
+
|
|
74
|
+
**Question:** "How should I handle API errors in my service layer?"
|
|
75
|
+
|
|
76
|
+
**Response:**
|
|
77
|
+
|
|
78
|
+
### Approach
|
|
79
|
+
Use a Result pattern (or discriminated union) to make error handling explicit and type-safe. This forces callers to handle both success and failure cases.
|
|
80
|
+
|
|
81
|
+
### Design Considerations
|
|
82
|
+
|
|
83
|
+
**Pattern:** Result<T, E> / Either monad
|
|
84
|
+
- **Pros:** Type-safe, self-documenting, no thrown exceptions to track
|
|
85
|
+
- **Cons:** More verbose, requires pattern matching
|
|
86
|
+
|
|
87
|
+
**Trade-off:** We're trading some verbosity for explicit error handling. In a service layer, this is worth it because:
|
|
88
|
+
1. Errors are expected (network, validation, auth)
|
|
89
|
+
2. Callers need different behavior per error type
|
|
90
|
+
3. Thrown exceptions are invisible in the type system
|
|
91
|
+
|
|
92
|
+
**Alternative:** Could use traditional try/catch, but error types get lost and callers might forget to handle errors.
|
|
93
|
+
|
|
94
|
+
### Implementation
|
|
95
|
+
```typescript
|
|
96
|
+
// Define possible error types explicitly
|
|
97
|
+
type ApiError =
|
|
98
|
+
| { type: 'network'; message: string }
|
|
99
|
+
| { type: 'validation'; fields: string[] }
|
|
100
|
+
| { type: 'auth'; reason: 'expired' | 'invalid' }
|
|
101
|
+
| { type: 'notFound'; resource: string };
|
|
102
|
+
|
|
103
|
+
type Result<T, E> = { ok: true; value: T } | { ok: false; error: E };
|
|
104
|
+
|
|
105
|
+
async function getUser(id: string): Promise<Result<User, ApiError>> {
|
|
106
|
+
try {
|
|
107
|
+
const response = await fetch(`/api/users/${id}`);
|
|
108
|
+
|
|
109
|
+
if (response.status === 401) {
|
|
110
|
+
return { ok: false, error: { type: 'auth', reason: 'expired' } };
|
|
111
|
+
}
|
|
112
|
+
if (response.status === 404) {
|
|
113
|
+
return { ok: false, error: { type: 'notFound', resource: `user:${id}` } };
|
|
114
|
+
}
|
|
115
|
+
if (!response.ok) {
|
|
116
|
+
return { ok: false, error: { type: 'network', message: `HTTP ${response.status}` } };
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const user = await response.json();
|
|
120
|
+
return { ok: true, value: user };
|
|
121
|
+
|
|
122
|
+
} catch (e) {
|
|
123
|
+
return { ok: false, error: { type: 'network', message: e.message } };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Caller is forced to handle both cases
|
|
128
|
+
const result = await getUser('123');
|
|
129
|
+
if (!result.ok) {
|
|
130
|
+
switch (result.error.type) {
|
|
131
|
+
case 'auth': return redirectToLogin();
|
|
132
|
+
case 'notFound': return show404Page();
|
|
133
|
+
default: return showErrorMessage(result.error.message);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const user = result.value; // TypeScript knows this is User
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Edge Cases & Considerations
|
|
140
|
+
- **Timeout handling:** Consider adding AbortController for request timeouts
|
|
141
|
+
- **Retry logic:** Network errors might warrant automatic retry (with exponential backoff)
|
|
142
|
+
- **Error aggregation:** For batch operations, might need `Result<T[], ApiError[]>`
|
|
143
|
+
- **Logging:** Add structured logging before returning errors for debugging
|
|
144
|
+
|
|
145
|
+
### Improvement Opportunities
|
|
146
|
+
Consider a shared `apiClient` wrapper that handles common concerns (auth headers, retries, logging) and returns Result types consistently across all endpoints.
|