gkt-node 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -0
- package/assets/.agent/brain/agent_index.json +208 -0
- package/assets/.agent/brain/project_context.json +31 -0
- package/assets/.agent/skills/ab-test-setup/SKILL.md +232 -0
- package/assets/.agent/skills/agent-evaluation/SKILL.md +64 -0
- package/assets/.agent/skills/agent-memory-mcp/SKILL.md +82 -0
- package/assets/.agent/skills/agent-memory-systems/SKILL.md +67 -0
- package/assets/.agent/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
- package/assets/.agent/skills/agent-tool-builder/SKILL.md +53 -0
- package/assets/.agent/skills/ai-agents-architect/SKILL.md +90 -0
- package/assets/.agent/skills/ai-engineer/SKILL.md +171 -0
- package/assets/.agent/skills/ai-product/SKILL.md +54 -0
- package/assets/.agent/skills/ai-wrapper-product/SKILL.md +273 -0
- package/assets/.agent/skills/airflow-dag-patterns/SKILL.md +41 -0
- package/assets/.agent/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
- package/assets/.agent/skills/airtable-automation/SKILL.md +170 -0
- package/assets/.agent/skills/analytics-tracking/SKILL.md +404 -0
- package/assets/.agent/skills/api-design-principles/SKILL.md +37 -0
- package/assets/.agent/skills/api-design-principles/assets/__pycache__/rest-api-template.cpython-314.pyc +0 -0
- package/assets/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/assets/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/assets/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/assets/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/assets/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/assets/.agent/skills/api-designer/SKILL.md +22 -0
- package/assets/.agent/skills/api-designer/data/api_patterns.json +107 -0
- package/assets/.agent/skills/api-designer/scripts/__pycache__/api_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/api-designer/scripts/api_gen.py +80 -0
- package/assets/.agent/skills/api-documentation-generator/SKILL.md +484 -0
- package/assets/.agent/skills/api-documenter/SKILL.md +184 -0
- package/assets/.agent/skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
- package/assets/.agent/skills/api-patterns/SKILL.md +81 -0
- package/assets/.agent/skills/api-patterns/api-style.md +42 -0
- package/assets/.agent/skills/api-patterns/auth.md +24 -0
- package/assets/.agent/skills/api-patterns/documentation.md +26 -0
- package/assets/.agent/skills/api-patterns/graphql.md +41 -0
- package/assets/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/assets/.agent/skills/api-patterns/response.md +37 -0
- package/assets/.agent/skills/api-patterns/rest.md +40 -0
- package/assets/.agent/skills/api-patterns/scripts/__pycache__/api_validator.cpython-314.pyc +0 -0
- package/assets/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/assets/.agent/skills/api-patterns/security-testing.md +122 -0
- package/assets/.agent/skills/api-patterns/trpc.md +41 -0
- package/assets/.agent/skills/api-patterns/versioning.md +22 -0
- package/assets/.agent/skills/api-security-best-practices/SKILL.md +907 -0
- package/assets/.agent/skills/api-testing-observability-api-mock/SKILL.md +46 -0
- package/assets/.agent/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
- package/assets/.agent/skills/app-store-optimization/HOW_TO_USE.md +281 -0
- package/assets/.agent/skills/app-store-optimization/README.md +430 -0
- package/assets/.agent/skills/app-store-optimization/SKILL.md +403 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/ab_test_planner.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/aso_scorer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/competitor_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/keyword_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/launch_checklist.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/localization_helper.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/metadata_optimizer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/review_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/ab_test_planner.py +662 -0
- package/assets/.agent/skills/app-store-optimization/aso_scorer.py +482 -0
- package/assets/.agent/skills/app-store-optimization/competitor_analyzer.py +577 -0
- package/assets/.agent/skills/app-store-optimization/expected_output.json +170 -0
- package/assets/.agent/skills/app-store-optimization/keyword_analyzer.py +406 -0
- package/assets/.agent/skills/app-store-optimization/launch_checklist.py +739 -0
- package/assets/.agent/skills/app-store-optimization/localization_helper.py +588 -0
- package/assets/.agent/skills/app-store-optimization/metadata_optimizer.py +581 -0
- package/assets/.agent/skills/app-store-optimization/review_analyzer.py +714 -0
- package/assets/.agent/skills/app-store-optimization/sample_input.json +30 -0
- package/assets/.agent/skills/architecture-auditor/SKILL.md +35 -0
- package/assets/.agent/skills/architecture-auditor/data/standards.json +45 -0
- package/assets/.agent/skills/architecture-auditor/scripts/__pycache__/auditor.cpython-314.pyc +0 -0
- package/assets/.agent/skills/architecture-auditor/scripts/auditor.py +69 -0
- package/assets/.agent/skills/architecture-decision-records/SKILL.md +441 -0
- package/assets/.agent/skills/architecture-patterns/SKILL.md +37 -0
- package/assets/.agent/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
- package/assets/.agent/skills/asana-automation/SKILL.md +171 -0
- package/assets/.agent/skills/attack-tree-construction/SKILL.md +38 -0
- package/assets/.agent/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
- package/assets/.agent/skills/auth-implementation-patterns/SKILL.md +39 -0
- package/assets/.agent/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
- package/assets/.agent/skills/autonomous-agent-patterns/SKILL.md +761 -0
- package/assets/.agent/skills/aws-penetration-testing/SKILL.md +405 -0
- package/assets/.agent/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
- package/assets/.agent/skills/aws-serverless/SKILL.md +323 -0
- package/assets/.agent/skills/backend-architect/SKILL.md +333 -0
- package/assets/.agent/skills/billing-automation/SKILL.md +42 -0
- package/assets/.agent/skills/billing-automation/resources/implementation-playbook.md +544 -0
- package/assets/.agent/skills/broken-authentication/SKILL.md +476 -0
- package/assets/.agent/skills/bullmq-specialist/SKILL.md +57 -0
- package/assets/.agent/skills/business-analyst/SKILL.md +182 -0
- package/assets/.agent/skills/cc-skill-backend-patterns/SKILL.md +584 -0
- package/assets/.agent/skills/cc-skill-clickhouse-io/SKILL.md +431 -0
- package/assets/.agent/skills/cc-skill-coding-standards/SKILL.md +522 -0
- package/assets/.agent/skills/cc-skill-continuous-learning/SKILL.md +10 -0
- package/assets/.agent/skills/cc-skill-continuous-learning/config.json +18 -0
- package/assets/.agent/skills/cc-skill-continuous-learning/evaluate-session.sh +60 -0
- package/assets/.agent/skills/cc-skill-frontend-patterns/SKILL.md +633 -0
- package/assets/.agent/skills/cc-skill-project-guidelines-example/SKILL.md +352 -0
- package/assets/.agent/skills/cc-skill-security-review/SKILL.md +496 -0
- package/assets/.agent/skills/cc-skill-strategic-compact/SKILL.md +10 -0
- package/assets/.agent/skills/cc-skill-strategic-compact/suggest-compact.sh +52 -0
- package/assets/.agent/skills/ci-cd-setup/SKILL.md +14 -0
- package/assets/.agent/skills/ci-cd-setup/data/pipeline_templates.json +42 -0
- package/assets/.agent/skills/ci-cd-setup/scripts/__pycache__/ci_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ci-cd-setup/scripts/ci_gen.py +75 -0
- package/assets/.agent/skills/claude-code-guide/SKILL.md +68 -0
- package/assets/.agent/skills/clean-code/SKILL.md +94 -0
- package/assets/.agent/skills/clickup-automation/SKILL.md +234 -0
- package/assets/.agent/skills/cloud-architect/SKILL.md +135 -0
- package/assets/.agent/skills/cloud-penetration-testing/SKILL.md +501 -0
- package/assets/.agent/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
- package/assets/.agent/skills/code-reviewer/SKILL.md +31 -0
- package/assets/.agent/skills/code-reviewer/data/review_rules.json +172 -0
- package/assets/.agent/skills/code-reviewer/scripts/__pycache__/reviewer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/code-reviewer/scripts/reviewer.py +192 -0
- package/assets/.agent/skills/codebase-navigator/SKILL.md +37 -0
- package/assets/.agent/skills/codebase-navigator/data/codebase_index.json +577 -0
- package/assets/.agent/skills/codebase-navigator/scripts/__pycache__/navigator.cpython-314.pyc +0 -0
- package/assets/.agent/skills/codebase-navigator/scripts/navigator.py +240 -0
- package/assets/.agent/skills/color-palette-generator/SKILL.md +26 -0
- package/assets/.agent/skills/color-palette-generator/data/palettes.json +37 -0
- package/assets/.agent/skills/color-palette-generator/scripts/__pycache__/palette.cpython-314.pyc +0 -0
- package/assets/.agent/skills/color-palette-generator/scripts/palette.py +57 -0
- package/assets/.agent/skills/competitive-landscape/SKILL.md +34 -0
- package/assets/.agent/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
- package/assets/.agent/skills/competitor-alternatives/SKILL.md +750 -0
- package/assets/.agent/skills/computer-use-agents/SKILL.md +315 -0
- package/assets/.agent/skills/content-creator/SKILL.md +248 -0
- package/assets/.agent/skills/content-creator/assets/content_calendar_template.md +99 -0
- package/assets/.agent/skills/content-creator/references/brand_guidelines.md +199 -0
- package/assets/.agent/skills/content-creator/references/content_frameworks.md +534 -0
- package/assets/.agent/skills/content-creator/references/social_media_optimization.md +317 -0
- package/assets/.agent/skills/content-creator/scripts/__pycache__/brand_voice_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/content-creator/scripts/__pycache__/seo_optimizer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
- package/assets/.agent/skills/content-creator/scripts/seo_optimizer.py +419 -0
- package/assets/.agent/skills/content-marketer/SKILL.md +170 -0
- package/assets/.agent/skills/context-compression/SKILL.md +266 -0
- package/assets/.agent/skills/context-degradation/SKILL.md +238 -0
- package/assets/.agent/skills/context-driven-development/SKILL.md +400 -0
- package/assets/.agent/skills/context-fundamentals/SKILL.md +192 -0
- package/assets/.agent/skills/context-manager/SKILL.md +26 -0
- package/assets/.agent/skills/context-manager/scripts/__pycache__/minify.cpython-314.pyc +0 -0
- package/assets/.agent/skills/context-manager/scripts/minify.py +82 -0
- package/assets/.agent/skills/context-optimization/SKILL.md +186 -0
- package/assets/.agent/skills/context-router/SKILL.md +42 -0
- package/assets/.agent/skills/context-router/scripts/__pycache__/context_router.cpython-314.pyc +0 -0
- package/assets/.agent/skills/context-router/scripts/context_router.py +185 -0
- package/assets/.agent/skills/context-window-management/SKILL.md +53 -0
- package/assets/.agent/skills/conversation-memory/SKILL.md +61 -0
- package/assets/.agent/skills/copywriting/SKILL.md +225 -0
- package/assets/.agent/skills/cost-optimization/SKILL.md +286 -0
- package/assets/.agent/skills/cqrs-implementation/SKILL.md +35 -0
- package/assets/.agent/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
- package/assets/.agent/skills/crewai/SKILL.md +243 -0
- package/assets/.agent/skills/daily-news-report/SKILL.md +356 -0
- package/assets/.agent/skills/daily-news-report/cache.json +41 -0
- package/assets/.agent/skills/daily-news-report/sources.json +183 -0
- package/assets/.agent/skills/data-engineer/SKILL.md +224 -0
- package/assets/.agent/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
- package/assets/.agent/skills/data-engineering-data-pipeline/SKILL.md +201 -0
- package/assets/.agent/skills/data-quality-frameworks/SKILL.md +40 -0
- package/assets/.agent/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
- package/assets/.agent/skills/data-scientist/SKILL.md +199 -0
- package/assets/.agent/skills/data-storytelling/SKILL.md +465 -0
- package/assets/.agent/skills/database-admin/SKILL.md +165 -0
- package/assets/.agent/skills/database-architect/SKILL.md +268 -0
- package/assets/.agent/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
- package/assets/.agent/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
- package/assets/.agent/skills/database-design/SKILL.md +52 -0
- package/assets/.agent/skills/database-design/database-selection.md +43 -0
- package/assets/.agent/skills/database-design/indexing.md +39 -0
- package/assets/.agent/skills/database-design/migrations.md +48 -0
- package/assets/.agent/skills/database-design/optimization.md +36 -0
- package/assets/.agent/skills/database-design/orm-selection.md +30 -0
- package/assets/.agent/skills/database-design/schema-design.md +56 -0
- package/assets/.agent/skills/database-design/scripts/__pycache__/schema_validator.cpython-314.pyc +0 -0
- package/assets/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/assets/.agent/skills/database-migration/SKILL.md +436 -0
- package/assets/.agent/skills/database-migrations-migration-observability/SKILL.md +420 -0
- package/assets/.agent/skills/database-migrations-sql-migrations/SKILL.md +53 -0
- package/assets/.agent/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
- package/assets/.agent/skills/database-optimizer/SKILL.md +167 -0
- package/assets/.agent/skills/datadog-automation/SKILL.md +235 -0
- package/assets/.agent/skills/db-designer/SKILL.md +22 -0
- package/assets/.agent/skills/db-designer/data/schema_patterns.json +156 -0
- package/assets/.agent/skills/db-designer/scripts/__pycache__/sql_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/db-designer/scripts/sql_gen.py +90 -0
- package/assets/.agent/skills/dbt-transformation-patterns/SKILL.md +34 -0
- package/assets/.agent/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
- package/assets/.agent/skills/debugger/SKILL.md +49 -0
- package/assets/.agent/skills/debugging-strategies/SKILL.md +34 -0
- package/assets/.agent/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
- package/assets/.agent/skills/deep-research/SKILL.md +114 -0
- package/assets/.agent/skills/deployment-engineer/SKILL.md +170 -0
- package/assets/.agent/skills/deployment-pipeline-design/SKILL.md +371 -0
- package/assets/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/assets/.agent/skills/diff-applier/SKILL.md +34 -0
- package/assets/.agent/skills/diff-applier/scripts/__pycache__/apply_patch.cpython-314.pyc +0 -0
- package/assets/.agent/skills/diff-applier/scripts/apply_patch.py +137 -0
- package/assets/.agent/skills/discord-automation/SKILL.md +187 -0
- package/assets/.agent/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
- package/assets/.agent/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
- package/assets/.agent/skills/distributed-tracing/SKILL.md +450 -0
- package/assets/.agent/skills/doc-generator/SKILL.md +14 -0
- package/assets/.agent/skills/doc-generator/data/doc_templates.json +40 -0
- package/assets/.agent/skills/doc-generator/scripts/__pycache__/doc_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/doc-generator/scripts/doc_gen.py +48 -0
- package/assets/.agent/skills/docker-expert/SKILL.md +409 -0
- package/assets/.agent/skills/docker-wizard/SKILL.md +14 -0
- package/assets/.agent/skills/docker-wizard/data/docker_templates.json +93 -0
- package/assets/.agent/skills/docker-wizard/scripts/__pycache__/docker_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/docker-wizard/scripts/docker_gen.py +86 -0
- package/assets/.agent/skills/docs-architect/SKILL.md +98 -0
- package/assets/.agent/skills/e2e-testing-patterns/SKILL.md +41 -0
- package/assets/.agent/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
- package/assets/.agent/skills/email-sequence/SKILL.md +925 -0
- package/assets/.agent/skills/embedding-strategies/SKILL.md +491 -0
- package/assets/.agent/skills/employment-contract-templates/SKILL.md +39 -0
- package/assets/.agent/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
- package/assets/.agent/skills/env-manager/SKILL.md +33 -0
- package/assets/.agent/skills/env-manager/scripts/__pycache__/env_scanner.cpython-314.pyc +0 -0
- package/assets/.agent/skills/env-manager/scripts/env_scanner.py +181 -0
- package/assets/.agent/skills/error-detective/SKILL.md +53 -0
- package/assets/.agent/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
- package/assets/.agent/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
- package/assets/.agent/skills/error-diagnostics-error-trace/SKILL.md +48 -0
- package/assets/.agent/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
- package/assets/.agent/skills/error-handling-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
- package/assets/.agent/skills/ethical-hacking-methodology/SKILL.md +466 -0
- package/assets/.agent/skills/event-sourcing-architect/SKILL.md +58 -0
- package/assets/.agent/skills/event-store-design/SKILL.md +449 -0
- package/assets/.agent/skills/exa-search/SKILL.md +36 -0
- package/assets/.agent/skills/fastapi-pro/SKILL.md +192 -0
- package/assets/.agent/skills/fastapi-router-py/SKILL.md +52 -0
- package/assets/.agent/skills/fastapi-templates/SKILL.md +32 -0
- package/assets/.agent/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
- package/assets/.agent/skills/free-tool-strategy/SKILL.md +576 -0
- package/assets/.agent/skills/freshdesk-automation/SKILL.md +219 -0
- package/assets/.agent/skills/frontend-developer/SKILL.md +171 -0
- package/assets/.agent/skills/gcp-cloud-run/SKILL.md +288 -0
- package/assets/.agent/skills/gemini-api-dev/SKILL.md +127 -0
- package/assets/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/assets/.agent/skills/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-314.pyc +0 -0
- package/assets/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/assets/.agent/skills/git-advanced-workflows/SKILL.md +412 -0
- package/assets/.agent/skills/git-manager/SKILL.md +22 -0
- package/assets/.agent/skills/git-manager/data/git_conventions.json +84 -0
- package/assets/.agent/skills/git-manager/scripts/__pycache__/commit.cpython-314.pyc +0 -0
- package/assets/.agent/skills/git-manager/scripts/__pycache__/log.cpython-314.pyc +0 -0
- package/assets/.agent/skills/git-manager/scripts/commit.py +70 -0
- package/assets/.agent/skills/git-manager/scripts/log.py +29 -0
- package/assets/.agent/skills/github-actions-templates/SKILL.md +345 -0
- package/assets/.agent/skills/github-automation/SKILL.md +227 -0
- package/assets/.agent/skills/gitlab-ci-patterns/SKILL.md +283 -0
- package/assets/.agent/skills/gitops-workflow/SKILL.md +303 -0
- package/assets/.agent/skills/gitops-workflow/references/argocd-setup.md +134 -0
- package/assets/.agent/skills/gitops-workflow/references/sync-policies.md +131 -0
- package/assets/.agent/skills/gmail-automation/SKILL.md +270 -0
- package/assets/.agent/skills/google-calendar-automation/SKILL.md +176 -0
- package/assets/.agent/skills/google-drive-automation/SKILL.md +193 -0
- package/assets/.agent/skills/googlesheets-automation/SKILL.md +197 -0
- package/assets/.agent/skills/grafana-dashboards/SKILL.md +381 -0
- package/assets/.agent/skills/graphql/SKILL.md +68 -0
- package/assets/.agent/skills/graphql-architect/SKILL.md +182 -0
- package/assets/.agent/skills/helm-chart-scaffolding/SKILL.md +34 -0
- package/assets/.agent/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
- package/assets/.agent/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
- package/assets/.agent/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
- package/assets/.agent/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
- package/assets/.agent/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
- package/assets/.agent/skills/hr-pro/SKILL.md +126 -0
- package/assets/.agent/skills/hubspot-automation/SKILL.md +178 -0
- package/assets/.agent/skills/hubspot-integration/SKILL.md +42 -0
- package/assets/.agent/skills/hybrid-search-implementation/SKILL.md +32 -0
- package/assets/.agent/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
- package/assets/.agent/skills/incident-responder/SKILL.md +213 -0
- package/assets/.agent/skills/incident-response-incident-response/SKILL.md +168 -0
- package/assets/.agent/skills/incident-response-smart-fix/SKILL.md +29 -0
- package/assets/.agent/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
- package/assets/.agent/skills/incident-runbook-templates/SKILL.md +395 -0
- package/assets/.agent/skills/infinite-gratitude/SKILL.md +26 -0
- package/assets/.agent/skills/inngest/SKILL.md +55 -0
- package/assets/.agent/skills/instagram-automation/SKILL.md +192 -0
- package/assets/.agent/skills/intercom-automation/SKILL.md +248 -0
- package/assets/.agent/skills/javascript-mastery/SKILL.md +645 -0
- package/assets/.agent/skills/javascript-testing-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
- package/assets/.agent/skills/jira-automation/SKILL.md +185 -0
- package/assets/.agent/skills/k8s-manifest-generator/SKILL.md +35 -0
- package/assets/.agent/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
- package/assets/.agent/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
- package/assets/.agent/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
- package/assets/.agent/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
- package/assets/.agent/skills/k8s-manifest-generator/references/service-spec.md +724 -0
- package/assets/.agent/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
- package/assets/.agent/skills/k8s-security-policies/SKILL.md +346 -0
- package/assets/.agent/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
- package/assets/.agent/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
- package/assets/.agent/skills/knowledge-guide/SKILL.md +34 -0
- package/assets/.agent/skills/knowledge-guide/scripts/__pycache__/note_taker.cpython-314.pyc +0 -0
- package/assets/.agent/skills/knowledge-guide/scripts/note_taker.py +50 -0
- package/assets/.agent/skills/kpi-dashboard-design/SKILL.md +440 -0
- package/assets/.agent/skills/kubernetes-architect/SKILL.md +170 -0
- package/assets/.agent/skills/langchain-architecture/SKILL.md +350 -0
- package/assets/.agent/skills/langfuse/SKILL.md +238 -0
- package/assets/.agent/skills/langgraph/SKILL.md +287 -0
- package/assets/.agent/skills/launch-strategy/SKILL.md +344 -0
- package/assets/.agent/skills/legal-advisor/SKILL.md +70 -0
- package/assets/.agent/skills/linkedin-automation/SKILL.md +175 -0
- package/assets/.agent/skills/linux-privilege-escalation/SKILL.md +504 -0
- package/assets/.agent/skills/llm-app-patterns/SKILL.md +760 -0
- package/assets/.agent/skills/llm-evaluation/SKILL.md +483 -0
- package/assets/.agent/skills/mailchimp-automation/SKILL.md +231 -0
- package/assets/.agent/skills/market-sizing-analysis/SKILL.md +425 -0
- package/assets/.agent/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
- package/assets/.agent/skills/market-sizing-analysis/references/data-sources.md +360 -0
- package/assets/.agent/skills/marketing-ideas/SKILL.md +221 -0
- package/assets/.agent/skills/marketing-psychology/SKILL.md +255 -0
- package/assets/.agent/skills/mcp-builder/LICENSE.txt +202 -0
- package/assets/.agent/skills/mcp-builder/SKILL.md +236 -0
- package/assets/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
- package/assets/.agent/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/assets/.agent/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/assets/.agent/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/assets/.agent/skills/mcp-builder/scripts/__pycache__/connections.cpython-314.pyc +0 -0
- package/assets/.agent/skills/mcp-builder/scripts/__pycache__/evaluation.cpython-314.pyc +0 -0
- package/assets/.agent/skills/mcp-builder/scripts/connections.py +151 -0
- package/assets/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/assets/.agent/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/assets/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/assets/.agent/skills/mermaid-expert/SKILL.md +59 -0
- package/assets/.agent/skills/meta-thinker/SKILL.md +41 -0
- package/assets/.agent/skills/meta-thinker/data/brainstorm_frameworks.json +614 -0
- package/assets/.agent/skills/meta-thinker/data/feature_ideas.json +352 -0
- package/assets/.agent/skills/meta-thinker/data/industry_database.json +1693 -0
- package/assets/.agent/skills/meta-thinker/data/monetization_models.json +570 -0
- package/assets/.agent/skills/meta-thinker/data/platform_guide.json +361 -0
- package/assets/.agent/skills/meta-thinker/data/product_archetypes.json +998 -0
- package/assets/.agent/skills/meta-thinker/scripts/__pycache__/idea_engine.cpython-314.pyc +0 -0
- package/assets/.agent/skills/meta-thinker/scripts/idea_engine.py +246 -0
- package/assets/.agent/skills/metasploit-framework/SKILL.md +478 -0
- package/assets/.agent/skills/micro-saas-launcher/SKILL.md +212 -0
- package/assets/.agent/skills/monday-automation/SKILL.md +233 -0
- package/assets/.agent/skills/multi-agent-patterns/SKILL.md +262 -0
- package/assets/.agent/skills/n8n-code-python/SKILL.md +750 -0
- package/assets/.agent/skills/n8n-mcp-tools-expert/SKILL.md +654 -0
- package/assets/.agent/skills/n8n-node-configuration/SKILL.md +796 -0
- package/assets/.agent/skills/neon-postgres/SKILL.md +56 -0
- package/assets/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/assets/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/assets/.agent/skills/nocobase-plugin-developer/SKILL.md +1289 -0
- package/assets/.agent/skills/nodejs-backend-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
- package/assets/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/assets/.agent/skills/nosql-expert/SKILL.md +111 -0
- package/assets/.agent/skills/notion-automation/SKILL.md +215 -0
- package/assets/.agent/skills/observability-engineer/SKILL.md +237 -0
- package/assets/.agent/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
- package/assets/.agent/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
- package/assets/.agent/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
- package/assets/.agent/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
- package/assets/.agent/skills/on-call-handoff-patterns/SKILL.md +453 -0
- package/assets/.agent/skills/onboarding-cro/SKILL.md +433 -0
- package/assets/.agent/skills/openapi-spec-generation/SKILL.md +33 -0
- package/assets/.agent/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
- package/assets/.agent/skills/page-cro/SKILL.md +343 -0
- package/assets/.agent/skills/paid-ads/SKILL.md +551 -0
- package/assets/.agent/skills/payment-integration/SKILL.md +77 -0
- package/assets/.agent/skills/paypal-integration/SKILL.md +479 -0
- package/assets/.agent/skills/paywall-upgrade-cro/SKILL.md +570 -0
- package/assets/.agent/skills/pentest-checklist/SKILL.md +334 -0
- package/assets/.agent/skills/pentest-commands/SKILL.md +438 -0
- package/assets/.agent/skills/pipedrive-automation/SKILL.md +224 -0
- package/assets/.agent/skills/plaid-fintech/SKILL.md +50 -0
- package/assets/.agent/skills/popup-cro/SKILL.md +346 -0
- package/assets/.agent/skills/postgresql/SKILL.md +230 -0
- package/assets/.agent/skills/postmortem-writing/SKILL.md +386 -0
- package/assets/.agent/skills/pricing-strategy/SKILL.md +356 -0
- package/assets/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/assets/.agent/skills/product-manager-toolkit/SKILL.md +351 -0
- package/assets/.agent/skills/product-manager-toolkit/references/prd_templates.md +317 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/__pycache__/customer_interview_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/__pycache__/rice_prioritizer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +441 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
- package/assets/.agent/skills/programmatic-seo/SKILL.md +351 -0
- package/assets/.agent/skills/project-scaffolder/SKILL.md +26 -0
- package/assets/.agent/skills/project-scaffolder/data/scaffold_templates.json +150 -0
- package/assets/.agent/skills/project-scaffolder/scripts/__pycache__/scaffold.cpython-314.pyc +0 -0
- package/assets/.agent/skills/project-scaffolder/scripts/scaffold.py +249 -0
- package/assets/.agent/skills/projection-patterns/SKILL.md +33 -0
- package/assets/.agent/skills/projection-patterns/resources/implementation-playbook.md +501 -0
- package/assets/.agent/skills/prometheus-configuration/SKILL.md +404 -0
- package/assets/.agent/skills/prompt-caching/SKILL.md +61 -0
- package/assets/.agent/skills/prompt-engineer/README.md +659 -0
- package/assets/.agent/skills/prompt-engineer/SKILL.md +252 -0
- package/assets/.agent/skills/prompt-engineering/SKILL.md +171 -0
- package/assets/.agent/skills/prompt-engineering-patterns/SKILL.md +213 -0
- package/assets/.agent/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
- package/assets/.agent/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
- package/assets/.agent/skills/prompt-engineering-patterns/scripts/__pycache__/optimize-prompt.cpython-314.pyc +0 -0
- package/assets/.agent/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
- package/assets/.agent/skills/prompt-library/SKILL.md +322 -0
- package/assets/.agent/skills/rag-engineer/SKILL.md +90 -0
- package/assets/.agent/skills/rag-implementation/SKILL.md +421 -0
- package/assets/.agent/skills/react-patterns/SKILL.md +198 -0
- package/assets/.agent/skills/react-state-management/SKILL.md +441 -0
- package/assets/.agent/skills/react-ui-patterns/SKILL.md +289 -0
- package/assets/.agent/skills/readme-generator/SKILL.md +14 -0
- package/assets/.agent/skills/readme-generator/data/readme_templates.json +22 -0
- package/assets/.agent/skills/readme-generator/scripts/__pycache__/readme_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/readme-generator/scripts/readme_gen.py +81 -0
- package/assets/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/assets/.agent/skills/red-team-tools/SKILL.md +310 -0
- package/assets/.agent/skills/reference-builder/SKILL.md +188 -0
- package/assets/.agent/skills/referral-program/SKILL.md +602 -0
- package/assets/.agent/skills/release-manager/SKILL.md +30 -0
- package/assets/.agent/skills/release-manager/scripts/__pycache__/release.cpython-314.pyc +0 -0
- package/assets/.agent/skills/release-manager/scripts/release.py +210 -0
- package/assets/.agent/skills/reliability-engineer/SKILL.md +30 -0
- package/assets/.agent/skills/reliability-engineer/data/reliability.json +57 -0
- package/assets/.agent/skills/reliability-engineer/scripts/__pycache__/sre.cpython-314.pyc +0 -0
- package/assets/.agent/skills/reliability-engineer/scripts/sre.py +94 -0
- package/assets/.agent/skills/saga-orchestration/SKILL.md +496 -0
- package/assets/.agent/skills/sales-automator/SKILL.md +55 -0
- package/assets/.agent/skills/salesforce-automation/SKILL.md +190 -0
- package/assets/.agent/skills/sast-configuration/SKILL.md +212 -0
- package/assets/.agent/skills/scanning-tools/SKILL.md +589 -0
- package/assets/.agent/skills/schema-markup/SKILL.md +360 -0
- package/assets/.agent/skills/search-specialist/SKILL.md +80 -0
- package/assets/.agent/skills/secrets-management/SKILL.md +364 -0
- package/assets/.agent/skills/security-auditor/SKILL.md +169 -0
- package/assets/.agent/skills/security-bluebook-builder/SKILL.md +22 -0
- package/assets/.agent/skills/security-requirement-extraction/SKILL.md +33 -0
- package/assets/.agent/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
- package/assets/.agent/skills/security-scanner/SKILL.md +21 -0
- package/assets/.agent/skills/security-scanner/data/security_patterns.json +101 -0
- package/assets/.agent/skills/security-scanner/scripts/__pycache__/checklist_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/security-scanner/scripts/__pycache__/vuln_scan.cpython-314.pyc +0 -0
- package/assets/.agent/skills/security-scanner/scripts/checklist_gen.py +49 -0
- package/assets/.agent/skills/security-scanner/scripts/vuln_scan.py +81 -0
- package/assets/.agent/skills/sendgrid-automation/SKILL.md +228 -0
- package/assets/.agent/skills/seo-audit/SKILL.md +487 -0
- package/assets/.agent/skills/seo-authority-builder/SKILL.md +136 -0
- package/assets/.agent/skills/seo-cannibalization-detector/SKILL.md +123 -0
- package/assets/.agent/skills/seo-content-auditor/SKILL.md +83 -0
- package/assets/.agent/skills/seo-content-planner/SKILL.md +108 -0
- package/assets/.agent/skills/seo-content-refresher/SKILL.md +118 -0
- package/assets/.agent/skills/seo-content-writer/SKILL.md +96 -0
- package/assets/.agent/skills/seo-fundamentals/SKILL.md +173 -0
- package/assets/.agent/skills/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-314.pyc +0 -0
- package/assets/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/assets/.agent/skills/seo-keyword-strategist/SKILL.md +95 -0
- package/assets/.agent/skills/seo-meta-optimizer/SKILL.md +92 -0
- package/assets/.agent/skills/seo-snippet-hunter/SKILL.md +114 -0
- package/assets/.agent/skills/seo-structure-architect/SKILL.md +108 -0
- package/assets/.agent/skills/service-mesh-observability/SKILL.md +395 -0
- package/assets/.agent/skills/shodan-reconnaissance/SKILL.md +503 -0
- package/assets/.agent/skills/shopify-apps/SKILL.md +42 -0
- package/assets/.agent/skills/shopify-automation/SKILL.md +168 -0
- package/assets/.agent/skills/signup-flow-cro/SKILL.md +355 -0
- package/assets/.agent/skills/similarity-search-patterns/SKILL.md +33 -0
- package/assets/.agent/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
- package/assets/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/assets/.agent/skills/skill-creator/README.md +270 -0
- package/assets/.agent/skills/skill-creator/SKILL.md +593 -0
- package/assets/.agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/assets/.agent/skills/skill-creator/references/workflows.md +28 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/init_skill.cpython-314.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/package_skill.cpython-314.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-314.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/assets/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/assets/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/assets/.agent/skills/skill-developer/ADVANCED.md +197 -0
- package/assets/.agent/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
- package/assets/.agent/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
- package/assets/.agent/skills/skill-developer/SKILL.md +426 -0
- package/assets/.agent/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
- package/assets/.agent/skills/skill-developer/TRIGGER_TYPES.md +305 -0
- package/assets/.agent/skills/skill-developer/TROUBLESHOOTING.md +514 -0
- package/assets/.agent/skills/slack-automation/SKILL.md +189 -0
- package/assets/.agent/skills/slo-implementation/SKILL.md +341 -0
- package/assets/.agent/skills/social-content/SKILL.md +807 -0
- package/assets/.agent/skills/spark-optimization/SKILL.md +427 -0
- package/assets/.agent/skills/sql-injection-testing/SKILL.md +448 -0
- package/assets/.agent/skills/sql-optimization-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
- package/assets/.agent/skills/sql-pro/SKILL.md +173 -0
- package/assets/.agent/skills/ssh-penetration-testing/SKILL.md +488 -0
- package/assets/.agent/skills/startup-analyst/SKILL.md +328 -0
- package/assets/.agent/skills/startup-business-analyst-business-case/SKILL.md +487 -0
- package/assets/.agent/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
- package/assets/.agent/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
- package/assets/.agent/skills/startup-financial-modeling/SKILL.md +467 -0
- package/assets/.agent/skills/startup-metrics-framework/SKILL.md +34 -0
- package/assets/.agent/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
- package/assets/.agent/skills/stride-analysis-patterns/SKILL.md +33 -0
- package/assets/.agent/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
- package/assets/.agent/skills/stripe-automation/SKILL.md +198 -0
- package/assets/.agent/skills/stripe-integration/SKILL.md +454 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/README.md +119 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/SKILL.md +57 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/metadata.json +13 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/_contributing.md +171 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/_sections.md +39 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/_template.md +34 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/assets/.agent/skills/system-diagrammer/SKILL.md +25 -0
- package/assets/.agent/skills/system-diagrammer/data/diagram_templates.json +69 -0
- package/assets/.agent/skills/system-diagrammer/scripts/__pycache__/diagram.cpython-314.pyc +0 -0
- package/assets/.agent/skills/system-diagrammer/scripts/diagram.py +81 -0
- package/assets/.agent/skills/system-strategist/SKILL.md +35 -0
- package/assets/.agent/skills/system-strategist/data/strategy_patterns.json +170 -0
- package/assets/.agent/skills/system-strategist/scripts/__pycache__/strategist.cpython-314.pyc +0 -0
- package/assets/.agent/skills/system-strategist/scripts/strategist.py +136 -0
- package/assets/.agent/skills/tavily-web/SKILL.md +36 -0
- package/assets/.agent/skills/team-composition-analysis/SKILL.md +413 -0
- package/assets/.agent/skills/tech-stack-advisor/SKILL.md +59 -0
- package/assets/.agent/skills/tech-stack-advisor/data/stacks.json +727 -0
- package/assets/.agent/skills/tech-stack-advisor/data/tech_data.json +1297 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/__pycache__/advisor.cpython-314.pyc +0 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/__pycache__/scanner.cpython-314.pyc +0 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/advisor.py +211 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/scanner.py +102 -0
- package/assets/.agent/skills/terraform-module-library/SKILL.md +261 -0
- package/assets/.agent/skills/terraform-module-library/references/aws-modules.md +63 -0
- package/assets/.agent/skills/terraform-skill/SKILL.md +517 -0
- package/assets/.agent/skills/terraform-specialist/SKILL.md +166 -0
- package/assets/.agent/skills/test-generator/SKILL.md +14 -0
- package/assets/.agent/skills/test-generator/data/test_patterns.json +39 -0
- package/assets/.agent/skills/test-generator/scripts/__pycache__/gen_skeleton.cpython-314.pyc +0 -0
- package/assets/.agent/skills/test-generator/scripts/gen_skeleton.py +61 -0
- package/assets/.agent/skills/testing-patterns/SKILL.md +259 -0
- package/assets/.agent/skills/threat-mitigation-mapping/SKILL.md +33 -0
- package/assets/.agent/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
- package/assets/.agent/skills/threat-modeling-expert/SKILL.md +60 -0
- package/assets/.agent/skills/tool-design/SKILL.md +318 -0
- package/assets/.agent/skills/top-web-vulnerabilities/SKILL.md +543 -0
- package/assets/.agent/skills/trello-automation/SKILL.md +181 -0
- package/assets/.agent/skills/trigger-dev/SKILL.md +67 -0
- package/assets/.agent/skills/tutorial-engineer/SKILL.md +139 -0
- package/assets/.agent/skills/twitter-automation/SKILL.md +231 -0
- package/assets/.agent/skills/typescript-pro/SKILL.md +55 -0
- package/assets/.agent/skills/ui-ux-pro-max/SKILL.md +30 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1110 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/search.py +162 -0
- package/assets/.agent/skills/using-neon/SKILL.md +84 -0
- package/assets/.agent/skills/vector-database-engineer/SKILL.md +60 -0
- package/assets/.agent/skills/vector-index-tuning/SKILL.md +42 -0
- package/assets/.agent/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
- package/assets/.agent/skills/vercel-deployment/SKILL.md +79 -0
- package/assets/.agent/skills/voice-agents/SKILL.md +68 -0
- package/assets/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/assets/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/assets/.agent/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-314.pyc +0 -0
- package/assets/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/assets/.agent/skills/whatsapp-automation/SKILL.md +214 -0
- package/assets/.agent/skills/wiki-architect/SKILL.md +60 -0
- package/assets/.agent/skills/wiki-onboarding/SKILL.md +77 -0
- package/assets/.agent/skills/wiki-page-writer/SKILL.md +65 -0
- package/assets/.agent/skills/wiki-researcher/SKILL.md +65 -0
- package/assets/.agent/skills/windows-privilege-escalation/SKILL.md +496 -0
- package/assets/.agent/skills/wireshark-analysis/SKILL.md +497 -0
- package/assets/.agent/skills/wordpress-penetration-testing/SKILL.md +485 -0
- package/assets/.agent/skills/workflow-automation/SKILL.md +68 -0
- package/assets/.agent/skills/xss-html-injection/SKILL.md +499 -0
- package/assets/.agent/skills/zapier-make-patterns/SKILL.md +67 -0
- package/assets/.agent/skills/zendesk-automation/SKILL.md +215 -0
- package/assets/.agent/workflows/ai-agent-builder.md +93 -0
- package/assets/.agent/workflows/api-graphql-dev.md +45 -0
- package/assets/.agent/workflows/architect.md +43 -0
- package/assets/.agent/workflows/backend-dev.md +43 -0
- package/assets/.agent/workflows/claude-code-dev.md +51 -0
- package/assets/.agent/workflows/cloud-deployer.md +422 -0
- package/assets/.agent/workflows/code-reviewer.md +62 -0
- package/assets/.agent/workflows/context-data-eng.md +58 -0
- package/assets/.agent/workflows/database-eng.md +60 -0
- package/assets/.agent/workflows/deep-researcher.md +175 -0
- package/assets/.agent/workflows/designer.md +36 -0
- package/assets/.agent/workflows/devops.md +37 -0
- package/assets/.agent/workflows/doc-writer.md +211 -0
- package/assets/.agent/workflows/frontend-dev.md +63 -0
- package/assets/.agent/workflows/fullstack-coder.md +141 -0
- package/assets/.agent/workflows/image-creator.md +186 -0
- package/assets/.agent/workflows/knowledge-guide.md +48 -0
- package/assets/.agent/workflows/leader.md +238 -0
- package/assets/.agent/workflows/meta-thinker.md +204 -0
- package/assets/.agent/workflows/mobile-dev.md +26 -0
- package/assets/.agent/workflows/n8n-automator.md +114 -0
- package/assets/.agent/workflows/nocobase-plugin-build.md +291 -0
- package/assets/.agent/workflows/nocobase-plugin-expert.md +250 -0
- package/assets/.agent/workflows/observability-eng.md +54 -0
- package/assets/.agent/workflows/planner.md +48 -0
- package/assets/.agent/workflows/prompt-engineer.md +303 -0
- package/assets/.agent/workflows/qa-engineer.md +65 -0
- package/assets/.agent/workflows/quality-guardian.md +126 -0
- package/assets/.agent/workflows/quickstart.md +107 -0
- package/assets/.agent/workflows/release-manager.md +56 -0
- package/assets/.agent/workflows/research-analyst.md +483 -0
- package/assets/.agent/workflows/researcher.md +98 -0
- package/assets/.agent/workflows/saas-connector.md +86 -0
- package/assets/.agent/workflows/security-auditor.md +82 -0
- package/assets/.agent/workflows/security-engineer.md +48 -0
- package/assets/.agent/workflows/seo-marketer.md +91 -0
- package/assets/.agent/workflows/seo-specialist.md +27 -0
- package/assets/.agent/workflows/solution-architect.md +164 -0
- package/assets/.agent/workflows/startup-advisor.md +94 -0
- package/assets/.agent/workflows/tech-writer.md +43 -0
- package/assets/ide-adapters/cline/architect.md +43 -0
- package/assets/ide-adapters/cline/backend-dev.md +43 -0
- package/assets/ide-adapters/cline/designer.md +36 -0
- package/assets/ide-adapters/cline/devops.md +37 -0
- package/assets/ide-adapters/cline/frontend-dev.md +63 -0
- package/assets/ide-adapters/cline/knowledge-guide.md +48 -0
- package/assets/ide-adapters/cline/leader.md +88 -0
- package/assets/ide-adapters/cline/meta-thinker.md +87 -0
- package/assets/ide-adapters/cline/mobile-dev.md +26 -0
- package/assets/ide-adapters/cline/planner.md +48 -0
- package/assets/ide-adapters/cline/qa-engineer.md +65 -0
- package/assets/ide-adapters/cline/security-engineer.md +48 -0
- package/assets/ide-adapters/cline/seo-specialist.md +27 -0
- package/assets/ide-adapters/cline/tech-writer.md +43 -0
- package/assets/ide-adapters/copilot/architect.instructions.md +43 -0
- package/assets/ide-adapters/copilot/backend-dev.instructions.md +43 -0
- package/assets/ide-adapters/copilot/designer.instructions.md +36 -0
- package/assets/ide-adapters/copilot/devops.instructions.md +37 -0
- package/assets/ide-adapters/copilot/frontend-dev.instructions.md +63 -0
- package/assets/ide-adapters/copilot/knowledge-guide.instructions.md +48 -0
- package/assets/ide-adapters/copilot/leader.instructions.md +88 -0
- package/assets/ide-adapters/copilot/meta-thinker.instructions.md +87 -0
- package/assets/ide-adapters/copilot/mobile-dev.instructions.md +26 -0
- package/assets/ide-adapters/copilot/planner.instructions.md +48 -0
- package/assets/ide-adapters/copilot/qa-engineer.instructions.md +65 -0
- package/assets/ide-adapters/copilot/security-engineer.instructions.md +48 -0
- package/assets/ide-adapters/copilot/seo-specialist.instructions.md +27 -0
- package/assets/ide-adapters/copilot/tech-writer.instructions.md +43 -0
- package/assets/ide-adapters/cursor/architect.mdc +44 -0
- package/assets/ide-adapters/cursor/backend-dev.mdc +44 -0
- package/assets/ide-adapters/cursor/designer.mdc +37 -0
- package/assets/ide-adapters/cursor/devops.mdc +38 -0
- package/assets/ide-adapters/cursor/frontend-dev.mdc +64 -0
- package/assets/ide-adapters/cursor/knowledge-guide.mdc +49 -0
- package/assets/ide-adapters/cursor/leader.mdc +89 -0
- package/assets/ide-adapters/cursor/meta-thinker.mdc +88 -0
- package/assets/ide-adapters/cursor/mobile-dev.mdc +27 -0
- package/assets/ide-adapters/cursor/planner.mdc +49 -0
- package/assets/ide-adapters/cursor/qa-engineer.mdc +66 -0
- package/assets/ide-adapters/cursor/security-engineer.mdc +49 -0
- package/assets/ide-adapters/cursor/seo-specialist.mdc +28 -0
- package/assets/ide-adapters/cursor/tech-writer.mdc +44 -0
- package/assets/ide-adapters/kilocode/architect.md +43 -0
- package/assets/ide-adapters/kilocode/backend-dev.md +43 -0
- package/assets/ide-adapters/kilocode/designer.md +36 -0
- package/assets/ide-adapters/kilocode/devops.md +37 -0
- package/assets/ide-adapters/kilocode/frontend-dev.md +63 -0
- package/assets/ide-adapters/kilocode/knowledge-guide.md +48 -0
- package/assets/ide-adapters/kilocode/leader.md +88 -0
- package/assets/ide-adapters/kilocode/meta-thinker.md +87 -0
- package/assets/ide-adapters/kilocode/mobile-dev.md +26 -0
- package/assets/ide-adapters/kilocode/planner.md +48 -0
- package/assets/ide-adapters/kilocode/qa-engineer.md +65 -0
- package/assets/ide-adapters/kilocode/security-engineer.md +48 -0
- package/assets/ide-adapters/kilocode/seo-specialist.md +27 -0
- package/assets/ide-adapters/kilocode/tech-writer.md +43 -0
- package/assets/ide-adapters/kiro/hooks/auto-lint.json +8 -0
- package/assets/ide-adapters/kiro/hooks/auto-test.json +8 -0
- package/assets/ide-adapters/kiro/specs/.gitkeep +0 -0
- package/assets/ide-adapters/kiro/steering/product.md +23 -0
- package/assets/ide-adapters/kiro/steering/structure.md +23 -0
- package/assets/ide-adapters/kiro/steering/tech.md +27 -0
- package/assets/ide-adapters/windsurf/architect.md +41 -0
- package/assets/ide-adapters/windsurf/backend-dev.md +41 -0
- package/assets/ide-adapters/windsurf/designer.md +34 -0
- package/assets/ide-adapters/windsurf/devops.md +35 -0
- package/assets/ide-adapters/windsurf/frontend-dev.md +61 -0
- package/assets/ide-adapters/windsurf/knowledge-guide.md +46 -0
- package/assets/ide-adapters/windsurf/leader.md +86 -0
- package/assets/ide-adapters/windsurf/meta-thinker.md +85 -0
- package/assets/ide-adapters/windsurf/mobile-dev.md +24 -0
- package/assets/ide-adapters/windsurf/planner.md +46 -0
- package/assets/ide-adapters/windsurf/qa-engineer.md +63 -0
- package/assets/ide-adapters/windsurf/security-engineer.md +46 -0
- package/assets/ide-adapters/windsurf/seo-specialist.md +25 -0
- package/assets/ide-adapters/windsurf/tech-writer.md +41 -0
- package/assets/skill_groups.json +574 -0
- package/bin/cli.js +101 -0
- package/lib/commands.js +133 -0
- package/lib/constants.js +76 -0
- package/lib/download.js +165 -0
- package/lib/init.js +294 -0
- package/package.json +45 -0
- package/scripts/build-assets.js +177 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nodejs-best-practices
|
|
3
|
+
description: Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Node.js Best Practices
|
|
8
|
+
|
|
9
|
+
> Principles and decision-making for Node.js development in 2025.
|
|
10
|
+
> **Learn to THINK, not memorize code patterns.**
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## ⚠️ How to Use This Skill
|
|
15
|
+
|
|
16
|
+
This skill teaches **decision-making principles**, not fixed code to copy.
|
|
17
|
+
|
|
18
|
+
- ASK user for preferences when unclear
|
|
19
|
+
- Choose framework/pattern based on CONTEXT
|
|
20
|
+
- Don't default to same solution every time
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Framework Selection (2025)
|
|
25
|
+
|
|
26
|
+
### Decision Tree
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
What are you building?
|
|
30
|
+
│
|
|
31
|
+
├── Edge/Serverless (Cloudflare, Vercel)
|
|
32
|
+
│ └── Hono (zero-dependency, ultra-fast cold starts)
|
|
33
|
+
│
|
|
34
|
+
├── High Performance API
|
|
35
|
+
│ └── Fastify (2-3x faster than Express)
|
|
36
|
+
│
|
|
37
|
+
├── Enterprise/Team familiarity
|
|
38
|
+
│ └── NestJS (structured, DI, decorators)
|
|
39
|
+
│
|
|
40
|
+
├── Legacy/Stable/Maximum ecosystem
|
|
41
|
+
│ └── Express (mature, most middleware)
|
|
42
|
+
│
|
|
43
|
+
└── Full-stack with frontend
|
|
44
|
+
└── Next.js API Routes or tRPC
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Comparison Principles
|
|
48
|
+
|
|
49
|
+
| Factor | Hono | Fastify | Express |
|
|
50
|
+
|--------|------|---------|---------|
|
|
51
|
+
| **Best for** | Edge, serverless | Performance | Legacy, learning |
|
|
52
|
+
| **Cold start** | Fastest | Fast | Moderate |
|
|
53
|
+
| **Ecosystem** | Growing | Good | Largest |
|
|
54
|
+
| **TypeScript** | Native | Excellent | Good |
|
|
55
|
+
| **Learning curve** | Low | Medium | Low |
|
|
56
|
+
|
|
57
|
+
### Selection Questions to Ask:
|
|
58
|
+
1. What's the deployment target?
|
|
59
|
+
2. Is cold start time critical?
|
|
60
|
+
3. Does team have existing experience?
|
|
61
|
+
4. Is there legacy code to maintain?
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 2. Runtime Considerations (2025)
|
|
66
|
+
|
|
67
|
+
### Native TypeScript
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Node.js 22+: --experimental-strip-types
|
|
71
|
+
├── Run .ts files directly
|
|
72
|
+
├── No build step needed for simple projects
|
|
73
|
+
└── Consider for: scripts, simple APIs
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Module System Decision
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
ESM (import/export)
|
|
80
|
+
├── Modern standard
|
|
81
|
+
├── Better tree-shaking
|
|
82
|
+
├── Async module loading
|
|
83
|
+
└── Use for: new projects
|
|
84
|
+
|
|
85
|
+
CommonJS (require)
|
|
86
|
+
├── Legacy compatibility
|
|
87
|
+
├── More npm packages support
|
|
88
|
+
└── Use for: existing codebases, some edge cases
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Runtime Selection
|
|
92
|
+
|
|
93
|
+
| Runtime | Best For |
|
|
94
|
+
|---------|----------|
|
|
95
|
+
| **Node.js** | General purpose, largest ecosystem |
|
|
96
|
+
| **Bun** | Performance, built-in bundler |
|
|
97
|
+
| **Deno** | Security-first, built-in TypeScript |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 3. Architecture Principles
|
|
102
|
+
|
|
103
|
+
### Layered Structure Concept
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Request Flow:
|
|
107
|
+
│
|
|
108
|
+
├── Controller/Route Layer
|
|
109
|
+
│ ├── Handles HTTP specifics
|
|
110
|
+
│ ├── Input validation at boundary
|
|
111
|
+
│ └── Calls service layer
|
|
112
|
+
│
|
|
113
|
+
├── Service Layer
|
|
114
|
+
│ ├── Business logic
|
|
115
|
+
│ ├── Framework-agnostic
|
|
116
|
+
│ └── Calls repository layer
|
|
117
|
+
│
|
|
118
|
+
└── Repository Layer
|
|
119
|
+
├── Data access only
|
|
120
|
+
├── Database queries
|
|
121
|
+
└── ORM interactions
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Why This Matters:
|
|
125
|
+
- **Testability**: Mock layers independently
|
|
126
|
+
- **Flexibility**: Swap database without touching business logic
|
|
127
|
+
- **Clarity**: Each layer has single responsibility
|
|
128
|
+
|
|
129
|
+
### When to Simplify:
|
|
130
|
+
- Small scripts → Single file OK
|
|
131
|
+
- Prototypes → Less structure acceptable
|
|
132
|
+
- Always ask: "Will this grow?"
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 4. Error Handling Principles
|
|
137
|
+
|
|
138
|
+
### Centralized Error Handling
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Pattern:
|
|
142
|
+
├── Create custom error classes
|
|
143
|
+
├── Throw from any layer
|
|
144
|
+
├── Catch at top level (middleware)
|
|
145
|
+
└── Format consistent response
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Error Response Philosophy
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
Client gets:
|
|
152
|
+
├── Appropriate HTTP status
|
|
153
|
+
├── Error code for programmatic handling
|
|
154
|
+
├── User-friendly message
|
|
155
|
+
└── NO internal details (security!)
|
|
156
|
+
|
|
157
|
+
Logs get:
|
|
158
|
+
├── Full stack trace
|
|
159
|
+
├── Request context
|
|
160
|
+
├── User ID (if applicable)
|
|
161
|
+
└── Timestamp
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Status Code Selection
|
|
165
|
+
|
|
166
|
+
| Situation | Status | When |
|
|
167
|
+
|-----------|--------|------|
|
|
168
|
+
| Bad input | 400 | Client sent invalid data |
|
|
169
|
+
| No auth | 401 | Missing or invalid credentials |
|
|
170
|
+
| No permission | 403 | Valid auth, but not allowed |
|
|
171
|
+
| Not found | 404 | Resource doesn't exist |
|
|
172
|
+
| Conflict | 409 | Duplicate or state conflict |
|
|
173
|
+
| Validation | 422 | Schema valid but business rules fail |
|
|
174
|
+
| Server error | 500 | Our fault, log everything |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 5. Async Patterns Principles
|
|
179
|
+
|
|
180
|
+
### When to Use Each
|
|
181
|
+
|
|
182
|
+
| Pattern | Use When |
|
|
183
|
+
|---------|----------|
|
|
184
|
+
| `async/await` | Sequential async operations |
|
|
185
|
+
| `Promise.all` | Parallel independent operations |
|
|
186
|
+
| `Promise.allSettled` | Parallel where some can fail |
|
|
187
|
+
| `Promise.race` | Timeout or first response wins |
|
|
188
|
+
|
|
189
|
+
### Event Loop Awareness
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
I/O-bound (async helps):
|
|
193
|
+
├── Database queries
|
|
194
|
+
├── HTTP requests
|
|
195
|
+
├── File system
|
|
196
|
+
└── Network operations
|
|
197
|
+
|
|
198
|
+
CPU-bound (async doesn't help):
|
|
199
|
+
├── Crypto operations
|
|
200
|
+
├── Image processing
|
|
201
|
+
├── Complex calculations
|
|
202
|
+
└── → Use worker threads or offload
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Avoiding Event Loop Blocking
|
|
206
|
+
|
|
207
|
+
- Never use sync methods in production (fs.readFileSync, etc.)
|
|
208
|
+
- Offload CPU-intensive work
|
|
209
|
+
- Use streaming for large data
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 6. Validation Principles
|
|
214
|
+
|
|
215
|
+
### Validate at Boundaries
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
Where to validate:
|
|
219
|
+
├── API entry point (request body/params)
|
|
220
|
+
├── Before database operations
|
|
221
|
+
├── External data (API responses, file uploads)
|
|
222
|
+
└── Environment variables (startup)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Validation Library Selection
|
|
226
|
+
|
|
227
|
+
| Library | Best For |
|
|
228
|
+
|---------|----------|
|
|
229
|
+
| **Zod** | TypeScript first, inference |
|
|
230
|
+
| **Valibot** | Smaller bundle (tree-shakeable) |
|
|
231
|
+
| **ArkType** | Performance critical |
|
|
232
|
+
| **Yup** | Existing React Form usage |
|
|
233
|
+
|
|
234
|
+
### Validation Philosophy
|
|
235
|
+
|
|
236
|
+
- Fail fast: Validate early
|
|
237
|
+
- Be specific: Clear error messages
|
|
238
|
+
- Don't trust: Even "internal" data
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## 7. Security Principles
|
|
243
|
+
|
|
244
|
+
### Security Checklist (Not Code)
|
|
245
|
+
|
|
246
|
+
- [ ] **Input validation**: All inputs validated
|
|
247
|
+
- [ ] **Parameterized queries**: No string concatenation for SQL
|
|
248
|
+
- [ ] **Password hashing**: bcrypt or argon2
|
|
249
|
+
- [ ] **JWT verification**: Always verify signature and expiry
|
|
250
|
+
- [ ] **Rate limiting**: Protect from abuse
|
|
251
|
+
- [ ] **Security headers**: Helmet.js or equivalent
|
|
252
|
+
- [ ] **HTTPS**: Everywhere in production
|
|
253
|
+
- [ ] **CORS**: Properly configured
|
|
254
|
+
- [ ] **Secrets**: Environment variables only
|
|
255
|
+
- [ ] **Dependencies**: Regularly audited
|
|
256
|
+
|
|
257
|
+
### Security Mindset
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
Trust nothing:
|
|
261
|
+
├── Query params → validate
|
|
262
|
+
├── Request body → validate
|
|
263
|
+
├── Headers → verify
|
|
264
|
+
├── Cookies → validate
|
|
265
|
+
├── File uploads → scan
|
|
266
|
+
└── External APIs → validate response
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 8. Testing Principles
|
|
272
|
+
|
|
273
|
+
### Test Strategy Selection
|
|
274
|
+
|
|
275
|
+
| Type | Purpose | Tools |
|
|
276
|
+
|------|---------|-------|
|
|
277
|
+
| **Unit** | Business logic | node:test, Vitest |
|
|
278
|
+
| **Integration** | API endpoints | Supertest |
|
|
279
|
+
| **E2E** | Full flows | Playwright |
|
|
280
|
+
|
|
281
|
+
### What to Test (Priorities)
|
|
282
|
+
|
|
283
|
+
1. **Critical paths**: Auth, payments, core business
|
|
284
|
+
2. **Edge cases**: Empty inputs, boundaries
|
|
285
|
+
3. **Error handling**: What happens when things fail?
|
|
286
|
+
4. **Not worth testing**: Framework code, trivial getters
|
|
287
|
+
|
|
288
|
+
### Built-in Test Runner (Node.js 22+)
|
|
289
|
+
|
|
290
|
+
```
|
|
291
|
+
node --test src/**/*.test.ts
|
|
292
|
+
├── No external dependency
|
|
293
|
+
├── Good coverage reporting
|
|
294
|
+
└── Watch mode available
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 10. Anti-Patterns to Avoid
|
|
300
|
+
|
|
301
|
+
### ❌ DON'T:
|
|
302
|
+
- Use Express for new edge projects (use Hono)
|
|
303
|
+
- Use sync methods in production code
|
|
304
|
+
- Put business logic in controllers
|
|
305
|
+
- Skip input validation
|
|
306
|
+
- Hardcode secrets
|
|
307
|
+
- Trust external data without validation
|
|
308
|
+
- Block event loop with CPU work
|
|
309
|
+
|
|
310
|
+
### ✅ DO:
|
|
311
|
+
- Choose framework based on context
|
|
312
|
+
- Ask user for preferences when unclear
|
|
313
|
+
- Use layered architecture for growing projects
|
|
314
|
+
- Validate all inputs
|
|
315
|
+
- Use environment variables for secrets
|
|
316
|
+
- Profile before optimizing
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 11. Decision Checklist
|
|
321
|
+
|
|
322
|
+
Before implementing:
|
|
323
|
+
|
|
324
|
+
- [ ] **Asked user about stack preference?**
|
|
325
|
+
- [ ] **Chosen framework for THIS context?** (not just default)
|
|
326
|
+
- [ ] **Considered deployment target?**
|
|
327
|
+
- [ ] **Planned error handling strategy?**
|
|
328
|
+
- [ ] **Identified validation points?**
|
|
329
|
+
- [ ] **Considered security requirements?**
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
> **Remember**: Node.js best practices are about decision-making, not memorizing patterns. Every project deserves fresh consideration based on its requirements.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nosql-expert
|
|
3
|
+
description: "Expert guidance for distributed NoSQL databases (Cassandra, DynamoDB). Focuses on mental models, query-first modeling, single-table design, and avoiding hot partitions in high-scale systems."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# NoSQL Expert Patterns (Cassandra & DynamoDB)
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill provides professional mental models and design patterns for **distributed wide-column and key-value stores** (specifically Apache Cassandra and Amazon DynamoDB).
|
|
11
|
+
|
|
12
|
+
Unlike SQL (where you model data entities), or document stores (like MongoDB), these distributed systems require you to **model your queries first**.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- **Designing for Scale**: Moving beyond simple single-node databases to distributed clusters.
|
|
17
|
+
- **Technology Selection**: Evaluating or using **Cassandra**, **ScyllaDB**, or **DynamoDB**.
|
|
18
|
+
- **Performance Tuning**: Troubleshooting "hot partitions" or high latency in existing NoSQL systems.
|
|
19
|
+
- **Microservices**: Implementing "database-per-service" patterns where highly optimized reads are required.
|
|
20
|
+
|
|
21
|
+
## The Mental Shift: SQL vs. Distributed NoSQL
|
|
22
|
+
|
|
23
|
+
| Feature | SQL (Relational) | Distributed NoSQL (Cassandra/DynamoDB) |
|
|
24
|
+
| :--- | :--- | :--- |
|
|
25
|
+
| **Data modeling** | Model Entities + Relationships | Model **Queries** (Access Patterns) |
|
|
26
|
+
| **Joins** | CPU-intensive, at read time | **Pre-computed** (Denormalized) at write time |
|
|
27
|
+
| **Storage cost** | Expensive (minimize duplication) | Cheap (duplicate data for read speed) |
|
|
28
|
+
| **Consistency** | ACID (Strong) | **BASE (Eventual)** / Tunable |
|
|
29
|
+
| **Scalability** | Vertical (Bigger machine) | **Horizontal** (More nodes/shards) |
|
|
30
|
+
|
|
31
|
+
> **The Golden Rule:** In SQL, you design the data model to answer *any* query. In NoSQL, you design the data model to answer *specific* queries efficiently.
|
|
32
|
+
|
|
33
|
+
## Core Design Patterns
|
|
34
|
+
|
|
35
|
+
### 1. Query-First Modeling (Access Patterns)
|
|
36
|
+
|
|
37
|
+
You typically cannot "add a query later" without migration or creating a new table/index.
|
|
38
|
+
|
|
39
|
+
**Process:**
|
|
40
|
+
1. **List all Entities** (User, Order, Product).
|
|
41
|
+
2. **List all Access Patterns** ("Get User by Email", "Get Orders by User sorted by Date").
|
|
42
|
+
3. **Design Table(s)** specifically to serve those patterns with a single lookup.
|
|
43
|
+
|
|
44
|
+
### 2. The Partition Key is King
|
|
45
|
+
|
|
46
|
+
Data is distributed across physical nodes based on the **Partition Key (PK)**.
|
|
47
|
+
- **Goal:** Even distribution of data and traffic.
|
|
48
|
+
- **Anti-Pattern:** Using a low-cardinality PK (e.g., `status="active"` or `gender="m"`) creates **Hot Partitions**, limiting throughput to a single node's capacity.
|
|
49
|
+
- **Best Practice:** Use high-cardinality keys (User IDs, Device IDs, Composite Keys).
|
|
50
|
+
|
|
51
|
+
### 3. Clustering / Sort Keys
|
|
52
|
+
|
|
53
|
+
Within a partition, data is sorted on disk by the **Clustering Key (Cassandra)** or **Sort Key (DynamoDB)**.
|
|
54
|
+
- This allows for efficient **Range Queries** (e.g., `WHERE user_id=X AND date > Y`).
|
|
55
|
+
- It effectively pre-sorts your data for specific retrieval requirements.
|
|
56
|
+
|
|
57
|
+
### 4. Single-Table Design (Adjacency Lists)
|
|
58
|
+
|
|
59
|
+
*Primary use: DynamoDB (but concepts apply elsewhere)*
|
|
60
|
+
|
|
61
|
+
Storing multiple entity types in one table to enable pre-joined reads.
|
|
62
|
+
|
|
63
|
+
| PK (Partition) | SK (Sort) | Data Fields... |
|
|
64
|
+
| :--- | :--- | :--- |
|
|
65
|
+
| `USER#123` | `PROFILE` | `{ name: "Ian", email: "..." }` |
|
|
66
|
+
| `USER#123` | `ORDER#998` | `{ total: 50.00, status: "shipped" }` |
|
|
67
|
+
| `USER#123` | `ORDER#999` | `{ total: 12.00, status: "pending" }` |
|
|
68
|
+
|
|
69
|
+
- **Query:** `PK="USER#123"`
|
|
70
|
+
- **Result:** Fetches User Profile AND all Orders in **one network request**.
|
|
71
|
+
|
|
72
|
+
### 5. Denormalization & Duplication
|
|
73
|
+
|
|
74
|
+
Don't be afraid to store the same data in multiple tables to serve different query patterns.
|
|
75
|
+
- **Table A:** `users_by_id` (PK: uuid)
|
|
76
|
+
- **Table B:** `users_by_email` (PK: email)
|
|
77
|
+
|
|
78
|
+
*Trade-off: You must manage data consistency across tables (often using eventual consistency or batch writes).*
|
|
79
|
+
|
|
80
|
+
## Specific Guidance
|
|
81
|
+
|
|
82
|
+
### Apache Cassandra / ScyllaDB
|
|
83
|
+
|
|
84
|
+
- **Primary Key Structure:** `((Partition Key), Clustering Columns)`
|
|
85
|
+
- **No Joins, No Aggregates:** Do not try to `JOIN` or `GROUP BY`. Pre-calculate aggregates in a separate counter table.
|
|
86
|
+
- **Avoid `ALLOW FILTERING`:** If you see this in production, your data model is wrong. It implies a full cluster scan.
|
|
87
|
+
- **Writes are Cheap:** Inserts and Updates are just appends to the LSM tree. Don't worry about write volume as much as read efficiency.
|
|
88
|
+
- **Tombstones:** Deletes are expensive markers. Avoid high-velocity delete patterns (like queues) in standard tables.
|
|
89
|
+
|
|
90
|
+
### AWS DynamoDB
|
|
91
|
+
|
|
92
|
+
- **GSI (Global Secondary Index):** Use GSIs to create alternative views of your data (e.g., "Search Orders by Date" instead of by User).
|
|
93
|
+
- *Note:* GSIs are eventually consistent.
|
|
94
|
+
- **LSI (Local Secondary Index):** Sorts data differently *within* the same partition. Must be created at table creation time.
|
|
95
|
+
- **WCU / RCU:** Understand capacity modes. Single-table design helps optimize consumed capacity units.
|
|
96
|
+
- **TTL:** Use Time-To-Live attributes to automatically expire old data (free delete) without creating tombstones.
|
|
97
|
+
|
|
98
|
+
## Expert Checklist
|
|
99
|
+
|
|
100
|
+
Before finalizing your NoSQL schema:
|
|
101
|
+
|
|
102
|
+
- [ ] **Access Pattern Coverage:** Does every query pattern map to a specific table or index?
|
|
103
|
+
- [ ] **Cardinality Check:** Does the Partition Key have enough unique values to spread traffic evenly?
|
|
104
|
+
- [ ] **Split Partition Risk:** For any single partition (e.g., a single user's orders), will it grow indefinitely? (If > 10GB, you need to "shard" the partition, e.g., `USER#123#2024-01`).
|
|
105
|
+
- [ ] **Consistency Requirement:** Can the application tolerate eventual consistency for this read pattern?
|
|
106
|
+
|
|
107
|
+
## Common Anti-Patterns
|
|
108
|
+
|
|
109
|
+
❌ **Scatter-Gather:** Querying *all* partitions to find one item (Scan).
|
|
110
|
+
❌ **Hot Keys:** Putting all "Monday" data into one partition.
|
|
111
|
+
❌ **Relational Modeling:** Creating `Author` and `Book` tables and trying to join them in code. (Instead, embed Book summaries in Author, or duplicate Author info in Books).
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: notion-automation
|
|
3
|
+
description: "Automate Notion tasks via Rube MCP (Composio): pages, databases, blocks, comments, users. Always search tools first for current schemas."
|
|
4
|
+
requires:
|
|
5
|
+
mcp: [rube]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Notion Automation via Rube MCP
|
|
9
|
+
|
|
10
|
+
Automate Notion operations through Composio's Notion toolkit via Rube MCP.
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
|
|
15
|
+
- Active Notion connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `notion`
|
|
16
|
+
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
|
|
24
|
+
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `notion`
|
|
25
|
+
3. If connection is not ACTIVE, follow the returned auth link to complete Notion OAuth
|
|
26
|
+
4. Confirm connection status shows ACTIVE before running any workflows
|
|
27
|
+
|
|
28
|
+
## Core Workflows
|
|
29
|
+
|
|
30
|
+
### 1. Create and Manage Pages
|
|
31
|
+
|
|
32
|
+
**When to use**: User wants to create, update, or archive Notion pages
|
|
33
|
+
|
|
34
|
+
**Tool sequence**:
|
|
35
|
+
1. `NOTION_SEARCH_NOTION_PAGE` - Find parent page or existing page [Prerequisite]
|
|
36
|
+
2. `NOTION_CREATE_NOTION_PAGE` - Create a new page under a parent [Optional]
|
|
37
|
+
3. `NOTION_RETRIEVE_PAGE` - Get page metadata/properties [Optional]
|
|
38
|
+
4. `NOTION_UPDATE_PAGE` - Update page properties, title, icon, cover [Optional]
|
|
39
|
+
5. `NOTION_ARCHIVE_NOTION_PAGE` - Soft-delete (archive) a page [Optional]
|
|
40
|
+
|
|
41
|
+
**Key parameters**:
|
|
42
|
+
- `query`: Search text for SEARCH_NOTION_PAGE
|
|
43
|
+
- `parent_id`: Parent page or database ID
|
|
44
|
+
- `page_id`: Page ID for retrieval/update/archive
|
|
45
|
+
- `properties`: Page property values matching parent schema
|
|
46
|
+
|
|
47
|
+
**Pitfalls**:
|
|
48
|
+
- RETRIEVE_PAGE returns only metadata/properties, NOT body content; use FETCH_BLOCK_CONTENTS for page body
|
|
49
|
+
- ARCHIVE_NOTION_PAGE is a soft-delete (sets archived=true), not permanent deletion
|
|
50
|
+
- Broad searches can look incomplete unless has_more/next_cursor is fully paginated
|
|
51
|
+
|
|
52
|
+
### 2. Query and Manage Databases
|
|
53
|
+
|
|
54
|
+
**When to use**: User wants to query database rows, insert entries, or update records
|
|
55
|
+
|
|
56
|
+
**Tool sequence**:
|
|
57
|
+
1. `NOTION_SEARCH_NOTION_PAGE` - Find the database by name [Prerequisite]
|
|
58
|
+
2. `NOTION_FETCH_DATABASE` - Inspect schema and properties [Prerequisite]
|
|
59
|
+
3. `NOTION_QUERY_DATABASE` / `NOTION_QUERY_DATABASE_WITH_FILTER` - Query rows [Required]
|
|
60
|
+
4. `NOTION_INSERT_ROW_DATABASE` - Add new entries [Optional]
|
|
61
|
+
5. `NOTION_UPDATE_ROW_DATABASE` - Update existing entries [Optional]
|
|
62
|
+
|
|
63
|
+
**Key parameters**:
|
|
64
|
+
- `database_id`: Database ID (from search or URL)
|
|
65
|
+
- `filter`: Filter object matching Notion filter syntax
|
|
66
|
+
- `sorts`: Array of sort objects
|
|
67
|
+
- `start_cursor`: Pagination cursor from previous response
|
|
68
|
+
- `properties`: Property values matching database schema for inserts/updates
|
|
69
|
+
|
|
70
|
+
**Pitfalls**:
|
|
71
|
+
- 404 object_not_found usually means wrong database_id or the database is not shared with the integration
|
|
72
|
+
- Results are paginated; ignoring has_more/next_cursor silently truncates reads
|
|
73
|
+
- Schema mismatches or missing required properties cause 400 validation_error
|
|
74
|
+
- Formula and read-only fields cannot be set via INSERT_ROW_DATABASE
|
|
75
|
+
- Property names in filters must match schema exactly (case-sensitive)
|
|
76
|
+
|
|
77
|
+
### 3. Manage Blocks and Page Content
|
|
78
|
+
|
|
79
|
+
**When to use**: User wants to read, append, or modify content blocks in a page
|
|
80
|
+
|
|
81
|
+
**Tool sequence**:
|
|
82
|
+
1. `NOTION_FETCH_BLOCK_CONTENTS` - Read child blocks of a page [Required]
|
|
83
|
+
2. `NOTION_ADD_MULTIPLE_PAGE_CONTENT` - Append blocks to a page [Optional]
|
|
84
|
+
3. `NOTION_APPEND_TEXT_BLOCKS` - Append text-only blocks [Optional]
|
|
85
|
+
4. `NOTION_REPLACE_PAGE_CONTENT` - Replace all page content [Optional]
|
|
86
|
+
5. `NOTION_DELETE_BLOCK` - Remove a specific block [Optional]
|
|
87
|
+
|
|
88
|
+
**Key parameters**:
|
|
89
|
+
- `block_id` / `page_id`: Target page or block ID
|
|
90
|
+
- `content_blocks`: Array of block objects (NOT child_blocks)
|
|
91
|
+
- `text`: Plain text content for APPEND_TEXT_BLOCKS
|
|
92
|
+
|
|
93
|
+
**Pitfalls**:
|
|
94
|
+
- Use `content_blocks` parameter, NOT `child_blocks` -- the latter fails validation
|
|
95
|
+
- ADD_MULTIPLE_PAGE_CONTENT fails on archived pages; unarchive via UPDATE_PAGE first
|
|
96
|
+
- Created blocks are in response.data.results; persist block IDs for later edits
|
|
97
|
+
- DELETE_BLOCK is archival (archived=true), not permanent deletion
|
|
98
|
+
|
|
99
|
+
### 4. Manage Database Schema
|
|
100
|
+
|
|
101
|
+
**When to use**: User wants to create databases or modify their structure
|
|
102
|
+
|
|
103
|
+
**Tool sequence**:
|
|
104
|
+
1. `NOTION_FETCH_DATABASE` - Inspect current schema [Prerequisite]
|
|
105
|
+
2. `NOTION_CREATE_DATABASE` - Create a new database [Optional]
|
|
106
|
+
3. `NOTION_UPDATE_SCHEMA_DATABASE` - Modify database properties [Optional]
|
|
107
|
+
|
|
108
|
+
**Key parameters**:
|
|
109
|
+
- `parent_id`: Parent page ID for new databases
|
|
110
|
+
- `title`: Database title
|
|
111
|
+
- `properties`: Property definitions with types and options
|
|
112
|
+
- `database_id`: Database ID for schema updates
|
|
113
|
+
|
|
114
|
+
**Pitfalls**:
|
|
115
|
+
- Cannot change property types via UPDATE_SCHEMA; must create new property and migrate data
|
|
116
|
+
- Formula, rollup, and relation properties have complex configuration requirements
|
|
117
|
+
|
|
118
|
+
### 5. Manage Users and Comments
|
|
119
|
+
|
|
120
|
+
**When to use**: User wants to list workspace users or manage comments on pages
|
|
121
|
+
|
|
122
|
+
**Tool sequence**:
|
|
123
|
+
1. `NOTION_LIST_USERS` - List all workspace users [Optional]
|
|
124
|
+
2. `NOTION_GET_ABOUT_ME` - Get current authenticated user [Optional]
|
|
125
|
+
3. `NOTION_CREATE_COMMENT` - Add a comment to a page [Optional]
|
|
126
|
+
4. `NOTION_FETCH_COMMENTS` - List comments on a page [Optional]
|
|
127
|
+
|
|
128
|
+
**Key parameters**:
|
|
129
|
+
- `page_id`: Page ID for comments (also called `discussion_id`)
|
|
130
|
+
- `rich_text`: Comment content as rich text array
|
|
131
|
+
|
|
132
|
+
**Pitfalls**:
|
|
133
|
+
- Comments are linked to pages, not individual blocks
|
|
134
|
+
- User IDs from LIST_USERS are needed for people-type property filters
|
|
135
|
+
|
|
136
|
+
## Common Patterns
|
|
137
|
+
|
|
138
|
+
### ID Resolution
|
|
139
|
+
|
|
140
|
+
**Page/Database name -> ID**:
|
|
141
|
+
```
|
|
142
|
+
1. Call NOTION_SEARCH_NOTION_PAGE with query=name
|
|
143
|
+
2. Paginate with has_more/next_cursor until found
|
|
144
|
+
3. Extract id from matching result
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Database schema inspection**:
|
|
148
|
+
```
|
|
149
|
+
1. Call NOTION_FETCH_DATABASE with database_id
|
|
150
|
+
2. Extract properties object for field names and types
|
|
151
|
+
3. Use exact property names in queries and inserts
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Pagination
|
|
155
|
+
|
|
156
|
+
- Set `page_size` for results per page (max 100)
|
|
157
|
+
- Check response for `has_more` boolean
|
|
158
|
+
- Pass `start_cursor` or `next_cursor` in next request
|
|
159
|
+
- Continue until `has_more` is false
|
|
160
|
+
|
|
161
|
+
### Notion Filter Syntax
|
|
162
|
+
|
|
163
|
+
**Single filter**:
|
|
164
|
+
```json
|
|
165
|
+
{"property": "Status", "select": {"equals": "Done"}}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Compound filter**:
|
|
169
|
+
```json
|
|
170
|
+
{"and": [
|
|
171
|
+
{"property": "Status", "select": {"equals": "In Progress"}},
|
|
172
|
+
{"property": "Assignee", "people": {"contains": "user-id"}}
|
|
173
|
+
]}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Known Pitfalls
|
|
177
|
+
|
|
178
|
+
**Integration Sharing**:
|
|
179
|
+
- Pages and databases must be shared with the Notion integration to be accessible
|
|
180
|
+
- Title queries can return 0 when the item is not shared with the integration
|
|
181
|
+
|
|
182
|
+
**Property Types**:
|
|
183
|
+
- Property names are case-sensitive and must match schema exactly
|
|
184
|
+
- Formula, rollup, and created_time fields are read-only
|
|
185
|
+
- Select/multi-select values must match existing options unless creating new ones
|
|
186
|
+
|
|
187
|
+
**Response Parsing**:
|
|
188
|
+
- Response data may be nested under `data_preview` or `data.results`
|
|
189
|
+
- Parse defensively with fallbacks for different nesting levels
|
|
190
|
+
|
|
191
|
+
## Quick Reference
|
|
192
|
+
|
|
193
|
+
| Task | Tool Slug | Key Params |
|
|
194
|
+
|------|-----------|------------|
|
|
195
|
+
| Search pages/databases | NOTION_SEARCH_NOTION_PAGE | query |
|
|
196
|
+
| Create page | NOTION_CREATE_NOTION_PAGE | parent_id, properties |
|
|
197
|
+
| Get page metadata | NOTION_RETRIEVE_PAGE | page_id |
|
|
198
|
+
| Update page | NOTION_UPDATE_PAGE | page_id, properties |
|
|
199
|
+
| Archive page | NOTION_ARCHIVE_NOTION_PAGE | page_id |
|
|
200
|
+
| Duplicate page | NOTION_DUPLICATE_PAGE | page_id |
|
|
201
|
+
| Get page blocks | NOTION_FETCH_BLOCK_CONTENTS | block_id |
|
|
202
|
+
| Append blocks | NOTION_ADD_MULTIPLE_PAGE_CONTENT | page_id, content_blocks |
|
|
203
|
+
| Append text | NOTION_APPEND_TEXT_BLOCKS | page_id, text |
|
|
204
|
+
| Replace content | NOTION_REPLACE_PAGE_CONTENT | page_id, content_blocks |
|
|
205
|
+
| Delete block | NOTION_DELETE_BLOCK | block_id |
|
|
206
|
+
| Query database | NOTION_QUERY_DATABASE | database_id, filter, sorts |
|
|
207
|
+
| Query with filter | NOTION_QUERY_DATABASE_WITH_FILTER | database_id, filter |
|
|
208
|
+
| Insert row | NOTION_INSERT_ROW_DATABASE | database_id, properties |
|
|
209
|
+
| Update row | NOTION_UPDATE_ROW_DATABASE | page_id, properties |
|
|
210
|
+
| Get database schema | NOTION_FETCH_DATABASE | database_id |
|
|
211
|
+
| Create database | NOTION_CREATE_DATABASE | parent_id, title, properties |
|
|
212
|
+
| Update schema | NOTION_UPDATE_SCHEMA_DATABASE | database_id, properties |
|
|
213
|
+
| List users | NOTION_LIST_USERS | (none) |
|
|
214
|
+
| Create comment | NOTION_CREATE_COMMENT | page_id, rich_text |
|
|
215
|
+
| List comments | NOTION_FETCH_COMMENTS | page_id |
|