@mmerterden/multi-agent-pipeline 8.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2623 -0
- package/LICENSE +21 -0
- package/README.md +852 -0
- package/docs/FIGMA_PIPELINE.md +138 -0
- package/docs/GENERICITY-REVIEW.md +277 -0
- package/docs/STABILITY-FIX-PLAN.md +168 -0
- package/docs/adr/0001-three-model-triage.md +81 -0
- package/docs/adr/0002-instruction-driven-flag.md +62 -0
- package/docs/adr/0003-unified-shared-skills.md +55 -0
- package/docs/adr/0004-zero-dependency-philosophy.md +60 -0
- package/docs/adr/0005-lazy-phase-docs.md +68 -0
- package/docs/adr/0006-skills-core-external-split.md +52 -0
- package/docs/adr/0007-multi-tool-adapter-framework.md +110 -0
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +98 -0
- package/docs/adr/README.md +33 -0
- package/docs/architecture.md +181 -0
- package/docs/best-practices.md +93 -0
- package/docs/features.md +274 -0
- package/docs/performance.md +116 -0
- package/docs/recovery-guide.md +479 -0
- package/index.js +76 -0
- package/install/_adapters.mjs +69 -0
- package/install/_common.mjs +150 -0
- package/install/_copilot-instructions.mjs +32 -0
- package/install/_dev-only-files.mjs +23 -0
- package/install/_platform-filter.mjs +132 -0
- package/install/_telemetry.mjs +79 -0
- package/install/claude.mjs +332 -0
- package/install/copilot.mjs +254 -0
- package/install/index.mjs +179 -0
- package/install/templates/copilot-instructions.md +319 -0
- package/install.js +24 -0
- package/package.json +78 -0
- package/pipeline/adapters/_base.mjs +288 -0
- package/pipeline/adapters/copilot-chat.mjs +158 -0
- package/pipeline/adapters/cursor.mjs +187 -0
- package/pipeline/agents/android-architect.md +42 -0
- package/pipeline/agents/backend-architect.md +43 -0
- package/pipeline/agents/code-reviewer.md +57 -0
- package/pipeline/agents/dev-critic.md +148 -0
- package/pipeline/agents/explorer.md +34 -0
- package/pipeline/agents/ios-architect.md +41 -0
- package/pipeline/agents/security-auditor.md +98 -0
- package/pipeline/agents/task-clarifier.md +113 -0
- package/pipeline/claude-md-template.md +55 -0
- package/pipeline/commands/archive-guard.md +45 -0
- package/pipeline/commands/deploy.md +54 -0
- package/pipeline/commands/figma-to-swiftui.md +295 -0
- package/pipeline/commands/multi-agent/_account-picker.md +90 -0
- package/pipeline/commands/multi-agent/_dev-context.md +111 -0
- package/pipeline/commands/multi-agent/_input-parser.md +43 -0
- package/pipeline/commands/multi-agent/_repo-picker.md +76 -0
- package/pipeline/commands/multi-agent/autopilot.md +116 -0
- package/pipeline/commands/multi-agent/channels.md +465 -0
- package/pipeline/commands/multi-agent/delete.md +66 -0
- package/pipeline/commands/multi-agent/dev-autopilot.md +120 -0
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +110 -0
- package/pipeline/commands/multi-agent/dev-local.md +105 -0
- package/pipeline/commands/multi-agent/dev.md +246 -0
- package/pipeline/commands/multi-agent/diff-explain.md +68 -0
- package/pipeline/commands/multi-agent/help.md +422 -0
- package/pipeline/commands/multi-agent/issue.md +79 -0
- package/pipeline/commands/multi-agent/jira.md +132 -0
- package/pipeline/commands/multi-agent/kill.md +38 -0
- package/pipeline/commands/multi-agent/language.md +94 -0
- package/pipeline/commands/multi-agent/local-autopilot.md +139 -0
- package/pipeline/commands/multi-agent/local.md +117 -0
- package/pipeline/commands/multi-agent/log.md +25 -0
- package/pipeline/commands/multi-agent/manual-test.md +43 -0
- package/pipeline/commands/multi-agent/purge.md +39 -0
- package/pipeline/commands/multi-agent/refactor.md +188 -0
- package/pipeline/commands/multi-agent/refs/android-guide.md +250 -0
- package/pipeline/commands/multi-agent/refs/audit-guide.md +240 -0
- package/pipeline/commands/multi-agent/refs/backend-guide.md +135 -0
- package/pipeline/commands/multi-agent/refs/channels/confluence.md +153 -0
- package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +141 -0
- package/pipeline/commands/multi-agent/refs/channels/jira.md +127 -0
- package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +135 -0
- package/pipeline/commands/multi-agent/refs/channels/pr.md +139 -0
- package/pipeline/commands/multi-agent/refs/channels/wiki.md +66 -0
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +92 -0
- package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +326 -0
- package/pipeline/commands/multi-agent/refs/frontend-guide.md +136 -0
- package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +104 -0
- package/pipeline/commands/multi-agent/refs/keychain.md +80 -0
- package/pipeline/commands/multi-agent/refs/knowledge.md +112 -0
- package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +207 -0
- package/pipeline/commands/multi-agent/refs/phases/log-format.md +89 -0
- package/pipeline/commands/multi-agent/refs/phases/modes.md +156 -0
- package/pipeline/commands/multi-agent/refs/phases/operations.md +91 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +481 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +264 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +278 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +364 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +378 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +129 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +339 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +361 -0
- package/pipeline/commands/multi-agent/refs/phases.md +187 -0
- package/pipeline/commands/multi-agent/refs/progress-contract.md +155 -0
- package/pipeline/commands/multi-agent/refs/rules.md +189 -0
- package/pipeline/commands/multi-agent/refs/swiftui-guide.md +254 -0
- package/pipeline/commands/multi-agent/refs/tracker-contract.md +256 -0
- package/pipeline/commands/multi-agent/refs/wiki-capture.md +109 -0
- package/pipeline/commands/multi-agent/resume.md +28 -0
- package/pipeline/commands/multi-agent/review.md +228 -0
- package/pipeline/commands/multi-agent/scan.md +74 -0
- package/pipeline/commands/multi-agent/search.md +97 -0
- package/pipeline/commands/multi-agent/setup.md +767 -0
- package/pipeline/commands/multi-agent/stack.md +48 -0
- package/pipeline/commands/multi-agent/status.md +38 -0
- package/pipeline/commands/multi-agent/sync.md +319 -0
- package/pipeline/commands/multi-agent/test.md +39 -0
- package/pipeline/commands/multi-agent/update.md +88 -0
- package/pipeline/commands/multi-agent.md +293 -0
- package/pipeline/commands/security-review.md +6 -0
- package/pipeline/commands/sim-test.md +256 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +25 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +30 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +12 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +43 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +35 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +35 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +12 -0
- package/pipeline/eval/golden-tasks/README.md +65 -0
- package/pipeline/eval/triage/01-empty-findings/expected.json +6 -0
- package/pipeline/eval/triage/01-empty-findings/input.json +5 -0
- package/pipeline/eval/triage/01-empty-findings/notes.md +7 -0
- package/pipeline/eval/triage/02-real-blocker/expected.json +15 -0
- package/pipeline/eval/triage/02-real-blocker/input.json +14 -0
- package/pipeline/eval/triage/02-real-blocker/notes.md +7 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +18 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/input.json +14 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +10 -0
- package/pipeline/eval/triage/04-false-positive-reject/expected.json +18 -0
- package/pipeline/eval/triage/04-false-positive-reject/input.json +14 -0
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +10 -0
- package/pipeline/eval/triage/05-mixed-classification/expected.json +43 -0
- package/pipeline/eval/triage/05-mixed-classification/input.json +38 -0
- package/pipeline/eval/triage/05-mixed-classification/notes.md +17 -0
- package/pipeline/eval/triage/06-severity-mismatch/expected.json +15 -0
- package/pipeline/eval/triage/06-severity-mismatch/input.json +14 -0
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +9 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +27 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/input.json +22 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +9 -0
- package/pipeline/eval/triage/08-style-misclassified/expected.json +18 -0
- package/pipeline/eval/triage/08-style-misclassified/input.json +14 -0
- package/pipeline/eval/triage/08-style-misclassified/notes.md +9 -0
- package/pipeline/eval/triage/09-cascading-finding/expected.json +23 -0
- package/pipeline/eval/triage/09-cascading-finding/input.json +22 -0
- package/pipeline/eval/triage/09-cascading-finding/notes.md +9 -0
- package/pipeline/eval/triage/10-deferred-crossref/expected.json +18 -0
- package/pipeline/eval/triage/10-deferred-crossref/input.json +14 -0
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +9 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +27 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +22 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +14 -0
- package/pipeline/eval/triage/README.md +54 -0
- package/pipeline/lib/account-resolver.sh +204 -0
- package/pipeline/lib/channels-multi-repo.sh +218 -0
- package/pipeline/lib/context-link-extractor.sh +192 -0
- package/pipeline/lib/credential-store-resolver.sh +57 -0
- package/pipeline/lib/credential-store.sh +226 -0
- package/pipeline/lib/fetch-confluence.sh +358 -0
- package/pipeline/lib/fetch-crashlytics.sh +314 -0
- package/pipeline/lib/fetch-fortify.sh +321 -0
- package/pipeline/lib/fetch-swagger.sh +270 -0
- package/pipeline/lib/issue-fetcher.sh +333 -0
- package/pipeline/lib/multi-repo-pipeline.sh +252 -0
- package/pipeline/lib/plan-todos.sh +284 -0
- package/pipeline/lib/post-pr-review.sh +374 -0
- package/pipeline/lib/repo-cache.sh +231 -0
- package/pipeline/lib/review-watch.sh +244 -0
- package/pipeline/lib/shadow-git.sh +222 -0
- package/pipeline/lib/submodule-detector.sh +177 -0
- package/pipeline/lib/vercel-deploy.sh +170 -0
- package/pipeline/preferences-template.json +132 -0
- package/pipeline/rules/app-store-guidelines.md +59 -0
- package/pipeline/rules/code-review.md +27 -0
- package/pipeline/rules/code-style.md +37 -0
- package/pipeline/rules/debugging.md +24 -0
- package/pipeline/rules/figma-pipeline.md +190 -0
- package/pipeline/rules/git-conventions.md +29 -0
- package/pipeline/rules/kotlin-android.md +92 -0
- package/pipeline/rules/performance.md +23 -0
- package/pipeline/rules/security.md +39 -0
- package/pipeline/rules/swiftui-qa.md +32 -0
- package/pipeline/rules/tdd.md +25 -0
- package/pipeline/rules/testing.md +37 -0
- package/pipeline/schemas/agent-state.schema.json +273 -0
- package/pipeline/schemas/analysis-output.schema.json +59 -0
- package/pipeline/schemas/clarify-output.schema.json +74 -0
- package/pipeline/schemas/dev-critic-output.schema.json +104 -0
- package/pipeline/schemas/diff-risk.schema.json +78 -0
- package/pipeline/schemas/figma-project-config.schema.json +372 -0
- package/pipeline/schemas/migrations/README.md +73 -0
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +112 -0
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +75 -0
- package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +64 -0
- package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +36 -0
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +34 -0
- package/pipeline/schemas/plan-todos.schema.json +62 -0
- package/pipeline/schemas/planning-output.schema.json +57 -0
- package/pipeline/schemas/prefs.schema.json +1137 -0
- package/pipeline/schemas/reviewer-output.schema.json +55 -0
- package/pipeline/schemas/test-gap.schema.json +64 -0
- package/pipeline/schemas/token-budget.json +17 -0
- package/pipeline/schemas/triage-corpus.schema.json +31 -0
- package/pipeline/schemas/triage-output.schema.json +115 -0
- package/pipeline/scripts/.last-figma-sync-plan.json +23 -0
- package/pipeline/scripts/README-figma-smokes.md +34 -0
- package/pipeline/scripts/README.md +104 -0
- package/pipeline/scripts/aggregate-metrics.mjs +310 -0
- package/pipeline/scripts/audit-log-rotate.sh +61 -0
- package/pipeline/scripts/audit-log.sh +69 -0
- package/pipeline/scripts/benchmark-phase-0.sh +128 -0
- package/pipeline/scripts/build-skills-index.mjs +139 -0
- package/pipeline/scripts/classify-plan-safety.mjs +177 -0
- package/pipeline/scripts/cost-table.json +27 -0
- package/pipeline/scripts/diff-explain.mjs +276 -0
- package/pipeline/scripts/diff-risk-score.mjs +328 -0
- package/pipeline/scripts/eval-golden-tasks-live.mjs +294 -0
- package/pipeline/scripts/eval-golden-tasks.mjs +223 -0
- package/pipeline/scripts/eval-triage.mjs +171 -0
- package/pipeline/scripts/figma-placeholder-map.json +191 -0
- package/pipeline/scripts/fixtures/diff-risk-android.diff +40 -0
- package/pipeline/scripts/fixtures/diff-risk-ios.diff +48 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +16 -0
- package/pipeline/scripts/fixtures/test-gap-node.diff +30 -0
- package/pipeline/scripts/fixtures/test-gap-python.diff +32 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +170 -0
- package/pipeline/scripts/gen-skills-index.mjs +90 -0
- package/pipeline/scripts/github-ssh-setup.sh +103 -0
- package/pipeline/scripts/import-figma-skills.sh +253 -0
- package/pipeline/scripts/keychain-save.sh +74 -0
- package/pipeline/scripts/keychain.py +294 -0
- package/pipeline/scripts/log-metric.sh +98 -0
- package/pipeline/scripts/match-skills.mjs +167 -0
- package/pipeline/scripts/memory-load.sh +46 -0
- package/pipeline/scripts/memory-save.sh +76 -0
- package/pipeline/scripts/migrate-prefs.mjs +390 -0
- package/pipeline/scripts/migrate-state.mjs +215 -0
- package/pipeline/scripts/output-quality-check.sh +125 -0
- package/pipeline/scripts/phase-banner.sh +158 -0
- package/pipeline/scripts/phase-tracker.sh +548 -0
- package/pipeline/scripts/pre-commit-check.sh +69 -0
- package/pipeline/scripts/pre-push-check.sh +77 -0
- package/pipeline/scripts/render-agent-log-cost.sh +149 -0
- package/pipeline/scripts/render-cost-summary.sh +137 -0
- package/pipeline/scripts/render-work-summary.sh +195 -0
- package/pipeline/scripts/repo-map.mjs +367 -0
- package/pipeline/scripts/run-aggregator.mjs +298 -0
- package/pipeline/scripts/scan-skills.sh +332 -0
- package/pipeline/scripts/search-logs.sh +291 -0
- package/pipeline/scripts/sign-skills.sh +67 -0
- package/pipeline/scripts/smoke-adapters.sh +207 -0
- package/pipeline/scripts/smoke-add-detail.sh +137 -0
- package/pipeline/scripts/smoke-agent-log-cost.sh +183 -0
- package/pipeline/scripts/smoke-agent-model-routing.sh +87 -0
- package/pipeline/scripts/smoke-bitbucket-contract.sh +223 -0
- package/pipeline/scripts/smoke-channels-flow.sh +130 -0
- package/pipeline/scripts/smoke-ci-workflows.sh +88 -0
- package/pipeline/scripts/smoke-clarify.sh +148 -0
- package/pipeline/scripts/smoke-commands-skills-parity.sh +87 -0
- package/pipeline/scripts/smoke-compliance-skills.sh +119 -0
- package/pipeline/scripts/smoke-cost-summary.sh +139 -0
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +198 -0
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +128 -0
- package/pipeline/scripts/smoke-delete-flow.sh +151 -0
- package/pipeline/scripts/smoke-dev-critic.sh +144 -0
- package/pipeline/scripts/smoke-diff-explain.sh +128 -0
- package/pipeline/scripts/smoke-diff-risk.sh +161 -0
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +160 -0
- package/pipeline/scripts/smoke-eval-live.sh +136 -0
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +71 -0
- package/pipeline/scripts/smoke-figma-android-parity.sh +148 -0
- package/pipeline/scripts/smoke-figma-config-schema.sh +144 -0
- package/pipeline/scripts/smoke-figma-credential-store.sh +105 -0
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +177 -0
- package/pipeline/scripts/smoke-figma-dispatch.sh +123 -0
- package/pipeline/scripts/smoke-figma-skill-import.sh +174 -0
- package/pipeline/scripts/smoke-figma-sync.sh +149 -0
- package/pipeline/scripts/smoke-identity-isolation.sh +70 -0
- package/pipeline/scripts/smoke-install-layout.sh +241 -0
- package/pipeline/scripts/smoke-install-leak-gate.sh +125 -0
- package/pipeline/scripts/smoke-issue-comment-template.sh +86 -0
- package/pipeline/scripts/smoke-issue-jira-triad.sh +120 -0
- package/pipeline/scripts/smoke-keychain.sh +158 -0
- package/pipeline/scripts/smoke-language-axis.sh +109 -0
- package/pipeline/scripts/smoke-lib-scripts.sh +395 -0
- package/pipeline/scripts/smoke-migrate-state.sh +102 -0
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +158 -0
- package/pipeline/scripts/smoke-multi-repo-integration.sh +116 -0
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +61 -0
- package/pipeline/scripts/smoke-no-token-prompt.sh +69 -0
- package/pipeline/scripts/smoke-pat-audit.sh +107 -0
- package/pipeline/scripts/smoke-per-repo-memory.sh +156 -0
- package/pipeline/scripts/smoke-personal-data.sh +82 -0
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +170 -0
- package/pipeline/scripts/smoke-phase-6-multi.sh +79 -0
- package/pipeline/scripts/smoke-phase-banner.sh +101 -0
- package/pipeline/scripts/smoke-phase-tracker.sh +255 -0
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +241 -0
- package/pipeline/scripts/smoke-phase4-triage.sh +142 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +71 -0
- package/pipeline/scripts/smoke-plan-safety.sh +139 -0
- package/pipeline/scripts/smoke-plan-todos.sh +193 -0
- package/pipeline/scripts/smoke-pr-review-actions.sh +152 -0
- package/pipeline/scripts/smoke-pre-commit.sh +138 -0
- package/pipeline/scripts/smoke-pref-migration.sh +224 -0
- package/pipeline/scripts/smoke-prefs-language.sh +134 -0
- package/pipeline/scripts/smoke-progress-contract.sh +118 -0
- package/pipeline/scripts/smoke-push-retry.sh +75 -0
- package/pipeline/scripts/smoke-readme-counts.sh +120 -0
- package/pipeline/scripts/smoke-repo-map.sh +300 -0
- package/pipeline/scripts/smoke-review-watch.sh +134 -0
- package/pipeline/scripts/smoke-run-aggregator.sh +216 -0
- package/pipeline/scripts/smoke-schema-validation.sh +173 -0
- package/pipeline/scripts/smoke-search.sh +187 -0
- package/pipeline/scripts/smoke-shadow-git.sh +175 -0
- package/pipeline/scripts/smoke-skill-authoring.sh +142 -0
- package/pipeline/scripts/smoke-skill-language.sh +83 -0
- package/pipeline/scripts/smoke-skill-manifest.sh +138 -0
- package/pipeline/scripts/smoke-skill-scan.sh +198 -0
- package/pipeline/scripts/smoke-stack-swap.sh +132 -0
- package/pipeline/scripts/smoke-subagent-validators.sh +105 -0
- package/pipeline/scripts/smoke-sync-delegation.sh +74 -0
- package/pipeline/scripts/smoke-sync-parity.sh +92 -0
- package/pipeline/scripts/smoke-tasklist-ordering.sh +111 -0
- package/pipeline/scripts/smoke-telemetry.sh +147 -0
- package/pipeline/scripts/smoke-test-gap.sh +183 -0
- package/pipeline/scripts/smoke-token-budget.sh +67 -0
- package/pipeline/scripts/smoke-tracker-contract.sh +129 -0
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +65 -0
- package/pipeline/scripts/smoke-triage-memory.sh +174 -0
- package/pipeline/scripts/smoke-url-enrichment.sh +70 -0
- package/pipeline/scripts/smoke-validator-contradiction.sh +67 -0
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +129 -0
- package/pipeline/scripts/smoke-wiki-integration.sh +146 -0
- package/pipeline/scripts/smoke-work-summary.sh +163 -0
- package/pipeline/scripts/smoke-worktree-path-convention.sh +86 -0
- package/pipeline/scripts/smoke-write-state.sh +115 -0
- package/pipeline/scripts/stack-swap.sh +182 -0
- package/pipeline/scripts/sync-figma-source.sh +228 -0
- package/pipeline/scripts/sync-parity-check.sh +135 -0
- package/pipeline/scripts/test-gap-rules/android.json +25 -0
- package/pipeline/scripts/test-gap-rules/ios.json +29 -0
- package/pipeline/scripts/test-gap-rules/node.json +17 -0
- package/pipeline/scripts/test-gap-rules/python.json +19 -0
- package/pipeline/scripts/test-gap-scan.mjs +343 -0
- package/pipeline/scripts/token-budget-report.mjs +145 -0
- package/pipeline/scripts/triage-memory.mjs +258 -0
- package/pipeline/scripts/ui-tree-dumper.swift +122 -0
- package/pipeline/scripts/uninstall.mjs +331 -0
- package/pipeline/scripts/update-issue-progress.sh +146 -0
- package/pipeline/scripts/validate-analysis.mjs +132 -0
- package/pipeline/scripts/validate-diff-risk.mjs +117 -0
- package/pipeline/scripts/validate-planning.mjs +180 -0
- package/pipeline/scripts/validate-reviewer.mjs +131 -0
- package/pipeline/scripts/validate-schemas.mjs +88 -0
- package/pipeline/scripts/validate-test-gap.mjs +90 -0
- package/pipeline/scripts/validate-triage.mjs +175 -0
- package/pipeline/scripts/verify-skills.sh +126 -0
- package/pipeline/scripts/write-state.mjs +175 -0
- package/pipeline/skills/.skill-manifest.json +779 -0
- package/pipeline/skills/.skills-index.json +1771 -0
- package/pipeline/skills/figma-android/README.md +36 -0
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +62 -0
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +158 -0
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +120 -0
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +35 -0
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +124 -0
- package/pipeline/skills/figma-common/README.md +57 -0
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +277 -0
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +498 -0
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +283 -0
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +362 -0
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +206 -0
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +337 -0
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +211 -0
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +218 -0
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +246 -0
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +73 -0
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +316 -0
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +542 -0
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +745 -0
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +203 -0
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +1015 -0
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +331 -0
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +398 -0
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +104 -0
- package/pipeline/skills/figma-common/figma-review/SKILL.md +395 -0
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +514 -0
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +592 -0
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +129 -0
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +104 -0
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +274 -0
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +808 -0
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +633 -0
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +711 -0
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +233 -0
- package/pipeline/skills/figma-common/performance-start/SKILL.md +425 -0
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +706 -0
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +418 -0
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +67 -0
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +178 -0
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +184 -0
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +219 -0
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +274 -0
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +401 -0
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +57 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +307 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +119 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +174 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +333 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +368 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +393 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +617 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +352 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +337 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +206 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +235 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +214 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +871 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +156 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +175 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +333 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +412 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +336 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +695 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +380 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +262 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +482 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +274 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +636 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +142 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +547 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +39 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +659 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +580 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +51 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +129 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +64 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +531 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +89 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +155 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +196 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +57 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +89 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +227 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +157 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +90 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +116 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +153 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +130 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +218 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +188 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +93 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +98 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +261 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +147 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +182 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +185 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +609 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +261 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +184 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +188 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +768 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +191 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +420 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +94 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +336 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +391 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +292 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +1 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +93 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +299 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +343 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +206 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +149 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +281 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +98 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +298 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +195 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +1298 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +228 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +1089 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +141 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +106 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +162 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +105 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +179 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +260 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +260 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +86 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +321 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +1470 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +147 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +629 -0
- package/pipeline/skills/shared/README.md +212 -0
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +315 -0
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +348 -0
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +944 -0
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +51 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +300 -0
- package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +63 -0
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +64 -0
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +56 -0
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +36 -0
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +42 -0
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +66 -0
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +292 -0
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +35 -0
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +38 -0
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +41 -0
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +87 -0
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +37 -0
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +53 -0
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +28 -0
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +47 -0
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +42 -0
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +191 -0
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +31 -0
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +62 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +309 -0
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +55 -0
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +41 -0
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +184 -0
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +44 -0
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +34 -0
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +45 -0
- package/pipeline/skills/shared/external/agentflow/SKILL.md +199 -0
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +438 -0
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +584 -0
- package/pipeline/skills/shared/external/android-architecture/SKILL.md +407 -0
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +153 -0
- package/pipeline/skills/shared/external/android-performance/SKILL.md +736 -0
- package/pipeline/skills/shared/external/android-security/SKILL.md +577 -0
- package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +66 -0
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +85 -0
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +910 -0
- package/pipeline/skills/shared/external/app-clips/SKILL.md +436 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +489 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +1076 -0
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +75 -0
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +409 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +411 -0
- package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +259 -0
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +90 -0
- package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +152 -0
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +118 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +500 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +425 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +344 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +508 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +285 -0
- package/pipeline/skills/shared/external/architecture/SKILL.md +60 -0
- package/pipeline/skills/shared/external/authentication/SKILL.md +496 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +211 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +499 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +390 -0
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +461 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +425 -0
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +462 -0
- package/pipeline/skills/shared/external/clean-code/SKILL.md +94 -0
- package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +116 -0
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +492 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +461 -0
- package/pipeline/skills/shared/external/compose-components/SKILL.md +441 -0
- package/pipeline/skills/shared/external/compose-navigation/SKILL.md +436 -0
- package/pipeline/skills/shared/external/compose-testing/SKILL.md +527 -0
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +425 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +409 -0
- package/pipeline/skills/shared/external/context-compression/SKILL.md +266 -0
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +491 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +435 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +388 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +405 -0
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +495 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +420 -0
- package/pipeline/skills/shared/external/coreml/SKILL.md +458 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +765 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +467 -0
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +335 -0
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +422 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +387 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +298 -0
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +37 -0
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +477 -0
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +413 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +460 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +541 -0
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +483 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +326 -0
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +190 -0
- package/pipeline/skills/shared/external/firebase/SKILL.md +61 -0
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +348 -0
- package/pipeline/skills/shared/external/gradle-kotlin-dsl/SKILL.md +552 -0
- package/pipeline/skills/shared/external/healthkit/SKILL.md +498 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +602 -0
- package/pipeline/skills/shared/external/help-skills/SKILL.md +166 -0
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +81 -0
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +95 -0
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +82 -0
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +101 -0
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +94 -0
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +110 -0
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +99 -0
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +81 -0
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +125 -0
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +496 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +455 -0
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +301 -0
- package/pipeline/skills/shared/external/humanizer/SKILL.md +118 -0
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +301 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +140 -0
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +59 -0
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +217 -0
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +418 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +627 -0
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +462 -0
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +441 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +862 -0
- package/pipeline/skills/shared/external/ios-networking/references/lightweight-clients.md +93 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +563 -0
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +1116 -0
- package/pipeline/skills/shared/external/ios-security/SKILL.md +496 -0
- package/pipeline/skills/shared/external/ios-security/references/app-review-guidelines.md +174 -0
- package/pipeline/skills/shared/external/ios-security/references/cryptokit-advanced.md +297 -0
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +354 -0
- package/pipeline/skills/shared/external/ios-security/references/privacy-manifest.md +117 -0
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +101 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +500 -0
- package/pipeline/skills/shared/external/live-activities/references/live-activity-patterns.md +868 -0
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +109 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +110 -0
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +485 -0
- package/pipeline/skills/shared/external/mapkit-location/references/corelocation-patterns.md +730 -0
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +748 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +479 -0
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +64 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +395 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +363 -0
- package/pipeline/skills/shared/external/natural-language/SKILL.md +412 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +311 -0
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +418 -0
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +38 -0
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +235 -0
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +398 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +254 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +387 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +376 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +302 -0
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +446 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +435 -0
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +501 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/av-playback.md +701 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +774 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +869 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/photospicker-patterns.md +597 -0
- package/pipeline/skills/shared/external/play-store-review/SKILL.md +350 -0
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +501 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +677 -0
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +745 -0
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +383 -0
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +290 -0
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +479 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +480 -0
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +386 -0
- package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +506 -0
- package/pipeline/skills/shared/external/room-database/SKILL.md +564 -0
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +483 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +544 -0
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +485 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +478 -0
- package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +58 -0
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +755 -0
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +487 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +895 -0
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +467 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +408 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +80 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swift-6-2-concurrency.md +233 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +187 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +341 -0
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +113 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +124 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +155 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +67 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +52 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +100 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +107 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +70 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +47 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +129 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +224 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +101 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +218 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +61 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +498 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +505 -0
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +462 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +504 -0
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +97 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +252 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +52 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +34 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +318 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +254 -0
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +334 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +504 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +975 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +675 -0
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +102 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +104 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +10 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +20 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/indexing.md +27 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/predicates.md +73 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +503 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +821 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +553 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +102 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +403 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +135 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +602 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +203 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +464 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +266 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md +416 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +394 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +318 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +357 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +303 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/performance-patterns.md +403 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/scroll-patterns.md +293 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +417 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +389 -0
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +450 -0
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +425 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +336 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +97 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +69 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +99 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +147 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +98 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +262 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +207 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +177 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/sheets.md +169 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +178 -0
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +371 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +486 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +1097 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +780 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +696 -0
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +487 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +46 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +29 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +33 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +52 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +114 -0
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +108 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +13 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/api.md +39 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/data.md +43 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/design.md +31 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +9 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +14 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +46 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +56 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/views.md +35 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +103 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +428 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +534 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +948 -0
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +210 -0
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +273 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/loading-and-observation.md +151 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/local-content-and-custom-schemes.md +95 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +51 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/navigation-and-javascript.md +111 -0
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +309 -0
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +393 -0
- package/pipeline/skills/shared/external/tipkit/SKILL.md +494 -0
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +782 -0
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +336 -0
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +475 -0
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +736 -0
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +738 -0
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +371 -0
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +410 -0
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +567 -0
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +373 -0
- package/pipeline/skills/shared/external/web-performance/SKILL.md +345 -0
- package/pipeline/skills/shared/external/web-testing/SKILL.md +385 -0
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +497 -0
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +871 -0
- package/pipeline/skills/skills-index.md +205 -0
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Next.js 15+ App Router: Server/Client Components, Server Actions, data fetching, layouts, middleware, ISR/SSG/SSR, and routing patterns"
|
|
3
|
+
tags: [nextjs, react, frontend, ssr, app-router, full-stack]
|
|
4
|
+
version: "2025.1"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Next.js 15+ App Router
|
|
8
|
+
|
|
9
|
+
## Core Concepts
|
|
10
|
+
|
|
11
|
+
Next.js 15 uses the App Router by default with React Server Components, Server Actions,
|
|
12
|
+
Partial Prerendering, and enhanced caching. The `app/` directory uses file-system routing
|
|
13
|
+
with special file conventions.
|
|
14
|
+
|
|
15
|
+
## Project Structure
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
app/
|
|
19
|
+
layout.tsx # Root layout (wraps all pages)
|
|
20
|
+
page.tsx # Home page (/)
|
|
21
|
+
loading.tsx # Loading UI (Suspense boundary)
|
|
22
|
+
error.tsx # Error UI (Error boundary)
|
|
23
|
+
not-found.tsx # 404 page
|
|
24
|
+
global-error.tsx # Root error boundary
|
|
25
|
+
dashboard/
|
|
26
|
+
layout.tsx # Nested layout
|
|
27
|
+
page.tsx # /dashboard
|
|
28
|
+
[id]/
|
|
29
|
+
page.tsx # /dashboard/:id (dynamic segment)
|
|
30
|
+
@modal/
|
|
31
|
+
(.)photo/[id]/
|
|
32
|
+
page.tsx # Intercepted route (parallel + intercepting)
|
|
33
|
+
api/
|
|
34
|
+
route.ts # API route handler
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Server Components vs Client Components
|
|
38
|
+
|
|
39
|
+
### Server Components (Default)
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
// app/users/page.tsx — Server Component (no directive needed)
|
|
43
|
+
import { db } from '@/lib/db';
|
|
44
|
+
|
|
45
|
+
export default async function UsersPage() {
|
|
46
|
+
const users = await db.user.findMany();
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<main>
|
|
50
|
+
<h1>Users</h1>
|
|
51
|
+
<ul>
|
|
52
|
+
{users.map((user) => (
|
|
53
|
+
<li key={user.id}>{user.name}</li>
|
|
54
|
+
))}
|
|
55
|
+
</ul>
|
|
56
|
+
</main>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Client Components
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
// components/search-bar.tsx
|
|
65
|
+
'use client';
|
|
66
|
+
|
|
67
|
+
import { useSearchParams, useRouter, usePathname } from 'next/navigation';
|
|
68
|
+
import { useDebouncedCallback } from 'use-debounce';
|
|
69
|
+
|
|
70
|
+
export function SearchBar() {
|
|
71
|
+
const searchParams = useSearchParams();
|
|
72
|
+
const pathname = usePathname();
|
|
73
|
+
const { replace } = useRouter();
|
|
74
|
+
|
|
75
|
+
const handleSearch = useDebouncedCallback((term: string) => {
|
|
76
|
+
const params = new URLSearchParams(searchParams);
|
|
77
|
+
if (term) {
|
|
78
|
+
params.set('q', term);
|
|
79
|
+
} else {
|
|
80
|
+
params.delete('q');
|
|
81
|
+
}
|
|
82
|
+
replace(`${pathname}?${params.toString()}`);
|
|
83
|
+
}, 300);
|
|
84
|
+
|
|
85
|
+
return (
|
|
86
|
+
<input
|
|
87
|
+
type="search"
|
|
88
|
+
placeholder="Search..."
|
|
89
|
+
defaultValue={searchParams.get('q') ?? ''}
|
|
90
|
+
onChange={(e) => handleSearch(e.target.value)}
|
|
91
|
+
/>
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Server Actions
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
// app/actions.ts
|
|
100
|
+
'use server';
|
|
101
|
+
|
|
102
|
+
import { revalidatePath } from 'next/cache';
|
|
103
|
+
import { redirect } from 'next/navigation';
|
|
104
|
+
import { z } from 'zod';
|
|
105
|
+
|
|
106
|
+
const CreatePostSchema = z.object({
|
|
107
|
+
title: z.string().min(1).max(200),
|
|
108
|
+
content: z.string().min(1),
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
export async function createPost(prevState: ActionState, formData: FormData) {
|
|
112
|
+
const validated = CreatePostSchema.safeParse({
|
|
113
|
+
title: formData.get('title'),
|
|
114
|
+
content: formData.get('content'),
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
if (!validated.success) {
|
|
118
|
+
return { errors: validated.error.flatten().fieldErrors };
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
try {
|
|
122
|
+
await db.post.create({ data: validated.data });
|
|
123
|
+
} catch (error) {
|
|
124
|
+
return { message: 'Database Error: Failed to create post.' };
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
revalidatePath('/posts');
|
|
128
|
+
redirect('/posts');
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
// app/posts/new/page.tsx
|
|
134
|
+
'use client';
|
|
135
|
+
|
|
136
|
+
import { useActionState } from 'react';
|
|
137
|
+
import { createPost } from '@/app/actions';
|
|
138
|
+
|
|
139
|
+
export default function NewPostPage() {
|
|
140
|
+
const [state, formAction, isPending] = useActionState(createPost, { errors: {} });
|
|
141
|
+
|
|
142
|
+
return (
|
|
143
|
+
<form action={formAction}>
|
|
144
|
+
<div>
|
|
145
|
+
<label htmlFor="title">Title</label>
|
|
146
|
+
<input id="title" name="title" />
|
|
147
|
+
{state.errors?.title && <p className="error">{state.errors.title}</p>}
|
|
148
|
+
</div>
|
|
149
|
+
<div>
|
|
150
|
+
<label htmlFor="content">Content</label>
|
|
151
|
+
<textarea id="content" name="content" />
|
|
152
|
+
{state.errors?.content && <p className="error">{state.errors.content}</p>}
|
|
153
|
+
</div>
|
|
154
|
+
<button type="submit" disabled={isPending}>
|
|
155
|
+
{isPending ? 'Creating...' : 'Create Post'}
|
|
156
|
+
</button>
|
|
157
|
+
</form>
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Data Fetching Patterns
|
|
163
|
+
|
|
164
|
+
### Fetch with Caching
|
|
165
|
+
|
|
166
|
+
```tsx
|
|
167
|
+
// Cached by default (static)
|
|
168
|
+
const data = await fetch('https://api.example.com/data');
|
|
169
|
+
|
|
170
|
+
// Revalidate every 60 seconds (ISR)
|
|
171
|
+
const data = await fetch('https://api.example.com/data', {
|
|
172
|
+
next: { revalidate: 60 },
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
// No cache (dynamic)
|
|
176
|
+
const data = await fetch('https://api.example.com/data', {
|
|
177
|
+
cache: 'no-store',
|
|
178
|
+
});
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Parallel Data Fetching
|
|
182
|
+
|
|
183
|
+
```tsx
|
|
184
|
+
export default async function DashboardPage() {
|
|
185
|
+
// Fetch in parallel — do NOT await sequentially
|
|
186
|
+
const [stats, recentOrders, notifications] = await Promise.all([
|
|
187
|
+
fetchStats(),
|
|
188
|
+
fetchRecentOrders(),
|
|
189
|
+
fetchNotifications(),
|
|
190
|
+
]);
|
|
191
|
+
|
|
192
|
+
return (
|
|
193
|
+
<div>
|
|
194
|
+
<StatsCard stats={stats} />
|
|
195
|
+
<OrdersTable orders={recentOrders} />
|
|
196
|
+
<NotificationsList notifications={notifications} />
|
|
197
|
+
</div>
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Streaming with Suspense
|
|
203
|
+
|
|
204
|
+
```tsx
|
|
205
|
+
import { Suspense } from 'react';
|
|
206
|
+
|
|
207
|
+
export default function DashboardPage() {
|
|
208
|
+
return (
|
|
209
|
+
<div>
|
|
210
|
+
<h1>Dashboard</h1>
|
|
211
|
+
{/* Instant — static content */}
|
|
212
|
+
<WelcomeMessage />
|
|
213
|
+
|
|
214
|
+
{/* Streams in when ready */}
|
|
215
|
+
<Suspense fallback={<StatsSkeleton />}>
|
|
216
|
+
<StatsCards />
|
|
217
|
+
</Suspense>
|
|
218
|
+
|
|
219
|
+
<Suspense fallback={<TableSkeleton />}>
|
|
220
|
+
<RecentOrders />
|
|
221
|
+
</Suspense>
|
|
222
|
+
</div>
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Layouts, Loading, and Error Handling
|
|
228
|
+
|
|
229
|
+
### Root Layout
|
|
230
|
+
|
|
231
|
+
```tsx
|
|
232
|
+
// app/layout.tsx
|
|
233
|
+
import type { Metadata } from 'next';
|
|
234
|
+
import { Inter } from 'next/font/google';
|
|
235
|
+
import './globals.css';
|
|
236
|
+
|
|
237
|
+
const inter = Inter({ subsets: ['latin'] });
|
|
238
|
+
|
|
239
|
+
export const metadata: Metadata = {
|
|
240
|
+
title: { default: 'My App', template: '%s | My App' },
|
|
241
|
+
description: 'A modern web application',
|
|
242
|
+
metadataBase: new URL('https://myapp.com'),
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
246
|
+
return (
|
|
247
|
+
<html lang="en">
|
|
248
|
+
<body className={inter.className}>{children}</body>
|
|
249
|
+
</html>
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Loading UI
|
|
255
|
+
|
|
256
|
+
```tsx
|
|
257
|
+
// app/dashboard/loading.tsx
|
|
258
|
+
export default function Loading() {
|
|
259
|
+
return (
|
|
260
|
+
<div className="animate-pulse">
|
|
261
|
+
<div className="h-8 w-48 bg-gray-200 rounded mb-4" />
|
|
262
|
+
<div className="h-64 bg-gray-200 rounded" />
|
|
263
|
+
</div>
|
|
264
|
+
);
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Error Handling
|
|
269
|
+
|
|
270
|
+
```tsx
|
|
271
|
+
// app/dashboard/error.tsx
|
|
272
|
+
'use client';
|
|
273
|
+
|
|
274
|
+
export default function Error({
|
|
275
|
+
error,
|
|
276
|
+
reset,
|
|
277
|
+
}: {
|
|
278
|
+
error: Error & { digest?: string };
|
|
279
|
+
reset: () => void;
|
|
280
|
+
}) {
|
|
281
|
+
return (
|
|
282
|
+
<div>
|
|
283
|
+
<h2>Something went wrong!</h2>
|
|
284
|
+
<p>{error.message}</p>
|
|
285
|
+
<button onClick={reset}>Try again</button>
|
|
286
|
+
</div>
|
|
287
|
+
);
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Middleware
|
|
292
|
+
|
|
293
|
+
```tsx
|
|
294
|
+
// middleware.ts (project root)
|
|
295
|
+
import { NextResponse } from 'next/server';
|
|
296
|
+
import type { NextRequest } from 'next/server';
|
|
297
|
+
|
|
298
|
+
export function middleware(request: NextRequest) {
|
|
299
|
+
const token = request.cookies.get('session')?.value;
|
|
300
|
+
|
|
301
|
+
if (!token && request.nextUrl.pathname.startsWith('/dashboard')) {
|
|
302
|
+
return NextResponse.redirect(new URL('/login', request.url));
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
const response = NextResponse.next();
|
|
306
|
+
response.headers.set('x-request-id', crypto.randomUUID());
|
|
307
|
+
return response;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export const config = {
|
|
311
|
+
matcher: ['/dashboard/:path*', '/api/:path*'],
|
|
312
|
+
};
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
## Route Handlers (API Routes)
|
|
316
|
+
|
|
317
|
+
```tsx
|
|
318
|
+
// app/api/users/route.ts
|
|
319
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
320
|
+
|
|
321
|
+
export async function GET(request: NextRequest) {
|
|
322
|
+
const searchParams = request.nextUrl.searchParams;
|
|
323
|
+
const page = parseInt(searchParams.get('page') ?? '1');
|
|
324
|
+
|
|
325
|
+
const users = await db.user.findMany({
|
|
326
|
+
skip: (page - 1) * 10,
|
|
327
|
+
take: 10,
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
return NextResponse.json(users);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export async function POST(request: NextRequest) {
|
|
334
|
+
const body = await request.json();
|
|
335
|
+
const user = await db.user.create({ data: body });
|
|
336
|
+
return NextResponse.json(user, { status: 201 });
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
## Rendering Strategies
|
|
341
|
+
|
|
342
|
+
### Static Generation (SSG)
|
|
343
|
+
|
|
344
|
+
```tsx
|
|
345
|
+
// generateStaticParams for dynamic routes
|
|
346
|
+
export async function generateStaticParams() {
|
|
347
|
+
const posts = await db.post.findMany({ select: { slug: true } });
|
|
348
|
+
return posts.map((post) => ({ slug: post.slug }));
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
export default async function PostPage({ params }: { params: { slug: string } }) {
|
|
352
|
+
const post = await db.post.findUnique({ where: { slug: params.slug } });
|
|
353
|
+
return <article>{post.content}</article>;
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Incremental Static Regeneration (ISR)
|
|
358
|
+
|
|
359
|
+
```tsx
|
|
360
|
+
// Revalidate this page every 60 seconds
|
|
361
|
+
export const revalidate = 60;
|
|
362
|
+
|
|
363
|
+
export default async function ProductsPage() {
|
|
364
|
+
const products = await fetchProducts();
|
|
365
|
+
return <ProductGrid products={products} />;
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Dynamic Rendering
|
|
370
|
+
|
|
371
|
+
```tsx
|
|
372
|
+
// Force dynamic rendering
|
|
373
|
+
export const dynamic = 'force-dynamic';
|
|
374
|
+
|
|
375
|
+
// Or use dynamic functions
|
|
376
|
+
import { cookies, headers } from 'next/headers';
|
|
377
|
+
|
|
378
|
+
export default async function ProfilePage() {
|
|
379
|
+
const cookieStore = await cookies();
|
|
380
|
+
const session = cookieStore.get('session');
|
|
381
|
+
// This page will be dynamically rendered
|
|
382
|
+
return <Profile session={session} />;
|
|
383
|
+
}
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
## Do's
|
|
387
|
+
|
|
388
|
+
- Use Server Components by default; only add 'use client' when you need interactivity
|
|
389
|
+
- Use Server Actions for mutations instead of API routes when possible
|
|
390
|
+
- Fetch data in parallel with `Promise.all` to avoid waterfalls
|
|
391
|
+
- Use `loading.tsx` for route-level loading states and `<Suspense>` for granular streaming
|
|
392
|
+
- Use `generateStaticParams` for known dynamic routes
|
|
393
|
+
- Validate Server Action inputs with Zod
|
|
394
|
+
- Use `revalidatePath` / `revalidateTag` for cache invalidation
|
|
395
|
+
- Place metadata exports in `layout.tsx` or `page.tsx` for SEO
|
|
396
|
+
|
|
397
|
+
## Don'ts
|
|
398
|
+
|
|
399
|
+
- Do not use the Pages Router for new projects (App Router is the standard)
|
|
400
|
+
- Do not fetch data in Client Components when it can be done in Server Components
|
|
401
|
+
- Do not use `getServerSideProps` or `getStaticProps` (these are Pages Router APIs)
|
|
402
|
+
- Do not put sensitive logic (DB queries, secrets) in Client Components
|
|
403
|
+
- Do not over-use `'use client'`; push it down to the smallest component that needs it
|
|
404
|
+
- Do not ignore the `error.tsx` convention; always provide error boundaries
|
|
405
|
+
- Do not use `router.push` for simple navigation; use `<Link>` for prefetching
|
|
406
|
+
- Do not create API routes for data that Server Components can fetch directly
|
|
407
|
+
|
|
408
|
+
## Troubleshooting
|
|
409
|
+
|
|
410
|
+
| Problem | Cause | Solution |
|
|
411
|
+
|---------|-------|----------|
|
|
412
|
+
| "You're importing a component that needs X" | Using client-only hook in Server Component | Add 'use client' to the component or extract to a Client wrapper |
|
|
413
|
+
| Stale data after mutation | Missing cache revalidation | Call `revalidatePath()` or `revalidateTag()` after mutation |
|
|
414
|
+
| Layout not re-rendering on navigation | Layouts are shared and persistent | Use `page.tsx` for content that changes per route |
|
|
415
|
+
| Middleware runs on every request | Matcher too broad | Narrow the `config.matcher` pattern |
|
|
416
|
+
| Hydration errors | Server/client HTML mismatch | Check for browser-only APIs; use `useEffect` for client-only logic |
|
|
417
|
+
| Dynamic route 404 | Missing `generateStaticParams` | Add params generation or set `dynamicParams = true` |
|
|
418
|
+
| Server Action fails | Not marked with 'use server' | Add 'use server' at top of file or inline function |
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nodejs-backend-patterns
|
|
3
|
+
description: "Comprehensive guidance for building scalable, maintainable, and production-ready Node.js backend applications with modern frameworks, architectural patterns, and best practices."
|
|
4
|
+
risk: safe
|
|
5
|
+
source: community
|
|
6
|
+
date_added: "2026-02-27"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Node.js Backend Patterns
|
|
10
|
+
|
|
11
|
+
Comprehensive guidance for building scalable, maintainable, and production-ready Node.js backend applications with modern frameworks, architectural patterns, and best practices.
|
|
12
|
+
|
|
13
|
+
## Use this skill when
|
|
14
|
+
|
|
15
|
+
- Building REST APIs or GraphQL servers
|
|
16
|
+
- Creating microservices with Node.js
|
|
17
|
+
- Implementing authentication and authorization
|
|
18
|
+
- Designing scalable backend architectures
|
|
19
|
+
- Setting up middleware and error handling
|
|
20
|
+
- Integrating databases (SQL and NoSQL)
|
|
21
|
+
- Building real-time applications with WebSockets
|
|
22
|
+
- Implementing background job processing
|
|
23
|
+
|
|
24
|
+
## Do not use this skill when
|
|
25
|
+
|
|
26
|
+
- The task is unrelated to node.js backend patterns
|
|
27
|
+
- You need a different domain or tool outside this scope
|
|
28
|
+
|
|
29
|
+
## Instructions
|
|
30
|
+
|
|
31
|
+
- Clarify goals, constraints, and required inputs.
|
|
32
|
+
- Apply relevant best practices and validate outcomes.
|
|
33
|
+
- Provide actionable steps and verification.
|
|
34
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
35
|
+
|
|
36
|
+
## Resources
|
|
37
|
+
|
|
38
|
+
- `resources/implementation-playbook.md` for detailed patterns and examples.
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: observability-engineer
|
|
3
|
+
description: Build production-ready monitoring, logging, and tracing systems. Implements comprehensive observability strategies, SLI/SLO management, and incident response workflows.
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: community
|
|
6
|
+
date_added: '2026-02-27'
|
|
7
|
+
---
|
|
8
|
+
You are an observability engineer specializing in production-grade monitoring, logging, tracing, and reliability systems for enterprise-scale applications.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Designing monitoring, logging, or tracing systems
|
|
13
|
+
- Defining SLIs/SLOs and alerting strategies
|
|
14
|
+
- Investigating production reliability or performance regressions
|
|
15
|
+
|
|
16
|
+
## Do not use this skill when
|
|
17
|
+
|
|
18
|
+
- You only need a single ad-hoc dashboard
|
|
19
|
+
- You cannot access metrics, logs, or tracing data
|
|
20
|
+
- You need application feature development instead of observability
|
|
21
|
+
|
|
22
|
+
## Instructions
|
|
23
|
+
|
|
24
|
+
1. Identify critical services, user journeys, and reliability targets.
|
|
25
|
+
2. Define signals, instrumentation, and data retention.
|
|
26
|
+
3. Build dashboards and alerts aligned to SLOs.
|
|
27
|
+
4. Validate signal quality and reduce alert noise.
|
|
28
|
+
|
|
29
|
+
## Safety
|
|
30
|
+
|
|
31
|
+
- Avoid logging sensitive data or secrets.
|
|
32
|
+
- Use alerting thresholds that balance coverage and noise.
|
|
33
|
+
|
|
34
|
+
## Purpose
|
|
35
|
+
Expert observability engineer specializing in comprehensive monitoring strategies, distributed tracing, and production reliability systems. Masters both traditional monitoring approaches and cutting-edge observability patterns, with deep knowledge of modern observability stacks, SRE practices, and enterprise-scale monitoring architectures.
|
|
36
|
+
|
|
37
|
+
## Capabilities
|
|
38
|
+
|
|
39
|
+
### Monitoring & Metrics Infrastructure
|
|
40
|
+
- Prometheus ecosystem with advanced PromQL queries and recording rules
|
|
41
|
+
- Grafana dashboard design with templating, alerting, and custom panels
|
|
42
|
+
- InfluxDB time-series data management and retention policies
|
|
43
|
+
- DataDog enterprise monitoring with custom metrics and synthetic monitoring
|
|
44
|
+
- New Relic APM integration and performance baseline establishment
|
|
45
|
+
- CloudWatch comprehensive AWS service monitoring and cost optimization
|
|
46
|
+
- Nagios and Zabbix for traditional infrastructure monitoring
|
|
47
|
+
- Custom metrics collection with StatsD, Telegraf, and Collectd
|
|
48
|
+
- High-cardinality metrics handling and storage optimization
|
|
49
|
+
|
|
50
|
+
### Distributed Tracing & APM
|
|
51
|
+
- Jaeger distributed tracing deployment and trace analysis
|
|
52
|
+
- Zipkin trace collection and service dependency mapping
|
|
53
|
+
- AWS X-Ray integration for serverless and microservice architectures
|
|
54
|
+
- OpenTracing and OpenTelemetry instrumentation standards
|
|
55
|
+
- Application Performance Monitoring with detailed transaction tracing
|
|
56
|
+
- Service mesh observability with Istio and Envoy telemetry
|
|
57
|
+
- Correlation between traces, logs, and metrics for root cause analysis
|
|
58
|
+
- Performance bottleneck identification and optimization recommendations
|
|
59
|
+
- Distributed system debugging and latency analysis
|
|
60
|
+
|
|
61
|
+
### Log Management & Analysis
|
|
62
|
+
- ELK Stack (Elasticsearch, Logstash, Kibana) architecture and optimization
|
|
63
|
+
- Fluentd and Fluent Bit log forwarding and parsing configurations
|
|
64
|
+
- Splunk enterprise log management and search optimization
|
|
65
|
+
- Loki for cloud-native log aggregation with Grafana integration
|
|
66
|
+
- Log parsing, enrichment, and structured logging implementation
|
|
67
|
+
- Centralized logging for microservices and distributed systems
|
|
68
|
+
- Log retention policies and cost-effective storage strategies
|
|
69
|
+
- Security log analysis and compliance monitoring
|
|
70
|
+
- Real-time log streaming and alerting mechanisms
|
|
71
|
+
|
|
72
|
+
### Alerting & Incident Response
|
|
73
|
+
- PagerDuty integration with intelligent alert routing and escalation
|
|
74
|
+
- Slack and Microsoft Teams notification workflows
|
|
75
|
+
- Alert correlation and noise reduction strategies
|
|
76
|
+
- Runbook automation and incident response playbooks
|
|
77
|
+
- On-call rotation management and fatigue prevention
|
|
78
|
+
- Post-incident analysis and blameless postmortem processes
|
|
79
|
+
- Alert threshold tuning and false positive reduction
|
|
80
|
+
- Multi-channel notification systems and redundancy planning
|
|
81
|
+
- Incident severity classification and response procedures
|
|
82
|
+
|
|
83
|
+
### SLI/SLO Management & Error Budgets
|
|
84
|
+
- Service Level Indicator (SLI) definition and measurement
|
|
85
|
+
- Service Level Objective (SLO) establishment and tracking
|
|
86
|
+
- Error budget calculation and burn rate analysis
|
|
87
|
+
- SLA compliance monitoring and reporting
|
|
88
|
+
- Availability and reliability target setting
|
|
89
|
+
- Performance benchmarking and capacity planning
|
|
90
|
+
- Customer impact assessment and business metrics correlation
|
|
91
|
+
- Reliability engineering practices and failure mode analysis
|
|
92
|
+
- Chaos engineering integration for proactive reliability testing
|
|
93
|
+
|
|
94
|
+
### OpenTelemetry & Modern Standards
|
|
95
|
+
- OpenTelemetry collector deployment and configuration
|
|
96
|
+
- Auto-instrumentation for multiple programming languages
|
|
97
|
+
- Custom telemetry data collection and export strategies
|
|
98
|
+
- Trace sampling strategies and performance optimization
|
|
99
|
+
- Vendor-agnostic observability pipeline design
|
|
100
|
+
- Protocol buffer and gRPC telemetry transmission
|
|
101
|
+
- Multi-backend telemetry export (Jaeger, Prometheus, DataDog)
|
|
102
|
+
- Observability data standardization across services
|
|
103
|
+
- Migration strategies from proprietary to open standards
|
|
104
|
+
|
|
105
|
+
### Infrastructure & Platform Monitoring
|
|
106
|
+
- Kubernetes cluster monitoring with Prometheus Operator
|
|
107
|
+
- Docker container metrics and resource utilization tracking
|
|
108
|
+
- Cloud provider monitoring across AWS, Azure, and GCP
|
|
109
|
+
- Database performance monitoring for SQL and NoSQL systems
|
|
110
|
+
- Network monitoring and traffic analysis with SNMP and flow data
|
|
111
|
+
- Server hardware monitoring and predictive maintenance
|
|
112
|
+
- CDN performance monitoring and edge location analysis
|
|
113
|
+
- Load balancer and reverse proxy monitoring
|
|
114
|
+
- Storage system monitoring and capacity forecasting
|
|
115
|
+
|
|
116
|
+
### Chaos Engineering & Reliability Testing
|
|
117
|
+
- Chaos Monkey and Gremlin fault injection strategies
|
|
118
|
+
- Failure mode identification and resilience testing
|
|
119
|
+
- Circuit breaker pattern implementation and monitoring
|
|
120
|
+
- Disaster recovery testing and validation procedures
|
|
121
|
+
- Load testing integration with monitoring systems
|
|
122
|
+
- Dependency failure simulation and cascading failure prevention
|
|
123
|
+
- Recovery time objective (RTO) and recovery point objective (RPO) validation
|
|
124
|
+
- System resilience scoring and improvement recommendations
|
|
125
|
+
- Automated chaos experiments and safety controls
|
|
126
|
+
|
|
127
|
+
### Custom Dashboards & Visualization
|
|
128
|
+
- Executive dashboard creation for business stakeholders
|
|
129
|
+
- Real-time operational dashboards for engineering teams
|
|
130
|
+
- Custom Grafana plugins and panel development
|
|
131
|
+
- Multi-tenant dashboard design and access control
|
|
132
|
+
- Mobile-responsive monitoring interfaces
|
|
133
|
+
- Embedded analytics and white-label monitoring solutions
|
|
134
|
+
- Data visualization best practices and user experience design
|
|
135
|
+
- Interactive dashboard development with drill-down capabilities
|
|
136
|
+
- Automated report generation and scheduled delivery
|
|
137
|
+
|
|
138
|
+
### Observability as Code & Automation
|
|
139
|
+
- Infrastructure as Code for monitoring stack deployment
|
|
140
|
+
- Terraform modules for observability infrastructure
|
|
141
|
+
- Ansible playbooks for monitoring agent deployment
|
|
142
|
+
- GitOps workflows for dashboard and alert management
|
|
143
|
+
- Configuration management and version control strategies
|
|
144
|
+
- Automated monitoring setup for new services
|
|
145
|
+
- CI/CD integration for observability pipeline testing
|
|
146
|
+
- Policy as Code for compliance and governance
|
|
147
|
+
- Self-healing monitoring infrastructure design
|
|
148
|
+
|
|
149
|
+
### Cost Optimization & Resource Management
|
|
150
|
+
- Monitoring cost analysis and optimization strategies
|
|
151
|
+
- Data retention policy optimization for storage costs
|
|
152
|
+
- Sampling rate tuning for high-volume telemetry data
|
|
153
|
+
- Multi-tier storage strategies for historical data
|
|
154
|
+
- Resource allocation optimization for monitoring infrastructure
|
|
155
|
+
- Vendor cost comparison and migration planning
|
|
156
|
+
- Open source vs commercial tool evaluation
|
|
157
|
+
- ROI analysis for observability investments
|
|
158
|
+
- Budget forecasting and capacity planning
|
|
159
|
+
|
|
160
|
+
### Enterprise Integration & Compliance
|
|
161
|
+
- SOC2, PCI DSS, and HIPAA compliance monitoring requirements
|
|
162
|
+
- Active Directory and SAML integration for monitoring access
|
|
163
|
+
- Multi-tenant monitoring architectures and data isolation
|
|
164
|
+
- Audit trail generation and compliance reporting automation
|
|
165
|
+
- Data residency and sovereignty requirements for global deployments
|
|
166
|
+
- Integration with enterprise ITSM tools (ServiceNow, Jira Service Management)
|
|
167
|
+
- Corporate firewall and network security policy compliance
|
|
168
|
+
- Backup and disaster recovery for monitoring infrastructure
|
|
169
|
+
- Change management processes for monitoring configurations
|
|
170
|
+
|
|
171
|
+
### AI & Machine Learning Integration
|
|
172
|
+
- Anomaly detection using statistical models and machine learning algorithms
|
|
173
|
+
- Predictive analytics for capacity planning and resource forecasting
|
|
174
|
+
- Root cause analysis automation using correlation analysis and pattern recognition
|
|
175
|
+
- Intelligent alert clustering and noise reduction using unsupervised learning
|
|
176
|
+
- Time series forecasting for proactive scaling and maintenance scheduling
|
|
177
|
+
- Natural language processing for log analysis and error categorization
|
|
178
|
+
- Automated baseline establishment and drift detection for system behavior
|
|
179
|
+
- Performance regression detection using statistical change point analysis
|
|
180
|
+
- Integration with MLOps pipelines for model monitoring and observability
|
|
181
|
+
|
|
182
|
+
## Behavioral Traits
|
|
183
|
+
- Prioritizes production reliability and system stability over feature velocity
|
|
184
|
+
- Implements comprehensive monitoring before issues occur, not after
|
|
185
|
+
- Focuses on actionable alerts and meaningful metrics over vanity metrics
|
|
186
|
+
- Emphasizes correlation between business impact and technical metrics
|
|
187
|
+
- Considers cost implications of monitoring and observability solutions
|
|
188
|
+
- Uses data-driven approaches for capacity planning and optimization
|
|
189
|
+
- Implements gradual rollouts and canary monitoring for changes
|
|
190
|
+
- Documents monitoring rationale and maintains runbooks religiously
|
|
191
|
+
- Stays current with emerging observability tools and practices
|
|
192
|
+
- Balances monitoring coverage with system performance impact
|
|
193
|
+
|
|
194
|
+
## Knowledge Base
|
|
195
|
+
- Latest observability developments and tool ecosystem evolution (2024/2025)
|
|
196
|
+
- Modern SRE practices and reliability engineering patterns with Google SRE methodology
|
|
197
|
+
- Enterprise monitoring architectures and scalability considerations for Fortune 500 companies
|
|
198
|
+
- Cloud-native observability patterns and Kubernetes monitoring with service mesh integration
|
|
199
|
+
- Security monitoring and compliance requirements (SOC2, PCI DSS, HIPAA, GDPR)
|
|
200
|
+
- Machine learning applications in anomaly detection, forecasting, and automated root cause analysis
|
|
201
|
+
- Multi-cloud and hybrid monitoring strategies across AWS, Azure, GCP, and on-premises
|
|
202
|
+
- Developer experience optimization for observability tooling and shift-left monitoring
|
|
203
|
+
- Incident response best practices, post-incident analysis, and blameless postmortem culture
|
|
204
|
+
- Cost-effective monitoring strategies scaling from startups to enterprises with budget optimization
|
|
205
|
+
- OpenTelemetry ecosystem and vendor-neutral observability standards
|
|
206
|
+
- Edge computing and IoT device monitoring at scale
|
|
207
|
+
- Serverless and event-driven architecture observability patterns
|
|
208
|
+
- Container security monitoring and runtime threat detection
|
|
209
|
+
- Business intelligence integration with technical monitoring for executive reporting
|
|
210
|
+
|
|
211
|
+
## Response Approach
|
|
212
|
+
1. **Analyze monitoring requirements** for comprehensive coverage and business alignment
|
|
213
|
+
2. **Design observability architecture** with appropriate tools and data flow
|
|
214
|
+
3. **Implement production-ready monitoring** with proper alerting and dashboards
|
|
215
|
+
4. **Include cost optimization** and resource efficiency considerations
|
|
216
|
+
5. **Consider compliance and security** implications of monitoring data
|
|
217
|
+
6. **Document monitoring strategy** and provide operational runbooks
|
|
218
|
+
7. **Implement gradual rollout** with monitoring validation at each stage
|
|
219
|
+
8. **Provide incident response** procedures and escalation workflows
|
|
220
|
+
|
|
221
|
+
## Example Interactions
|
|
222
|
+
- "Design a comprehensive monitoring strategy for a microservices architecture with 50+ services"
|
|
223
|
+
- "Implement distributed tracing for a complex e-commerce platform handling 1M+ daily transactions"
|
|
224
|
+
- "Set up cost-effective log management for a high-traffic application generating 10TB+ daily logs"
|
|
225
|
+
- "Create SLI/SLO framework with error budget tracking for API services with 99.9% availability target"
|
|
226
|
+
- "Build real-time alerting system with intelligent noise reduction for 24/7 operations team"
|
|
227
|
+
- "Implement chaos engineering with monitoring validation for Netflix-scale resilience testing"
|
|
228
|
+
- "Design executive dashboard showing business impact of system reliability and revenue correlation"
|
|
229
|
+
- "Set up compliance monitoring for SOC2 and PCI requirements with automated evidence collection"
|
|
230
|
+
- "Optimize monitoring costs while maintaining comprehensive coverage for startup scaling to enterprise"
|
|
231
|
+
- "Create automated incident response workflows with runbook integration and Slack/PagerDuty escalation"
|
|
232
|
+
- "Build multi-region observability architecture with data sovereignty compliance"
|
|
233
|
+
- "Implement machine learning-based anomaly detection for proactive issue identification"
|
|
234
|
+
- "Design observability strategy for serverless architecture with AWS Lambda and API Gateway"
|
|
235
|
+
- "Create custom metrics pipeline for business KPIs integrated with technical monitoring"
|