agileflow 3.4.3 → 4.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +238 -473
- package/README.md +22 -114
- package/bin/agileflow.js +15 -0
- package/bin/hooks/pre-bash.js +35 -0
- package/bin/hooks/pre-compact.js +34 -0
- package/bin/hooks/pre-edit.js +32 -0
- package/bin/hooks/pre-write.js +32 -0
- package/bin/hooks/session-start.js +42 -0
- package/bin/hooks/stop.js +34 -0
- package/content/plugins/ads/plugin.yaml +14 -0
- package/content/plugins/audit/plugin.yaml +14 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +55 -0
- package/content/plugins/core/hooks/context-loader.js +169 -0
- package/content/plugins/core/hooks/damage-control-bash.js +78 -0
- package/content/plugins/core/hooks/damage-control-edit.js +76 -0
- package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
- package/content/plugins/core/hooks/damage-control-write.js +72 -0
- package/content/plugins/core/hooks/pre-compact-state.js +90 -0
- package/content/plugins/core/hooks/session-welcome.js +19 -0
- package/content/plugins/core/plugin.yaml +82 -0
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
- package/content/plugins/council/plugin.yaml +14 -0
- package/content/plugins/seo/plugin.yaml +14 -0
- package/package.json +29 -49
- package/src/cli/commands/doctor.js +159 -0
- package/src/cli/commands/hook.js +80 -0
- package/src/cli/commands/setup.js +292 -0
- package/src/cli/commands/status.js +47 -0
- package/src/cli/commands/update.js +83 -0
- package/src/cli/index.js +73 -0
- package/src/cli/wizard/behaviors-picker.js +108 -0
- package/src/cli/wizard/ide-picker.js +57 -0
- package/src/cli/wizard/personalization.js +64 -0
- package/src/cli/wizard/plugin-picker.js +106 -0
- package/src/lib/hash.js +41 -0
- package/src/runtime/config/defaults.js +61 -0
- package/src/runtime/config/loader.js +117 -0
- package/src/runtime/config/schema.json +99 -0
- package/src/runtime/config/writer.js +55 -0
- package/src/runtime/hooks/aggregator.js +157 -0
- package/src/runtime/hooks/chain.js +93 -0
- package/src/runtime/hooks/logger.js +68 -0
- package/src/runtime/hooks/manifest-loader.js +228 -0
- package/src/runtime/hooks/orchestrator.js +322 -0
- package/src/runtime/ide/capabilities.js +111 -0
- package/src/runtime/ide/claude-code-settings.js +234 -0
- package/src/runtime/ide/claude-code-skills.js +202 -0
- package/src/runtime/installer/file-index.js +112 -0
- package/src/runtime/installer/install.js +329 -0
- package/src/runtime/installer/stash.js +61 -0
- package/src/runtime/installer/sync-engine.js +205 -0
- package/src/runtime/plugins/registry.js +132 -0
- package/src/runtime/plugins/resolver.js +138 -0
- package/src/runtime/plugins/validator.js +196 -0
- package/src/runtime/skills/validator.js +335 -0
- package/lib/README.md +0 -178
- package/lib/api-routes.js +0 -625
- package/lib/api-server.js +0 -278
- package/lib/cache-provider.js +0 -155
- package/lib/codebase-indexer.js +0 -819
- package/lib/colors.generated.js +0 -117
- package/lib/colors.js +0 -341
- package/lib/consent.js +0 -232
- package/lib/content-sanitizer.js +0 -464
- package/lib/correlation.js +0 -277
- package/lib/drivers/claude-driver.ts +0 -312
- package/lib/drivers/codex-driver.ts +0 -464
- package/lib/drivers/driver-manager.ts +0 -159
- package/lib/drivers/gemini-driver.ts +0 -498
- package/lib/drivers/index.ts +0 -17
- package/lib/error-codes.js +0 -590
- package/lib/errors.js +0 -670
- package/lib/feature-flags.js +0 -171
- package/lib/feedback.js +0 -595
- package/lib/file-cache.js +0 -541
- package/lib/flag-detection.js +0 -344
- package/lib/format-error.js +0 -156
- package/lib/gate-runner.js +0 -282
- package/lib/generator-factory.js +0 -333
- package/lib/git-operations.js +0 -266
- package/lib/lazy-require.js +0 -59
- package/lib/lock-file.js +0 -144
- package/lib/logger.js +0 -106
- package/lib/merge-operations.js +0 -1006
- package/lib/path-resolver.js +0 -544
- package/lib/path-utils.js +0 -49
- package/lib/paths.js +0 -291
- package/lib/placeholder-registry.js +0 -822
- package/lib/process-executor.js +0 -214
- package/lib/progress.js +0 -334
- package/lib/protocol/driver.ts +0 -354
- package/lib/protocol/index.ts +0 -12
- package/lib/protocol/ir.ts +0 -271
- package/lib/registry-cache.js +0 -80
- package/lib/registry-di.js +0 -358
- package/lib/result-schema.js +0 -363
- package/lib/result.js +0 -210
- package/lib/session-display.js +0 -331
- package/lib/session-operations.js +0 -611
- package/lib/session-registry.js +0 -484
- package/lib/session-state-machine.js +0 -465
- package/lib/session-switching.js +0 -191
- package/lib/skill-loader.js +0 -213
- package/lib/smart-json-file.js +0 -682
- package/lib/state-machine.js +0 -286
- package/lib/table-formatter.js +0 -519
- package/lib/template-loader.js +0 -143
- package/lib/transient-status.js +0 -374
- package/lib/ui-manager.js +0 -612
- package/lib/validate-args.js +0 -213
- package/lib/validate-commands.js +0 -308
- package/lib/validate-names.js +0 -143
- package/lib/validate-paths.js +0 -434
- package/lib/validate.js +0 -134
- package/lib/worktree-operations.js +0 -201
- package/lib/yaml-utils.js +0 -164
- package/scripts/README.md +0 -267
- package/scripts/af +0 -34
- package/scripts/agent-loop.js +0 -879
- package/scripts/agileflow-configure.js +0 -368
- package/scripts/agileflow-statusline.sh +0 -857
- package/scripts/agileflow-welcome.js +0 -2246
- package/scripts/api-server-runner.js +0 -177
- package/scripts/archive-completed-stories.sh +0 -308
- package/scripts/auto-self-improve.js +0 -326
- package/scripts/automation-run-due.js +0 -128
- package/scripts/babysit-clear-restore.js +0 -154
- package/scripts/babysit-context-restore.js +0 -89
- package/scripts/backfill-ideation-status.js +0 -128
- package/scripts/batch-pmap-loop.js +0 -551
- package/scripts/check-sessions.js +0 -116
- package/scripts/check-update.js +0 -282
- package/scripts/ci-summary.js +0 -294
- package/scripts/claude-smart.sh +0 -85
- package/scripts/claude-tmux.sh +0 -737
- package/scripts/claude-watchdog.sh +0 -225
- package/scripts/clear-active-command.js +0 -48
- package/scripts/compress-status.sh +0 -116
- package/scripts/context-loader.js +0 -310
- package/scripts/damage-control/bash-tool-damage-control.js +0 -22
- package/scripts/damage-control/edit-tool-damage-control.js +0 -19
- package/scripts/damage-control/patterns.yaml +0 -227
- package/scripts/damage-control/write-tool-damage-control.js +0 -19
- package/scripts/damage-control-bash.js +0 -51
- package/scripts/damage-control-edit.js +0 -48
- package/scripts/damage-control-multi-agent.js +0 -231
- package/scripts/damage-control-write.js +0 -48
- package/scripts/dependency-check.js +0 -311
- package/scripts/document-repl.js +0 -793
- package/scripts/expertise-metrics.sh +0 -264
- package/scripts/generate-all.sh +0 -77
- package/scripts/generate-colors.js +0 -314
- package/scripts/generators/agent-registry.js +0 -183
- package/scripts/generators/command-registry.js +0 -166
- package/scripts/generators/index.js +0 -85
- package/scripts/generators/inject-babysit.js +0 -191
- package/scripts/generators/inject-help.js +0 -125
- package/scripts/generators/inject-readme.js +0 -166
- package/scripts/generators/skill-registry.js +0 -188
- package/scripts/get-env.js +0 -225
- package/scripts/init.sh +0 -76
- package/scripts/lib/README-portable-tasks.md +0 -424
- package/scripts/lib/ac-test-matcher.js +0 -452
- package/scripts/lib/audit-cleanup.js +0 -250
- package/scripts/lib/audit-registry.js +0 -340
- package/scripts/lib/automation-registry.js +0 -544
- package/scripts/lib/automation-runner.js +0 -476
- package/scripts/lib/browser-qa-evidence.js +0 -409
- package/scripts/lib/browser-qa-status.js +0 -192
- package/scripts/lib/bus-utils.js +0 -473
- package/scripts/lib/colors.generated.sh +0 -82
- package/scripts/lib/colors.sh +0 -46
- package/scripts/lib/command-prereqs.js +0 -280
- package/scripts/lib/concurrency-limiter.js +0 -511
- package/scripts/lib/configure-detect.js +0 -596
- package/scripts/lib/configure-features.js +0 -1927
- package/scripts/lib/configure-repair.js +0 -327
- package/scripts/lib/configure-utils.js +0 -114
- package/scripts/lib/context-formatter.js +0 -1158
- package/scripts/lib/context-loader.js +0 -840
- package/scripts/lib/counter.js +0 -103
- package/scripts/lib/damage-control-utils.js +0 -619
- package/scripts/lib/feature-catalog.js +0 -332
- package/scripts/lib/file-lock.js +0 -392
- package/scripts/lib/file-tracking.js +0 -735
- package/scripts/lib/frontmatter-parser.js +0 -133
- package/scripts/lib/gate-enforcer.js +0 -295
- package/scripts/lib/hook-metrics.js +0 -324
- package/scripts/lib/ideation-index.js +0 -1205
- package/scripts/lib/json-utils.sh +0 -162
- package/scripts/lib/lifecycle-detector.js +0 -125
- package/scripts/lib/model-profiles.js +0 -118
- package/scripts/lib/portable-tasks-cli.js +0 -274
- package/scripts/lib/portable-tasks.js +0 -479
- package/scripts/lib/process-cleanup.js +0 -527
- package/scripts/lib/quality-gates.js +0 -788
- package/scripts/lib/scale-detector.js +0 -396
- package/scripts/lib/sessionRegistry.js +0 -678
- package/scripts/lib/signal-detectors.js +0 -867
- package/scripts/lib/skill-catalog.js +0 -557
- package/scripts/lib/skill-recommender.js +0 -311
- package/scripts/lib/state-migrator.js +0 -353
- package/scripts/lib/status-task-bridge.js +0 -522
- package/scripts/lib/status-writer.js +0 -255
- package/scripts/lib/story-claiming.js +0 -704
- package/scripts/lib/story-state-machine.js +0 -437
- package/scripts/lib/sync-ideation-status.js +0 -291
- package/scripts/lib/task-registry-cache.js +0 -490
- package/scripts/lib/task-registry.js +0 -1191
- package/scripts/lib/task-sync.js +0 -230
- package/scripts/lib/tdd-phase-manager.js +0 -455
- package/scripts/lib/team-events.js +0 -510
- package/scripts/lib/tmux-audit-monitor.js +0 -612
- package/scripts/lib/tmux-group-colors.js +0 -113
- package/scripts/lib/tool-registry.yaml +0 -241
- package/scripts/lib/tool-shed.js +0 -441
- package/scripts/lib/validation-registry.js +0 -177
- package/scripts/messaging-bridge.js +0 -561
- package/scripts/migrate-ideation-index.js +0 -553
- package/scripts/native-team-observer.js +0 -219
- package/scripts/obtain-context.js +0 -272
- package/scripts/pre-push-check.sh +0 -46
- package/scripts/precompact-context.sh +0 -306
- package/scripts/query-codebase.js +0 -543
- package/scripts/ralph-loop.js +0 -1278
- package/scripts/resume-session.sh +0 -121
- package/scripts/screenshot-verifier.js +0 -215
- package/scripts/session-boundary.js +0 -138
- package/scripts/session-coordinator.sh +0 -232
- package/scripts/session-manager.js +0 -546
- package/scripts/smart-detect.js +0 -449
- package/scripts/spawn-audit-sessions.js +0 -877
- package/scripts/spawn-parallel.js +0 -751
- package/scripts/strip-ai-attribution.js +0 -63
- package/scripts/task-completed-gate.js +0 -237
- package/scripts/team-manager.js +0 -596
- package/scripts/team-status-display.js +0 -200
- package/scripts/teammate-idle-gate.js +0 -237
- package/scripts/test-session-boundary.js +0 -80
- package/scripts/tmux-close-windows.sh +0 -180
- package/scripts/tmux-restore-window.sh +0 -67
- package/scripts/tmux-save-closed-window.sh +0 -35
- package/scripts/tui/App.js +0 -151
- package/scripts/tui/Dashboard.js +0 -277
- package/scripts/tui/blessed/data/watcher.js +0 -180
- package/scripts/tui/blessed/index.js +0 -244
- package/scripts/tui/blessed/panels/output.js +0 -101
- package/scripts/tui/blessed/panels/sessions.js +0 -150
- package/scripts/tui/blessed/panels/trace.js +0 -97
- package/scripts/tui/blessed/ui/help.js +0 -77
- package/scripts/tui/blessed/ui/screen.js +0 -52
- package/scripts/tui/blessed/ui/statusbar.js +0 -47
- package/scripts/tui/blessed/ui/tabbar.js +0 -99
- package/scripts/tui/index.js +0 -70
- package/scripts/tui/lib/crashRecovery.js +0 -304
- package/scripts/tui/lib/eventStream.js +0 -309
- package/scripts/tui/lib/keyboard.js +0 -261
- package/scripts/tui/lib/loopControl.js +0 -371
- package/scripts/tui/panels/OutputPanel.js +0 -240
- package/scripts/tui/panels/SessionPanel.js +0 -170
- package/scripts/tui/panels/TracePanel.js +0 -298
- package/scripts/tui/simple-tui.js +0 -510
- package/scripts/validate-expertise.sh +0 -263
- package/scripts/validate-tokens.sh +0 -73
- package/scripts/validators/README.md +0 -143
- package/scripts/validators/component-validator.js +0 -239
- package/scripts/validators/json-schema-validator.js +0 -186
- package/scripts/validators/markdown-validator.js +0 -152
- package/scripts/validators/migration-validator.js +0 -129
- package/scripts/validators/security-validator.js +0 -380
- package/scripts/validators/story-format-validator.js +0 -197
- package/scripts/validators/test-result-validator.js +0 -114
- package/scripts/validators/workflow-validator.js +0 -247
- package/scripts/welcome-deferred.js +0 -437
- package/scripts/worktree-create.sh +0 -111
- package/src/core/agents/a11y-analyzer-aria.md +0 -155
- package/src/core/agents/a11y-analyzer-forms.md +0 -162
- package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
- package/src/core/agents/a11y-analyzer-semantic.md +0 -153
- package/src/core/agents/a11y-analyzer-visual.md +0 -158
- package/src/core/agents/a11y-consensus.md +0 -248
- package/src/core/agents/accessibility.md +0 -515
- package/src/core/agents/adr-writer.md +0 -463
- package/src/core/agents/ads-audit-budget.md +0 -181
- package/src/core/agents/ads-audit-compliance.md +0 -169
- package/src/core/agents/ads-audit-creative.md +0 -164
- package/src/core/agents/ads-audit-google.md +0 -226
- package/src/core/agents/ads-audit-meta.md +0 -183
- package/src/core/agents/ads-audit-tracking.md +0 -197
- package/src/core/agents/ads-consensus.md +0 -396
- package/src/core/agents/ads-generate.md +0 -145
- package/src/core/agents/ads-performance-tracker.md +0 -197
- package/src/core/agents/analytics.md +0 -617
- package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
- package/src/core/agents/api-quality-analyzer-docs.md +0 -176
- package/src/core/agents/api-quality-analyzer-errors.md +0 -183
- package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
- package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
- package/src/core/agents/api-quality-consensus.md +0 -214
- package/src/core/agents/api-validator.md +0 -183
- package/src/core/agents/api.md +0 -665
- package/src/core/agents/arch-analyzer-circular.md +0 -148
- package/src/core/agents/arch-analyzer-complexity.md +0 -171
- package/src/core/agents/arch-analyzer-coupling.md +0 -146
- package/src/core/agents/arch-analyzer-layering.md +0 -151
- package/src/core/agents/arch-analyzer-patterns.md +0 -162
- package/src/core/agents/arch-consensus.md +0 -227
- package/src/core/agents/brainstorm-analyzer-features.md +0 -169
- package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
- package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
- package/src/core/agents/brainstorm-analyzer-market.md +0 -147
- package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
- package/src/core/agents/brainstorm-consensus.md +0 -237
- package/src/core/agents/browser-qa.md +0 -328
- package/src/core/agents/ci.md +0 -511
- package/src/core/agents/code-reviewer.md +0 -288
- package/src/core/agents/codebase-query.md +0 -266
- package/src/core/agents/completeness-analyzer-api.md +0 -190
- package/src/core/agents/completeness-analyzer-conditional.md +0 -201
- package/src/core/agents/completeness-analyzer-handlers.md +0 -159
- package/src/core/agents/completeness-analyzer-imports.md +0 -159
- package/src/core/agents/completeness-analyzer-routes.md +0 -182
- package/src/core/agents/completeness-analyzer-state.md +0 -188
- package/src/core/agents/completeness-analyzer-stubs.md +0 -198
- package/src/core/agents/completeness-consensus.md +0 -286
- package/src/core/agents/compliance.md +0 -509
- package/src/core/agents/council-advocate.md +0 -206
- package/src/core/agents/council-analyst.md +0 -252
- package/src/core/agents/council-optimist.md +0 -170
- package/src/core/agents/database.md +0 -601
- package/src/core/agents/datamigration.md +0 -699
- package/src/core/agents/design.md +0 -525
- package/src/core/agents/devops.md +0 -720
- package/src/core/agents/documentation.md +0 -504
- package/src/core/agents/epic-planner.md +0 -480
- package/src/core/agents/error-analyzer.md +0 -201
- package/src/core/agents/integrations.md +0 -603
- package/src/core/agents/legal-analyzer-a11y.md +0 -110
- package/src/core/agents/legal-analyzer-ai.md +0 -117
- package/src/core/agents/legal-analyzer-consumer.md +0 -108
- package/src/core/agents/legal-analyzer-content.md +0 -113
- package/src/core/agents/legal-analyzer-international.md +0 -115
- package/src/core/agents/legal-analyzer-licensing.md +0 -115
- package/src/core/agents/legal-analyzer-privacy.md +0 -108
- package/src/core/agents/legal-analyzer-security.md +0 -112
- package/src/core/agents/legal-analyzer-terms.md +0 -111
- package/src/core/agents/legal-consensus.md +0 -242
- package/src/core/agents/logic-analyzer-edge.md +0 -170
- package/src/core/agents/logic-analyzer-flow.md +0 -253
- package/src/core/agents/logic-analyzer-invariant.md +0 -206
- package/src/core/agents/logic-analyzer-race.md +0 -266
- package/src/core/agents/logic-analyzer-type.md +0 -217
- package/src/core/agents/logic-consensus.md +0 -253
- package/src/core/agents/mentor.md +0 -654
- package/src/core/agents/mobile.md +0 -501
- package/src/core/agents/monitoring.md +0 -537
- package/src/core/agents/multi-expert.md +0 -311
- package/src/core/agents/orchestrator.md +0 -749
- package/src/core/agents/perf-analyzer-assets.md +0 -174
- package/src/core/agents/perf-analyzer-bundle.md +0 -165
- package/src/core/agents/perf-analyzer-caching.md +0 -160
- package/src/core/agents/perf-analyzer-compute.md +0 -165
- package/src/core/agents/perf-analyzer-memory.md +0 -182
- package/src/core/agents/perf-analyzer-network.md +0 -157
- package/src/core/agents/perf-analyzer-queries.md +0 -155
- package/src/core/agents/perf-analyzer-rendering.md +0 -156
- package/src/core/agents/perf-consensus.md +0 -280
- package/src/core/agents/performance.md +0 -492
- package/src/core/agents/product.md +0 -535
- package/src/core/agents/qa.md +0 -765
- package/src/core/agents/readme-updater.md +0 -579
- package/src/core/agents/refactor.md +0 -558
- package/src/core/agents/research.md +0 -453
- package/src/core/agents/rlm-subcore.md +0 -207
- package/src/core/agents/schema-validator.md +0 -454
- package/src/core/agents/security-analyzer-api.md +0 -199
- package/src/core/agents/security-analyzer-auth.md +0 -160
- package/src/core/agents/security-analyzer-authz.md +0 -168
- package/src/core/agents/security-analyzer-deps.md +0 -147
- package/src/core/agents/security-analyzer-infra.md +0 -176
- package/src/core/agents/security-analyzer-injection.md +0 -148
- package/src/core/agents/security-analyzer-input.md +0 -191
- package/src/core/agents/security-analyzer-secrets.md +0 -175
- package/src/core/agents/security-consensus.md +0 -276
- package/src/core/agents/security.md +0 -486
- package/src/core/agents/seo-analyzer-content.md +0 -167
- package/src/core/agents/seo-analyzer-images.md +0 -187
- package/src/core/agents/seo-analyzer-performance.md +0 -206
- package/src/core/agents/seo-analyzer-schema.md +0 -176
- package/src/core/agents/seo-analyzer-sitemap.md +0 -172
- package/src/core/agents/seo-analyzer-technical.md +0 -144
- package/src/core/agents/seo-consensus.md +0 -289
- package/src/core/agents/team-coordinator.md +0 -333
- package/src/core/agents/team-lead.md +0 -171
- package/src/core/agents/test-analyzer-assertions.md +0 -181
- package/src/core/agents/test-analyzer-coverage.md +0 -183
- package/src/core/agents/test-analyzer-fragility.md +0 -185
- package/src/core/agents/test-analyzer-integration.md +0 -155
- package/src/core/agents/test-analyzer-maintenance.md +0 -173
- package/src/core/agents/test-analyzer-mocking.md +0 -178
- package/src/core/agents/test-analyzer-patterns.md +0 -189
- package/src/core/agents/test-analyzer-structure.md +0 -177
- package/src/core/agents/test-consensus.md +0 -294
- package/src/core/agents/testing.md +0 -527
- package/src/core/agents/ui-validator.md +0 -331
- package/src/core/agents/ui.md +0 -1227
- package/src/core/commands/adr/list.md +0 -191
- package/src/core/commands/adr/update.md +0 -258
- package/src/core/commands/adr/view.md +0 -274
- package/src/core/commands/adr.md +0 -394
- package/src/core/commands/ads/audit.md +0 -453
- package/src/core/commands/ads/budget.md +0 -97
- package/src/core/commands/ads/competitor.md +0 -112
- package/src/core/commands/ads/creative.md +0 -85
- package/src/core/commands/ads/generate.md +0 -238
- package/src/core/commands/ads/google.md +0 -112
- package/src/core/commands/ads/health.md +0 -327
- package/src/core/commands/ads/landing.md +0 -119
- package/src/core/commands/ads/linkedin.md +0 -112
- package/src/core/commands/ads/meta.md +0 -91
- package/src/core/commands/ads/microsoft.md +0 -115
- package/src/core/commands/ads/plan.md +0 -321
- package/src/core/commands/ads/test-plan.md +0 -317
- package/src/core/commands/ads/tiktok.md +0 -129
- package/src/core/commands/ads/track.md +0 -288
- package/src/core/commands/ads/youtube.md +0 -124
- package/src/core/commands/ads.md +0 -140
- package/src/core/commands/agent.md +0 -256
- package/src/core/commands/api.md +0 -267
- package/src/core/commands/assign.md +0 -369
- package/src/core/commands/audit.md +0 -531
- package/src/core/commands/auto.md +0 -556
- package/src/core/commands/automate.md +0 -415
- package/src/core/commands/babysit.md +0 -643
- package/src/core/commands/baseline.md +0 -743
- package/src/core/commands/batch.md +0 -551
- package/src/core/commands/blockers.md +0 -602
- package/src/core/commands/board.md +0 -509
- package/src/core/commands/browser-qa.md +0 -240
- package/src/core/commands/changelog.md +0 -582
- package/src/core/commands/choose.md +0 -430
- package/src/core/commands/ci.md +0 -330
- package/src/core/commands/code/accessibility.md +0 -363
- package/src/core/commands/code/api.md +0 -313
- package/src/core/commands/code/architecture.md +0 -313
- package/src/core/commands/code/completeness.md +0 -519
- package/src/core/commands/code/legal.md +0 -509
- package/src/core/commands/code/logic.md +0 -432
- package/src/core/commands/code/performance.md +0 -506
- package/src/core/commands/code/security.md +0 -509
- package/src/core/commands/code/test.md +0 -505
- package/src/core/commands/compress.md +0 -408
- package/src/core/commands/configure.md +0 -1159
- package/src/core/commands/context/export.md +0 -296
- package/src/core/commands/context/full.md +0 -353
- package/src/core/commands/context/note.md +0 -380
- package/src/core/commands/council.md +0 -592
- package/src/core/commands/debt.md +0 -491
- package/src/core/commands/deploy.md +0 -864
- package/src/core/commands/deps.md +0 -728
- package/src/core/commands/diagnose.md +0 -404
- package/src/core/commands/docs.md +0 -469
- package/src/core/commands/epic/edit.md +0 -213
- package/src/core/commands/epic/list.md +0 -190
- package/src/core/commands/epic/view.md +0 -267
- package/src/core/commands/epic.md +0 -477
- package/src/core/commands/export.md +0 -238
- package/src/core/commands/feedback.md +0 -603
- package/src/core/commands/handoff.md +0 -386
- package/src/core/commands/help.md +0 -194
- package/src/core/commands/ideate/brief.md +0 -363
- package/src/core/commands/ideate/discover.md +0 -399
- package/src/core/commands/ideate/features.md +0 -497
- package/src/core/commands/ideate/history.md +0 -403
- package/src/core/commands/ideate/new.md +0 -900
- package/src/core/commands/impact.md +0 -407
- package/src/core/commands/install.md +0 -529
- package/src/core/commands/learn/explain.md +0 -118
- package/src/core/commands/learn/glossary.md +0 -135
- package/src/core/commands/learn/patterns.md +0 -138
- package/src/core/commands/learn/tour.md +0 -126
- package/src/core/commands/maintain.md +0 -558
- package/src/core/commands/metrics.md +0 -844
- package/src/core/commands/migrate/codemods.md +0 -151
- package/src/core/commands/migrate/plan.md +0 -131
- package/src/core/commands/migrate/scan.md +0 -114
- package/src/core/commands/migrate/validate.md +0 -119
- package/src/core/commands/multi-expert.md +0 -447
- package/src/core/commands/packages.md +0 -535
- package/src/core/commands/pr.md +0 -337
- package/src/core/commands/readme-sync.md +0 -329
- package/src/core/commands/research/analyze.md +0 -798
- package/src/core/commands/research/ask.md +0 -864
- package/src/core/commands/research/import.md +0 -1025
- package/src/core/commands/research/list.md +0 -273
- package/src/core/commands/research/synthesize.md +0 -928
- package/src/core/commands/research/view.md +0 -323
- package/src/core/commands/retro.md +0 -795
- package/src/core/commands/review.md +0 -694
- package/src/core/commands/rlm.md +0 -446
- package/src/core/commands/roadmap/analyze.md +0 -400
- package/src/core/commands/rpi.md +0 -633
- package/src/core/commands/seo/audit.md +0 -444
- package/src/core/commands/seo/competitor.md +0 -174
- package/src/core/commands/seo/content.md +0 -107
- package/src/core/commands/seo/geo.md +0 -229
- package/src/core/commands/seo/hreflang.md +0 -140
- package/src/core/commands/seo/images.md +0 -96
- package/src/core/commands/seo/page.md +0 -198
- package/src/core/commands/seo/plan.md +0 -163
- package/src/core/commands/seo/programmatic.md +0 -131
- package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
- package/src/core/commands/seo/references/eeat-framework.md +0 -110
- package/src/core/commands/seo/references/quality-gates.md +0 -91
- package/src/core/commands/seo/references/schema-types.md +0 -102
- package/src/core/commands/seo/schema.md +0 -183
- package/src/core/commands/seo/sitemap.md +0 -97
- package/src/core/commands/seo/technical.md +0 -100
- package/src/core/commands/seo.md +0 -107
- package/src/core/commands/session/cleanup.md +0 -452
- package/src/core/commands/session/end.md +0 -865
- package/src/core/commands/session/history.md +0 -293
- package/src/core/commands/session/init.md +0 -210
- package/src/core/commands/session/new.md +0 -827
- package/src/core/commands/session/resume.md +0 -291
- package/src/core/commands/session/spawn.md +0 -205
- package/src/core/commands/session/status.md +0 -274
- package/src/core/commands/skill/list.md +0 -139
- package/src/core/commands/skill/recommend.md +0 -216
- package/src/core/commands/sprint.md +0 -714
- package/src/core/commands/status/undo.md +0 -191
- package/src/core/commands/status.md +0 -423
- package/src/core/commands/story/edit.md +0 -204
- package/src/core/commands/story/list.md +0 -199
- package/src/core/commands/story/view.md +0 -312
- package/src/core/commands/story-validate.md +0 -491
- package/src/core/commands/story.md +0 -465
- package/src/core/commands/tdd-next.md +0 -238
- package/src/core/commands/tdd.md +0 -211
- package/src/core/commands/team/guide.md +0 -688
- package/src/core/commands/team/list.md +0 -59
- package/src/core/commands/team/start.md +0 -130
- package/src/core/commands/team/status.md +0 -66
- package/src/core/commands/team/stop.md +0 -78
- package/src/core/commands/template.md +0 -644
- package/src/core/commands/tests.md +0 -731
- package/src/core/commands/update.md +0 -591
- package/src/core/commands/validate-expertise.md +0 -305
- package/src/core/commands/velocity.md +0 -630
- package/src/core/commands/verify.md +0 -534
- package/src/core/commands/whats-new.md +0 -201
- package/src/core/commands/workflow.md +0 -449
- package/src/core/council/sessions/.gitkeep +0 -0
- package/src/core/council/shared_reasoning.template.md +0 -106
- package/src/core/experts/README.md +0 -236
- package/src/core/experts/_core-expertise.yaml +0 -105
- package/src/core/experts/accessibility/expertise.yaml +0 -115
- package/src/core/experts/accessibility/question.md +0 -41
- package/src/core/experts/accessibility/self-improve.md +0 -45
- package/src/core/experts/accessibility/workflow.md +0 -59
- package/src/core/experts/adr-writer/expertise.yaml +0 -138
- package/src/core/experts/adr-writer/question.md +0 -56
- package/src/core/experts/adr-writer/self-improve.md +0 -106
- package/src/core/experts/adr-writer/workflow.md +0 -184
- package/src/core/experts/analytics/expertise.yaml +0 -119
- package/src/core/experts/analytics/question.md +0 -74
- package/src/core/experts/analytics/self-improve.md +0 -163
- package/src/core/experts/analytics/workflow.md +0 -272
- package/src/core/experts/api/expertise.yaml +0 -124
- package/src/core/experts/api/question.md +0 -74
- package/src/core/experts/api/self-improve.md +0 -122
- package/src/core/experts/api/workflow.md +0 -248
- package/src/core/experts/ci/expertise.yaml +0 -106
- package/src/core/experts/ci/question.md +0 -69
- package/src/core/experts/ci/self-improve.md +0 -100
- package/src/core/experts/ci/workflow.md +0 -145
- package/src/core/experts/codebase-query/expertise.yaml +0 -121
- package/src/core/experts/codebase-query/question.md +0 -73
- package/src/core/experts/codebase-query/self-improve.md +0 -105
- package/src/core/experts/compliance/expertise.yaml +0 -101
- package/src/core/experts/compliance/question.md +0 -56
- package/src/core/experts/compliance/self-improve.md +0 -106
- package/src/core/experts/compliance/workflow.md +0 -184
- package/src/core/experts/database/expertise.yaml +0 -109
- package/src/core/experts/database/question.md +0 -74
- package/src/core/experts/database/self-improve.md +0 -121
- package/src/core/experts/database/workflow.md +0 -234
- package/src/core/experts/datamigration/expertise.yaml +0 -141
- package/src/core/experts/datamigration/question.md +0 -56
- package/src/core/experts/datamigration/self-improve.md +0 -106
- package/src/core/experts/datamigration/workflow.md +0 -184
- package/src/core/experts/design/expertise.yaml +0 -116
- package/src/core/experts/design/question.md +0 -56
- package/src/core/experts/design/self-improve.md +0 -106
- package/src/core/experts/design/workflow.md +0 -184
- package/src/core/experts/devops/expertise.yaml +0 -116
- package/src/core/experts/devops/question.md +0 -68
- package/src/core/experts/devops/self-improve.md +0 -102
- package/src/core/experts/devops/workflow.md +0 -142
- package/src/core/experts/documentation/expertise.yaml +0 -126
- package/src/core/experts/documentation/question.md +0 -41
- package/src/core/experts/documentation/self-improve.md +0 -45
- package/src/core/experts/documentation/workflow.md +0 -55
- package/src/core/experts/epic-planner/expertise.yaml +0 -144
- package/src/core/experts/epic-planner/question.md +0 -56
- package/src/core/experts/epic-planner/self-improve.md +0 -106
- package/src/core/experts/epic-planner/workflow.md +0 -184
- package/src/core/experts/integrations/expertise.yaml +0 -113
- package/src/core/experts/integrations/question.md +0 -74
- package/src/core/experts/integrations/self-improve.md +0 -151
- package/src/core/experts/integrations/workflow.md +0 -246
- package/src/core/experts/mentor/expertise.yaml +0 -125
- package/src/core/experts/mentor/question.md +0 -56
- package/src/core/experts/mentor/self-improve.md +0 -106
- package/src/core/experts/mentor/workflow.md +0 -184
- package/src/core/experts/mobile/expertise.yaml +0 -136
- package/src/core/experts/mobile/question.md +0 -72
- package/src/core/experts/mobile/self-improve.md +0 -140
- package/src/core/experts/mobile/workflow.md +0 -240
- package/src/core/experts/monitoring/expertise.yaml +0 -132
- package/src/core/experts/monitoring/question.md +0 -76
- package/src/core/experts/monitoring/self-improve.md +0 -150
- package/src/core/experts/monitoring/workflow.md +0 -264
- package/src/core/experts/performance/expertise.yaml +0 -68
- package/src/core/experts/performance/question.md +0 -41
- package/src/core/experts/performance/self-improve.md +0 -45
- package/src/core/experts/performance/workflow.md +0 -61
- package/src/core/experts/product/expertise.yaml +0 -143
- package/src/core/experts/product/question.md +0 -56
- package/src/core/experts/product/self-improve.md +0 -106
- package/src/core/experts/product/workflow.md +0 -184
- package/src/core/experts/qa/expertise.yaml +0 -110
- package/src/core/experts/qa/question.md +0 -56
- package/src/core/experts/qa/self-improve.md +0 -106
- package/src/core/experts/qa/workflow.md +0 -184
- package/src/core/experts/readme-updater/expertise.yaml +0 -141
- package/src/core/experts/readme-updater/question.md +0 -56
- package/src/core/experts/readme-updater/self-improve.md +0 -106
- package/src/core/experts/readme-updater/workflow.md +0 -184
- package/src/core/experts/refactor/expertise.yaml +0 -135
- package/src/core/experts/refactor/question.md +0 -41
- package/src/core/experts/refactor/self-improve.md +0 -45
- package/src/core/experts/refactor/workflow.md +0 -57
- package/src/core/experts/research/expertise.yaml +0 -143
- package/src/core/experts/research/question.md +0 -56
- package/src/core/experts/research/self-improve.md +0 -106
- package/src/core/experts/research/workflow.md +0 -184
- package/src/core/experts/security/expertise.yaml +0 -117
- package/src/core/experts/security/question.md +0 -77
- package/src/core/experts/security/self-improve.md +0 -102
- package/src/core/experts/security/workflow.md +0 -152
- package/src/core/experts/templates/expertise-template.yaml +0 -67
- package/src/core/experts/templates/question-template.md +0 -56
- package/src/core/experts/templates/self-improve-template.md +0 -106
- package/src/core/experts/templates/workflow-template.md +0 -184
- package/src/core/experts/testing/expertise.yaml +0 -112
- package/src/core/experts/testing/question.md +0 -68
- package/src/core/experts/testing/self-improve.md +0 -102
- package/src/core/experts/testing/workflow.md +0 -143
- package/src/core/experts/ui/expertise.yaml +0 -133
- package/src/core/experts/ui/question.md +0 -74
- package/src/core/experts/ui/self-improve.md +0 -122
- package/src/core/experts/ui/workflow.md +0 -262
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
- package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
- package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
- package/src/core/profiles/COMPARISON.md +0 -170
- package/src/core/profiles/README.md +0 -178
- package/src/core/profiles/claude-code.yaml +0 -111
- package/src/core/profiles/codex.yaml +0 -103
- package/src/core/profiles/cursor.yaml +0 -134
- package/src/core/profiles/examples.js +0 -250
- package/src/core/profiles/loader.js +0 -235
- package/src/core/profiles/windsurf.yaml +0 -159
- package/src/core/skills/_learnings/README.md +0 -91
- package/src/core/skills/_learnings/_template.yaml +0 -106
- package/src/core/skills/_learnings/code-review.yaml +0 -118
- package/src/core/skills/_learnings/commit.yaml +0 -69
- package/src/core/skills/_learnings/story-writer.yaml +0 -71
- package/src/core/teams/backend.json +0 -41
- package/src/core/teams/builder-validator.json +0 -51
- package/src/core/teams/code-review.json +0 -41
- package/src/core/teams/frontend.json +0 -41
- package/src/core/teams/fullstack.json +0 -41
- package/src/core/teams/logic-audit.json +0 -53
- package/src/core/teams/perf-audit.json +0 -71
- package/src/core/teams/qa.json +0 -41
- package/src/core/teams/security-audit.json +0 -71
- package/src/core/teams/solo.json +0 -35
- package/src/core/teams/test-audit.json +0 -71
- package/src/core/templates/CONTEXT.md.example +0 -49
- package/src/core/templates/README-template.md +0 -16
- package/src/core/templates/adr-template.md +0 -28
- package/src/core/templates/agent-coordination-pattern.md +0 -38
- package/src/core/templates/agent-profile-template.md +0 -51
- package/src/core/templates/agileflow-metadata.json +0 -150
- package/src/core/templates/browser-qa-spec.yaml +0 -94
- package/src/core/templates/ci-workflow.yml +0 -74
- package/src/core/templates/claude-settings.advanced.example.json +0 -75
- package/src/core/templates/claude-settings.example.json +0 -26
- package/src/core/templates/command-documentation.md +0 -187
- package/src/core/templates/command-prerequisites.yaml +0 -169
- package/src/core/templates/comms-note-template.md +0 -24
- package/src/core/templates/damage-control-patterns.yaml +0 -243
- package/src/core/templates/environment.json +0 -18
- package/src/core/templates/epic-template.md +0 -27
- package/src/core/templates/plan-template.md +0 -125
- package/src/core/templates/preserve-rules-common.md +0 -107
- package/src/core/templates/preserve-rules.json +0 -42
- package/src/core/templates/proactive-action-spec.md +0 -29
- package/src/core/templates/product-brief.md +0 -136
- package/src/core/templates/quality-gate-priorities.md +0 -34
- package/src/core/templates/research-template.md +0 -44
- package/src/core/templates/session-harness-protocol.md +0 -128
- package/src/core/templates/session-state.json +0 -56
- package/src/core/templates/story-lifecycle.md +0 -213
- package/src/core/templates/story-template.md +0 -92
- package/src/core/templates/tdd-test-template.js +0 -241
- package/src/core/templates/worktrees-guide.md +0 -231
- package/tools/agileflow-npx.js +0 -52
- package/tools/cli/agileflow-cli.js +0 -72
- package/tools/cli/commands/config.js +0 -285
- package/tools/cli/commands/doctor.js +0 -496
- package/tools/cli/commands/list.js +0 -385
- package/tools/cli/commands/session.js +0 -1176
- package/tools/cli/commands/setup.js +0 -255
- package/tools/cli/commands/status.js +0 -101
- package/tools/cli/commands/tui.js +0 -56
- package/tools/cli/commands/uninstall.js +0 -155
- package/tools/cli/commands/update.js +0 -299
- package/tools/cli/installers/core/installer.js +0 -892
- package/tools/cli/installers/ide/_base-ide.js +0 -518
- package/tools/cli/installers/ide/_interface.js +0 -238
- package/tools/cli/installers/ide/claude-code.js +0 -432
- package/tools/cli/installers/ide/codex.js +0 -426
- package/tools/cli/installers/ide/cursor.js +0 -217
- package/tools/cli/installers/ide/manager.js +0 -222
- package/tools/cli/installers/ide/windsurf.js +0 -282
- package/tools/cli/lib/command-context.js +0 -382
- package/tools/cli/lib/config-manager.js +0 -446
- package/tools/cli/lib/content-injector.js +0 -969
- package/tools/cli/lib/content-transformer.js +0 -496
- package/tools/cli/lib/docs-setup.js +0 -464
- package/tools/cli/lib/error-handler.js +0 -165
- package/tools/cli/lib/ide-error-factory.js +0 -421
- package/tools/cli/lib/ide-errors.js +0 -367
- package/tools/cli/lib/ide-generator.js +0 -357
- package/tools/cli/lib/ide-health-monitor.js +0 -364
- package/tools/cli/lib/ide-registry.js +0 -297
- package/tools/cli/lib/npm-utils.js +0 -103
- package/tools/cli/lib/self-update.js +0 -148
- package/tools/cli/lib/ui.js +0 -211
- package/tools/cli/lib/utils.js +0 -87
- package/tools/cli/lib/validation-middleware.js +0 -491
- package/tools/cli/lib/version-checker.js +0 -95
- package/tools/postinstall.js +0 -190
|
@@ -1,617 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agileflow-analytics
|
|
3
|
-
description: Analytics specialist for event tracking, data analysis, metrics dashboards, user behavior analysis, and data-driven insights.
|
|
4
|
-
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: teammate
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<!-- AGILEFLOW_META
|
|
10
|
-
hooks:
|
|
11
|
-
PostToolUse:
|
|
12
|
-
- matcher: "Write"
|
|
13
|
-
hooks:
|
|
14
|
-
- type: command
|
|
15
|
-
command: "node .agileflow/hooks/validators/security-validator.js"
|
|
16
|
-
compact_context:
|
|
17
|
-
priority: high
|
|
18
|
-
preserve_rules:
|
|
19
|
-
- No PII in event tracking (privacy is mandatory)
|
|
20
|
-
- GDPR/CCPA compliance (explicit opt-in, not opt-out)
|
|
21
|
-
- Immutable event logs (audit trail must be tamper-proof)
|
|
22
|
-
state_fields:
|
|
23
|
-
- event_tracking_coverage
|
|
24
|
-
- privacy_compliance_status
|
|
25
|
-
- test_status
|
|
26
|
-
AGILEFLOW_META -->
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
## STEP 0: Gather Context
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
node .agileflow/scripts/obtain-context.js analytics
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
38
|
-
## COMPACT SUMMARY - AG-ANALYTICS AGENT ACTIVE
|
|
39
|
-
|
|
40
|
-
**CRITICAL**: No PII in tracking. GDPR requires explicit opt-in, not opt-out. User privacy is non-negotiable.
|
|
41
|
-
|
|
42
|
-
IDENTITY: Analytics specialist designing event schemas, tracking implementation, data quality, privacy compliance, and actionable insights.
|
|
43
|
-
|
|
44
|
-
CORE DOMAIN EXPERTISE:
|
|
45
|
-
- Event tracking schema design (naming, properties, context)
|
|
46
|
-
- Data quality validation and anomaly detection
|
|
47
|
-
- Privacy-compliant analytics (GDPR, CCPA compliance)
|
|
48
|
-
- Funnel analysis and conversion tracking
|
|
49
|
-
- Cohort analysis and retention curves
|
|
50
|
-
- A/B testing framework and statistical significance
|
|
51
|
-
|
|
52
|
-
DOMAIN-SPECIFIC RULES:
|
|
53
|
-
|
|
54
|
-
🚨 RULE #1: No PII in Event Tracking (Ever)
|
|
55
|
-
- ❌ DON'T: Track email, phone, passwords, credit cards, SSNs
|
|
56
|
-
- ✅ DO: Use anonymous user_id (hashed, never user email)
|
|
57
|
-
- ❌ DON'T: Track health data, religious data, political data
|
|
58
|
-
- ✅ DO: Track business data (feature_used, purchase_completed, error_occurred)
|
|
59
|
-
- Audit: Search codebase for PII in tracking calls (emails, SSNs, etc.)
|
|
60
|
-
|
|
61
|
-
🚨 RULE #2: GDPR Compliance (Explicit Opt-In Required)
|
|
62
|
-
- ❌ DON'T: Pre-checked consent boxes (tracking by default)
|
|
63
|
-
- ✅ DO: Explicit opt-in ("I agree to be tracked")
|
|
64
|
-
- ❌ DON'T: Treat opt-out as default (illegal in EU)
|
|
65
|
-
- ✅ DO: Store consent timestamp and version
|
|
66
|
-
- ❌ DON'T: Track non-consenting users (complete no-track)
|
|
67
|
-
- Track consent events: consent_granted, consent_withdrawn, consent_version
|
|
68
|
-
|
|
69
|
-
🚨 RULE #3: Event Schema Must Be Consistent
|
|
70
|
-
- ❌ DON'T: Create ad-hoc events (causes data quality issues)
|
|
71
|
-
- ✅ DO: Pre-define all events in schema document
|
|
72
|
-
- ❌ DON'T: Mix formats (button_clicked AND click_button)
|
|
73
|
-
- ✅ DO: Use object_action format always (noun_verb)
|
|
74
|
-
- Schema must define: event name, required properties, optional properties, purpose
|
|
75
|
-
|
|
76
|
-
🚨 RULE #4: Data Quality is Critical (Garbage In = Garbage Out)
|
|
77
|
-
- ❌ DON'T: Assume tracking code is working (validates randomly)
|
|
78
|
-
- ✅ DO: Validate: event name, required properties, user_id format, timestamp
|
|
79
|
-
- ❌ DON'T: Mix user IDs (different formats break cohort analysis)
|
|
80
|
-
- ✅ DO: Validate user_id is same format across all events
|
|
81
|
-
- ❌ DON'T: Allow duplicate events (breaks metrics)
|
|
82
|
-
- ✅ DO: Deduplication by user_id + event_name + timestamp
|
|
83
|
-
|
|
84
|
-
CRITICAL ANTI-PATTERNS (CATCH THESE):
|
|
85
|
-
- Tracking without user consent (GDPR violation)
|
|
86
|
-
- PII in properties (emails, SSNs, health data)
|
|
87
|
-
- Event names inconsistent (user_clicked, userClicked, click_user)
|
|
88
|
-
- Missing required properties (breaks analysis)
|
|
89
|
-
- Mixing data formats (timestamp as string vs number)
|
|
90
|
-
- No user_id (can't track sessions)
|
|
91
|
-
- Events don't match schema (schema is source of truth)
|
|
92
|
-
- No consent tracking (can't prove compliance)
|
|
93
|
-
- Events disappearing (>20% drop, immediate alert)
|
|
94
|
-
- Too many unique values in property (suggests PII)
|
|
95
|
-
|
|
96
|
-
EVENT SCHEMA TEMPLATE:
|
|
97
|
-
|
|
98
|
-
```json
|
|
99
|
-
{
|
|
100
|
-
"event_name": "button_clicked",
|
|
101
|
-
"timestamp": "2025-10-21T10:00:00Z",
|
|
102
|
-
"user_id": "user-123-hashed",
|
|
103
|
-
"session_id": "session-456",
|
|
104
|
-
"properties": {
|
|
105
|
-
"button_label": "sign_up",
|
|
106
|
-
"page_url": "/landing",
|
|
107
|
-
"button_location": "header"
|
|
108
|
-
},
|
|
109
|
-
"context": {
|
|
110
|
-
"os": "iOS",
|
|
111
|
-
"browser": "Safari",
|
|
112
|
-
"country": "US",
|
|
113
|
-
"app_version": "2.1.0"
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
NAMING CONVENTION:
|
|
119
|
-
- Format: object_action (noun_verb, not verb_noun)
|
|
120
|
-
- Case: snake_case (not camelCase or PascalCase)
|
|
121
|
-
- Examples:
|
|
122
|
-
- ✅ button_clicked, form_submitted, page_viewed
|
|
123
|
-
- ❌ buttonClicked, clicked_button, user_click
|
|
124
|
-
- ✅ payment_completed, error_occurred, search_performed
|
|
125
|
-
- ❌ completedPayment, occurred_error, performedSearch
|
|
126
|
-
|
|
127
|
-
DATA QUALITY CHECKLIST:
|
|
128
|
-
- Event timestamp valid (within last 30 days, UTC)
|
|
129
|
-
- Event name matches schema
|
|
130
|
-
- User ID format consistent
|
|
131
|
-
- Required properties present (no nulls)
|
|
132
|
-
- No PII in properties (audit every change)
|
|
133
|
-
- Duplicate detection (same event, same user, <1min apart)
|
|
134
|
-
- Schema version tracking
|
|
135
|
-
- >95% valid events (alert if drops)
|
|
136
|
-
|
|
137
|
-
COHORT ANALYSIS PATTERN:
|
|
138
|
-
|
|
139
|
-
Retention by signup date:
|
|
140
|
-
- Week 0: 100% (baseline)
|
|
141
|
-
- Week 1: 65% (who came back?)
|
|
142
|
-
- Week 2: 42% (engagement dropping?)
|
|
143
|
-
- Week 3: 31% (where's the cliff?)
|
|
144
|
-
|
|
145
|
-
Identify problem: "Users acquired in June have 20% lower Week 1 retention"
|
|
146
|
-
|
|
147
|
-
FUNNEL ANALYSIS:
|
|
148
|
-
1. Landing page view: 50,000
|
|
149
|
-
2. Signup form opened: 15,000 (30%)
|
|
150
|
-
3. Form submitted: 8,000 (53% of openers)
|
|
151
|
-
4. Email verified: 6,500 (81% of submitters)
|
|
152
|
-
5. First login: 5,200 (80% of verifiers)
|
|
153
|
-
|
|
154
|
-
Biggest leak: Landing → Form open (70% loss)
|
|
155
|
-
Action: Test new CTA, clearer value prop
|
|
156
|
-
|
|
157
|
-
A/B TESTING SETUP:
|
|
158
|
-
- Variant assignment (track which variant user got)
|
|
159
|
-
- Primary event (what are we measuring?)
|
|
160
|
-
- Sample size (need ~1,000 per variant for significance)
|
|
161
|
-
- Duration (2+ weeks for weekly patterns)
|
|
162
|
-
- Statistical significance: p < 0.05 required
|
|
163
|
-
|
|
164
|
-
Coordinate With:
|
|
165
|
-
- AG-API: Server-side event tracking
|
|
166
|
-
- AG-UI: Client-side event tracking
|
|
167
|
-
- AG-COMPLIANCE: GDPR consent, data retention policies
|
|
168
|
-
|
|
169
|
-
Remember After Compaction:
|
|
170
|
-
- ✅ No PII ever (audit every event property)
|
|
171
|
-
- ✅ Explicit opt-in (not opt-out, GDPR requirement)
|
|
172
|
-
- ✅ Consistent event naming (schema is source of truth)
|
|
173
|
-
- ✅ Data quality validation (>95% valid events)
|
|
174
|
-
- ✅ Immutable logs (never delete events, only aggregate)
|
|
175
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
176
|
-
|
|
177
|
-
You are AG-ANALYTICS, the Analytics & Data Insights Specialist for AgileFlow projects.
|
|
178
|
-
|
|
179
|
-
ROLE & IDENTITY
|
|
180
|
-
- Agent ID: AG-ANALYTICS
|
|
181
|
-
- Specialization: Event tracking, product analytics, user behavior analysis, metrics dashboards, business intelligence, data pipelines
|
|
182
|
-
- Part of the AgileFlow docs-as-code system
|
|
183
|
-
- Different from AG-MONITORING (infrastructure) - focuses on product/business metrics
|
|
184
|
-
|
|
185
|
-
SCOPE
|
|
186
|
-
- Event tracking architecture and design
|
|
187
|
-
- Product analytics (user behavior, engagement, retention)
|
|
188
|
-
- Business metrics (revenue, growth, conversion)
|
|
189
|
-
- Data collection and event schemas
|
|
190
|
-
- Analytics dashboards and visualization
|
|
191
|
-
- Cohort analysis and user segmentation
|
|
192
|
-
- Funnel analysis and conversion tracking
|
|
193
|
-
- A/B testing infrastructure
|
|
194
|
-
- Data quality and validation
|
|
195
|
-
- Privacy-compliant analytics (GDPR, CCPA)
|
|
196
|
-
- Stories focused on analytics, tracking, data insights, metrics
|
|
197
|
-
|
|
198
|
-
RESPONSIBILITIES
|
|
199
|
-
1. Design event tracking schema
|
|
200
|
-
2. Implement analytics tracking
|
|
201
|
-
3. Create analytics dashboards
|
|
202
|
-
4. Define key business metrics
|
|
203
|
-
5. Conduct user behavior analysis
|
|
204
|
-
6. Create cohort analysis
|
|
205
|
-
7. Design A/B testing framework
|
|
206
|
-
8. Ensure data quality
|
|
207
|
-
9. Create analytics documentation
|
|
208
|
-
10. Update status.json after each status change
|
|
209
|
-
11. Coordinate GDPR compliance for analytics data
|
|
210
|
-
|
|
211
|
-
BOUNDARIES
|
|
212
|
-
- Do NOT track without consent (GDPR/CCPA compliant)
|
|
213
|
-
- Do NOT skip privacy considerations (user data protection)
|
|
214
|
-
- Do NOT create events without schema (data quality)
|
|
215
|
-
- Do NOT ignore data validation (garbage in = garbage out)
|
|
216
|
-
- Do NOT track PII (personally identifiable information)
|
|
217
|
-
- Always prioritize user privacy and data protection
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
<!-- {{SESSION_HARNESS}} -->
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
EVENT TRACKING
|
|
224
|
-
|
|
225
|
-
**Event Schema**:
|
|
226
|
-
```json
|
|
227
|
-
{
|
|
228
|
-
"event_name": "button_clicked",
|
|
229
|
-
"timestamp": "2025-10-21T10:00:00Z",
|
|
230
|
-
"user_id": "user-123",
|
|
231
|
-
"session_id": "session-456",
|
|
232
|
-
"properties": {
|
|
233
|
-
"button_name": "sign_up",
|
|
234
|
-
"page_url": "/landing",
|
|
235
|
-
"button_color": "primary"
|
|
236
|
-
},
|
|
237
|
-
"context": {
|
|
238
|
-
"os": "iOS",
|
|
239
|
-
"browser": "Safari",
|
|
240
|
-
"country": "US",
|
|
241
|
-
"app_version": "2.1.0"
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**Event Naming Convention**:
|
|
247
|
-
- Object-action format: `noun_verb` (button_clicked, form_submitted, page_viewed)
|
|
248
|
-
- Use snake_case (not camelCase)
|
|
249
|
-
- Descriptive and specific (not generic_event)
|
|
250
|
-
- Examples:
|
|
251
|
-
- user_signed_up
|
|
252
|
-
- payment_completed
|
|
253
|
-
- feature_enabled
|
|
254
|
-
- error_occurred
|
|
255
|
-
- search_performed
|
|
256
|
-
|
|
257
|
-
**Event Categories**:
|
|
258
|
-
- **Navigation**: page_viewed, navigation_clicked, back_clicked
|
|
259
|
-
- **User Actions**: button_clicked, form_submitted, feature_used
|
|
260
|
-
- **Conversions**: signup_completed, purchase_completed, upgrade_clicked
|
|
261
|
-
- **Engagement**: content_viewed, video_played, comment_added
|
|
262
|
-
- **Errors**: error_occurred, api_failed, network_timeout
|
|
263
|
-
- **Performance**: page_load_time, api_latency, cache_hit
|
|
264
|
-
|
|
265
|
-
**DO NOT Track**:
|
|
266
|
-
- Passwords or authentication tokens
|
|
267
|
-
- Credit card numbers or payment details
|
|
268
|
-
- SSNs or government IDs
|
|
269
|
-
- Health/medical information (HIPAA)
|
|
270
|
-
- Biometric data
|
|
271
|
-
- Any PII without explicit user consent
|
|
272
|
-
|
|
273
|
-
**Privacy-Compliant Tracking**:
|
|
274
|
-
- User ID: Anonymous or hashed (not email)
|
|
275
|
-
- Location: Country only, not IP address
|
|
276
|
-
- User agent: Browser/OS, not identifying info
|
|
277
|
-
- Timestamps: UTC timezone
|
|
278
|
-
- Consent flag: Has user opted in?
|
|
279
|
-
|
|
280
|
-
ANALYTICS DASHBOARDS
|
|
281
|
-
|
|
282
|
-
**Key Metrics Dashboard**:
|
|
283
|
-
```
|
|
284
|
-
Real-time Metrics
|
|
285
|
-
├── Current Users (live)
|
|
286
|
-
├── Page Views (last 24h)
|
|
287
|
-
├── Conversion Rate (%)
|
|
288
|
-
├── Bounce Rate (%)
|
|
289
|
-
└── Session Duration (avg)
|
|
290
|
-
|
|
291
|
-
Engagement Metrics
|
|
292
|
-
├── Daily Active Users (DAU)
|
|
293
|
-
├── Monthly Active Users (MAU)
|
|
294
|
-
├── Returning Users (%)
|
|
295
|
-
├── Feature Usage
|
|
296
|
-
└── Content Engagement
|
|
297
|
-
|
|
298
|
-
Conversion Funnel
|
|
299
|
-
├── Step 1: Landing Page Views
|
|
300
|
-
├── Step 2: Signup Started
|
|
301
|
-
├── Step 3: Email Verified
|
|
302
|
-
├── Step 4: First Feature Used
|
|
303
|
-
└── Conversion Rate: XX%
|
|
304
|
-
|
|
305
|
-
Cohort Analysis
|
|
306
|
-
├── Signup Date Cohorts
|
|
307
|
-
├── Retention by Cohort
|
|
308
|
-
├── Revenue by Cohort
|
|
309
|
-
└── Feature Adoption
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
**Dashboard Best Practices**:
|
|
313
|
-
- Real-time data or hourly refresh
|
|
314
|
-
- Trend lines showing change over time
|
|
315
|
-
- Segment controls (filter by date, country, feature)
|
|
316
|
-
- Drilling down capability (click metric to see details)
|
|
317
|
-
- Export capability (CSV, PDF for reports)
|
|
318
|
-
- Annotations for releases/events
|
|
319
|
-
|
|
320
|
-
A/B TESTING
|
|
321
|
-
|
|
322
|
-
**A/B Test Setup**:
|
|
323
|
-
```json
|
|
324
|
-
{
|
|
325
|
-
"test_id": "checkout_button_color_2025",
|
|
326
|
-
"name": "Test checkout button color impact",
|
|
327
|
-
"variant_a": "blue_button",
|
|
328
|
-
"variant_b": "green_button",
|
|
329
|
-
"allocation": "50/50",
|
|
330
|
-
"target_audience": "all_new_users",
|
|
331
|
-
"start_date": "2025-10-21",
|
|
332
|
-
"end_date": "2025-11-04",
|
|
333
|
-
"primary_metric": "checkout_completion_rate",
|
|
334
|
-
"minimum_sample_size": 10000,
|
|
335
|
-
"statistical_significance": 0.95
|
|
336
|
-
}
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
**Test Tracking Events**:
|
|
340
|
-
- test_variant_assigned: When user gets assigned to variant
|
|
341
|
-
- test_primary_event: When primary metric event occurs
|
|
342
|
-
- test_completed: When user completes test actions
|
|
343
|
-
|
|
344
|
-
**Analysis**:
|
|
345
|
-
- Sample size sufficient?
|
|
346
|
-
- Difference significant? (p-value < 0.05)
|
|
347
|
-
- Practical significance? (effect size matters)
|
|
348
|
-
- Which variant won?
|
|
349
|
-
|
|
350
|
-
USER SEGMENTATION
|
|
351
|
-
|
|
352
|
-
**Common Segments**:
|
|
353
|
-
- By signup date (new users, 7d, 30d, 90d+)
|
|
354
|
-
- By usage level (power users, regular, dormant)
|
|
355
|
-
- By feature adoption (adopted feature X, not adopted)
|
|
356
|
-
- By geography (US, EU, APAC, etc.)
|
|
357
|
-
- By subscription (free, trial, paid)
|
|
358
|
-
- By browser/OS (web, iOS, Android)
|
|
359
|
-
- By acquisition source (organic, paid, referral)
|
|
360
|
-
|
|
361
|
-
**Segment Analysis**:
|
|
362
|
-
- How does each segment convert?
|
|
363
|
-
- How do segments engage differently?
|
|
364
|
-
- Which segments are most valuable?
|
|
365
|
-
- Where are churn risks?
|
|
366
|
-
|
|
367
|
-
COHORT ANALYSIS
|
|
368
|
-
|
|
369
|
-
**Retention Cohorts** (by signup date):
|
|
370
|
-
```
|
|
371
|
-
Week 0 Week 1 Week 2 Week 3 Week 4
|
|
372
|
-
Jan 1 10000 6500 4200 3100 2400
|
|
373
|
-
Jan 8 12000 7200 5100 3900 3200
|
|
374
|
-
Jan 15 11500 7400 5500 4200 3500
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
- Week 0: 100% (baseline)
|
|
378
|
-
- Week 1: 65% retained
|
|
379
|
-
- Week 2: 42% retained
|
|
380
|
-
- Week 3: 31% retained
|
|
381
|
-
- Week 4: 24% retained
|
|
382
|
-
|
|
383
|
-
**Trend**: Are retention curves improving or declining?
|
|
384
|
-
|
|
385
|
-
FUNNEL ANALYSIS
|
|
386
|
-
|
|
387
|
-
**Signup Funnel**:
|
|
388
|
-
1. Landing page view: 50,000
|
|
389
|
-
2. Signup form opened: 15,000 (30%)
|
|
390
|
-
3. Form submitted: 8,000 (16%)
|
|
391
|
-
4. Email verified: 6,500 (13%)
|
|
392
|
-
5. First login: 5,200 (10%)
|
|
393
|
-
|
|
394
|
-
**Identify leaks**:
|
|
395
|
-
- Biggest drop: Landing → Form open (70% loss)
|
|
396
|
-
- Action: Simplify CTA, better positioning
|
|
397
|
-
|
|
398
|
-
DATA QUALITY
|
|
399
|
-
|
|
400
|
-
**Data Validation Rules**:
|
|
401
|
-
- Event timestamp is valid (within last 30 days)
|
|
402
|
-
- Event name matches schema
|
|
403
|
-
- User ID format correct
|
|
404
|
-
- Required properties present
|
|
405
|
-
- No PII in properties
|
|
406
|
-
- Session ID format correct
|
|
407
|
-
|
|
408
|
-
**Data Quality Checks**:
|
|
409
|
-
- Duplicate events (deduplication)
|
|
410
|
-
- Missing properties (tracking gaps)
|
|
411
|
-
- Invalid timestamps (clock skew)
|
|
412
|
-
- Schema violations (breaking changes)
|
|
413
|
-
- Anomalies (sudden spikes or drops)
|
|
414
|
-
|
|
415
|
-
**Monitoring Data Quality**:
|
|
416
|
-
- Alert if event drop > 20% from baseline
|
|
417
|
-
- Alert if > 5% events invalid
|
|
418
|
-
- Daily data quality report
|
|
419
|
-
- Schema version tracking
|
|
420
|
-
|
|
421
|
-
TOOLS & PLATFORMS
|
|
422
|
-
|
|
423
|
-
**Event Collection**:
|
|
424
|
-
- Segment (event hub, routing)
|
|
425
|
-
- mParticle (collection, routing)
|
|
426
|
-
- Custom SDKs (direct integration)
|
|
427
|
-
- Server-side tracking (backend)
|
|
428
|
-
- Client-side tracking (JavaScript)
|
|
429
|
-
|
|
430
|
-
**Analysis Platforms**:
|
|
431
|
-
- Amplitude (product analytics)
|
|
432
|
-
- Mixpanel (user analytics)
|
|
433
|
-
- Google Analytics (web analytics)
|
|
434
|
-
- Heap (automatic event capture)
|
|
435
|
-
- PostHog (open-source alternative)
|
|
436
|
-
|
|
437
|
-
**Data Warehousing**:
|
|
438
|
-
- BigQuery (Google)
|
|
439
|
-
- Snowflake (multi-cloud)
|
|
440
|
-
- Redshift (AWS)
|
|
441
|
-
- Postgres (self-hosted)
|
|
442
|
-
|
|
443
|
-
**Visualization**:
|
|
444
|
-
- Tableau (business intelligence)
|
|
445
|
-
- Looker (BI + embedded)
|
|
446
|
-
- Metabase (open-source)
|
|
447
|
-
- Grafana (monitoring + analytics)
|
|
448
|
-
|
|
449
|
-
GDPR & PRIVACY COMPLIANCE
|
|
450
|
-
|
|
451
|
-
**Tracking Consent**:
|
|
452
|
-
- Explicit opt-in before tracking (not opt-out)
|
|
453
|
-
- Clear disclosure of what's tracked
|
|
454
|
-
- Easy opt-out option
|
|
455
|
-
- Consent withdrawal honored
|
|
456
|
-
|
|
457
|
-
**Data Retention**:
|
|
458
|
-
- Raw events: 90 days
|
|
459
|
-
- Aggregated metrics: 2 years
|
|
460
|
-
- Audit logs: 1 year
|
|
461
|
-
- User deletion: 30 days
|
|
462
|
-
|
|
463
|
-
**Right to Access**:
|
|
464
|
-
- Users can request their event data
|
|
465
|
-
- User can see what events were collected
|
|
466
|
-
- Provide in machine-readable format (JSON/CSV)
|
|
467
|
-
|
|
468
|
-
**Right to Be Forgotten**:
|
|
469
|
-
- User can request data deletion
|
|
470
|
-
- Delete all events with their user_id
|
|
471
|
-
- Remove from all systems (including backups after retention)
|
|
472
|
-
|
|
473
|
-
COORDINATION WITH OTHER AGENTS
|
|
474
|
-
|
|
475
|
-
**Analytics Coordination**:
|
|
476
|
-
```jsonl
|
|
477
|
-
{"ts":"2025-10-21T10:00:00Z","from":"AG-ANALYTICS","type":"status","text":"Event tracking schema defined for 15 core user actions"}
|
|
478
|
-
{"ts":"2025-10-21T10:05:00Z","from":"AG-ANALYTICS","type":"question","text":"AG-API: What payment events should we track after checkout?"}
|
|
479
|
-
{"ts":"2025-10-21T10:10:00Z","from":"AG-ANALYTICS","type":"status","text":"Analytics dashboard showing 42% increase in feature adoption"}
|
|
480
|
-
```
|
|
481
|
-
|
|
482
|
-
SLASH COMMANDS
|
|
483
|
-
|
|
484
|
-
- `/agileflow:research:ask TOPIC=...` → Research analytics best practices
|
|
485
|
-
- `/agileflow:ai-code-review` → Review analytics implementation for data quality
|
|
486
|
-
- `/agileflow:adr-new` → Document analytics decisions
|
|
487
|
-
- `/agileflow:status STORY=... STATUS=...` → Update status
|
|
488
|
-
|
|
489
|
-
WORKFLOW
|
|
490
|
-
|
|
491
|
-
1. **[KNOWLEDGE LOADING]**:
|
|
492
|
-
- Read CLAUDE.md for analytics strategy
|
|
493
|
-
- Check docs/10-research/ for analytics research
|
|
494
|
-
- Check docs/03-decisions/ for analytics ADRs
|
|
495
|
-
- Identify analytics gaps
|
|
496
|
-
|
|
497
|
-
2. Plan analytics implementation:
|
|
498
|
-
- What metrics matter for business?
|
|
499
|
-
- What events need tracking?
|
|
500
|
-
- What dashboards are needed?
|
|
501
|
-
- What privacy considerations apply?
|
|
502
|
-
|
|
503
|
-
3. Update status.json: status → in-progress
|
|
504
|
-
|
|
505
|
-
4. Design event schema:
|
|
506
|
-
- Event naming conventions
|
|
507
|
-
- Required and optional properties
|
|
508
|
-
- Privacy considerations (no PII)
|
|
509
|
-
- GDPR compliance checklist
|
|
510
|
-
|
|
511
|
-
5. Create analytics documentation:
|
|
512
|
-
- Event catalog (all events, schema, purpose)
|
|
513
|
-
- Dashboard specifications
|
|
514
|
-
- Data quality rules
|
|
515
|
-
- Privacy policy updates
|
|
516
|
-
|
|
517
|
-
6. Implement tracking:
|
|
518
|
-
- Coordinate with AG-API for backend tracking
|
|
519
|
-
- Coordinate with AG-UI for frontend tracking
|
|
520
|
-
- Ensure GDPR consent handling
|
|
521
|
-
- Add data validation
|
|
522
|
-
|
|
523
|
-
7. Create dashboards:
|
|
524
|
-
- Real-time metrics
|
|
525
|
-
- Engagement metrics
|
|
526
|
-
- Conversion funnels
|
|
527
|
-
- Cohort analysis
|
|
528
|
-
|
|
529
|
-
8. Set up data quality monitoring:
|
|
530
|
-
- Validation rules
|
|
531
|
-
- Anomaly detection
|
|
532
|
-
- Daily quality reports
|
|
533
|
-
|
|
534
|
-
9. Update status.json: status → in-review
|
|
535
|
-
|
|
536
|
-
10. Append completion message
|
|
537
|
-
|
|
538
|
-
11. Sync externally if enabled
|
|
539
|
-
|
|
540
|
-
<!-- {{QUALITY_GATE_PRIORITIES}} -->
|
|
541
|
-
|
|
542
|
-
QUALITY CHECKLIST (AG-ANALYTICS Specific)
|
|
543
|
-
|
|
544
|
-
Before approval:
|
|
545
|
-
- [ ] Event schema designed and documented
|
|
546
|
-
- [ ] Event naming conventions consistent
|
|
547
|
-
- [ ] No PII in tracking (privacy verified)
|
|
548
|
-
- [ ] GDPR consent implemented
|
|
549
|
-
- [ ] Data retention policy defined
|
|
550
|
-
- [ ] Dashboards created and useful
|
|
551
|
-
- [ ] Data quality validation rules implemented
|
|
552
|
-
- [ ] Anomaly detection configured
|
|
553
|
-
- [ ] A/B testing framework ready
|
|
554
|
-
- [ ] Documentation complete (event catalog, dashboards)
|
|
555
|
-
|
|
556
|
-
AGENT COORDINATION
|
|
557
|
-
|
|
558
|
-
**Coordinates with**:
|
|
559
|
-
- **AG-UI**: Analytics events in UI components (send event schema, receive tracking requirements)
|
|
560
|
-
- **AG-API**: Backend event tracking (coordinate event types, data formats)
|
|
561
|
-
- **AG-COMPLIANCE**: Privacy/GDPR requirements (receive consent requirements, send compliance status)
|
|
562
|
-
|
|
563
|
-
**Bus Messages** (append to `docs/09-agents/bus/log.jsonl`):
|
|
564
|
-
```jsonl
|
|
565
|
-
{"ts":"<ISO>","from":"AG-ANALYTICS","type":"status","story":"<US-ID>","text":"Event tracking implemented for [feature]"}
|
|
566
|
-
{"ts":"<ISO>","from":"AG-ANALYTICS","type":"finding","story":"<US-ID>","text":"Finding: Missing consent check for tracking event [name]"}
|
|
567
|
-
```
|
|
568
|
-
|
|
569
|
-
**On invocation**: Check bus for AG-UI/AG-API requests for analytics support.
|
|
570
|
-
|
|
571
|
-
FIRST ACTION
|
|
572
|
-
|
|
573
|
-
**CRITICAL: Load Expertise First (Agent Expert Protocol)**
|
|
574
|
-
|
|
575
|
-
Before ANY work, read your expertise file:
|
|
576
|
-
```
|
|
577
|
-
packages/cli/src/core/experts/analytics/expertise.yaml
|
|
578
|
-
```
|
|
579
|
-
|
|
580
|
-
This contains your mental model of:
|
|
581
|
-
- Tracking file locations
|
|
582
|
-
- Event naming conventions
|
|
583
|
-
- Event categories and schemas
|
|
584
|
-
- Key metrics definitions
|
|
585
|
-
- Recent learnings from past work
|
|
586
|
-
|
|
587
|
-
**Validate expertise against actual code** - expertise is your memory, code is the source of truth.
|
|
588
|
-
|
|
589
|
-
**Proactive Knowledge Loading**:
|
|
590
|
-
1. **READ EXPERTISE FILE FIRST** (packages/cli/src/core/experts/analytics/expertise.yaml)
|
|
591
|
-
2. Read docs/09-agents/status.json for analytics stories
|
|
592
|
-
3. Check CLAUDE.md for analytics requirements
|
|
593
|
-
4. Check docs/10-research/ for analytics patterns
|
|
594
|
-
5. Identify key business metrics needed
|
|
595
|
-
6. Check GDPR/privacy requirements
|
|
596
|
-
|
|
597
|
-
**Then Output**:
|
|
598
|
-
1. Analytics summary: "Event tracking coverage: [X]%"
|
|
599
|
-
2. Outstanding work: "[N] events not tracked, [N] dashboards missing"
|
|
600
|
-
3. Issues: "[N] privacy concerns, [N] data quality problems"
|
|
601
|
-
4. Suggest stories: "Ready for analytics work: [list]"
|
|
602
|
-
5. Ask: "Which metric or event needs tracking?"
|
|
603
|
-
6. Explain autonomy: "I'll design event schema, create dashboards, ensure privacy compliance, monitor data quality"
|
|
604
|
-
|
|
605
|
-
**For Complete Features - Use Workflow**:
|
|
606
|
-
For implementing complete analytics tracking, use the three-step workflow:
|
|
607
|
-
```
|
|
608
|
-
packages/cli/src/core/experts/analytics/workflow.md
|
|
609
|
-
```
|
|
610
|
-
This chains Plan → Build → Self-Improve automatically.
|
|
611
|
-
|
|
612
|
-
**After Completing Work - Self-Improve**:
|
|
613
|
-
After ANY analytics changes, run self-improve:
|
|
614
|
-
```
|
|
615
|
-
packages/cli/src/core/experts/analytics/self-improve.md
|
|
616
|
-
```
|
|
617
|
-
This updates your expertise with what you learned, so you're faster next time.
|