@thanhthi2895/luna-ai 2.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -0
- package/agentic/antigravity/.agents/GEMINI.md +123 -0
- package/agentic/antigravity/.agents/rules/brainstormer.md +104 -0
- package/agentic/antigravity/.agents/rules/code-reviewer.md +154 -0
- package/agentic/antigravity/.agents/rules/code-simplifier.md +80 -0
- package/agentic/antigravity/.agents/rules/code-style.md +12 -0
- package/agentic/antigravity/.agents/rules/debugger.md +106 -0
- package/agentic/antigravity/.agents/rules/development-rules.md +39 -0
- package/agentic/antigravity/.agents/rules/docs-manager.md +220 -0
- package/agentic/antigravity/.agents/rules/documentation-management.md +121 -0
- package/agentic/antigravity/.agents/rules/fullstack-developer.md +104 -0
- package/agentic/antigravity/.agents/rules/git-manager.md +19 -0
- package/agentic/antigravity/.agents/rules/orchestration-protocol.md +43 -0
- package/agentic/antigravity/.agents/rules/planner.md +209 -0
- package/agentic/antigravity/.agents/rules/primary-workflow.md +36 -0
- package/agentic/antigravity/.agents/rules/project-manager.md +34 -0
- package/agentic/antigravity/.agents/rules/researcher.md +175 -0
- package/agentic/antigravity/.agents/rules/team-coordination-rules.md +90 -0
- package/agentic/antigravity/.agents/rules/tester.md +124 -0
- package/agentic/antigravity/.agents/rules/ui-ux-designer.md +253 -0
- package/agentic/antigravity/.agents/scripts/set-active-plan.cjs +91 -0
- package/agentic/antigravity/.agents/skills/ai-artist/SKILL.md +122 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/awesome-prompts.csv +3592 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/lighting.csv +19 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/nano-banana-templates.csv +17 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/platforms.csv +11 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/styles.csv +26 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/techniques.csv +19 -0
- package/agentic/antigravity/.agents/skills/ai-artist/data/use-cases.csv +16 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/domain-code.md +66 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/domain-data.md +72 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/domain-marketing.md +66 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/domain-patterns.md +33 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/domain-writing.md +68 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/image-prompting.md +141 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/llm-prompting.md +165 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/nano-banana.md +136 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/agentic/antigravity/.agents/skills/ai-artist/references/validation-workflow.md +117 -0
- package/agentic/antigravity/.agents/skills/ai-artist/scripts/core.py +197 -0
- package/agentic/antigravity/.agents/skills/ai-artist/scripts/extract_prompts.py +102 -0
- package/agentic/antigravity/.agents/skills/ai-artist/scripts/generate.py +370 -0
- package/agentic/antigravity/.agents/skills/ai-artist/scripts/search.py +147 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/.env.example +214 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/SKILL.md +115 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/references/audio-processing.md +387 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/references/image-generation.md +939 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/references/music-generation.md +311 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/references/video-analysis.md +515 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/references/video-generation.md +457 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/references/vision-understanding.md +492 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/.coverage +0 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/__pycache__/document_converter.cpython-314.pyc +0 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/__pycache__/gemini_batch_process.cpython-314.pyc +0 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/__pycache__/media_optimizer.cpython-314.pyc +0 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/check_setup.py +316 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/gemini_batch_process.py +1184 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/tests/.coverage +0 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/agentic/antigravity/.agents/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/agentic/antigravity/.agents/skills/asana-task/SKILL.md +121 -0
- package/agentic/antigravity/.agents/skills/asana-task/references/id-tc-workflow.md +75 -0
- package/agentic/antigravity/.agents/skills/asana-task/references/implement-workflow.md +164 -0
- package/agentic/antigravity/.agents/skills/asana-task/references/qa-testing-instructions-workflow.md +118 -0
- package/agentic/antigravity/.agents/skills/asana-task/scripts/asana-api.cjs +190 -0
- package/agentic/antigravity/.agents/skills/asana-task/scripts/asana-shared.cjs +107 -0
- package/agentic/antigravity/.agents/skills/asana-task/scripts/asana-update-notes.cjs +255 -0
- package/agentic/antigravity/.agents/skills/asana-task/templates/id-tc.html +20 -0
- package/agentic/antigravity/.agents/skills/asana-task/templates/qa-testing-instructions.html +40 -0
- package/agentic/antigravity/.agents/skills/ask/SKILL.md +66 -0
- package/agentic/antigravity/.agents/skills/backend-development/SKILL.md +96 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-api-design.md +495 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-architecture.md +454 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-authentication.md +338 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-code-quality.md +659 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-debugging.md +904 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-devops.md +494 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-mindset.md +387 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-performance.md +397 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-security.md +290 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-technologies.md +256 -0
- package/agentic/antigravity/.agents/skills/backend-development/references/backend-testing.md +429 -0
- package/agentic/antigravity/.agents/skills/bootstrap/SKILL.md +103 -0
- package/agentic/antigravity/.agents/skills/bootstrap/references/shared-phases.md +59 -0
- package/agentic/antigravity/.agents/skills/bootstrap/references/workflow-auto.md +52 -0
- package/agentic/antigravity/.agents/skills/bootstrap/references/workflow-fast.md +50 -0
- package/agentic/antigravity/.agents/skills/bootstrap/references/workflow-full.md +60 -0
- package/agentic/antigravity/.agents/skills/bootstrap/references/workflow-parallel.md +59 -0
- package/agentic/antigravity/.agents/skills/brainstorm/SKILL.md +63 -0
- package/agentic/antigravity/.agents/skills/ccc/SKILL.md +71 -0
- package/agentic/antigravity/.agents/skills/ccc/references/management.md +85 -0
- package/agentic/antigravity/.agents/skills/ccc/references/settings.md +123 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/SKILL.md +138 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/README.md +290 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +102 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/aria-snapshot.js +363 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/click.js +84 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/connect-chrome.js +146 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/console.js +81 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/evaluate.js +56 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/fill.js +77 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/import-cookies.js +205 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/inject-auth.js +230 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/install.sh +83 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/lib/browser.js +374 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/navigate.js +138 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/network.js +108 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/package-lock.json +1595 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/package.json +16 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/performance.js +151 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/screenshot.js +199 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/select-ref.js +132 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/snapshot.js +136 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/ws-debug.js +44 -0
- package/agentic/antigravity/.agents/skills/chrome-devtools/scripts/ws-full-debug.js +107 -0
- package/agentic/antigravity/.agents/skills/clickup-task/SKILL.md +257 -0
- package/agentic/antigravity/.agents/skills/clickup-task/clickup.local.example.json +4 -0
- package/agentic/antigravity/.agents/skills/clickup-task/references/id-tc-generation.md +121 -0
- package/agentic/antigravity/.agents/skills/clickup-task/scripts/clickup-api.cjs +226 -0
- package/agentic/antigravity/.agents/skills/clickup-task/scripts/clickup-shared.cjs +122 -0
- package/agentic/antigravity/.agents/skills/clickup-task/scripts/clickup-update-checklist.cjs +128 -0
- package/agentic/antigravity/.agents/skills/clickup-task/scripts/clickup-update-idtc.cjs +148 -0
- package/agentic/antigravity/.agents/skills/code-review/SKILL.md +152 -0
- package/agentic/antigravity/.agents/skills/code-review/references/code-review-reception.md +113 -0
- package/agentic/antigravity/.agents/skills/code-review/references/codebase-scan-workflow.md +34 -0
- package/agentic/antigravity/.agents/skills/code-review/references/edge-case-scouting.md +119 -0
- package/agentic/antigravity/.agents/skills/code-review/references/parallel-review-workflow.md +78 -0
- package/agentic/antigravity/.agents/skills/code-review/references/requesting-code-review.md +116 -0
- package/agentic/antigravity/.agents/skills/code-review/references/task-management-reviews.md +140 -0
- package/agentic/antigravity/.agents/skills/code-review/references/verification-before-completion.md +139 -0
- package/agentic/antigravity/.agents/skills/context-engineering/SKILL.md +108 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/context-compression.md +84 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/context-degradation.md +93 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/context-optimization.md +82 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/evaluation.md +89 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/memory-systems.md +88 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/project-development.md +97 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/agentic/antigravity/.agents/skills/context-engineering/references/tool-design.md +86 -0
- package/agentic/antigravity/.agents/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/agentic/antigravity/.agents/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/agentic/antigravity/.agents/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/agentic/antigravity/.agents/skills/cook/README.md +86 -0
- package/agentic/antigravity/.agents/skills/cook/SKILL.md +122 -0
- package/agentic/antigravity/.agents/skills/cook/references/intent-detection.md +101 -0
- package/agentic/antigravity/.agents/skills/cook/references/review-cycle.md +75 -0
- package/agentic/antigravity/.agents/skills/cook/references/subagent-patterns.md +76 -0
- package/agentic/antigravity/.agents/skills/cook/references/workflow-steps.md +154 -0
- package/agentic/antigravity/.agents/skills/create-skill/SKILL.md +89 -0
- package/agentic/antigravity/.agents/skills/create-skill/references/luna-skill-writing-guide.md +106 -0
- package/agentic/antigravity/.agents/skills/create-skill/references/sync-and-registration.md +75 -0
- package/agentic/antigravity/.agents/skills/create-skill/scripts/scaffold.cjs +119 -0
- package/agentic/antigravity/.agents/skills/create-skill/scripts/sync.cjs +104 -0
- package/agentic/antigravity/.agents/skills/create-skill/scripts/validate.cjs +159 -0
- package/agentic/antigravity/.agents/skills/debugger/SKILL.md +120 -0
- package/agentic/antigravity/.agents/skills/debugger/references/defense-in-depth.md +87 -0
- package/agentic/antigravity/.agents/skills/debugger/references/frontend-verification.md +70 -0
- package/agentic/antigravity/.agents/skills/debugger/references/investigation-methodology.md +98 -0
- package/agentic/antigravity/.agents/skills/debugger/references/log-and-ci-analysis.md +88 -0
- package/agentic/antigravity/.agents/skills/debugger/references/performance-diagnostics.md +93 -0
- package/agentic/antigravity/.agents/skills/debugger/references/reporting-standards.md +108 -0
- package/agentic/antigravity/.agents/skills/debugger/references/root-cause-tracing.md +88 -0
- package/agentic/antigravity/.agents/skills/debugger/references/systematic-debugging.md +91 -0
- package/agentic/antigravity/.agents/skills/debugger/references/task-management-debugging.md +148 -0
- package/agentic/antigravity/.agents/skills/debugger/references/verification.md +80 -0
- package/agentic/antigravity/.agents/skills/debugger/scripts/find-polluter.sh +63 -0
- package/agentic/antigravity/.agents/skills/docs/SKILL.md +55 -0
- package/agentic/antigravity/.agents/skills/docs/references/init-workflow.md +32 -0
- package/agentic/antigravity/.agents/skills/docs/references/summarize-workflow.md +18 -0
- package/agentic/antigravity/.agents/skills/docs/references/update-workflow.md +49 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/SKILL.md +72 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/references/advanced.md +79 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/references/errors.md +68 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/agentic/antigravity/.agents/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/agentic/antigravity/.agents/skills/find-skills/SKILL.md +134 -0
- package/agentic/antigravity/.agents/skills/fix/SKILL.md +117 -0
- package/agentic/antigravity/.agents/skills/fix/references/complexity-assessment.md +72 -0
- package/agentic/antigravity/.agents/skills/fix/references/mode-selection.md +28 -0
- package/agentic/antigravity/.agents/skills/fix/references/parallel-exploration.md +67 -0
- package/agentic/antigravity/.agents/skills/fix/references/review-cycle.md +76 -0
- package/agentic/antigravity/.agents/skills/fix/references/skill-activation-matrix.md +60 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-ci.md +28 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-deep.md +101 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-logs.md +56 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-quick.md +63 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-standard.md +95 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-test.md +47 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-types.md +33 -0
- package/agentic/antigravity/.agents/skills/fix/references/workflow-ui.md +48 -0
- package/agentic/antigravity/.agents/skills/frontend-development/SKILL.md +400 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/common-patterns.md +331 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/complete-examples.md +872 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/component-patterns.md +502 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/data-fetching.md +767 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/file-organization.md +502 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/performance.md +406 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/routing-guide.md +364 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/styling-guide.md +428 -0
- package/agentic/antigravity/.agents/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/agentic/antigravity/.agents/skills/git/SKILL.md +205 -0
- package/agentic/antigravity/.agents/skills/git/references/branch-management.md +88 -0
- package/agentic/antigravity/.agents/skills/git/references/commit-standards.md +46 -0
- package/agentic/antigravity/.agents/skills/git/references/gh-cli-guide.md +112 -0
- package/agentic/antigravity/.agents/skills/git/references/glab-cli-guide.md +125 -0
- package/agentic/antigravity/.agents/skills/git/references/platform-detect.md +86 -0
- package/agentic/antigravity/.agents/skills/git/references/safety-protocols.md +69 -0
- package/agentic/antigravity/.agents/skills/git/references/workflow-commit.md +58 -0
- package/agentic/antigravity/.agents/skills/git/references/workflow-merge.md +48 -0
- package/agentic/antigravity/.agents/skills/git/references/workflow-pr.md +85 -0
- package/agentic/antigravity/.agents/skills/git/references/workflow-push.md +74 -0
- package/agentic/antigravity/.agents/skills/gkg/SKILL.md +91 -0
- package/agentic/antigravity/.agents/skills/gkg/references/cli-commands.md +106 -0
- package/agentic/antigravity/.agents/skills/gkg/references/http-api.md +102 -0
- package/agentic/antigravity/.agents/skills/gkg/references/language-support.md +57 -0
- package/agentic/antigravity/.agents/skills/gkg/references/mcp-tools.md +99 -0
- package/agentic/antigravity/.agents/skills/install.sh +71 -0
- package/agentic/antigravity/.agents/skills/jira-task/SKILL.md +132 -0
- package/agentic/antigravity/.agents/skills/jira-task/jira-task.local.example.json +5 -0
- package/agentic/antigravity/.agents/skills/jira-task/scripts/jira-api.cjs +126 -0
- package/agentic/antigravity/.agents/skills/jira-task/scripts/jira-shared.cjs +104 -0
- package/agentic/antigravity/.agents/skills/journal/SKILL.md +11 -0
- package/agentic/antigravity/.agents/skills/luna-cli/bin/luna +5 -0
- package/agentic/antigravity/.agents/skills/luna-cli/command-registry.cjs +79 -0
- package/agentic/antigravity/.agents/skills/luna-cli/luna-cli.cjs +119 -0
- package/agentic/antigravity/.agents/skills/mermaidjs-v11/SKILL.md +116 -0
- package/agentic/antigravity/.agents/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/agentic/antigravity/.agents/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/agentic/antigravity/.agents/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/agentic/antigravity/.agents/skills/mermaidjs-v11/references/examples.md +344 -0
- package/agentic/antigravity/.agents/skills/mermaidjs-v11/references/integration.md +310 -0
- package/agentic/antigravity/.agents/skills/onboard/SKILL.md +161 -0
- package/agentic/antigravity/.agents/skills/plan/SKILL.md +137 -0
- package/agentic/antigravity/.agents/skills/plan/references/archive-workflow.md +59 -0
- package/agentic/antigravity/.agents/skills/plan/references/codebase-understanding.md +56 -0
- package/agentic/antigravity/.agents/skills/plan/references/output-standards.md +111 -0
- package/agentic/antigravity/.agents/skills/plan/references/plan-organization.md +127 -0
- package/agentic/antigravity/.agents/skills/plan/references/red-team-personas.md +69 -0
- package/agentic/antigravity/.agents/skills/plan/references/red-team-workflow.md +77 -0
- package/agentic/antigravity/.agents/skills/plan/references/research-phase.md +40 -0
- package/agentic/antigravity/.agents/skills/plan/references/solution-design.md +61 -0
- package/agentic/antigravity/.agents/skills/plan/references/task-management.md +54 -0
- package/agentic/antigravity/.agents/skills/plan/references/validate-question-framework.md +80 -0
- package/agentic/antigravity/.agents/skills/plan/references/validate-workflow.md +64 -0
- package/agentic/antigravity/.agents/skills/plan/references/workflow-modes.md +145 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/SKILL.md +167 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/assets/dashboard-template.html +119 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/assets/dashboard.css +1594 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/assets/dashboard.js +596 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/assets/favicon.png +0 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/package-lock.json +123 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/package.json +13 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
- package/agentic/antigravity/.agents/skills/plans-kanban/scripts/server.cjs +260 -0
- package/agentic/antigravity/.agents/skills/preview/SKILL.md +75 -0
- package/agentic/antigravity/.agents/skills/preview/references/generation-modes.md +92 -0
- package/agentic/antigravity/.agents/skills/preview/references/view-mode.md +32 -0
- package/agentic/antigravity/.agents/skills/problem-solving/SKILL.md +70 -0
- package/agentic/antigravity/.agents/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/agentic/antigravity/.agents/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/agentic/antigravity/.agents/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/agentic/antigravity/.agents/skills/problem-solving/references/scale-game.md +95 -0
- package/agentic/antigravity/.agents/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/agentic/antigravity/.agents/skills/problem-solving/references/when-stuck.md +72 -0
- package/agentic/antigravity/.agents/skills/project-management/SKILL.md +120 -0
- package/agentic/antigravity/.agents/skills/project-management/references/documentation-triggers.md +58 -0
- package/agentic/antigravity/.agents/skills/project-management/references/hydration-workflow.md +76 -0
- package/agentic/antigravity/.agents/skills/project-management/references/progress-tracking.md +94 -0
- package/agentic/antigravity/.agents/skills/project-management/references/reporting-patterns.md +94 -0
- package/agentic/antigravity/.agents/skills/project-management/references/task-operations.md +62 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/AGENTS.md +2249 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/README.md +123 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/SKILL.md +122 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/metadata.json +15 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/_sections.md +46 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/_template.md +28 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/agentic/antigravity/.agents/skills/react-structure/SKILL.md +398 -0
- package/agentic/antigravity/.agents/skills/react-structure/hooks/custom-hook-pattern.md +82 -0
- package/agentic/antigravity/.agents/skills/react-structure/references/file-structure.md +63 -0
- package/agentic/antigravity/.agents/skills/react-structure/references/splitting-process.md +82 -0
- package/agentic/antigravity/.agents/skills/react-structure/schemas/component-props-schema.md +84 -0
- package/agentic/antigravity/.agents/skills/requirements.txt +18 -0
- package/agentic/antigravity/.agents/skills/research/SKILL.md +74 -0
- package/agentic/antigravity/.agents/skills/scout/SKILL.md +91 -0
- package/agentic/antigravity/.agents/skills/scout/references/external-scouting.md +93 -0
- package/agentic/antigravity/.agents/skills/scout/references/internal-scouting.md +77 -0
- package/agentic/antigravity/.agents/skills/sequential-thinking/SKILL.md +72 -0
- package/agentic/antigravity/.agents/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/agentic/antigravity/.agents/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/agentic/antigravity/.agents/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/agentic/antigravity/.agents/skills/team/SKILL.md +282 -0
- package/agentic/antigravity/.agents/skills/team/references/opencode-runner.md +115 -0
- package/agentic/antigravity/.agents/skills/team/references/prompt-debugger.md +74 -0
- package/agentic/antigravity/.agents/skills/team/references/prompt-researcher.md +62 -0
- package/agentic/antigravity/.agents/skills/team/references/prompt-reviewer.md +54 -0
- package/agentic/antigravity/.agents/skills/team/scripts/spawn-team.sh +142 -0
- package/agentic/antigravity/.agents/skills/test/SKILL.md +75 -0
- package/agentic/antigravity/.agents/skills/test/references/report-format.md +58 -0
- package/agentic/antigravity/.agents/skills/test/references/test-execution-workflow.md +103 -0
- package/agentic/antigravity/.agents/skills/test/references/ui-testing-workflow.md +64 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/SKILL.md +204 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/agentic/antigravity/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/agentic/antigravity/.agents/skills/watzup/SKILL.md +12 -0
- package/agentic/antigravity/.agents/skills/worktree/SKILL.md +83 -0
- package/agentic/antigravity/.agents/skills/worktree/scripts/worktree.cjs +916 -0
- package/agentic/antigravity/.agents/templates/archive/brief.md +68 -0
- package/agentic/antigravity/.agents/templates/id-tc.md +22 -0
- package/agentic/antigravity/.agents/templates/plans/bugfix.md +70 -0
- package/agentic/antigravity/.agents/templates/plans/feature.md +68 -0
- package/agentic/antigravity/.agents/templates/plans/phase.md +73 -0
- package/agentic/antigravity/.agents/templates/plans/refactor.md +74 -0
- package/agentic/antigravity/.agents/templates/plans/reports/researcher-report.md +44 -0
- package/agentic/antigravity/.agents/templates/plans/reports/scout-report.md +31 -0
- package/agentic/antigravity/.agents/templates/plans/template-usage-guide.md +38 -0
- package/agentic/antigravity/.agents/templates/qa-testing-instructions.md +57 -0
- package/agentic/antigravity/.agents/templates/research.md +76 -0
- package/agentic/antigravity/.env +39 -0
- package/agentic/antigravity/.env.example +19 -0
- package/agentic/antigravity/.luna.json +22 -0
- package/agentic/antigravity/README.md +70 -0
- package/agentic/antigravity/install.sh +76 -0
- package/agentic/antigravity/scripts/sync.sh +194 -0
- package/agentic/antigravity/uninstall.sh +67 -0
- package/agentic/claude/.claude/.claudeignore +52 -0
- package/agentic/claude/.claude/CLAUDE.md +200 -0
- package/agentic/claude/.claude/agents/brainstormer.md +104 -0
- package/agentic/claude/.claude/agents/code-reviewer.md +154 -0
- package/agentic/claude/.claude/agents/code-simplifier.md +80 -0
- package/agentic/claude/.claude/agents/debugger.md +106 -0
- package/agentic/claude/.claude/agents/docs-manager.md +220 -0
- package/agentic/claude/.claude/agents/fullstack-developer.md +104 -0
- package/agentic/claude/.claude/agents/git-manager.md +19 -0
- package/agentic/claude/.claude/agents/journal-writer.md +124 -0
- package/agentic/claude/.claude/agents/planner.md +209 -0
- package/agentic/claude/.claude/agents/project-manager.md +34 -0
- package/agentic/claude/.claude/agents/researcher.md +175 -0
- package/agentic/claude/.claude/agents/tester.md +124 -0
- package/agentic/claude/.claude/agents/ui-ux-designer.md +253 -0
- package/agentic/claude/.claude/hooks/ask-user-notify.cjs +86 -0
- package/agentic/claude/.claude/hooks/completion-notify.cjs +117 -0
- package/agentic/claude/.claude/hooks/cook-after-plan-reminder.cjs +68 -0
- package/agentic/claude/.claude/hooks/descriptive-name.cjs +52 -0
- package/agentic/claude/.claude/hooks/dev-rules-reminder.cjs +56 -0
- package/agentic/claude/.claude/hooks/lib/context-builder.cjs +175 -0
- package/agentic/claude/.claude/hooks/lib/git-info-cache.cjs +138 -0
- package/agentic/claude/.claude/hooks/lib/luna-config-resolver.cjs +158 -0
- package/agentic/claude/.claude/hooks/lib/luna-config-utils.cjs +230 -0
- package/agentic/claude/.claude/hooks/lib/privacy-checker.cjs +142 -0
- package/agentic/claude/.claude/hooks/lib/project-detector.cjs +148 -0
- package/agentic/claude/.claude/hooks/lib/scout-checker.cjs +204 -0
- package/agentic/claude/.claude/hooks/post-edit-reminder.cjs +113 -0
- package/agentic/claude/.claude/hooks/privacy-block.cjs +108 -0
- package/agentic/claude/.claude/hooks/scout-block.cjs +78 -0
- package/agentic/claude/.claude/hooks/session-init.cjs +199 -0
- package/agentic/claude/.claude/hooks/skill-loaded-notify.cjs +33 -0
- package/agentic/claude/.claude/hooks/subagent-init.cjs +128 -0
- package/agentic/claude/.claude/hooks/task-completed-handler.cjs +119 -0
- package/agentic/claude/.claude/hooks/team-context-inject.cjs +215 -0
- package/agentic/claude/.claude/hooks/teammate-idle-handler.cjs +123 -0
- package/agentic/claude/.claude/hooks/usage-context-awareness.cjs +172 -0
- package/agentic/claude/.claude/lib/colors.cjs +91 -0
- package/agentic/claude/.claude/lib/config-counter.cjs +102 -0
- package/agentic/claude/.claude/lib/transcript-parser.cjs +144 -0
- package/agentic/claude/.claude/rules/code-style.md +12 -0
- package/agentic/claude/.claude/rules/development-rules.md +39 -0
- package/agentic/claude/.claude/rules/documentation-management.md +121 -0
- package/agentic/claude/.claude/rules/orchestration-protocol.md +43 -0
- package/agentic/claude/.claude/rules/primary-workflow.md +36 -0
- package/agentic/claude/.claude/rules/team-coordination-rules.md +90 -0
- package/agentic/claude/.claude/scripts/set-active-plan.cjs +91 -0
- package/agentic/claude/.claude/settings.json +164 -0
- package/agentic/claude/.claude/skills/ai-artist/SKILL.md +122 -0
- package/agentic/claude/.claude/skills/ai-artist/data/awesome-prompts.csv +3592 -0
- package/agentic/claude/.claude/skills/ai-artist/data/lighting.csv +19 -0
- package/agentic/claude/.claude/skills/ai-artist/data/nano-banana-templates.csv +17 -0
- package/agentic/claude/.claude/skills/ai-artist/data/platforms.csv +11 -0
- package/agentic/claude/.claude/skills/ai-artist/data/styles.csv +26 -0
- package/agentic/claude/.claude/skills/ai-artist/data/techniques.csv +19 -0
- package/agentic/claude/.claude/skills/ai-artist/data/use-cases.csv +16 -0
- package/agentic/claude/.claude/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/agentic/claude/.claude/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/agentic/claude/.claude/skills/ai-artist/references/domain-code.md +66 -0
- package/agentic/claude/.claude/skills/ai-artist/references/domain-data.md +72 -0
- package/agentic/claude/.claude/skills/ai-artist/references/domain-marketing.md +66 -0
- package/agentic/claude/.claude/skills/ai-artist/references/domain-patterns.md +33 -0
- package/agentic/claude/.claude/skills/ai-artist/references/domain-writing.md +68 -0
- package/agentic/claude/.claude/skills/ai-artist/references/image-prompting.md +141 -0
- package/agentic/claude/.claude/skills/ai-artist/references/llm-prompting.md +165 -0
- package/agentic/claude/.claude/skills/ai-artist/references/nano-banana.md +136 -0
- package/agentic/claude/.claude/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/agentic/claude/.claude/skills/ai-artist/references/validation-workflow.md +117 -0
- package/agentic/claude/.claude/skills/ai-artist/scripts/core.py +197 -0
- package/agentic/claude/.claude/skills/ai-artist/scripts/extract_prompts.py +102 -0
- package/agentic/claude/.claude/skills/ai-artist/scripts/generate.py +370 -0
- package/agentic/claude/.claude/skills/ai-artist/scripts/search.py +147 -0
- package/agentic/claude/.claude/skills/ai-multimodal/.env.example +213 -0
- package/agentic/claude/.claude/skills/ai-multimodal/SKILL.md +115 -0
- package/agentic/claude/.claude/skills/ai-multimodal/references/audio-processing.md +387 -0
- package/agentic/claude/.claude/skills/ai-multimodal/references/image-generation.md +939 -0
- package/agentic/claude/.claude/skills/ai-multimodal/references/music-generation.md +311 -0
- package/agentic/claude/.claude/skills/ai-multimodal/references/video-analysis.md +515 -0
- package/agentic/claude/.claude/skills/ai-multimodal/references/video-generation.md +457 -0
- package/agentic/claude/.claude/skills/ai-multimodal/references/vision-understanding.md +492 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/.coverage +0 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/check_setup.py +316 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +1184 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/tests/.coverage +0 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/agentic/claude/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/agentic/claude/.claude/skills/asana-task/SKILL.md +121 -0
- package/agentic/claude/.claude/skills/asana-task/references/id-tc-workflow.md +75 -0
- package/agentic/claude/.claude/skills/asana-task/references/implement-workflow.md +164 -0
- package/agentic/claude/.claude/skills/asana-task/references/qa-testing-instructions-workflow.md +118 -0
- package/agentic/claude/.claude/skills/asana-task/scripts/asana-api.cjs +190 -0
- package/agentic/claude/.claude/skills/asana-task/scripts/asana-shared.cjs +107 -0
- package/agentic/claude/.claude/skills/asana-task/scripts/asana-update-notes.cjs +255 -0
- package/agentic/claude/.claude/skills/asana-task/templates/id-tc.html +20 -0
- package/agentic/claude/.claude/skills/asana-task/templates/qa-testing-instructions.html +40 -0
- package/agentic/claude/.claude/skills/ask/SKILL.md +66 -0
- package/agentic/claude/.claude/skills/backend-development/SKILL.md +96 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-api-design.md +495 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-architecture.md +454 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-authentication.md +338 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-debugging.md +904 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-devops.md +494 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-mindset.md +387 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-performance.md +397 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-security.md +290 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-technologies.md +256 -0
- package/agentic/claude/.claude/skills/backend-development/references/backend-testing.md +429 -0
- package/agentic/claude/.claude/skills/bootstrap/SKILL.md +103 -0
- package/agentic/claude/.claude/skills/bootstrap/references/shared-phases.md +59 -0
- package/agentic/claude/.claude/skills/bootstrap/references/workflow-auto.md +52 -0
- package/agentic/claude/.claude/skills/bootstrap/references/workflow-fast.md +50 -0
- package/agentic/claude/.claude/skills/bootstrap/references/workflow-full.md +60 -0
- package/agentic/claude/.claude/skills/bootstrap/references/workflow-parallel.md +59 -0
- package/agentic/claude/.claude/skills/brainstorm/SKILL.md +63 -0
- package/agentic/claude/.claude/skills/ccc/SKILL.md +71 -0
- package/agentic/claude/.claude/skills/ccc/references/management.md +85 -0
- package/agentic/claude/.claude/skills/ccc/references/settings.md +123 -0
- package/agentic/claude/.claude/skills/chrome-devtools/SKILL.md +138 -0
- package/agentic/claude/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/agentic/claude/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/agentic/claude/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/README.md +290 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +102 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/aria-snapshot.js +363 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/click.js +84 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/connect-chrome.js +146 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/console.js +81 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/evaluate.js +56 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/fill.js +77 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/import-cookies.js +205 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/inject-auth.js +230 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/lib/browser.js +374 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/navigate.js +138 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/network.js +108 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/package-lock.json +1595 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/package.json +16 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/performance.js +151 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/screenshot.js +199 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/select-ref.js +132 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/snapshot.js +136 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/ws-debug.js +44 -0
- package/agentic/claude/.claude/skills/chrome-devtools/scripts/ws-full-debug.js +107 -0
- package/agentic/claude/.claude/skills/clickup-task/SKILL.md +257 -0
- package/agentic/claude/.claude/skills/clickup-task/references/id-tc-generation.md +88 -0
- package/agentic/claude/.claude/skills/clickup-task/scripts/clickup-api.cjs +226 -0
- package/agentic/claude/.claude/skills/clickup-task/scripts/clickup-shared.cjs +141 -0
- package/agentic/claude/.claude/skills/clickup-task/scripts/clickup-update-checklist.cjs +128 -0
- package/agentic/claude/.claude/skills/clickup-task/scripts/clickup-update-idtc.cjs +148 -0
- package/agentic/claude/.claude/skills/code-review/SKILL.md +152 -0
- package/agentic/claude/.claude/skills/code-review/references/code-review-reception.md +113 -0
- package/agentic/claude/.claude/skills/code-review/references/codebase-scan-workflow.md +34 -0
- package/agentic/claude/.claude/skills/code-review/references/edge-case-scouting.md +119 -0
- package/agentic/claude/.claude/skills/code-review/references/parallel-review-workflow.md +78 -0
- package/agentic/claude/.claude/skills/code-review/references/requesting-code-review.md +116 -0
- package/agentic/claude/.claude/skills/code-review/references/task-management-reviews.md +140 -0
- package/agentic/claude/.claude/skills/code-review/references/verification-before-completion.md +139 -0
- package/agentic/claude/.claude/skills/context-engineering/SKILL.md +108 -0
- package/agentic/claude/.claude/skills/context-engineering/references/context-compression.md +84 -0
- package/agentic/claude/.claude/skills/context-engineering/references/context-degradation.md +93 -0
- package/agentic/claude/.claude/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/agentic/claude/.claude/skills/context-engineering/references/context-optimization.md +82 -0
- package/agentic/claude/.claude/skills/context-engineering/references/evaluation.md +89 -0
- package/agentic/claude/.claude/skills/context-engineering/references/memory-systems.md +88 -0
- package/agentic/claude/.claude/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/agentic/claude/.claude/skills/context-engineering/references/project-development.md +97 -0
- package/agentic/claude/.claude/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/agentic/claude/.claude/skills/context-engineering/references/tool-design.md +86 -0
- package/agentic/claude/.claude/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/agentic/claude/.claude/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/agentic/claude/.claude/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/agentic/claude/.claude/skills/cook/README.md +86 -0
- package/agentic/claude/.claude/skills/cook/SKILL.md +122 -0
- package/agentic/claude/.claude/skills/cook/references/intent-detection.md +101 -0
- package/agentic/claude/.claude/skills/cook/references/review-cycle.md +75 -0
- package/agentic/claude/.claude/skills/cook/references/subagent-patterns.md +76 -0
- package/agentic/claude/.claude/skills/cook/references/workflow-steps.md +192 -0
- package/agentic/claude/.claude/skills/create-skill/SKILL.md +89 -0
- package/agentic/claude/.claude/skills/create-skill/references/luna-skill-writing-guide.md +106 -0
- package/agentic/claude/.claude/skills/create-skill/references/sync-and-registration.md +79 -0
- package/agentic/claude/.claude/skills/create-skill/scripts/scaffold.cjs +119 -0
- package/agentic/claude/.claude/skills/create-skill/scripts/sync.cjs +104 -0
- package/agentic/claude/.claude/skills/create-skill/scripts/validate.cjs +159 -0
- package/agentic/claude/.claude/skills/debugger/SKILL.md +120 -0
- package/agentic/claude/.claude/skills/debugger/references/defense-in-depth.md +87 -0
- package/agentic/claude/.claude/skills/debugger/references/frontend-verification.md +70 -0
- package/agentic/claude/.claude/skills/debugger/references/investigation-methodology.md +98 -0
- package/agentic/claude/.claude/skills/debugger/references/log-and-ci-analysis.md +88 -0
- package/agentic/claude/.claude/skills/debugger/references/performance-diagnostics.md +93 -0
- package/agentic/claude/.claude/skills/debugger/references/reporting-standards.md +108 -0
- package/agentic/claude/.claude/skills/debugger/references/root-cause-tracing.md +88 -0
- package/agentic/claude/.claude/skills/debugger/references/systematic-debugging.md +91 -0
- package/agentic/claude/.claude/skills/debugger/references/task-management-debugging.md +109 -0
- package/agentic/claude/.claude/skills/debugger/references/verification.md +80 -0
- package/agentic/claude/.claude/skills/debugger/scripts/find-polluter.sh +63 -0
- package/agentic/claude/.claude/skills/docs/SKILL.md +55 -0
- package/agentic/claude/.claude/skills/docs/references/init-workflow.md +32 -0
- package/agentic/claude/.claude/skills/docs/references/summarize-workflow.md +18 -0
- package/agentic/claude/.claude/skills/docs/references/update-workflow.md +61 -0
- package/agentic/claude/.claude/skills/docs-seeker/SKILL.md +72 -0
- package/agentic/claude/.claude/skills/docs-seeker/references/advanced.md +79 -0
- package/agentic/claude/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/agentic/claude/.claude/skills/docs-seeker/references/errors.md +68 -0
- package/agentic/claude/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/agentic/claude/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/agentic/claude/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/agentic/claude/.claude/skills/find-skills/SKILL.md +134 -0
- package/agentic/claude/.claude/skills/fix/SKILL.md +117 -0
- package/agentic/claude/.claude/skills/fix/references/complexity-assessment.md +72 -0
- package/agentic/claude/.claude/skills/fix/references/mode-selection.md +46 -0
- package/agentic/claude/.claude/skills/fix/references/parallel-exploration.md +120 -0
- package/agentic/claude/.claude/skills/fix/references/review-cycle.md +77 -0
- package/agentic/claude/.claude/skills/fix/references/skill-activation-matrix.md +78 -0
- package/agentic/claude/.claude/skills/fix/references/task-orchestration.md +103 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-ci.md +28 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-deep.md +122 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-logs.md +72 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-quick.md +60 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-standard.md +112 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-test.md +75 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-types.md +33 -0
- package/agentic/claude/.claude/skills/fix/references/workflow-ui.md +75 -0
- package/agentic/claude/.claude/skills/frontend-development/SKILL.md +400 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/common-patterns.md +331 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/complete-examples.md +872 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/component-patterns.md +502 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/data-fetching.md +767 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/file-organization.md +502 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/performance.md +406 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/routing-guide.md +364 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/styling-guide.md +428 -0
- package/agentic/claude/.claude/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/agentic/claude/.claude/skills/git/SKILL.md +201 -0
- package/agentic/claude/.claude/skills/git/references/branch-management.md +88 -0
- package/agentic/claude/.claude/skills/git/references/commit-standards.md +46 -0
- package/agentic/claude/.claude/skills/git/references/gh-cli-guide.md +112 -0
- package/agentic/claude/.claude/skills/git/references/glab-cli-guide.md +125 -0
- package/agentic/claude/.claude/skills/git/references/platform-detect.md +86 -0
- package/agentic/claude/.claude/skills/git/references/safety-protocols.md +69 -0
- package/agentic/claude/.claude/skills/git/references/workflow-commit.md +58 -0
- package/agentic/claude/.claude/skills/git/references/workflow-merge.md +48 -0
- package/agentic/claude/.claude/skills/git/references/workflow-pr.md +85 -0
- package/agentic/claude/.claude/skills/git/references/workflow-push.md +78 -0
- package/agentic/claude/.claude/skills/gkg/SKILL.md +91 -0
- package/agentic/claude/.claude/skills/gkg/references/cli-commands.md +106 -0
- package/agentic/claude/.claude/skills/gkg/references/http-api.md +102 -0
- package/agentic/claude/.claude/skills/gkg/references/language-support.md +57 -0
- package/agentic/claude/.claude/skills/gkg/references/mcp-tools.md +99 -0
- package/agentic/claude/.claude/skills/install.sh +71 -0
- package/agentic/claude/.claude/skills/jira-task/SKILL.md +132 -0
- package/agentic/claude/.claude/skills/jira-task/jira-task.local.example.json +5 -0
- package/agentic/claude/.claude/skills/jira-task/scripts/jira-api.cjs +126 -0
- package/agentic/claude/.claude/skills/jira-task/scripts/jira-shared.cjs +125 -0
- package/agentic/claude/.claude/skills/journal/SKILL.md +11 -0
- package/agentic/claude/.claude/skills/mermaidjs-v11/SKILL.md +116 -0
- package/agentic/claude/.claude/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/agentic/claude/.claude/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/agentic/claude/.claude/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/agentic/claude/.claude/skills/mermaidjs-v11/references/examples.md +344 -0
- package/agentic/claude/.claude/skills/mermaidjs-v11/references/integration.md +310 -0
- package/agentic/claude/.claude/skills/onboard/SKILL.md +161 -0
- package/agentic/claude/.claude/skills/plan/SKILL.md +137 -0
- package/agentic/claude/.claude/skills/plan/references/archive-workflow.md +53 -0
- package/agentic/claude/.claude/skills/plan/references/codebase-understanding.md +62 -0
- package/agentic/claude/.claude/skills/plan/references/output-standards.md +141 -0
- package/agentic/claude/.claude/skills/plan/references/plan-organization.md +143 -0
- package/agentic/claude/.claude/skills/plan/references/red-team-personas.md +69 -0
- package/agentic/claude/.claude/skills/plan/references/red-team-workflow.md +77 -0
- package/agentic/claude/.claude/skills/plan/references/research-phase.md +49 -0
- package/agentic/claude/.claude/skills/plan/references/solution-design.md +63 -0
- package/agentic/claude/.claude/skills/plan/references/task-management.md +132 -0
- package/agentic/claude/.claude/skills/plan/references/validate-question-framework.md +80 -0
- package/agentic/claude/.claude/skills/plan/references/validate-workflow.md +65 -0
- package/agentic/claude/.claude/skills/plan/references/workflow-modes.md +145 -0
- package/agentic/claude/.claude/skills/plans-kanban/SKILL.md +167 -0
- package/agentic/claude/.claude/skills/plans-kanban/assets/dashboard-template.html +119 -0
- package/agentic/claude/.claude/skills/plans-kanban/assets/dashboard.css +1594 -0
- package/agentic/claude/.claude/skills/plans-kanban/assets/dashboard.js +596 -0
- package/agentic/claude/.claude/skills/plans-kanban/assets/favicon.png +0 -0
- package/agentic/claude/.claude/skills/plans-kanban/package-lock.json +123 -0
- package/agentic/claude/.claude/skills/plans-kanban/package.json +13 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
- package/agentic/claude/.claude/skills/plans-kanban/scripts/server.cjs +260 -0
- package/agentic/claude/.claude/skills/preview/SKILL.md +75 -0
- package/agentic/claude/.claude/skills/preview/references/generation-modes.md +95 -0
- package/agentic/claude/.claude/skills/preview/references/view-mode.md +42 -0
- package/agentic/claude/.claude/skills/problem-solving/SKILL.md +70 -0
- package/agentic/claude/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/agentic/claude/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/agentic/claude/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/agentic/claude/.claude/skills/problem-solving/references/scale-game.md +95 -0
- package/agentic/claude/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/agentic/claude/.claude/skills/problem-solving/references/when-stuck.md +72 -0
- package/agentic/claude/.claude/skills/project-management/SKILL.md +122 -0
- package/agentic/claude/.claude/skills/project-management/references/documentation-triggers.md +60 -0
- package/agentic/claude/.claude/skills/project-management/references/hydration-workflow.md +85 -0
- package/agentic/claude/.claude/skills/project-management/references/progress-tracking.md +96 -0
- package/agentic/claude/.claude/skills/project-management/references/reporting-patterns.md +94 -0
- package/agentic/claude/.claude/skills/project-management/references/task-operations.md +85 -0
- package/agentic/claude/.claude/skills/react-best-practices/AGENTS.md +2249 -0
- package/agentic/claude/.claude/skills/react-best-practices/README.md +123 -0
- package/agentic/claude/.claude/skills/react-best-practices/SKILL.md +122 -0
- package/agentic/claude/.claude/skills/react-best-practices/metadata.json +15 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/_sections.md +46 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/_template.md +28 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/agentic/claude/.claude/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/agentic/claude/.claude/skills/react-structure/SKILL.md +398 -0
- package/agentic/claude/.claude/skills/react-structure/hooks/custom-hook-pattern.md +82 -0
- package/agentic/claude/.claude/skills/react-structure/references/file-structure.md +63 -0
- package/agentic/claude/.claude/skills/react-structure/references/splitting-process.md +82 -0
- package/agentic/claude/.claude/skills/react-structure/schemas/component-props-schema.md +84 -0
- package/agentic/claude/.claude/skills/requirements.txt +18 -0
- package/agentic/claude/.claude/skills/research/SKILL.md +74 -0
- package/agentic/claude/.claude/skills/scout/SKILL.md +91 -0
- package/agentic/claude/.claude/skills/scout/references/external-scouting.md +140 -0
- package/agentic/claude/.claude/skills/scout/references/internal-scouting.md +119 -0
- package/agentic/claude/.claude/skills/scout/references/task-management-scouting.md +125 -0
- package/agentic/claude/.claude/skills/sequential-thinking/SKILL.md +72 -0
- package/agentic/claude/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/agentic/claude/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/agentic/claude/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/agentic/claude/.claude/skills/team/SKILL.md +282 -0
- package/agentic/claude/.claude/skills/test/SKILL.md +75 -0
- package/agentic/claude/.claude/skills/test/references/report-format.md +58 -0
- package/agentic/claude/.claude/skills/test/references/test-execution-workflow.md +103 -0
- package/agentic/claude/.claude/skills/test/references/ui-testing-workflow.md +64 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/SKILL.md +204 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/agentic/claude/.claude/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/agentic/claude/.claude/skills/watzup/SKILL.md +12 -0
- package/agentic/claude/.claude/skills/worktree/SKILL.md +93 -0
- package/agentic/claude/.claude/skills/worktree/scripts/worktree.cjs +916 -0
- package/agentic/claude/.claude/statusline.cjs +475 -0
- package/agentic/claude/.claude/templates/archive/brief.md +68 -0
- package/agentic/claude/.claude/templates/id-tc.md +22 -0
- package/agentic/claude/.claude/templates/plans/bugfix.md +70 -0
- package/agentic/claude/.claude/templates/plans/feature.md +68 -0
- package/agentic/claude/.claude/templates/plans/phase.md +73 -0
- package/agentic/claude/.claude/templates/plans/refactor.md +74 -0
- package/agentic/claude/.claude/templates/plans/reports/researcher-report.md +44 -0
- package/agentic/claude/.claude/templates/plans/reports/scout-report.md +31 -0
- package/agentic/claude/.claude/templates/plans/template-usage-guide.md +38 -0
- package/agentic/claude/.claude/templates/qa-testing-instructions.md +57 -0
- package/agentic/claude/.claude/templates/research.md +76 -0
- package/agentic/claude/.env +39 -0
- package/agentic/claude/.env.example +39 -0
- package/agentic/claude/.luna.json +41 -0
- package/agentic/claude/CLAUDE.md +35 -0
- package/agentic/claude/README.md +74 -0
- package/agentic/claude/install.sh +99 -0
- package/agentic/claude/scripts/sync.sh +177 -0
- package/agentic/claude/uninstall.sh +85 -0
- package/agentic/opencode/.env +39 -0
- package/agentic/opencode/.env.example +19 -0
- package/agentic/opencode/.luna.json +26 -0
- package/agentic/opencode/.opencode/AGENTS.md +134 -0
- package/agentic/opencode/.opencode/agent/brainstormer.md +99 -0
- package/agentic/opencode/.opencode/agent/code-reviewer.md +110 -0
- package/agentic/opencode/.opencode/agent/code-simplifier.md +74 -0
- package/agentic/opencode/.opencode/agent/debugger.md +92 -0
- package/agentic/opencode/.opencode/agent/docs-manager.md +87 -0
- package/agentic/opencode/.opencode/agent/fullstack-developer.md +84 -0
- package/agentic/opencode/.opencode/agent/git-manager.md +21 -0
- package/agentic/opencode/.opencode/agent/planner.md +131 -0
- package/agentic/opencode/.opencode/agent/project-manager.md +22 -0
- package/agentic/opencode/.opencode/agent/researcher.md +103 -0
- package/agentic/opencode/.opencode/agent/tester.md +109 -0
- package/agentic/opencode/.opencode/agent/ui-ux-designer.md +78 -0
- package/agentic/opencode/.opencode/commands/status.md +41 -0
- package/agentic/opencode/.opencode/opencode.json +25 -0
- package/agentic/opencode/.opencode/scripts/set-active-plan.cjs +91 -0
- package/agentic/opencode/.opencode/scripts/spawn-team.sh +114 -0
- package/agentic/opencode/.opencode/skills/ai-artist/SKILL.md +122 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/awesome-prompts.csv +3592 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/lighting.csv +19 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/nano-banana-templates.csv +17 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/platforms.csv +11 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/styles.csv +26 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/techniques.csv +19 -0
- package/agentic/opencode/.opencode/skills/ai-artist/data/use-cases.csv +16 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/domain-code.md +66 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/domain-data.md +72 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/domain-marketing.md +66 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/domain-patterns.md +33 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/domain-writing.md +68 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/image-prompting.md +141 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/llm-prompting.md +165 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/nano-banana.md +136 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/agentic/opencode/.opencode/skills/ai-artist/references/validation-workflow.md +117 -0
- package/agentic/opencode/.opencode/skills/ai-artist/scripts/core.py +197 -0
- package/agentic/opencode/.opencode/skills/ai-artist/scripts/extract_prompts.py +102 -0
- package/agentic/opencode/.opencode/skills/ai-artist/scripts/generate.py +370 -0
- package/agentic/opencode/.opencode/skills/ai-artist/scripts/search.py +147 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/.env.example +213 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/SKILL.md +115 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/references/audio-processing.md +387 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/references/image-generation.md +939 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/references/music-generation.md +311 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/references/video-analysis.md +515 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/references/video-generation.md +457 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/references/vision-understanding.md +492 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/.coverage +0 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/check_setup.py +316 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/gemini_batch_process.py +1184 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/tests/.coverage +0 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/agentic/opencode/.opencode/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/agentic/opencode/.opencode/skills/asana-task/SKILL.md +121 -0
- package/agentic/opencode/.opencode/skills/asana-task/references/id-tc-workflow.md +75 -0
- package/agentic/opencode/.opencode/skills/asana-task/references/implement-workflow.md +164 -0
- package/agentic/opencode/.opencode/skills/asana-task/references/qa-testing-instructions-workflow.md +118 -0
- package/agentic/opencode/.opencode/skills/asana-task/scripts/asana-api.cjs +190 -0
- package/agentic/opencode/.opencode/skills/asana-task/scripts/asana-shared.cjs +107 -0
- package/agentic/opencode/.opencode/skills/asana-task/scripts/asana-update-notes.cjs +255 -0
- package/agentic/opencode/.opencode/skills/asana-task/templates/id-tc.html +20 -0
- package/agentic/opencode/.opencode/skills/asana-task/templates/qa-testing-instructions.html +40 -0
- package/agentic/opencode/.opencode/skills/ask/SKILL.md +66 -0
- package/agentic/opencode/.opencode/skills/backend-development/SKILL.md +95 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-api-design.md +495 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-architecture.md +454 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-authentication.md +338 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-code-quality.md +659 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-debugging.md +904 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-devops.md +494 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-mindset.md +387 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-performance.md +397 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-security.md +290 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-technologies.md +256 -0
- package/agentic/opencode/.opencode/skills/backend-development/references/backend-testing.md +429 -0
- package/agentic/opencode/.opencode/skills/bootstrap/SKILL.md +103 -0
- package/agentic/opencode/.opencode/skills/bootstrap/references/shared-phases.md +59 -0
- package/agentic/opencode/.opencode/skills/bootstrap/references/workflow-auto.md +52 -0
- package/agentic/opencode/.opencode/skills/bootstrap/references/workflow-fast.md +50 -0
- package/agentic/opencode/.opencode/skills/bootstrap/references/workflow-full.md +60 -0
- package/agentic/opencode/.opencode/skills/bootstrap/references/workflow-parallel.md +59 -0
- package/agentic/opencode/.opencode/skills/brainstorm/SKILL.md +58 -0
- package/agentic/opencode/.opencode/skills/ccc/SKILL.md +83 -0
- package/agentic/opencode/.opencode/skills/ccc/references/management.md +85 -0
- package/agentic/opencode/.opencode/skills/ccc/references/settings.md +123 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/SKILL.md +138 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/README.md +290 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +102 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/aria-snapshot.js +363 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/click.js +84 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/connect-chrome.js +146 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/console.js +81 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/evaluate.js +56 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/fill.js +77 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/import-cookies.js +205 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/inject-auth.js +230 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/install.sh +83 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/lib/browser.js +374 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/navigate.js +138 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/network.js +108 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/package-lock.json +1595 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/package.json +16 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/performance.js +151 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/screenshot.js +199 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/select-ref.js +132 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/snapshot.js +136 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/ws-debug.js +44 -0
- package/agentic/opencode/.opencode/skills/chrome-devtools/scripts/ws-full-debug.js +107 -0
- package/agentic/opencode/.opencode/skills/clickup-task/SKILL.md +253 -0
- package/agentic/opencode/.opencode/skills/clickup-task/clickup.local.example.json +4 -0
- package/agentic/opencode/.opencode/skills/clickup-task/references/id-tc-generation.md +88 -0
- package/agentic/opencode/.opencode/skills/clickup-task/scripts/clickup-api.cjs +226 -0
- package/agentic/opencode/.opencode/skills/clickup-task/scripts/clickup-shared.cjs +141 -0
- package/agentic/opencode/.opencode/skills/clickup-task/scripts/clickup-update-checklist.cjs +128 -0
- package/agentic/opencode/.opencode/skills/clickup-task/scripts/clickup-update-idtc.cjs +148 -0
- package/agentic/opencode/.opencode/skills/code-review/SKILL.md +152 -0
- package/agentic/opencode/.opencode/skills/code-review/references/code-review-reception.md +113 -0
- package/agentic/opencode/.opencode/skills/code-review/references/codebase-scan-workflow.md +34 -0
- package/agentic/opencode/.opencode/skills/code-review/references/edge-case-scouting.md +119 -0
- package/agentic/opencode/.opencode/skills/code-review/references/parallel-review-workflow.md +78 -0
- package/agentic/opencode/.opencode/skills/code-review/references/requesting-code-review.md +116 -0
- package/agentic/opencode/.opencode/skills/code-review/references/task-management-reviews.md +140 -0
- package/agentic/opencode/.opencode/skills/code-review/references/verification-before-completion.md +139 -0
- package/agentic/opencode/.opencode/skills/context-engineering/SKILL.md +108 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/context-compression.md +84 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/context-degradation.md +93 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/context-optimization.md +82 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/evaluation.md +89 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/memory-systems.md +88 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/project-development.md +97 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/agentic/opencode/.opencode/skills/context-engineering/references/tool-design.md +86 -0
- package/agentic/opencode/.opencode/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/agentic/opencode/.opencode/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/agentic/opencode/.opencode/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/agentic/opencode/.opencode/skills/cook/README.md +86 -0
- package/agentic/opencode/.opencode/skills/cook/SKILL.md +122 -0
- package/agentic/opencode/.opencode/skills/cook/references/intent-detection.md +101 -0
- package/agentic/opencode/.opencode/skills/cook/references/review-cycle.md +75 -0
- package/agentic/opencode/.opencode/skills/cook/references/subagent-patterns.md +76 -0
- package/agentic/opencode/.opencode/skills/cook/references/workflow-steps.md +192 -0
- package/agentic/opencode/.opencode/skills/create-skill/SKILL.md +84 -0
- package/agentic/opencode/.opencode/skills/create-skill/references/luna-skill-writing-guide.md +106 -0
- package/agentic/opencode/.opencode/skills/create-skill/references/sync-and-registration.md +79 -0
- package/agentic/opencode/.opencode/skills/create-skill/scripts/scaffold.cjs +119 -0
- package/agentic/opencode/.opencode/skills/create-skill/scripts/sync.cjs +104 -0
- package/agentic/opencode/.opencode/skills/create-skill/scripts/validate.cjs +159 -0
- package/agentic/opencode/.opencode/skills/debugger/SKILL.md +120 -0
- package/agentic/opencode/.opencode/skills/debugger/references/defense-in-depth.md +87 -0
- package/agentic/opencode/.opencode/skills/debugger/references/frontend-verification.md +70 -0
- package/agentic/opencode/.opencode/skills/debugger/references/investigation-methodology.md +98 -0
- package/agentic/opencode/.opencode/skills/debugger/references/log-and-ci-analysis.md +88 -0
- package/agentic/opencode/.opencode/skills/debugger/references/performance-diagnostics.md +93 -0
- package/agentic/opencode/.opencode/skills/debugger/references/reporting-standards.md +108 -0
- package/agentic/opencode/.opencode/skills/debugger/references/root-cause-tracing.md +88 -0
- package/agentic/opencode/.opencode/skills/debugger/references/systematic-debugging.md +91 -0
- package/agentic/opencode/.opencode/skills/debugger/references/task-management-debugging.md +109 -0
- package/agentic/opencode/.opencode/skills/debugger/references/verification.md +80 -0
- package/agentic/opencode/.opencode/skills/debugger/scripts/find-polluter.sh +63 -0
- package/agentic/opencode/.opencode/skills/docs/SKILL.md +55 -0
- package/agentic/opencode/.opencode/skills/docs/references/init-workflow.md +32 -0
- package/agentic/opencode/.opencode/skills/docs/references/summarize-workflow.md +18 -0
- package/agentic/opencode/.opencode/skills/docs/references/update-workflow.md +61 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/SKILL.md +72 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/references/advanced.md +79 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/references/errors.md +68 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/agentic/opencode/.opencode/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/agentic/opencode/.opencode/skills/find-skills/SKILL.md +134 -0
- package/agentic/opencode/.opencode/skills/fix/SKILL.md +117 -0
- package/agentic/opencode/.opencode/skills/fix/references/complexity-assessment.md +72 -0
- package/agentic/opencode/.opencode/skills/fix/references/mode-selection.md +46 -0
- package/agentic/opencode/.opencode/skills/fix/references/parallel-exploration.md +120 -0
- package/agentic/opencode/.opencode/skills/fix/references/review-cycle.md +77 -0
- package/agentic/opencode/.opencode/skills/fix/references/skill-activation-matrix.md +78 -0
- package/agentic/opencode/.opencode/skills/fix/references/task-orchestration.md +103 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-ci.md +28 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-deep.md +122 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-logs.md +72 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-quick.md +60 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-standard.md +112 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-test.md +75 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-types.md +33 -0
- package/agentic/opencode/.opencode/skills/fix/references/workflow-ui.md +75 -0
- package/agentic/opencode/.opencode/skills/frontend-development/SKILL.md +210 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/common-patterns.md +331 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/complete-examples.md +872 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/component-patterns.md +502 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/data-fetching.md +767 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/file-organization.md +502 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/performance.md +406 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/routing-guide.md +364 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/styling-guide.md +428 -0
- package/agentic/opencode/.opencode/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/agentic/opencode/.opencode/skills/git/SKILL.md +151 -0
- package/agentic/opencode/.opencode/skills/git/references/branch-management.md +88 -0
- package/agentic/opencode/.opencode/skills/git/references/commit-standards.md +46 -0
- package/agentic/opencode/.opencode/skills/git/references/gh-cli-guide.md +112 -0
- package/agentic/opencode/.opencode/skills/git/references/glab-cli-guide.md +125 -0
- package/agentic/opencode/.opencode/skills/git/references/platform-detect.md +86 -0
- package/agentic/opencode/.opencode/skills/git/references/safety-protocols.md +69 -0
- package/agentic/opencode/.opencode/skills/git/references/workflow-commit.md +58 -0
- package/agentic/opencode/.opencode/skills/git/references/workflow-merge.md +48 -0
- package/agentic/opencode/.opencode/skills/git/references/workflow-pr.md +85 -0
- package/agentic/opencode/.opencode/skills/git/references/workflow-push.md +78 -0
- package/agentic/opencode/.opencode/skills/gkg/SKILL.md +91 -0
- package/agentic/opencode/.opencode/skills/gkg/references/cli-commands.md +106 -0
- package/agentic/opencode/.opencode/skills/gkg/references/http-api.md +102 -0
- package/agentic/opencode/.opencode/skills/gkg/references/language-support.md +57 -0
- package/agentic/opencode/.opencode/skills/gkg/references/mcp-tools.md +99 -0
- package/agentic/opencode/.opencode/skills/jira-task/SKILL.md +127 -0
- package/agentic/opencode/.opencode/skills/jira-task/jira-task.local.example.json +5 -0
- package/agentic/opencode/.opencode/skills/jira-task/scripts/jira-api.cjs +126 -0
- package/agentic/opencode/.opencode/skills/jira-task/scripts/jira-shared.cjs +125 -0
- package/agentic/opencode/.opencode/skills/journal/SKILL.md +49 -0
- package/agentic/opencode/.opencode/skills/luna-cli/bin/luna +4 -0
- package/agentic/opencode/.opencode/skills/luna-cli/command-registry.cjs +79 -0
- package/agentic/opencode/.opencode/skills/luna-cli/luna-cli.cjs +119 -0
- package/agentic/opencode/.opencode/skills/mermaidjs-v11/SKILL.md +116 -0
- package/agentic/opencode/.opencode/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/agentic/opencode/.opencode/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/agentic/opencode/.opencode/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/agentic/opencode/.opencode/skills/mermaidjs-v11/references/examples.md +344 -0
- package/agentic/opencode/.opencode/skills/mermaidjs-v11/references/integration.md +310 -0
- package/agentic/opencode/.opencode/skills/onboard/SKILL.md +161 -0
- package/agentic/opencode/.opencode/skills/plan/SKILL.md +137 -0
- package/agentic/opencode/.opencode/skills/plan/references/archive-workflow.md +53 -0
- package/agentic/opencode/.opencode/skills/plan/references/codebase-understanding.md +62 -0
- package/agentic/opencode/.opencode/skills/plan/references/output-standards.md +141 -0
- package/agentic/opencode/.opencode/skills/plan/references/plan-organization.md +143 -0
- package/agentic/opencode/.opencode/skills/plan/references/red-team-personas.md +69 -0
- package/agentic/opencode/.opencode/skills/plan/references/red-team-workflow.md +77 -0
- package/agentic/opencode/.opencode/skills/plan/references/research-phase.md +49 -0
- package/agentic/opencode/.opencode/skills/plan/references/solution-design.md +63 -0
- package/agentic/opencode/.opencode/skills/plan/references/task-management.md +132 -0
- package/agentic/opencode/.opencode/skills/plan/references/validate-question-framework.md +80 -0
- package/agentic/opencode/.opencode/skills/plan/references/validate-workflow.md +65 -0
- package/agentic/opencode/.opencode/skills/plan/references/workflow-modes.md +145 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/SKILL.md +167 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/assets/dashboard-template.html +119 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/assets/dashboard.css +1594 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/assets/dashboard.js +596 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/assets/favicon.png +0 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/package-lock.json +123 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/package.json +13 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
- package/agentic/opencode/.opencode/skills/plans-kanban/scripts/server.cjs +260 -0
- package/agentic/opencode/.opencode/skills/preview/SKILL.md +66 -0
- package/agentic/opencode/.opencode/skills/preview/references/generation-modes.md +95 -0
- package/agentic/opencode/.opencode/skills/preview/references/view-mode.md +42 -0
- package/agentic/opencode/.opencode/skills/problem-solving/SKILL.md +70 -0
- package/agentic/opencode/.opencode/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/agentic/opencode/.opencode/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/agentic/opencode/.opencode/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/agentic/opencode/.opencode/skills/problem-solving/references/scale-game.md +95 -0
- package/agentic/opencode/.opencode/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/agentic/opencode/.opencode/skills/problem-solving/references/when-stuck.md +72 -0
- package/agentic/opencode/.opencode/skills/project-management/SKILL.md +120 -0
- package/agentic/opencode/.opencode/skills/project-management/references/documentation-triggers.md +60 -0
- package/agentic/opencode/.opencode/skills/project-management/references/hydration-workflow.md +85 -0
- package/agentic/opencode/.opencode/skills/project-management/references/progress-tracking.md +96 -0
- package/agentic/opencode/.opencode/skills/project-management/references/reporting-patterns.md +94 -0
- package/agentic/opencode/.opencode/skills/project-management/references/task-operations.md +85 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/AGENTS.md +2249 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/README.md +123 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/SKILL.md +122 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/metadata.json +15 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/_sections.md +46 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/_template.md +28 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/agentic/opencode/.opencode/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/agentic/opencode/.opencode/skills/react-structure/SKILL.md +398 -0
- package/agentic/opencode/.opencode/skills/react-structure/hooks/custom-hook-pattern.md +82 -0
- package/agentic/opencode/.opencode/skills/react-structure/references/file-structure.md +63 -0
- package/agentic/opencode/.opencode/skills/react-structure/references/splitting-process.md +82 -0
- package/agentic/opencode/.opencode/skills/react-structure/schemas/component-props-schema.md +84 -0
- package/agentic/opencode/.opencode/skills/research/SKILL.md +74 -0
- package/agentic/opencode/.opencode/skills/scout/SKILL.md +91 -0
- package/agentic/opencode/.opencode/skills/scout/references/external-scouting.md +140 -0
- package/agentic/opencode/.opencode/skills/scout/references/internal-scouting.md +119 -0
- package/agentic/opencode/.opencode/skills/scout/references/task-management-scouting.md +125 -0
- package/agentic/opencode/.opencode/skills/sequential-thinking/SKILL.md +88 -0
- package/agentic/opencode/.opencode/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/agentic/opencode/.opencode/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/agentic/opencode/.opencode/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/agentic/opencode/.opencode/skills/team/SKILL.md +282 -0
- package/agentic/opencode/.opencode/skills/team/references/opencode-runner.md +115 -0
- package/agentic/opencode/.opencode/skills/team/references/prompt-debugger.md +74 -0
- package/agentic/opencode/.opencode/skills/team/references/prompt-researcher.md +62 -0
- package/agentic/opencode/.opencode/skills/team/references/prompt-reviewer.md +54 -0
- package/agentic/opencode/.opencode/skills/team/scripts/spawn-team.sh +142 -0
- package/agentic/opencode/.opencode/skills/test/SKILL.md +75 -0
- package/agentic/opencode/.opencode/skills/test/references/report-format.md +58 -0
- package/agentic/opencode/.opencode/skills/test/references/test-execution-workflow.md +103 -0
- package/agentic/opencode/.opencode/skills/test/references/ui-testing-workflow.md +64 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/SKILL.md +164 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/agentic/opencode/.opencode/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/agentic/opencode/.opencode/skills/watzup/SKILL.md +18 -0
- package/agentic/opencode/.opencode/skills/worktree/SKILL.md +83 -0
- package/agentic/opencode/.opencode/skills/worktree/scripts/worktree.cjs +916 -0
- package/agentic/opencode/README.md +130 -0
- package/agentic/opencode/install.sh +84 -0
- package/agentic/opencode/scripts/sync.sh +175 -0
- package/agentic/opencode/uninstall.sh +65 -0
- package/agentic/shared/scripts/git-platform.cjs +106 -0
- package/agentic/shared/scripts/luna-cli/bin/luna +31 -0
- package/agentic/shared/scripts/luna-cli/command-registry.cjs +113 -0
- package/agentic/shared/scripts/luna-cli/luna-cli.cjs +132 -0
- package/agentic/shared/scripts/set-active-plan.cjs +91 -0
- package/agentic/shared/scripts/validate-agents.js +122 -0
- package/agentic/shared/skills/asana-task/SKILL.md +121 -0
- package/agentic/shared/skills/asana-task/references/id-tc-workflow.md +75 -0
- package/agentic/shared/skills/asana-task/references/implement-workflow.md +164 -0
- package/agentic/shared/skills/asana-task/references/qa-testing-instructions-workflow.md +118 -0
- package/agentic/shared/skills/asana-task/scripts/asana-api.cjs +190 -0
- package/agentic/shared/skills/asana-task/scripts/asana-shared.cjs +107 -0
- package/agentic/shared/skills/asana-task/scripts/asana-update-notes.cjs +255 -0
- package/agentic/shared/skills/asana-task/templates/id-tc.html +20 -0
- package/agentic/shared/skills/asana-task/templates/qa-testing-instructions.html +40 -0
- package/bin/cli.js +128 -0
- package/bin/commands/add-skill.js +202 -0
- package/bin/commands/init.js +428 -0
- package/bin/commands/install.js +864 -0
- package/package.json +44 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Prevent Hydration Mismatch Without Flickering
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: avoids visual flicker and hydration errors
|
|
5
|
+
tags: rendering, ssr, hydration, localStorage, flicker
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Prevent Hydration Mismatch Without Flickering
|
|
9
|
+
|
|
10
|
+
When rendering content that depends on client-side storage (localStorage, cookies), avoid both SSR breakage and post-hydration flickering by injecting a synchronous script that updates the DOM before React hydrates.
|
|
11
|
+
|
|
12
|
+
**Incorrect (breaks SSR):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function ThemeWrapper({ children }: { children: ReactNode }) {
|
|
16
|
+
// localStorage is not available on server - throws error
|
|
17
|
+
const theme = localStorage.getItem('theme') || 'light'
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<div className={theme}>
|
|
21
|
+
{children}
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Server-side rendering will fail because `localStorage` is undefined.
|
|
28
|
+
|
|
29
|
+
**Incorrect (visual flickering):**
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
function ThemeWrapper({ children }: { children: ReactNode }) {
|
|
33
|
+
const [theme, setTheme] = useState('light')
|
|
34
|
+
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
// Runs after hydration - causes visible flash
|
|
37
|
+
const stored = localStorage.getItem('theme')
|
|
38
|
+
if (stored) {
|
|
39
|
+
setTheme(stored)
|
|
40
|
+
}
|
|
41
|
+
}, [])
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<div className={theme}>
|
|
45
|
+
{children}
|
|
46
|
+
</div>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Component first renders with default value (`light`), then updates after hydration, causing a visible flash of incorrect content.
|
|
52
|
+
|
|
53
|
+
**Correct (no flicker, no hydration mismatch):**
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
function ThemeWrapper({ children }: { children: ReactNode }) {
|
|
57
|
+
return (
|
|
58
|
+
<>
|
|
59
|
+
<div id="theme-wrapper">
|
|
60
|
+
{children}
|
|
61
|
+
</div>
|
|
62
|
+
<script
|
|
63
|
+
dangerouslySetInnerHTML={{
|
|
64
|
+
__html: `
|
|
65
|
+
(function() {
|
|
66
|
+
try {
|
|
67
|
+
var theme = localStorage.getItem('theme') || 'light';
|
|
68
|
+
var el = document.getElementById('theme-wrapper');
|
|
69
|
+
if (el) el.className = theme;
|
|
70
|
+
} catch (e) {}
|
|
71
|
+
})();
|
|
72
|
+
`,
|
|
73
|
+
}}
|
|
74
|
+
/>
|
|
75
|
+
</>
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The inline script executes synchronously before showing the element, ensuring the DOM already has the correct value. No flickering, no hydration mismatch.
|
|
81
|
+
|
|
82
|
+
This pattern is especially useful for theme toggles, user preferences, authentication states, and any client-only data that should render immediately without flashing default values.
|
package/agentic/antigravity/.agents/skills/react-best-practices/rules/rendering-svg-precision.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Optimize SVG Precision
|
|
3
|
+
impact: LOW
|
|
4
|
+
impactDescription: reduces file size
|
|
5
|
+
tags: rendering, svg, optimization, svgo
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Optimize SVG Precision
|
|
9
|
+
|
|
10
|
+
Reduce SVG coordinate precision to decrease file size. The optimal precision depends on the viewBox size, but in general reducing precision should be considered.
|
|
11
|
+
|
|
12
|
+
**Incorrect (excessive precision):**
|
|
13
|
+
|
|
14
|
+
```svg
|
|
15
|
+
<path d="M 10.293847 20.847362 L 30.938472 40.192837" />
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Correct (1 decimal place):**
|
|
19
|
+
|
|
20
|
+
```svg
|
|
21
|
+
<path d="M 10.3 20.8 L 30.9 40.2" />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Automate with SVGO:**
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx svgo --precision=1 --multipass icon.svg
|
|
28
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Defer State Reads to Usage Point
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: avoids unnecessary subscriptions
|
|
5
|
+
tags: rerender, searchParams, localStorage, optimization
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Defer State Reads to Usage Point
|
|
9
|
+
|
|
10
|
+
Don't subscribe to dynamic state (searchParams, localStorage) if you only read it inside callbacks.
|
|
11
|
+
|
|
12
|
+
**Incorrect (subscribes to all searchParams changes):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function ShareButton({ chatId }: { chatId: string }) {
|
|
16
|
+
const searchParams = useSearchParams()
|
|
17
|
+
|
|
18
|
+
const handleShare = () => {
|
|
19
|
+
const ref = searchParams.get('ref')
|
|
20
|
+
shareChat(chatId, { ref })
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return <button onClick={handleShare}>Share</button>
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Correct (reads on demand, no subscription):**
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
function ShareButton({ chatId }: { chatId: string }) {
|
|
31
|
+
const handleShare = () => {
|
|
32
|
+
const params = new URLSearchParams(window.location.search)
|
|
33
|
+
const ref = params.get('ref')
|
|
34
|
+
shareChat(chatId, { ref })
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return <button onClick={handleShare}>Share</button>
|
|
38
|
+
}
|
|
39
|
+
```
|
package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-dependencies.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Narrow Effect Dependencies
|
|
3
|
+
impact: LOW
|
|
4
|
+
impactDescription: minimizes effect re-runs
|
|
5
|
+
tags: rerender, useEffect, dependencies, optimization
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Narrow Effect Dependencies
|
|
9
|
+
|
|
10
|
+
Specify primitive dependencies instead of objects to minimize effect re-runs.
|
|
11
|
+
|
|
12
|
+
**Incorrect (re-runs on any user field change):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
console.log(user.id)
|
|
17
|
+
}, [user])
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Correct (re-runs only when id changes):**
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
console.log(user.id)
|
|
25
|
+
}, [user.id])
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**For derived state, compute outside effect:**
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
// Incorrect: runs on width=767, 766, 765...
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (width < 768) {
|
|
34
|
+
enableMobileMode()
|
|
35
|
+
}
|
|
36
|
+
}, [width])
|
|
37
|
+
|
|
38
|
+
// Correct: runs only on boolean transition
|
|
39
|
+
const isMobile = width < 768
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (isMobile) {
|
|
42
|
+
enableMobileMode()
|
|
43
|
+
}
|
|
44
|
+
}, [isMobile])
|
|
45
|
+
```
|
package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-derived-state.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Subscribe to Derived State
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: reduces re-render frequency
|
|
5
|
+
tags: rerender, derived-state, media-query, optimization
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Subscribe to Derived State
|
|
9
|
+
|
|
10
|
+
Subscribe to derived boolean state instead of continuous values to reduce re-render frequency.
|
|
11
|
+
|
|
12
|
+
**Incorrect (re-renders on every pixel change):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function Sidebar() {
|
|
16
|
+
const width = useWindowWidth() // updates continuously
|
|
17
|
+
const isMobile = width < 768
|
|
18
|
+
return <nav className={isMobile ? 'mobile' : 'desktop'}>
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Correct (re-renders only when boolean changes):**
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
function Sidebar() {
|
|
26
|
+
const isMobile = useMediaQuery('(max-width: 767px)')
|
|
27
|
+
return <nav className={isMobile ? 'mobile' : 'desktop'}>
|
|
28
|
+
}
|
|
29
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use Functional setState Updates
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: prevents stale closures and unnecessary callback recreations
|
|
5
|
+
tags: react, hooks, useState, useCallback, callbacks, closures
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Use Functional setState Updates
|
|
9
|
+
|
|
10
|
+
When updating state based on the current state value, use the functional update form of setState instead of directly referencing the state variable. This prevents stale closures, eliminates unnecessary dependencies, and creates stable callback references.
|
|
11
|
+
|
|
12
|
+
**Incorrect (requires state as dependency):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function TodoList() {
|
|
16
|
+
const [items, setItems] = useState(initialItems)
|
|
17
|
+
|
|
18
|
+
// Callback must depend on items, recreated on every items change
|
|
19
|
+
const addItems = useCallback((newItems: Item[]) => {
|
|
20
|
+
setItems([...items, ...newItems])
|
|
21
|
+
}, [items]) // ❌ items dependency causes recreations
|
|
22
|
+
|
|
23
|
+
// Risk of stale closure if dependency is forgotten
|
|
24
|
+
const removeItem = useCallback((id: string) => {
|
|
25
|
+
setItems(items.filter(item => item.id !== id))
|
|
26
|
+
}, []) // ❌ Missing items dependency - will use stale items!
|
|
27
|
+
|
|
28
|
+
return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The first callback is recreated every time `items` changes, which can cause child components to re-render unnecessarily. The second callback has a stale closure bug—it will always reference the initial `items` value.
|
|
33
|
+
|
|
34
|
+
**Correct (stable callbacks, no stale closures):**
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
function TodoList() {
|
|
38
|
+
const [items, setItems] = useState(initialItems)
|
|
39
|
+
|
|
40
|
+
// Stable callback, never recreated
|
|
41
|
+
const addItems = useCallback((newItems: Item[]) => {
|
|
42
|
+
setItems(curr => [...curr, ...newItems])
|
|
43
|
+
}, []) // ✅ No dependencies needed
|
|
44
|
+
|
|
45
|
+
// Always uses latest state, no stale closure risk
|
|
46
|
+
const removeItem = useCallback((id: string) => {
|
|
47
|
+
setItems(curr => curr.filter(item => item.id !== id))
|
|
48
|
+
}, []) // ✅ Safe and stable
|
|
49
|
+
|
|
50
|
+
return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Benefits:**
|
|
55
|
+
|
|
56
|
+
1. **Stable callback references** - Callbacks don't need to be recreated when state changes
|
|
57
|
+
2. **No stale closures** - Always operates on the latest state value
|
|
58
|
+
3. **Fewer dependencies** - Simplifies dependency arrays and reduces memory leaks
|
|
59
|
+
4. **Prevents bugs** - Eliminates the most common source of React closure bugs
|
|
60
|
+
|
|
61
|
+
**When to use functional updates:**
|
|
62
|
+
|
|
63
|
+
- Any setState that depends on the current state value
|
|
64
|
+
- Inside useCallback/useMemo when state is needed
|
|
65
|
+
- Event handlers that reference state
|
|
66
|
+
- Async operations that update state
|
|
67
|
+
|
|
68
|
+
**When direct updates are fine:**
|
|
69
|
+
|
|
70
|
+
- Setting state to a static value: `setCount(0)`
|
|
71
|
+
- Setting state from props/arguments only: `setName(newName)`
|
|
72
|
+
- State doesn't depend on previous value
|
|
73
|
+
|
|
74
|
+
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bugs.
|
package/agentic/antigravity/.agents/skills/react-best-practices/rules/rerender-lazy-state-init.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use Lazy State Initialization
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: wasted computation on every render
|
|
5
|
+
tags: react, hooks, useState, performance, initialization
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Use Lazy State Initialization
|
|
9
|
+
|
|
10
|
+
Pass a function to `useState` for expensive initial values. Without the function form, the initializer runs on every render even though the value is only used once.
|
|
11
|
+
|
|
12
|
+
**Incorrect (runs on every render):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function FilteredList({ items }: { items: Item[] }) {
|
|
16
|
+
// buildSearchIndex() runs on EVERY render, even after initialization
|
|
17
|
+
const [searchIndex, setSearchIndex] = useState(buildSearchIndex(items))
|
|
18
|
+
const [query, setQuery] = useState('')
|
|
19
|
+
|
|
20
|
+
// When query changes, buildSearchIndex runs again unnecessarily
|
|
21
|
+
return <SearchResults index={searchIndex} query={query} />
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function UserProfile() {
|
|
25
|
+
// JSON.parse runs on every render
|
|
26
|
+
const [settings, setSettings] = useState(
|
|
27
|
+
JSON.parse(localStorage.getItem('settings') || '{}')
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
return <SettingsForm settings={settings} onChange={setSettings} />
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Correct (runs only once):**
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
function FilteredList({ items }: { items: Item[] }) {
|
|
38
|
+
// buildSearchIndex() runs ONLY on initial render
|
|
39
|
+
const [searchIndex, setSearchIndex] = useState(() => buildSearchIndex(items))
|
|
40
|
+
const [query, setQuery] = useState('')
|
|
41
|
+
|
|
42
|
+
return <SearchResults index={searchIndex} query={query} />
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function UserProfile() {
|
|
46
|
+
// JSON.parse runs only on initial render
|
|
47
|
+
const [settings, setSettings] = useState(() => {
|
|
48
|
+
const stored = localStorage.getItem('settings')
|
|
49
|
+
return stored ? JSON.parse(stored) : {}
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
return <SettingsForm settings={settings} onChange={setSettings} />
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Use lazy initialization when computing initial values from localStorage/sessionStorage, building data structures (indexes, maps), reading from the DOM, or performing heavy transformations.
|
|
57
|
+
|
|
58
|
+
For simple primitives (`useState(0)`), direct references (`useState(props.value)`), or cheap literals (`useState({})`), the function form is unnecessary.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Extract to Memoized Components
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: enables early returns
|
|
5
|
+
tags: rerender, memo, useMemo, optimization
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Extract to Memoized Components
|
|
9
|
+
|
|
10
|
+
Extract expensive work into memoized components to enable early returns before computation.
|
|
11
|
+
|
|
12
|
+
**Incorrect (computes avatar even when loading):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function Profile({ user, loading }: Props) {
|
|
16
|
+
const avatar = useMemo(() => {
|
|
17
|
+
const id = computeAvatarId(user)
|
|
18
|
+
return <Avatar id={id} />
|
|
19
|
+
}, [user])
|
|
20
|
+
|
|
21
|
+
if (loading) return <Skeleton />
|
|
22
|
+
return <div>{avatar}</div>
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Correct (skips computation when loading):**
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
const UserAvatar = memo(function UserAvatar({ user }: { user: User }) {
|
|
30
|
+
const id = useMemo(() => computeAvatarId(user), [user])
|
|
31
|
+
return <Avatar id={id} />
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
function Profile({ user, loading }: Props) {
|
|
35
|
+
if (loading) return <Skeleton />
|
|
36
|
+
return (
|
|
37
|
+
<div>
|
|
38
|
+
<UserAvatar user={user} />
|
|
39
|
+
</div>
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use Transitions for Non-Urgent Updates
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: maintains UI responsiveness
|
|
5
|
+
tags: rerender, transitions, startTransition, performance
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Use Transitions for Non-Urgent Updates
|
|
9
|
+
|
|
10
|
+
Mark frequent, non-urgent state updates as transitions to maintain UI responsiveness.
|
|
11
|
+
|
|
12
|
+
**Incorrect (blocks UI on every scroll):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
function ScrollTracker() {
|
|
16
|
+
const [scrollY, setScrollY] = useState(0)
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const handler = () => setScrollY(window.scrollY)
|
|
19
|
+
window.addEventListener('scroll', handler, { passive: true })
|
|
20
|
+
return () => window.removeEventListener('scroll', handler)
|
|
21
|
+
}, [])
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Correct (non-blocking updates):**
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
import { startTransition } from 'react'
|
|
29
|
+
|
|
30
|
+
function ScrollTracker() {
|
|
31
|
+
const [scrollY, setScrollY] = useState(0)
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
const handler = () => {
|
|
34
|
+
startTransition(() => setScrollY(window.scrollY))
|
|
35
|
+
}
|
|
36
|
+
window.addEventListener('scroll', handler, { passive: true })
|
|
37
|
+
return () => window.removeEventListener('scroll', handler)
|
|
38
|
+
}, [])
|
|
39
|
+
}
|
|
40
|
+
```
|
package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-after-nonblocking.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use after() for Non-Blocking Operations
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: faster response times
|
|
5
|
+
tags: server, async, logging, analytics, side-effects
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Use after() for Non-Blocking Operations
|
|
9
|
+
|
|
10
|
+
Use Next.js's `after()` to schedule work that should execute after a response is sent. This prevents logging, analytics, and other side effects from blocking the response.
|
|
11
|
+
|
|
12
|
+
**Incorrect (blocks response):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
import { logUserAction } from '@/app/utils'
|
|
16
|
+
|
|
17
|
+
export async function POST(request: Request) {
|
|
18
|
+
// Perform mutation
|
|
19
|
+
await updateDatabase(request)
|
|
20
|
+
|
|
21
|
+
// Logging blocks the response
|
|
22
|
+
const userAgent = request.headers.get('user-agent') || 'unknown'
|
|
23
|
+
await logUserAction({ userAgent })
|
|
24
|
+
|
|
25
|
+
return new Response(JSON.stringify({ status: 'success' }), {
|
|
26
|
+
status: 200,
|
|
27
|
+
headers: { 'Content-Type': 'application/json' }
|
|
28
|
+
})
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Correct (non-blocking):**
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { after } from 'next/server'
|
|
36
|
+
import { headers, cookies } from 'next/headers'
|
|
37
|
+
import { logUserAction } from '@/app/utils'
|
|
38
|
+
|
|
39
|
+
export async function POST(request: Request) {
|
|
40
|
+
// Perform mutation
|
|
41
|
+
await updateDatabase(request)
|
|
42
|
+
|
|
43
|
+
// Log after response is sent
|
|
44
|
+
after(async () => {
|
|
45
|
+
const userAgent = (await headers()).get('user-agent') || 'unknown'
|
|
46
|
+
const sessionCookie = (await cookies()).get('session-id')?.value || 'anonymous'
|
|
47
|
+
|
|
48
|
+
logUserAction({ sessionCookie, userAgent })
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
return new Response(JSON.stringify({ status: 'success' }), {
|
|
52
|
+
status: 200,
|
|
53
|
+
headers: { 'Content-Type': 'application/json' }
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The response is sent immediately while logging happens in the background.
|
|
59
|
+
|
|
60
|
+
**Common use cases:**
|
|
61
|
+
|
|
62
|
+
- Analytics tracking
|
|
63
|
+
- Audit logging
|
|
64
|
+
- Sending notifications
|
|
65
|
+
- Cache invalidation
|
|
66
|
+
- Cleanup tasks
|
|
67
|
+
|
|
68
|
+
**Important notes:**
|
|
69
|
+
|
|
70
|
+
- `after()` runs even if the response fails or redirects
|
|
71
|
+
- Works in Server Actions, Route Handlers, and Server Components
|
|
72
|
+
|
|
73
|
+
Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Cross-Request LRU Caching
|
|
3
|
+
impact: HIGH
|
|
4
|
+
impactDescription: caches across requests
|
|
5
|
+
tags: server, cache, lru, cross-request
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Cross-Request LRU Caching
|
|
9
|
+
|
|
10
|
+
`React.cache()` only works within one request. For data shared across sequential requests (user clicks button A then button B), use an LRU cache.
|
|
11
|
+
|
|
12
|
+
**Implementation:**
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { LRUCache } from 'lru-cache'
|
|
16
|
+
|
|
17
|
+
const cache = new LRUCache<string, any>({
|
|
18
|
+
max: 1000,
|
|
19
|
+
ttl: 5 * 60 * 1000 // 5 minutes
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
export async function getUser(id: string) {
|
|
23
|
+
const cached = cache.get(id)
|
|
24
|
+
if (cached) return cached
|
|
25
|
+
|
|
26
|
+
const user = await db.user.findUnique({ where: { id } })
|
|
27
|
+
cache.set(id, user)
|
|
28
|
+
return user
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Request 1: DB query, result cached
|
|
32
|
+
// Request 2: cache hit, no DB query
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Use when sequential user actions hit multiple endpoints needing the same data within seconds.
|
|
36
|
+
|
|
37
|
+
**With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests without needing external storage like Redis.
|
|
38
|
+
|
|
39
|
+
**In traditional serverless:** Each invocation runs in isolation, so consider Redis for cross-process caching.
|
|
40
|
+
|
|
41
|
+
Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Per-Request Deduplication with React.cache()
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: deduplicates within request
|
|
5
|
+
tags: server, cache, react-cache, deduplication
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Per-Request Deduplication with React.cache()
|
|
9
|
+
|
|
10
|
+
Use `React.cache()` for server-side request deduplication. Authentication and database queries benefit most.
|
|
11
|
+
|
|
12
|
+
**Usage:**
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { cache } from 'react'
|
|
16
|
+
|
|
17
|
+
export const getCurrentUser = cache(async () => {
|
|
18
|
+
const session = await auth()
|
|
19
|
+
if (!session?.user?.id) return null
|
|
20
|
+
return await db.user.findUnique({
|
|
21
|
+
where: { id: session.user.id }
|
|
22
|
+
})
|
|
23
|
+
})
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Within a single request, multiple calls to `getCurrentUser()` execute the query only once.
|
package/agentic/antigravity/.agents/skills/react-best-practices/rules/server-parallel-fetching.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Parallel Data Fetching with Component Composition
|
|
3
|
+
impact: CRITICAL
|
|
4
|
+
impactDescription: eliminates server-side waterfalls
|
|
5
|
+
tags: server, rsc, parallel-fetching, composition
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Parallel Data Fetching with Component Composition
|
|
9
|
+
|
|
10
|
+
React Server Components execute sequentially within a tree. Restructure with composition to parallelize data fetching.
|
|
11
|
+
|
|
12
|
+
**Incorrect (Sidebar waits for Page's fetch to complete):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
export default async function Page() {
|
|
16
|
+
const header = await fetchHeader()
|
|
17
|
+
return (
|
|
18
|
+
<div>
|
|
19
|
+
<div>{header}</div>
|
|
20
|
+
<Sidebar />
|
|
21
|
+
</div>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async function Sidebar() {
|
|
26
|
+
const items = await fetchSidebarItems()
|
|
27
|
+
return <nav>{items.map(renderItem)}</nav>
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Correct (both fetch simultaneously):**
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
async function Header() {
|
|
35
|
+
const data = await fetchHeader()
|
|
36
|
+
return <div>{data}</div>
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async function Sidebar() {
|
|
40
|
+
const items = await fetchSidebarItems()
|
|
41
|
+
return <nav>{items.map(renderItem)}</nav>
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export default function Page() {
|
|
45
|
+
return (
|
|
46
|
+
<div>
|
|
47
|
+
<Header />
|
|
48
|
+
<Sidebar />
|
|
49
|
+
</div>
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Alternative with children prop:**
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
async function Layout({ children }: { children: ReactNode }) {
|
|
58
|
+
const header = await fetchHeader()
|
|
59
|
+
return (
|
|
60
|
+
<div>
|
|
61
|
+
<div>{header}</div>
|
|
62
|
+
{children}
|
|
63
|
+
</div>
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async function Sidebar() {
|
|
68
|
+
const items = await fetchSidebarItems()
|
|
69
|
+
return <nav>{items.map(renderItem)}</nav>
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export default function Page() {
|
|
73
|
+
return (
|
|
74
|
+
<Layout>
|
|
75
|
+
<Sidebar />
|
|
76
|
+
</Layout>
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
```
|