agent-skill-kit 3.9.135
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/.agent/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-developer
|
|
3
|
+
description: >-
|
|
4
|
+
Mobile development with React Native, Flutter, or native iOS/Android.
|
|
5
|
+
Use when building mobile apps, configuring native modules, or optimizing mobile performance.
|
|
6
|
+
NOT for web frontend (use react-pro) or mobile design decisions (use mobile-design).
|
|
7
|
+
category: mobile-architect
|
|
8
|
+
triggers: ["React Native", "Flutter", "iOS", "Android", "mobile app", "cross-platform", "native app"]
|
|
9
|
+
coordinates_with: ["mobile-first", "mobile-design", "test-architect", "perf-optimizer", "mobile-security-coder", "code-craft", "problem-checker"]
|
|
10
|
+
success_metrics: ["100% Build Pass", "0 IDE/Lint Errors", "OWASP MASVS Compliant"]
|
|
11
|
+
metadata:
|
|
12
|
+
author: pikakit
|
|
13
|
+
version: "3.9.134"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Mobile Developer — Cross-Platform & Native Expert
|
|
17
|
+
|
|
18
|
+
> 4 frameworks. 4 architectures. 4 test levels. 6 security items. 60fps target.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 5 Must-Ask Questions (Before Any Development)
|
|
23
|
+
|
|
24
|
+
| # | Question | Options |
|
|
25
|
+
|---|----------|---------|
|
|
26
|
+
| 1 | Platform? | iOS, Android, or both |
|
|
27
|
+
| 2 | Framework? | React Native, Flutter, native |
|
|
28
|
+
| 3 | Navigation? | Tabs, stack, drawer |
|
|
29
|
+
| 4 | Offline? | Must work offline? |
|
|
30
|
+
| 5 | Devices? | Phone only or tablet too |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## When to Use
|
|
35
|
+
|
|
36
|
+
| Situation | Action |
|
|
37
|
+
|-----------|--------|
|
|
38
|
+
| Choose mobile framework | Framework selection tree |
|
|
39
|
+
| Design app architecture | Architecture routing |
|
|
40
|
+
| Plan testing strategy | 4-level test plan |
|
|
41
|
+
| Security compliance | OWASP MASVS checklist |
|
|
42
|
+
| Store submission | ASO checklist |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## System Boundaries
|
|
47
|
+
|
|
48
|
+
| Owned by This Skill | NOT Owned |
|
|
49
|
+
|---------------------|-----------|
|
|
50
|
+
| Framework selection (4 options) | Mobile design (→ mobile-design) |
|
|
51
|
+
| Architecture routing (4 patterns) | Mobile orchestration (→ mobile-first) |
|
|
52
|
+
| Testing strategy (4 levels) | Security code review (→ mobile-security-coder) |
|
|
53
|
+
| Security checklist (6 items) | Performance profiling (→ perf-optimizer) |
|
|
54
|
+
|
|
55
|
+
**Expert decision skill:** Produces recommendations and checklists. Does not write code.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Framework Selection (Deterministic)
|
|
60
|
+
|
|
61
|
+
| Need | Framework |
|
|
62
|
+
|------|-----------|
|
|
63
|
+
| OTA updates, rapid iteration | **React Native + Expo** |
|
|
64
|
+
| Pixel-perfect custom UI | **Flutter** |
|
|
65
|
+
| Deep iOS platform features | **SwiftUI** |
|
|
66
|
+
| Deep Android platform features | **Kotlin + Compose** |
|
|
67
|
+
| Cross-platform, no special needs | **React Native + Expo** (default) |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Architecture Routing (Deterministic)
|
|
72
|
+
|
|
73
|
+
| Context | Pattern |
|
|
74
|
+
|---------|---------|
|
|
75
|
+
| Complex app + large team (6+) | **Clean Architecture** |
|
|
76
|
+
| UI-driven app, moderate complexity | **MVVM** |
|
|
77
|
+
| Complex state management | **BLoC / Redux** |
|
|
78
|
+
| Data abstraction needed | **Repository** |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Performance Targets (Fixed)
|
|
83
|
+
|
|
84
|
+
| Target | Value |
|
|
85
|
+
|--------|-------|
|
|
86
|
+
| Animation framerate | 60fps |
|
|
87
|
+
| App startup (cold) | < 2,000 ms |
|
|
88
|
+
| List rendering | Virtualized (FlatList / ListView) |
|
|
89
|
+
| Memory leaks | Zero (enforce cleanup) |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Platform Services
|
|
94
|
+
|
|
95
|
+
| Service | Technologies |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| Push | FCM, APNs |
|
|
98
|
+
| Auth | OAuth, Biometric, Social |
|
|
99
|
+
| Payments | Stripe, Apple Pay, Google Pay |
|
|
100
|
+
| Maps | Google Maps, Apple MapKit |
|
|
101
|
+
| Analytics | Firebase, Sentry |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Testing Strategy (4 Levels)
|
|
106
|
+
|
|
107
|
+
| Level | Tools |
|
|
108
|
+
|-------|-------|
|
|
109
|
+
| Unit | Jest, Dart test, XCTest |
|
|
110
|
+
| Component | React Native Testing Library |
|
|
111
|
+
| E2E | Detox, Maestro, Patrol |
|
|
112
|
+
| Device | Firebase Test Lab, Bitrise |
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Security Checklist (OWASP MASVS — 6 Items)
|
|
117
|
+
|
|
118
|
+
- [ ] OWASP MASVS compliance
|
|
119
|
+
- [ ] Certificate pinning
|
|
120
|
+
- [ ] Biometric authentication
|
|
121
|
+
- [ ] Secure storage (Keychain/Keystore)
|
|
122
|
+
- [ ] Code obfuscation (ProGuard/R8)
|
|
123
|
+
- [ ] GDPR/privacy compliance
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Audit Logging (OpenTelemetry)
|
|
128
|
+
|
|
129
|
+
| Event | Metadata Payload | Severity |
|
|
130
|
+
|-------|------------------|----------|
|
|
131
|
+
| `build_verification` | `{"framework": "...", "platform": "...", "status": "pass/fail"}` | `INFO` |
|
|
132
|
+
| `architecture_decision` | `{"state_management": "...", "storage": "..."}` | `INFO` |
|
|
133
|
+
| `security_audit` | `{"masvs_compliant": true, "token_storage": "SecureStore"}` | `INFO` |
|
|
134
|
+
|
|
135
|
+
All executions MUST emit the `build_verification` span before reporting completion.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Error Taxonomy
|
|
140
|
+
|
|
141
|
+
| Code | Recoverable | Trigger |
|
|
142
|
+
|------|-------------|---------|
|
|
143
|
+
| `ERR_INVALID_REQUEST_TYPE` | No | Request type not supported |
|
|
144
|
+
| `ERR_UNKNOWN_PLATFORM` | Yes | Platform not ios/android/both |
|
|
145
|
+
| `ERR_MISSING_PLATFORM` | Yes | Platform not provided |
|
|
146
|
+
| `WARN_CONFLICT` | Yes | Conflicting requirements |
|
|
147
|
+
|
|
148
|
+
**Zero internal retries.** Deterministic; same context = same recommendation.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Anti-Patterns
|
|
153
|
+
|
|
154
|
+
| ❌ Don't | ✅ Do |
|
|
155
|
+
|---------|-------|
|
|
156
|
+
| Pick framework without criteria | Use framework selection tree |
|
|
157
|
+
| Skip architecture for "simple" apps | At minimum use Repository pattern |
|
|
158
|
+
| Assume network availability | Design offline-first |
|
|
159
|
+
| Skip security for MVP | OWASP MASVS from day 1 |
|
|
160
|
+
| Test only on simulator | Include real device testing |
|
|
161
|
+
| Ignore IDE errors without fixing | Call `problem-checker` to auto-fix |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Troubleshooting
|
|
166
|
+
|
|
167
|
+
| Problem | Solution |
|
|
168
|
+
|---------|----------|
|
|
169
|
+
| iOS build fails | `pod install --repo-update` |
|
|
170
|
+
| Android Gradle error | Check Gradle version, sync project |
|
|
171
|
+
| Hot reload broken | Restart Metro/Flutter, clear cache |
|
|
172
|
+
| Native module linking | `npx react-native link` or `flutter pub get` |
|
|
173
|
+
| App store rejection | Check guidelines, test on real devices |
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## 📑 Content Map
|
|
177
|
+
|
|
178
|
+
| File | Description | When to Read |
|
|
179
|
+
|------|-------------|--------------|
|
|
180
|
+
| [engineering-spec.md](rules/engineering-spec.md) | Full engineering spec | Architecture review |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 🔗 Related
|
|
185
|
+
|
|
186
|
+
| Item | Type | Purpose |
|
|
187
|
+
|------|------|---------|
|
|
188
|
+
| `mobile-first` | Skill | Mobile orchestrator |
|
|
189
|
+
| `mobile-design` | Skill | Design patterns |
|
|
190
|
+
| `mobile-security-coder` | Skill | Security implementation |
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Sections
|
|
2
|
+
|
|
3
|
+
This file defines all sections, their ordering, impact levels, and descriptions.
|
|
4
|
+
The section ID (in parentheses) is the filename prefix used to group rules.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Mobile Patterns (mobile)
|
|
9
|
+
|
|
10
|
+
**Impact:** HIGH
|
|
11
|
+
**Description:** Mobile-specific patterns for touch, performance, and platform conventions.
|
|
12
|
+
|
|
13
|
+
## 2. General (general)
|
|
14
|
+
|
|
15
|
+
**Impact:** LOW
|
|
16
|
+
**Description:** General patterns and best practices.
|
|
17
|
+
|
|
18
|
+
## 3. Platform (platform)
|
|
19
|
+
|
|
20
|
+
**Impact:** LOW
|
|
21
|
+
**Description:** Platform patterns and best practices.
|
|
22
|
+
|
|
23
|
+
## 4. Anti (anti)
|
|
24
|
+
|
|
25
|
+
**Impact:** LOW
|
|
26
|
+
**Description:** Anti patterns and best practices.
|
|
27
|
+
|
|
28
|
+
## 5. App store (app-store)
|
|
29
|
+
|
|
30
|
+
**Impact:** LOW
|
|
31
|
+
**Description:** App store patterns and best practices.
|
|
32
|
+
|
|
33
|
+
## 6. Decision Trees (decision)
|
|
34
|
+
|
|
35
|
+
**Impact:** HIGH
|
|
36
|
+
**Description:** Structured decision-making frameworks for design choices.
|
|
37
|
+
|
|
38
|
+
## 7. Deep (deep)
|
|
39
|
+
|
|
40
|
+
**Impact:** LOW
|
|
41
|
+
**Description:** Deep patterns and best practices.
|
|
42
|
+
|
|
43
|
+
## 8. Engineering Specification (engineering)
|
|
44
|
+
|
|
45
|
+
**Impact:** MEDIUM
|
|
46
|
+
**Description:** Full engineering specification covering contracts, security, and scalability.
|
|
47
|
+
|
|
48
|
+
## 9. Mobile color (mobile-color)
|
|
49
|
+
|
|
50
|
+
**Impact:** LOW
|
|
51
|
+
**Description:** Mobile color patterns and best practices.
|
|
52
|
+
|
|
53
|
+
## 10. Mobile design (mobile-design)
|
|
54
|
+
|
|
55
|
+
**Impact:** LOW
|
|
56
|
+
**Description:** Mobile design patterns and best practices.
|
|
57
|
+
|
|
58
|
+
## 11. Push (push)
|
|
59
|
+
|
|
60
|
+
**Impact:** LOW
|
|
61
|
+
**Description:** Push patterns and best practices.
|
|
62
|
+
|
|
63
|
+
## 12. React (react)
|
|
64
|
+
|
|
65
|
+
**Impact:** LOW
|
|
66
|
+
**Description:** React patterns and best practices.
|
|
67
|
+
|
|
68
|
+
## 13. Touch & Interaction (touch)
|
|
69
|
+
|
|
70
|
+
**Impact:** HIGH
|
|
71
|
+
**Description:** Touch-first interaction patterns optimized for mobile devices.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Rule Title Here
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: Optional description of impact (e.g., "20-50% improvement")
|
|
5
|
+
tags: tag1, tag2
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Rule Title Here
|
|
9
|
+
|
|
10
|
+
**Impact: MEDIUM (optional impact description)**
|
|
11
|
+
|
|
12
|
+
Brief explanation of the rule and why it matters. This should be clear and concise, explaining the performance implications.
|
|
13
|
+
|
|
14
|
+
**Incorrect (description of what's wrong):**
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
// Bad code example here
|
|
18
|
+
const bad = example()
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Correct (description of what's right):**
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
// Good code example here
|
|
25
|
+
const good = example()
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Reference: [Link to documentation or resource](https://example.com)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: anti-patterns
|
|
3
|
+
description: Quick-reference anti-pattern table for mobile development — performance, UX, security, architecture
|
|
4
|
+
title: "Mobile Anti-Patterns"
|
|
5
|
+
impact: MEDIUM
|
|
6
|
+
impactDescription: "Moderate improvement to quality or maintainability"
|
|
7
|
+
tags: anti, patterns
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Mobile Anti-Patterns
|
|
11
|
+
|
|
12
|
+
> 🚫 Common AI default tendencies that MUST be avoided!
|
|
13
|
+
|
|
14
|
+
## Performance Sins
|
|
15
|
+
|
|
16
|
+
| ❌ NEVER DO | Why It's Wrong | ✅ ALWAYS DO |
|
|
17
|
+
|-------------|----------------|--------------|
|
|
18
|
+
| ScrollView for long lists | Renders ALL items, memory explodes | Use `FlatList` / `FlashList` / `ListView.builder` |
|
|
19
|
+
| Inline renderItem function | New function every render | `useCallback` + `React.memo` |
|
|
20
|
+
| Missing keyExtractor | Index-based keys cause bugs | Unique, stable ID from data |
|
|
21
|
+
| Skip getItemLayout | Async layout = janky scroll | Provide when items have fixed height |
|
|
22
|
+
| setState() everywhere | Unnecessary widget rebuilds | Targeted state, `const` constructors |
|
|
23
|
+
| Native driver: false | Animations blocked by JS thread | `useNativeDriver: true` always |
|
|
24
|
+
| console.log in production | Blocks JS thread severely | Remove before release build |
|
|
25
|
+
| Skip React.memo/const | Every item re-renders | Memoize list items ALWAYS |
|
|
26
|
+
|
|
27
|
+
## Touch/UX Sins
|
|
28
|
+
|
|
29
|
+
| ❌ NEVER DO | Why It's Wrong | ✅ ALWAYS DO |
|
|
30
|
+
|-------------|----------------|--------------|
|
|
31
|
+
| Touch target < 44px | Impossible to tap accurately | Minimum 44pt (iOS) / 48dp (Android) |
|
|
32
|
+
| Spacing < 8px between targets | Accidental taps | Minimum 8-12px gap |
|
|
33
|
+
| Gesture-only interactions | Motor impaired users excluded | Always provide button alternative |
|
|
34
|
+
| No loading state | User thinks app crashed | ALWAYS show loading feedback |
|
|
35
|
+
| No error state | User stuck, no recovery path | Show error with retry option |
|
|
36
|
+
| No offline handling | Crash/block when network lost | Graceful degradation, cached data |
|
|
37
|
+
| Ignore platform conventions | Users confused | iOS feels iOS, Android feels Android |
|
|
38
|
+
|
|
39
|
+
## Security Sins
|
|
40
|
+
|
|
41
|
+
| ❌ NEVER DO | Why It's Wrong | ✅ ALWAYS DO |
|
|
42
|
+
|-------------|----------------|--------------|
|
|
43
|
+
| Token in AsyncStorage | Easily stolen on rooted device | `SecureStore` / `Keychain` / `EncryptedSharedPreferences` |
|
|
44
|
+
| Hardcode API keys | Reverse engineered from APK/IPA | Environment variables, secure storage |
|
|
45
|
+
| Skip SSL pinning | MITM attacks possible | Pin certificates in production |
|
|
46
|
+
| Log sensitive data | Logs can be extracted | Never log tokens, passwords, PII |
|
|
47
|
+
|
|
48
|
+
## Architecture Sins
|
|
49
|
+
|
|
50
|
+
| ❌ NEVER DO | Why It's Wrong | ✅ ALWAYS DO |
|
|
51
|
+
|-------------|----------------|--------------|
|
|
52
|
+
| Business logic in UI | Untestable, unmaintainable | Service layer separation |
|
|
53
|
+
| Global state for everything | Unnecessary re-renders | Local state default, lift when needed |
|
|
54
|
+
| Deep linking as afterthought | Notifications, shares broken | Plan deep links from day one |
|
|
55
|
+
| Skip dispose/cleanup | Memory leaks | Clean up subscriptions, timers |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 🔗 Related
|
|
60
|
+
|
|
61
|
+
| File | When to Read |
|
|
62
|
+
|------|-------------|
|
|
63
|
+
| [mobile-performance.md](mobile-performance.md) | Performance anti-pattern details |
|
|
64
|
+
| [mobile-debugging.md](mobile-debugging.md) | Debugging workflows |
|
|
65
|
+
| [decision-trees.md](decision-trees.md) | Correct patterns to use instead |
|
|
66
|
+
| [touch-psychology.md](touch-psychology.md) | Touch UX guidance |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app-store-optimization
|
|
3
|
+
description: ASO strategies for iOS App Store and Google Play Store — visibility, conversion, compliance, and automation
|
|
4
|
+
title: "App Store Optimization (ASO)"
|
|
5
|
+
impact: MEDIUM
|
|
6
|
+
impactDescription: "Moderate improvement to quality or maintainability"
|
|
7
|
+
tags: app, store, optimization
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# App Store Optimization (ASO)
|
|
11
|
+
|
|
12
|
+
> **Philosophy:** ASO is SEO for apps. Discoverability drives downloads.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Core ASO Elements
|
|
17
|
+
|
|
18
|
+
| Element | iOS App Store | Google Play |
|
|
19
|
+
|---------|---------------|-------------|
|
|
20
|
+
| **Title** | 30 chars | 30 chars |
|
|
21
|
+
| **Subtitle** | 30 chars | N/A |
|
|
22
|
+
| **Short Description** | N/A | 80 chars |
|
|
23
|
+
| **Promotional Text** | 170 chars (updateable without review) | N/A |
|
|
24
|
+
| **Keywords** | 100 chars (hidden) | Indexed from all text |
|
|
25
|
+
| **Description** | 4000 chars | 4000 chars |
|
|
26
|
+
| **Screenshots** | Up to 10 | Up to 8 |
|
|
27
|
+
| **Video** | 15-30 sec preview | Up to 30 sec |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Keyword Strategy
|
|
32
|
+
|
|
33
|
+
### iOS Keyword Field (100 chars)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
task,manager,todo,productivity,checklist,reminder,planner,organize,gtd
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Rules:**
|
|
40
|
+
- Comma-separated, no spaces
|
|
41
|
+
- No duplicates (including title words)
|
|
42
|
+
- Singular forms (plurals indexed automatically)
|
|
43
|
+
- No competitor names (rejected)
|
|
44
|
+
|
|
45
|
+
### Google Play (Text-Based)
|
|
46
|
+
|
|
47
|
+
Keywords indexed from (highest to lowest weight):
|
|
48
|
+
1. Title
|
|
49
|
+
2. Short description
|
|
50
|
+
3. Full description
|
|
51
|
+
4. Developer name
|
|
52
|
+
|
|
53
|
+
**Best Practice:** Repeat important keywords 3-5 times naturally in description.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Promotional Text (iOS)
|
|
58
|
+
|
|
59
|
+
> 170 chars. Can be updated without app review — use for time-sensitive messaging.
|
|
60
|
+
|
|
61
|
+
| Use Case | Example |
|
|
62
|
+
|----------|---------|
|
|
63
|
+
| Feature launch | "🆕 Dark mode is here! Try it now" |
|
|
64
|
+
| Seasonal | "☀️ Summer sale — 50% off Pro" |
|
|
65
|
+
| Social proof | "⭐ #1 in Productivity — thank you!" |
|
|
66
|
+
| Re-engagement | "📱 New widgets for iOS 18" |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Screenshots That Convert
|
|
71
|
+
|
|
72
|
+
### Formula: Benefit + Visual
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
❌ "Home Screen"
|
|
76
|
+
✅ "Track habits effortlessly"
|
|
77
|
+
|
|
78
|
+
❌ "Settings Page"
|
|
79
|
+
✅ "Customize your experience"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Screenshot Order
|
|
83
|
+
|
|
84
|
+
| Position | Purpose |
|
|
85
|
+
|----------|---------|
|
|
86
|
+
| 1-2 | Hook (best features) |
|
|
87
|
+
| 3-4 | Social proof / differentiators |
|
|
88
|
+
| 5+ | Additional features |
|
|
89
|
+
|
|
90
|
+
### Dimensions
|
|
91
|
+
|
|
92
|
+
| Device | iOS | Android |
|
|
93
|
+
|--------|-----|---------|
|
|
94
|
+
| Phone | 1290 x 2796 (6.7") | 1080 x 1920 min |
|
|
95
|
+
| Tablet | 2048 x 2732 | 1200 x 1920 |
|
|
96
|
+
|
|
97
|
+
### Screenshot Automation (fastlane)
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# iOS — fastlane snapshot
|
|
101
|
+
fastlane snapshot --devices "iPhone 15 Pro Max" --languages "en-US,ja"
|
|
102
|
+
|
|
103
|
+
# Android — fastlane screengrab
|
|
104
|
+
fastlane screengrab --app_package_name "com.example.myapp"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Config: `Snapfile` (iOS) / `Screengrabfile` (Android)
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## In-App Events (iOS) & LiveOps (Android)
|
|
112
|
+
|
|
113
|
+
> Store-featured events that boost visibility and re-engagement.
|
|
114
|
+
|
|
115
|
+
| Platform | Feature | Duration | Use Case |
|
|
116
|
+
|----------|---------|----------|----------|
|
|
117
|
+
| iOS | In-App Events | 1-30 days | Challenges, new content, live events |
|
|
118
|
+
| Android | LiveOps | Custom | Sales, competitions, updates |
|
|
119
|
+
|
|
120
|
+
**Best practices:**
|
|
121
|
+
- Use event card image (1920×1080)
|
|
122
|
+
- Time-sensitive events get priority boost
|
|
123
|
+
- Link directly to relevant in-app screen
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Custom Product Pages (iOS) / Store Listing Experiments (Android)
|
|
128
|
+
|
|
129
|
+
| Platform | Feature | Limit |
|
|
130
|
+
|----------|---------|-------|
|
|
131
|
+
| iOS | Custom Product Pages | 35 pages |
|
|
132
|
+
| Android | Store Listing Experiments | A/B testing built-in |
|
|
133
|
+
|
|
134
|
+
**Use for:** Paid campaigns with audience-specific messaging. Each custom page can have unique screenshots, description, and promotional text.
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Campaign A (Fitness audience) → Custom Page with health screenshots
|
|
138
|
+
Campaign B (Students) → Custom Page with study features
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Conversion Rate Optimization
|
|
144
|
+
|
|
145
|
+
### Icon Best Practices
|
|
146
|
+
|
|
147
|
+
| Do | Don't |
|
|
148
|
+
|----|-------|
|
|
149
|
+
| Simple, bold design | Complex details |
|
|
150
|
+
| Stand out on white/dark | Blend with background |
|
|
151
|
+
| No text | Tiny unreadable text |
|
|
152
|
+
| Test with A/B | Assume first design works |
|
|
153
|
+
|
|
154
|
+
### A/B Testing (Google Play Experiments)
|
|
155
|
+
|
|
156
|
+
Test these in order:
|
|
157
|
+
1. Icon (highest impact)
|
|
158
|
+
2. Screenshots
|
|
159
|
+
3. Short description
|
|
160
|
+
4. Feature graphic
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Ratings & Reviews
|
|
165
|
+
|
|
166
|
+
### Prompting Strategy
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
WHEN to ask for rating:
|
|
170
|
+
✅ After successful task completion
|
|
171
|
+
✅ After 3+ sessions
|
|
172
|
+
✅ After "happy moment" (achievement, level up)
|
|
173
|
+
|
|
174
|
+
WHEN NOT to ask:
|
|
175
|
+
❌ During onboarding
|
|
176
|
+
❌ After error/crash
|
|
177
|
+
❌ Too frequently (Apple rejects)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### iOS (SwiftUI — iOS 16+)
|
|
181
|
+
|
|
182
|
+
```swift
|
|
183
|
+
import StoreKit
|
|
184
|
+
|
|
185
|
+
// SwiftUI
|
|
186
|
+
@Environment(\.requestReview) private var requestReview
|
|
187
|
+
|
|
188
|
+
Button("Rate Us") {
|
|
189
|
+
requestReview()
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// UIKit fallback
|
|
193
|
+
if let scene = UIApplication.shared.connectedScenes
|
|
194
|
+
.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
|
|
195
|
+
SKStoreReviewController.requestReview(in: scene)
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Responding to Reviews
|
|
200
|
+
|
|
201
|
+
| Rating | Response Strategy |
|
|
202
|
+
|--------|-------------------|
|
|
203
|
+
| 1-2 ⭐ | Apologize, offer support, request update |
|
|
204
|
+
| 3 ⭐ | Thank, ask what would make it 5-star |
|
|
205
|
+
| 4-5 ⭐ | Thank, mention new features coming |
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Localization Impact
|
|
210
|
+
|
|
211
|
+
| Region | Potential Increase |
|
|
212
|
+
|--------|-------------------|
|
|
213
|
+
| Top 10 languages | +40-80% downloads |
|
|
214
|
+
| Localized screenshots | +25% conversion |
|
|
215
|
+
| Localized keywords | +15% visibility |
|
|
216
|
+
|
|
217
|
+
**Priority Languages:**
|
|
218
|
+
English (US+UK), Spanish, Portuguese (Brazil), German, French, Japanese, Korean, Chinese (Simplified)
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Privacy & Compliance
|
|
223
|
+
|
|
224
|
+
| Requirement | iOS | Android |
|
|
225
|
+
|-------------|-----|---------|
|
|
226
|
+
| **Privacy labels** | App Privacy section (required) | Data Safety section (required) |
|
|
227
|
+
| **ATT prompt** | `ATTrackingManager.requestTrackingAuthorization` | N/A |
|
|
228
|
+
| **GDPR** | Consent before analytics/ads | Consent before analytics/ads |
|
|
229
|
+
| **COPPA** | If targeting <13, declare in App Store Connect | Declare in Play Console |
|
|
230
|
+
| **Review guidelines** | [Apple Review Guidelines](https://developer.apple.com/app-store/review/guidelines/) | [Google Play Policy](https://play.google.com/about/developer-content-policy/) |
|
|
231
|
+
|
|
232
|
+
### Common Rejection Reasons (iOS)
|
|
233
|
+
|
|
234
|
+
| Reason | Fix |
|
|
235
|
+
|--------|-----|
|
|
236
|
+
| 2.1 — App Completeness | No placeholder content, all links working |
|
|
237
|
+
| 2.3 — Accurate Metadata | Screenshots match actual app |
|
|
238
|
+
| 4.0 — Design | Follow HIG, no web-view-only apps |
|
|
239
|
+
| 5.1.1 — Data Collection | Complete privacy labels |
|
|
240
|
+
| 5.1.2 — Data Use | Request only necessary permissions |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Metrics to Track
|
|
245
|
+
|
|
246
|
+
| Metric | Target | Tool |
|
|
247
|
+
|--------|--------|------|
|
|
248
|
+
| Impression to Page View | > 8% | Store Console |
|
|
249
|
+
| Page View to Install | > 25% | Store Console |
|
|
250
|
+
| Keyword Rankings | Top 10 | Sensor Tower / AppTweak |
|
|
251
|
+
| Organic vs Paid | > 60% organic | Store Console |
|
|
252
|
+
| Day 1 retention | > 25% | Firebase / Adjust |
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Metadata Automation (fastlane deliver)
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Upload metadata to App Store
|
|
260
|
+
fastlane deliver --skip_binary_upload --skip_screenshots
|
|
261
|
+
|
|
262
|
+
# Upload metadata to Play Store
|
|
263
|
+
fastlane supply --skip_upload_apk --skip_upload_aab
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Directory structure:
|
|
267
|
+
```
|
|
268
|
+
fastlane/metadata/
|
|
269
|
+
├── en-US/
|
|
270
|
+
│ ├── title.txt
|
|
271
|
+
│ ├── subtitle.txt
|
|
272
|
+
│ ├── description.txt
|
|
273
|
+
│ ├── keywords.txt
|
|
274
|
+
│ ├── promotional_text.txt
|
|
275
|
+
│ └── release_notes.txt
|
|
276
|
+
├── ja/
|
|
277
|
+
│ └── ...
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## Troubleshooting
|
|
283
|
+
|
|
284
|
+
| Problem | Cause | Fix |
|
|
285
|
+
|---------|-------|-----|
|
|
286
|
+
| Keywords not ranking | Low installs for term | Target less competitive keywords |
|
|
287
|
+
| Conversion dropped | Screenshots outdated | Update with current UI |
|
|
288
|
+
| App rejected | Metadata mismatch | Screenshots must match build |
|
|
289
|
+
| Rating dropping | Bug in recent release | Hotfix + respond to reviews |
|
|
290
|
+
| Not appearing in search | Title too generic | Add category keyword to title |
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Anti-Patterns
|
|
295
|
+
|
|
296
|
+
| ❌ Don't | ✅ Do |
|
|
297
|
+
|---------|-------|
|
|
298
|
+
| Generic title | Include category + keyword |
|
|
299
|
+
| No keywords in first 3 lines | Front-load important terms |
|
|
300
|
+
| Outdated screenshots | Update with each major release |
|
|
301
|
+
| Ignoring bad reviews | Respond within 24 hours |
|
|
302
|
+
| Skip Promotional Text | Update for every campaign |
|
|
303
|
+
| Ignore privacy labels | Audit quarterly |
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## 🔗 Related
|
|
308
|
+
|
|
309
|
+
| File | When to Read |
|
|
310
|
+
|------|-------------|
|
|
311
|
+
| [deep-linking.md](deep-linking.md) | Store listing → app screen routing |
|
|
312
|
+
| [push-notifications.md](push-notifications.md) | Re-engagement after install |
|
|
313
|
+
| [../frameworks/react-native.md](../frameworks/react-native.md) | RN build & EAS Submit |
|
|
314
|
+
| [../frameworks/flutter.md](../frameworks/flutter.md) | Flutter build & Fastlane |
|
|
315
|
+
| [../frameworks/native.md](../frameworks/native.md) | Native build & Xcode Cloud |
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
⚡ PikaKit v3.9.134
|