@mmerterden/multi-agent-pipeline 12.6.0 → 12.8.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 +209 -0
- package/README.md +18 -18
- package/docs/FIGMA_PIPELINE.md +34 -34
- package/docs/adr/0001-three-model-triage.md +12 -12
- package/docs/adr/0002-instruction-driven-flag.md +5 -5
- package/docs/adr/0003-unified-shared-skills.md +5 -5
- package/docs/adr/0004-zero-dependency-philosophy.md +5 -5
- package/docs/adr/0005-lazy-phase-docs.md +2 -2
- package/docs/adr/0006-skills-core-external-split.md +6 -6
- package/docs/adr/0007-multi-tool-adapter-framework.md +19 -19
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +19 -19
- package/docs/adr/README.md +1 -1
- package/docs/best-practices.md +3 -3
- package/docs/features.md +28 -28
- package/docs/performance.md +16 -16
- package/docs/recovery-guide.md +39 -39
- package/index.js +4 -4
- package/install/_common.mjs +53 -11
- package/install/_copilot-instructions.mjs +2 -2
- package/install/_dev-only-files.mjs +126 -6
- package/install/_platform-filter.mjs +1 -1
- package/install/_telemetry.mjs +1 -1
- package/install/claude.mjs +20 -13
- package/install/copilot.mjs +11 -23
- package/install/index.mjs +7 -15
- package/install/templates/copilot-instructions.md +54 -54
- package/install.js +1 -1
- package/package.json +29 -11
- package/pipeline/commands/multi-agent/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/analysis/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/build-optimize/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/create-jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/design-check/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-local/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/diff-explain/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/finish/SKILL.md +6 -6
- package/pipeline/commands/multi-agent/forget/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/help/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/issue/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/kill/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/language/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/local/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/log/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/manual-test/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/prune-logs/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/purge/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +16 -8
- package/pipeline/commands/multi-agent/resume/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/review/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/review-issue/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/review-jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/routines/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/save/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/scan/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/search/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/stack/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/status/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/sync/SKILL.md +5 -5
- package/pipeline/commands/multi-agent/test/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/uninstall/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/update/SKILL.md +3 -3
- package/pipeline/lib/account-resolver.sh +1 -1
- package/pipeline/lib/channels-multi-repo.sh +1 -1
- package/pipeline/lib/context-link-extractor.sh +1 -1
- package/pipeline/lib/credential-store.sh +21 -1
- package/pipeline/lib/fetch-confluence.sh +1 -1
- package/pipeline/lib/fetch-crashlytics.sh +1 -1
- package/pipeline/lib/fetch-fortify.sh +1 -1
- package/pipeline/lib/fetch-graylog.sh +1 -1
- package/pipeline/lib/fetch-swagger.sh +1 -1
- package/pipeline/lib/issue-fetcher.sh +1 -1
- package/pipeline/lib/multi-repo-pipeline.sh +1 -1
- package/pipeline/lib/repo-cache.sh +1 -1
- package/pipeline/lib/submodule-detector.sh +1 -1
- package/pipeline/multi-agent-refs/_account-picker.md +1 -1
- package/pipeline/multi-agent-refs/_dev-context.md +1 -1
- package/pipeline/multi-agent-refs/_repo-picker.md +1 -1
- package/pipeline/multi-agent-refs/component-dispatch.md +1 -1
- package/pipeline/multi-agent-refs/component-generation.md +121 -0
- package/pipeline/multi-agent-refs/cross-cli-contract.md +1 -1
- package/pipeline/multi-agent-refs/features/model-fallback.md +2 -2
- package/pipeline/multi-agent-refs/phases/operations.md +28 -0
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +1 -0
- package/pipeline/multi-agent-refs/phases/phase-2-planning.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-3-dev.md +1 -2
- package/pipeline/multi-agent-refs/phases/phase-4-review.md +50 -5
- package/pipeline/preferences-template.json +5 -11
- package/pipeline/schemas/agent-state.schema.json +39 -9
- package/pipeline/schemas/analysis-output.schema.json +18 -4
- package/pipeline/schemas/analysis-spec.schema.json +120 -32
- package/pipeline/schemas/clarify-output.schema.json +15 -5
- package/pipeline/schemas/design-check-config.schema.json +32 -11
- package/pipeline/schemas/dev-critic-output.schema.json +20 -5
- package/pipeline/schemas/figma-project-config.schema.json +42 -10
- package/pipeline/schemas/learnings-ledger.schema.json +10 -2
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +1 -4
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +24 -7
- package/pipeline/schemas/plan-todos.schema.json +6 -3
- package/pipeline/schemas/planning-output.schema.json +5 -1
- package/pipeline/schemas/prefs.schema.json +97 -229
- package/pipeline/schemas/test-gap.schema.json +5 -5
- package/pipeline/schemas/token-budget.json +8 -8
- package/pipeline/schemas/triage-corpus.schema.json +1 -1
- package/pipeline/scripts/_smoke-root.sh +61 -0
- package/pipeline/scripts/aggregate-metrics.mjs +18 -6
- package/pipeline/scripts/audit-log.sh +25 -0
- package/pipeline/scripts/build-skills-index.mjs +6 -2
- package/pipeline/scripts/build-stack-plugins.mjs +142 -39
- package/pipeline/scripts/check-derived-drift.mjs +196 -0
- package/pipeline/scripts/classify-plan-safety.mjs +20 -7
- package/pipeline/scripts/cost-budget-check.mjs +2 -1
- package/pipeline/scripts/cost-table.json +1 -1
- package/pipeline/scripts/diff-explain.mjs +7 -3
- package/pipeline/scripts/diff-risk-score.mjs +13 -3
- package/pipeline/scripts/evidence-gate.mjs +7 -2
- package/pipeline/scripts/gen-mode-dispatch.mjs +38 -21
- package/pipeline/scripts/gen-skills-index.mjs +18 -3
- package/pipeline/scripts/learning-curve.mjs +13 -3
- package/pipeline/scripts/learnings-ledger.mjs +103 -36
- package/pipeline/scripts/localize-commands.mjs +6 -1
- package/pipeline/scripts/match-skills.mjs +15 -4
- package/pipeline/scripts/migrate-prefs.mjs +33 -16
- package/pipeline/scripts/phase-tracker.sh +3 -1
- package/pipeline/scripts/repo-map.mjs +110 -64
- package/pipeline/scripts/review-scope.mjs +7 -1
- package/pipeline/scripts/routine-registry.mjs +4 -9
- package/pipeline/scripts/run-aggregator.mjs +11 -5
- package/pipeline/scripts/run-metrics.mjs +13 -8
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +21 -7
- package/pipeline/scripts/test-gap-scan.mjs +44 -12
- package/pipeline/scripts/test-integrity-gate.mjs +5 -1
- package/pipeline/scripts/token-budget-report.mjs +44 -21
- package/pipeline/scripts/triage-memory.mjs +126 -34
- package/pipeline/scripts/uninstall.mjs +74 -30
- package/pipeline/scripts/validate-analysis-doc.mjs +15 -5
- package/pipeline/scripts/validate-diff-risk.mjs +32 -18
- package/pipeline/scripts/validate-test-gap.mjs +17 -7
- package/pipeline/scripts/validate-triage.mjs +17 -5
- package/pipeline/scripts/write-state.mjs +32 -9
- package/pipeline/skills/.skills-index.json +91 -91
- package/pipeline/skills/shared/README.md +57 -57
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +1 -1
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +26 -279
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +16 -8
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +1 -1
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -4
- package/pipeline/skills/shared/external/agentflow/SKILL.md +1 -1
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +1 -1
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +1 -1
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +1 -1
- package/pipeline/skills/shared/external/backlog/BACKLOG.md +1 -1
- package/pipeline/skills/shared/external/backlog/SKILL.md +12 -12
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +1 -1
- package/pipeline/skills/shared/external/context-compression/SKILL.md +1 -1
- package/pipeline/skills/shared/external/council/SKILL.md +3 -3
- package/pipeline/skills/shared/external/css-modern/SKILL.md +1 -1
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +1 -1
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +1 -1
- package/pipeline/skills/shared/external/firebase/SKILL.md +1 -1
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +1 -1
- package/pipeline/skills/shared/external/help-skills/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +1 -1
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +1 -1
- package/pipeline/skills/shared/external/humanizer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +1 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +1 -1
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +1 -1
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +1 -1
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -1
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +1 -1
- package/pipeline/skills/shared/external/search-first/SKILL.md +2 -2
- package/pipeline/skills/shared/external/skill-creator/SKILL.md +12 -12
- package/pipeline/skills/shared/external/skill-creator/audit.md +21 -21
- package/pipeline/skills/shared/external/skill-creator/checklist.md +3 -3
- package/pipeline/skills/shared/external/skill-creator/examples.md +10 -10
- package/pipeline/skills/shared/external/skill-creator/label-check.md +17 -17
- package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +86 -50
- package/pipeline/skills/shared/external/skill-creator/template.md +9 -9
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +1 -1
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +1 -1
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +1 -1
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-performance/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-testing/SKILL.md +1 -1
- package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +9 -49
- package/pipeline/skills/skills-index.md +57 -57
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +0 -25
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +0 -30
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +0 -20
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +0 -15
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +0 -12
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +0 -43
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +0 -35
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +0 -35
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +0 -12
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +0 -42
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +0 -20
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +0 -15
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +0 -12
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +0 -40
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +0 -20
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +0 -15
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +0 -12
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +0 -42
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +0 -28
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +0 -27
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +0 -12
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +0 -41
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +0 -12
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +0 -6
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +0 -12
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +0 -42
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +0 -28
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +0 -27
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +0 -12
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +0 -25
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +0 -31
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +0 -12
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +0 -18
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +0 -12
- package/pipeline/eval/golden-tasks/README.md +0 -65
- package/pipeline/eval/intent-cases.json +0 -40
- package/pipeline/eval/run-metrics-fixture.json +0 -46
- package/pipeline/eval/triage/01-empty-findings/expected.json +0 -6
- package/pipeline/eval/triage/01-empty-findings/input.json +0 -5
- package/pipeline/eval/triage/01-empty-findings/notes.md +0 -7
- package/pipeline/eval/triage/02-real-blocker/expected.json +0 -15
- package/pipeline/eval/triage/02-real-blocker/input.json +0 -14
- package/pipeline/eval/triage/02-real-blocker/notes.md +0 -7
- package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +0 -18
- package/pipeline/eval/triage/03-out-of-scope-defer/input.json +0 -14
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +0 -10
- package/pipeline/eval/triage/04-false-positive-reject/expected.json +0 -18
- package/pipeline/eval/triage/04-false-positive-reject/input.json +0 -14
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +0 -10
- package/pipeline/eval/triage/05-mixed-classification/expected.json +0 -43
- package/pipeline/eval/triage/05-mixed-classification/input.json +0 -38
- package/pipeline/eval/triage/05-mixed-classification/notes.md +0 -17
- package/pipeline/eval/triage/06-severity-mismatch/expected.json +0 -15
- package/pipeline/eval/triage/06-severity-mismatch/input.json +0 -14
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +0 -9
- package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +0 -27
- package/pipeline/eval/triage/07-duplicate-reviewers/input.json +0 -22
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +0 -9
- package/pipeline/eval/triage/08-style-misclassified/expected.json +0 -18
- package/pipeline/eval/triage/08-style-misclassified/input.json +0 -14
- package/pipeline/eval/triage/08-style-misclassified/notes.md +0 -9
- package/pipeline/eval/triage/09-cascading-finding/expected.json +0 -23
- package/pipeline/eval/triage/09-cascading-finding/input.json +0 -22
- package/pipeline/eval/triage/09-cascading-finding/notes.md +0 -9
- package/pipeline/eval/triage/10-deferred-crossref/expected.json +0 -18
- package/pipeline/eval/triage/10-deferred-crossref/input.json +0 -14
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +0 -9
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +0 -27
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +0 -22
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +0 -14
- package/pipeline/eval/triage/README.md +0 -54
- package/pipeline/scripts/benchmark-phase-0.sh +0 -128
- package/pipeline/scripts/check-md-links.mjs +0 -84
- package/pipeline/scripts/eval-golden-tasks-live.mjs +0 -297
- package/pipeline/scripts/eval-golden-tasks.mjs +0 -212
- package/pipeline/scripts/eval-intent.mjs +0 -103
- package/pipeline/scripts/eval-mine-corpus.mjs +0 -201
- package/pipeline/scripts/eval-triage.mjs +0 -171
- package/pipeline/scripts/fixtures/diff-risk-android.diff +0 -40
- package/pipeline/scripts/fixtures/diff-risk-ios.diff +0 -48
- package/pipeline/scripts/fixtures/diff-risk-test-removal.diff +0 -40
- package/pipeline/scripts/fixtures/install-layout.tsv +0 -19
- package/pipeline/scripts/fixtures/pack-expected-count.txt +0 -1
- package/pipeline/scripts/fixtures/test-gap-node.diff +0 -30
- package/pipeline/scripts/fixtures/test-gap-python.diff +0 -32
- package/pipeline/scripts/lint-mcp-refs.mjs +0 -207
- package/pipeline/scripts/lint-skills.mjs +0 -143
- package/pipeline/scripts/run-smokes.mjs +0 -76
- package/pipeline/scripts/smoke-add-detail.sh +0 -137
- package/pipeline/scripts/smoke-agent-guard.sh +0 -74
- package/pipeline/scripts/smoke-agent-log-cost.sh +0 -262
- package/pipeline/scripts/smoke-agent-model-routing.sh +0 -87
- package/pipeline/scripts/smoke-ask-choice.sh +0 -42
- package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +0 -36
- package/pipeline/scripts/smoke-bitbucket-contract.sh +0 -255
- package/pipeline/scripts/smoke-changelog-version.sh +0 -47
- package/pipeline/scripts/smoke-channels-approval-gate.sh +0 -60
- package/pipeline/scripts/smoke-channels-flow.sh +0 -130
- package/pipeline/scripts/smoke-ci-workflows.sh +0 -88
- package/pipeline/scripts/smoke-clarify.sh +0 -148
- package/pipeline/scripts/smoke-command-inventory.sh +0 -81
- package/pipeline/scripts/smoke-commands-skills-parity.sh +0 -87
- package/pipeline/scripts/smoke-community-gates.sh +0 -75
- package/pipeline/scripts/smoke-compliance-skills.sh +0 -119
- package/pipeline/scripts/smoke-config-hygiene.sh +0 -58
- package/pipeline/scripts/smoke-cost-budget.sh +0 -70
- package/pipeline/scripts/smoke-cost-summary.sh +0 -139
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +0 -128
- package/pipeline/scripts/smoke-description-tr.sh +0 -82
- package/pipeline/scripts/smoke-dev-critic.sh +0 -144
- package/pipeline/scripts/smoke-diff-explain.sh +0 -147
- package/pipeline/scripts/smoke-diff-risk.sh +0 -190
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +0 -160
- package/pipeline/scripts/smoke-eval-live.sh +0 -136
- package/pipeline/scripts/smoke-evidence-gate.sh +0 -93
- package/pipeline/scripts/smoke-extract-conventions.sh +0 -163
- package/pipeline/scripts/smoke-fetchers-offline.sh +0 -448
- package/pipeline/scripts/smoke-figma-dispatch.sh +0 -112
- package/pipeline/scripts/smoke-gate-hooks.sh +0 -74
- package/pipeline/scripts/smoke-gc-tmp.sh +0 -130
- package/pipeline/scripts/smoke-gc-worktrees.sh +0 -125
- package/pipeline/scripts/smoke-generate-issue.sh +0 -120
- package/pipeline/scripts/smoke-handoff-contract.sh +0 -92
- package/pipeline/scripts/smoke-identity-isolation.sh +0 -70
- package/pipeline/scripts/smoke-install-layout.sh +0 -248
- package/pipeline/scripts/smoke-intent-guard.sh +0 -86
- package/pipeline/scripts/smoke-issue-comment-template.sh +0 -86
- package/pipeline/scripts/smoke-issue-jira-triad.sh +0 -120
- package/pipeline/scripts/smoke-keychain.sh +0 -158
- package/pipeline/scripts/smoke-language-axis.sh +0 -109
- package/pipeline/scripts/smoke-learning-curve.sh +0 -61
- package/pipeline/scripts/smoke-learnings-ledger.sh +0 -86
- package/pipeline/scripts/smoke-lib-scripts.sh +0 -448
- package/pipeline/scripts/smoke-mcp-gate.sh +0 -68
- package/pipeline/scripts/smoke-md-links.sh +0 -8
- package/pipeline/scripts/smoke-md2confluence.sh +0 -126
- package/pipeline/scripts/smoke-metrics-cache-ratio.sh +0 -72
- package/pipeline/scripts/smoke-migrate-state.sh +0 -102
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +0 -161
- package/pipeline/scripts/smoke-model-fallback.sh +0 -89
- package/pipeline/scripts/smoke-multi-repo-integration.sh +0 -116
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +0 -61
- package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +0 -115
- package/pipeline/scripts/smoke-no-token-prompt.sh +0 -85
- package/pipeline/scripts/smoke-pack-contents.sh +0 -140
- package/pipeline/scripts/smoke-pat-audit.sh +0 -128
- package/pipeline/scripts/smoke-per-repo-memory.sh +0 -156
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +0 -170
- package/pipeline/scripts/smoke-phase-6-multi.sh +0 -79
- package/pipeline/scripts/smoke-phase-banner.sh +0 -101
- package/pipeline/scripts/smoke-phase-tracker.sh +0 -324
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +0 -241
- package/pipeline/scripts/smoke-phase4-gates.sh +0 -45
- package/pipeline/scripts/smoke-phase4-triage.sh +0 -229
- package/pipeline/scripts/smoke-plan-approval-gate.sh +0 -71
- package/pipeline/scripts/smoke-plan-safety.sh +0 -139
- package/pipeline/scripts/smoke-plan-todos.sh +0 -196
- package/pipeline/scripts/smoke-plugin-validate.sh +0 -64
- package/pipeline/scripts/smoke-pr-review-actions.sh +0 -152
- package/pipeline/scripts/smoke-pre-commit.sh +0 -170
- package/pipeline/scripts/smoke-pref-migration.sh +0 -226
- package/pipeline/scripts/smoke-prefs-language.sh +0 -134
- package/pipeline/scripts/smoke-progress-contract.sh +0 -127
- package/pipeline/scripts/smoke-prune-logs.sh +0 -137
- package/pipeline/scripts/smoke-purge.sh +0 -138
- package/pipeline/scripts/smoke-push-retry.sh +0 -75
- package/pipeline/scripts/smoke-repo-map.sh +0 -300
- package/pipeline/scripts/smoke-review-readiness.sh +0 -92
- package/pipeline/scripts/smoke-review-watch.sh +0 -146
- package/pipeline/scripts/smoke-routines.sh +0 -84
- package/pipeline/scripts/smoke-run-aggregator.sh +0 -216
- package/pipeline/scripts/smoke-run-metrics.sh +0 -50
- package/pipeline/scripts/smoke-search.sh +0 -187
- package/pipeline/scripts/smoke-shadow-git.sh +0 -224
- package/pipeline/scripts/smoke-skill-authoring.sh +0 -137
- package/pipeline/scripts/smoke-skill-language.sh +0 -83
- package/pipeline/scripts/smoke-skill-manifest.sh +0 -138
- package/pipeline/scripts/smoke-skill-scan.sh +0 -198
- package/pipeline/scripts/smoke-source-parity.sh +0 -85
- package/pipeline/scripts/smoke-subagent-validators.sh +0 -108
- package/pipeline/scripts/smoke-sync-parity.sh +0 -92
- package/pipeline/scripts/smoke-tasklist-ordering.sh +0 -112
- package/pipeline/scripts/smoke-telemetry.sh +0 -147
- package/pipeline/scripts/smoke-test-gap.sh +0 -183
- package/pipeline/scripts/smoke-token-budget.sh +0 -67
- package/pipeline/scripts/smoke-token-preflight.sh +0 -82
- package/pipeline/scripts/smoke-tracker-contract.sh +0 -191
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +0 -73
- package/pipeline/scripts/smoke-triage-memory.sh +0 -174
- package/pipeline/scripts/smoke-update-check.sh +0 -135
- package/pipeline/scripts/smoke-url-enrichment.sh +0 -70
- package/pipeline/scripts/smoke-validate-analysis-doc.sh +0 -161
- package/pipeline/scripts/smoke-validator-contradiction.sh +0 -67
- package/pipeline/scripts/smoke-validator-gates.sh +0 -164
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +0 -129
- package/pipeline/scripts/smoke-verify-by-test.sh +0 -148
- package/pipeline/scripts/smoke-wiki-integration.sh +0 -122
- package/pipeline/scripts/smoke-work-summary.sh +0 -163
- package/pipeline/scripts/smoke-workflow-audit.sh +0 -69
- package/pipeline/scripts/smoke-worktree-path-convention.sh +0 -86
- package/pipeline/scripts/smoke-wrapper-preservation.sh +0 -68
- package/pipeline/scripts/smoke-write-state.sh +0 -115
- package/pipeline/scripts/sync-parity-check.sh +0 -135
- package/pipeline/scripts/test-gap-rules/android.json +0 -25
- package/pipeline/scripts/test-gap-rules/ios.json +0 -29
- package/pipeline/scripts/test-gap-rules/node.json +0 -17
- package/pipeline/scripts/test-gap-rules/python.json +0 -19
- package/pipeline/scripts/validate-schemas.mjs +0 -88
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# Examples
|
|
1
|
+
# Examples - descriptions & shape
|
|
2
2
|
|
|
3
3
|
## Descriptions: the discovery lever
|
|
4
4
|
|
|
5
|
-
**Bad (vague
|
|
5
|
+
**Bad (vague - rarely triggers):**
|
|
6
6
|
```yaml
|
|
7
7
|
description: Helps with navigation
|
|
8
8
|
```
|
|
9
|
-
Why it fails: no "when", no trigger words, no platform
|
|
9
|
+
Why it fails: no "when", no trigger words, no platform - the router can't tell what task this matches.
|
|
10
10
|
|
|
11
11
|
**Good (what + when + triggers + platform):**
|
|
12
12
|
```yaml
|
|
13
|
-
description: "In-app navigation for a SwiftUI iOS app
|
|
13
|
+
description: "In-app navigation for a SwiftUI iOS app - the coordinator-per-domain pattern, the tab shell, cross-domain navigation, deep links, and modals. Reach for this when adding a screen, a tab, a deep link, or a modal, or deciding how one screen reaches another."
|
|
14
14
|
```
|
|
15
15
|
Why it works: states the domain, lists concrete triggers ("adding a screen, a tab, a deep link"), names the platform, and implies the boundary.
|
|
16
16
|
|
|
17
17
|
**Workflow example (action + when to run):**
|
|
18
18
|
```yaml
|
|
19
|
-
description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR spine and house guardrails
|
|
19
|
+
description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR spine and house guardrails - type-first branch names, no AI attribution, no force-push, correct base branch. Reach for this whenever a change is ready to ship."
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
### Recipe
|
|
@@ -26,7 +26,7 @@ description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR
|
|
|
26
26
|
|
|
27
27
|
## Shape: reference vs workflow
|
|
28
28
|
|
|
29
|
-
**Wrong
|
|
29
|
+
**Wrong - a reference skill drifting into a procedure:**
|
|
30
30
|
```markdown
|
|
31
31
|
## Procedures
|
|
32
32
|
1. Open the file
|
|
@@ -36,7 +36,7 @@ description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR
|
|
|
36
36
|
```
|
|
37
37
|
A reference (knowledge) skill should describe *the rule and where the canonical example lives*, not script the keystrokes.
|
|
38
38
|
|
|
39
|
-
**Right
|
|
39
|
+
**Right - reference stays descriptive:**
|
|
40
40
|
```markdown
|
|
41
41
|
## Decision rules
|
|
42
42
|
- New screen in a domain → add `<Name>Screen` under its Presentation layer,
|
|
@@ -44,14 +44,14 @@ A reference (knowledge) skill should describe *the rule and where the canonical
|
|
|
44
44
|
Canonical: `<repo>/Features/Profile/ProfileScreen.swift`.
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
**Right
|
|
47
|
+
**Right - workflow earns its numbered steps** (deterministic/irreversible spine):
|
|
48
48
|
```markdown
|
|
49
49
|
## Procedures
|
|
50
50
|
1. Pre-flight: `git status` clean? on base branch?
|
|
51
51
|
2. Branch: `git checkout -b <type>/<scope>/<desc>`
|
|
52
52
|
3. Commit: stage; conventional message; strip any AI co-author trailer.
|
|
53
53
|
4. Push; never force-push a protected branch.
|
|
54
|
-
5. PR: `gh pr create --base <base>
|
|
54
|
+
5. PR: `gh pr create --base <base> ...` (no AI footer).
|
|
55
55
|
## Verification
|
|
56
56
|
- `git log -1` shows clean message, no AI trailer, correct author.
|
|
57
57
|
```
|
|
@@ -60,6 +60,6 @@ A reference (knowledge) skill should describe *the rule and where the canonical
|
|
|
60
60
|
|
|
61
61
|
## Leanness: cut what the model already knows
|
|
62
62
|
|
|
63
|
-
**Bloat:** "PDF files are documents that contain text and images. To read them you first need a library that can parse the binary format
|
|
63
|
+
**Bloat:** "PDF files are documents that contain text and images. To read them you first need a library that can parse the binary format..."
|
|
64
64
|
|
|
65
65
|
**Lean:** "Extract text from PDFs with `pdfplumber`."
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# Label intent check
|
|
1
|
+
# Label intent check - does a title carry its own meaning?
|
|
2
2
|
|
|
3
|
-
A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape
|
|
3
|
+
A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape - ambiguous, one-sided, or off-topic - the reader forms the wrong model and the body has to fight it. This is a cheap test that catches that early: have **fresh subagents infer the rule from the label alone**, then compare against your intended meaning. Convergence = the label is self-carrying.
|
|
4
4
|
|
|
5
5
|
## When to run it
|
|
6
6
|
- Naming a **strict rule** or constraint inside a skill (the kind a reader must obey).
|
|
7
7
|
- A **section header** that gates non-trivial content (phase/principle/constraint names).
|
|
8
|
-
- Any label meant to convey the **whole intent** of its body (not a summary
|
|
9
|
-
- Skip it for purely organizational labels ("Examples", "See also")
|
|
8
|
+
- Any label meant to convey the **whole intent** of its body (not a summary - the intent).
|
|
9
|
+
- Skip it for purely organizational labels ("Examples", "See also") - they carry no intent.
|
|
10
10
|
|
|
11
11
|
## Inputs (collect first)
|
|
12
|
-
1. **Candidate label**
|
|
13
|
-
2. **Surrounding context**
|
|
14
|
-
3. **Intended meaning**
|
|
12
|
+
1. **Candidate label** - the exact string under test.
|
|
13
|
+
2. **Surrounding context** - one paragraph: which skill/doc, what adjacent labels cover, the domain concepts in play.
|
|
14
|
+
3. **Intended meaning** - 1-3 sentences of ground truth (what the body says / what the reader should walk away believing). **Not** shown to the inference agents. If you can't state it in 3 sentences, the body is unclear - fix that first.
|
|
15
15
|
|
|
16
16
|
## Procedure
|
|
17
17
|
**One iteration = 5 parallel subagents**, each given ONLY the label + context (never the body), each forced to commit:
|
|
18
18
|
```
|
|
19
|
-
Context: <surrounding context
|
|
19
|
+
Context: <surrounding context - 1 paragraph>.
|
|
20
20
|
The label under test is: **"<candidate label>"**
|
|
21
21
|
You have NOT seen the body. From ONLY this label + context, what do you infer it
|
|
22
|
-
enforces / requires / means? 1
|
|
22
|
+
enforces / requires / means? 1-2 concrete sentences, under 80 words. Commit - no
|
|
23
23
|
hedging, no clarifying questions.
|
|
24
24
|
```
|
|
25
25
|
Launch all 5 in the **same** message (parallel) so they're independent by construction.
|
|
26
26
|
|
|
27
27
|
**Convergence (per iteration), comparing the 5 inferences to the intended meaning:**
|
|
28
|
-
- **PASS**
|
|
29
|
-
- **PARTIAL**
|
|
30
|
-
- **FAIL**
|
|
28
|
+
- **PASS** - ≥4/5 cover *all* key intent beats (including the bidirectional / edge / scope beat, if the intent has one). Wording drift is fine.
|
|
29
|
+
- **PARTIAL** - they consistently catch one side of a bidirectional rule but miss the other, or over-extend into an adjacent concern. Revise the label, re-run.
|
|
30
|
+
- **FAIL** - inferences diverge wildly or miss the core beat. Revise, re-run.
|
|
31
31
|
|
|
32
|
-
**Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss
|
|
32
|
+
**Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss - confirms the PASS wasn't luck. A regression in round 2/3 → treat as PARTIAL and iterate.
|
|
33
33
|
|
|
34
34
|
**Termination:** converged (3/3 PASS) → apply the label. 3 iterations without a PASS → stop, hand back the best candidate + the persistent miss; don't force a label that won't stick.
|
|
35
35
|
|
|
@@ -37,7 +37,7 @@ Launch all 5 in the **same** message (parallel) so they're independent by constr
|
|
|
37
37
|
5 agents/round · 3 rounds · 80-word inference cap · max 3 iterations before handing back. High-stakes labels (top-level skill names, protocol names) → 7 agents × 3 rounds; throwaway section headers → 3 × 2.
|
|
38
38
|
|
|
39
39
|
## Anti-patterns
|
|
40
|
-
- **Giving agents the body**
|
|
41
|
-
- **Running sequentially**
|
|
42
|
-
- **Tweaking one word on a FAIL**
|
|
43
|
-
- **Accepting "mostly right"**
|
|
40
|
+
- **Giving agents the body** - defeats the test (you're checking the label's *self-carrying* power).
|
|
41
|
+
- **Running sequentially** - they'd anchor on each other; must be parallel.
|
|
42
|
+
- **Tweaking one word on a FAIL** - step back and rethink the concept the label names, don't polish a wrong handle.
|
|
43
|
+
- **Accepting "mostly right"** - a label that reliably misses a beat misleads every reader the same way. Fix it, or accept the rule is one-sided and split the body.
|
|
@@ -1,42 +1,57 @@
|
|
|
1
|
-
// audit-panel.js
|
|
1
|
+
// audit-panel.js - Workflow template for the multi-architect skill audit.
|
|
2
2
|
//
|
|
3
3
|
// Run with the Workflow tool. Edit the CONFIG block for your target, then launch.
|
|
4
4
|
// Returns { remaining, clearsBar, verdict }. If clearsBar is false, apply the
|
|
5
|
-
// `remaining` blockers/majors, then RE-RUN A FRESH copy (do NOT resume
|
|
5
|
+
// `remaining` blockers/majors, then RE-RUN A FRESH copy (do NOT resume - agents
|
|
6
6
|
// must read the current files). Loop until clearsBar. See ../audit.md.
|
|
7
7
|
|
|
8
8
|
export const meta = {
|
|
9
|
-
name:
|
|
10
|
-
description:
|
|
11
|
-
phases: [{ title:
|
|
12
|
-
}
|
|
9
|
+
name: "skill-audit-panel",
|
|
10
|
+
description: "Adversarial N-architect audit of a skill against the skill-creator rubric",
|
|
11
|
+
phases: [{ title: "Audit" }, { title: "Synthesis" }],
|
|
12
|
+
};
|
|
13
13
|
|
|
14
|
-
// ── CONFIG
|
|
14
|
+
// ── CONFIG - edit these ──────────────────────────────────────────────────────
|
|
15
15
|
const TARGET = `
|
|
16
16
|
- <abs path to SKILL.md>
|
|
17
17
|
- <abs path to each bundled file / script>
|
|
18
|
-
|
|
19
|
-
const RUBRIC = `<abs path to reference/skill-creator/SKILL.md> + checklist.md
|
|
20
|
-
const EXEMPLAR = `<abs path to a known-good skill of the same layer
|
|
21
|
-
const GROUND_TRUTH = `<abs path to the real source the skill describes (e.g. the iOS repo), with key facts
|
|
18
|
+
`;
|
|
19
|
+
const RUBRIC = `<abs path to reference/skill-creator/SKILL.md> + checklist.md`;
|
|
20
|
+
const EXEMPLAR = `<abs path to a known-good skill of the same layer>`;
|
|
21
|
+
const GROUND_TRUTH = `<abs path to the real source the skill describes (e.g. the iOS repo), with key facts>`;
|
|
22
22
|
// Pick a lens set from audit.md (general or prompt-engineering). [label, brief] pairs:
|
|
23
23
|
const LENSES = [
|
|
24
|
-
[
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
[
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
[
|
|
33
|
-
[
|
|
34
|
-
|
|
24
|
+
[
|
|
25
|
+
"discovery",
|
|
26
|
+
"description-as-discovery: what+when+trigger words+example; would it activate on a real task?",
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
"disambiguation",
|
|
30
|
+
"distinct from sibling skills; a reader can tell when to pick this vs a neighbor.",
|
|
31
|
+
],
|
|
32
|
+
["triggers", "real user phrasings + synonyms are covered."],
|
|
33
|
+
["clarity", "instructions unambiguous, ordered, single-interpretation; no vague directives."],
|
|
34
|
+
[
|
|
35
|
+
"layer",
|
|
36
|
+
"degrees of freedom match the layer (reference=descriptive / workflow=spine / tool=thin-index).",
|
|
37
|
+
],
|
|
38
|
+
["leanness", "SKILL.md is an index; detail bundled one level deep; no duplication or bloat."],
|
|
39
|
+
["tokens", "every line load-bearing; nothing restates what the model already knows."],
|
|
40
|
+
["consistency", "terminology, naming, paths, cross-refs, examples all agree."],
|
|
41
|
+
[
|
|
42
|
+
"misfire",
|
|
43
|
+
"would the model over-apply, skip a gate, hallucinate a path, or follow it to a wrong output?",
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"redteam",
|
|
47
|
+
"adversarially make it not trigger / trigger wrongly / produce broken output; hunt overclaims (says X, script does not).",
|
|
48
|
+
],
|
|
49
|
+
];
|
|
35
50
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
36
51
|
|
|
37
52
|
const COMMON = `
|
|
38
53
|
You are auditing a skill. Read the CURRENT files and report ONLY genuine, specific,
|
|
39
|
-
reproducible findings for YOUR lens. Verify against the rubric + ground truth
|
|
54
|
+
reproducible findings for YOUR lens. Verify against the rubric + ground truth - do
|
|
40
55
|
not assume. Read-only; do NOT edit. If your lens is clean, return an empty array.
|
|
41
56
|
|
|
42
57
|
TARGET (the skill under audit):${TARGET}
|
|
@@ -45,39 +60,60 @@ EXEMPLAR (known-good of this layer): ${EXEMPLAR}
|
|
|
45
60
|
GROUND TRUTH (what the skill describes): ${GROUND_TRUTH}
|
|
46
61
|
|
|
47
62
|
Each finding: severity (blocker|major|minor|nit), file:location, the problem, the concrete fix.
|
|
48
|
-
|
|
63
|
+
`;
|
|
49
64
|
|
|
50
65
|
const FINDING = {
|
|
51
|
-
type:
|
|
66
|
+
type: "object",
|
|
67
|
+
additionalProperties: false,
|
|
52
68
|
properties: {
|
|
53
|
-
severity: { type:
|
|
54
|
-
location: { type:
|
|
55
|
-
|
|
56
|
-
}
|
|
69
|
+
severity: { type: "string", enum: ["blocker", "major", "minor", "nit"] },
|
|
70
|
+
location: { type: "string" },
|
|
71
|
+
problem: { type: "string" },
|
|
72
|
+
fix: { type: "string" },
|
|
73
|
+
},
|
|
74
|
+
required: ["severity", "location", "problem", "fix"],
|
|
75
|
+
};
|
|
57
76
|
const LENS_SCHEMA = {
|
|
58
|
-
type:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
77
|
+
type: "object",
|
|
78
|
+
additionalProperties: false,
|
|
79
|
+
properties: { lens: { type: "string" }, findings: { type: "array", items: FINDING } },
|
|
80
|
+
required: ["lens", "findings"],
|
|
81
|
+
};
|
|
62
82
|
|
|
63
|
-
phase(
|
|
64
|
-
const results = await parallel(
|
|
65
|
-
|
|
66
|
-
)
|
|
67
|
-
|
|
83
|
+
phase("Audit");
|
|
84
|
+
const results = await parallel(
|
|
85
|
+
LENSES.map(
|
|
86
|
+
([lens, brief]) =>
|
|
87
|
+
() =>
|
|
88
|
+
agent(`${COMMON}\n\nYOUR LENS - ${lens}: ${brief}`, {
|
|
89
|
+
label: `audit:${lens}`,
|
|
90
|
+
phase: "Audit",
|
|
91
|
+
schema: LENS_SCHEMA,
|
|
92
|
+
}),
|
|
93
|
+
),
|
|
94
|
+
);
|
|
95
|
+
const all = results.filter(Boolean).flatMap((r) => r.findings.map((f) => ({ ...f, lens: r.lens })));
|
|
68
96
|
|
|
69
|
-
phase(
|
|
97
|
+
phase("Synthesis");
|
|
70
98
|
const SYNTH = {
|
|
71
|
-
type:
|
|
99
|
+
type: "object",
|
|
100
|
+
additionalProperties: false,
|
|
72
101
|
properties: {
|
|
73
|
-
remaining: {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
102
|
+
remaining: {
|
|
103
|
+
type: "array",
|
|
104
|
+
items: {
|
|
105
|
+
type: "object",
|
|
106
|
+
additionalProperties: false,
|
|
107
|
+
properties: { ...FINDING.properties, lenses: { type: "string" } },
|
|
108
|
+
required: [...FINDING.required, "lenses"],
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
clearsBar: { type: "boolean" },
|
|
112
|
+
verdict: { type: "string" },
|
|
113
|
+
},
|
|
114
|
+
required: ["remaining", "clearsBar", "verdict"],
|
|
115
|
+
};
|
|
80
116
|
return await agent(
|
|
81
|
-
`${COMMON}\n\nYou are the SYNTHESIS architect. Below are ${all.length} raw findings from ${LENSES.length} lenses. Dedup overlaps (note which lenses raised each). DROP false positives
|
|
82
|
-
{ label:
|
|
83
|
-
)
|
|
117
|
+
`${COMMON}\n\nYou are the SYNTHESIS architect. Below are ${all.length} raw findings from ${LENSES.length} lenses. Dedup overlaps (note which lenses raised each). DROP false positives - verify against the files before keeping; if you cannot reproduce it, drop it. Classify each survivor; set clearsBar=true ONLY if no blockers and no majors remain. One-paragraph verdict.\n\nRAW:\n${JSON.stringify(all, null, 2)}`,
|
|
118
|
+
{ label: "synthesis", phase: "Synthesis", schema: SYNTH },
|
|
119
|
+
);
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
# Skill skeletons
|
|
2
2
|
|
|
3
|
-
Two skeletons
|
|
3
|
+
Two skeletons - pick by layer. Both stay lean; push detail into one-level-deep bundled files.
|
|
4
4
|
|
|
5
5
|
Frontmatter fields used in this toolkit: `name`, `description` (required-quality), `user-invocable`, `argument-hint` (optional), `allowed-tools`.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## Reference skill (descriptive
|
|
9
|
+
## Reference skill (descriptive - knowledge)
|
|
10
10
|
|
|
11
11
|
No numbered procedures. Principles + pointers + heuristics.
|
|
12
12
|
|
|
13
13
|
```markdown
|
|
14
14
|
---
|
|
15
|
-
name: <aspect-noun> # e.g. navigation
|
|
15
|
+
name: <aspect-noun> # e.g. navigation - NO platform prefix
|
|
16
16
|
description: <what it covers + when to reach for it + trigger words. Say "iOS/SwiftUI" so the router can disambiguate.>
|
|
17
17
|
user-invocable: true
|
|
18
18
|
allowed-tools: Read, Grep, Glob, Bash, Edit, Write
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
# <name>
|
|
21
|
+
# <name> - <short title>
|
|
22
22
|
|
|
23
23
|
> **Layer:** reference (knowledge)
|
|
24
24
|
> **Use when:** <trigger> **Hand off to:** <sibling skill>
|
|
25
25
|
|
|
26
26
|
## Scope
|
|
27
|
-
In / out, 1
|
|
27
|
+
In / out, 1-2 lines.
|
|
28
28
|
|
|
29
29
|
## Invariants <!-- non-negotiables + the why -->
|
|
30
30
|
## Conventions & golden paths <!-- point to canonical files; don't paste code -->
|
|
@@ -35,7 +35,7 @@ In / out, 1–2 lines.
|
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
38
|
-
## Workflow skill (imperative
|
|
38
|
+
## Workflow skill (imperative - action)
|
|
39
39
|
|
|
40
40
|
Has a numbered procedure, but only for the deterministic/irreversible spine. Cite reference skills for judgment. Always include a verification gate.
|
|
41
41
|
|
|
@@ -48,17 +48,17 @@ argument-hint: [<step> | ...]
|
|
|
48
48
|
allowed-tools: Bash, Read
|
|
49
49
|
---
|
|
50
50
|
|
|
51
|
-
# <name>
|
|
51
|
+
# <name> - <short title>
|
|
52
52
|
|
|
53
53
|
> **Layer:** workflow (action)
|
|
54
54
|
> **Use when:** <trigger> **Don't use when:** <hand off>
|
|
55
55
|
|
|
56
56
|
## Scope
|
|
57
|
-
In / out, 1
|
|
57
|
+
In / out, 1-2 lines.
|
|
58
58
|
|
|
59
59
|
## Invariants <!-- hard rules / guardrails -->
|
|
60
60
|
## Conventions & golden paths <!-- base branch, auth, canonical commands -->
|
|
61
|
-
## Decision rules <!-- branch when
|
|
61
|
+
## Decision rules <!-- branch when..., escalate when... -->
|
|
62
62
|
## Procedures <!-- IMPERATIVE: only deterministic/irreversible steps -->
|
|
63
63
|
1. ...
|
|
64
64
|
## Verification <!-- IMPERATIVE: prove it worked (build/run/test) -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: swift-concurrency-expert
|
|
3
|
-
description: Review and fix Swift concurrency issues such as actor isolation and Sendable violations.
|
|
3
|
+
description: "Review and fix Swift concurrency issues such as actor isolation and Sendable violations. Use when a Swift concurrency problem needs diagnosing, such as actor isolation or a Sendable violation."
|
|
4
4
|
risk: safe
|
|
5
5
|
source: "Dimillian/Skills (MIT)"
|
|
6
6
|
date_added: "2026-03-25"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: swiftui-performance-audit
|
|
3
|
-
description: Audit SwiftUI performance issues from code review and profiling evidence.
|
|
3
|
+
description: "Audit SwiftUI performance issues from code review and profiling evidence. Use when a SwiftUI view is slow and the cause has to be found from code and profiling evidence."
|
|
4
4
|
risk: safe
|
|
5
5
|
source: "Dimillian/Skills (MIT)"
|
|
6
6
|
date_added: "2026-03-25"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: swiftui-ui-patterns
|
|
3
|
-
description: Apply proven SwiftUI UI patterns for navigation, sheets, async state, and reusable screens.
|
|
3
|
+
description: "Apply proven SwiftUI UI patterns for navigation, sheets, async state, and reusable screens. Use when a SwiftUI screen needs a proven pattern for navigation, sheets, async state or reuse."
|
|
4
4
|
risk: safe
|
|
5
5
|
source: "Dimillian/Skills (MIT)"
|
|
6
6
|
date_added: "2026-03-25"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: swiftui-view-refactor
|
|
3
|
-
description: Refactor SwiftUI views into smaller components with stable, explicit data flow.
|
|
3
|
+
description: "Refactor SwiftUI views into smaller components with stable, explicit data flow. Use when a SwiftUI view has grown too large and needs splitting with clear data flow."
|
|
4
4
|
risk: safe
|
|
5
5
|
source: "Dimillian/Skills (MIT)"
|
|
6
6
|
date_added: "2026-03-25"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tailwind-css
|
|
3
|
-
description: "Tailwind CSS v4: utility-first styling, responsive design, dark mode, custom themes, component patterns, and cn() utility"
|
|
3
|
+
description: "Tailwind CSS v4: utility-first styling, responsive design, dark mode, custom themes, component patterns, and cn() utility. Use when styling or reviewing UI with Tailwind: utilities, responsive design, dark mode, theming."
|
|
4
4
|
tags: [tailwind, css, styling, responsive, dark-mode, frontend]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: testing-backend
|
|
3
|
-
description: "Backend testing: pytest patterns (Python), Jest patterns (Node.js), integration testing, database fixtures/factories, API contract testing"
|
|
3
|
+
description: "Backend testing: pytest patterns (Python), Jest patterns (Node.js), integration testing, database fixtures/factories, API contract testing. Use when writing or reviewing backend tests: unit, integration, database and API level."
|
|
4
4
|
tags: [testing, pytest, jest, integration, database, api-testing, backend]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: typescript-patterns
|
|
3
|
-
description: "Modern TypeScript patterns: strict mode, utility types, generics, conditional types, type guards, discriminated unions, Zod validation"
|
|
3
|
+
description: "Modern TypeScript patterns: strict mode, utility types, generics, conditional types, type guards, discriminated unions, Zod validation. Use when writing or reviewing TypeScript types: generics, utility and conditional types, guards, strict mode."
|
|
4
4
|
tags: [typescript, types, generics, zod, validation, frontend, backend]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vue-composition
|
|
3
|
-
description: "Vue 3 Composition API: ref, reactive, computed, watch, composables, Pinia state management, Vue Router 4, script setup"
|
|
3
|
+
description: "Vue 3 Composition API: ref, reactive, computed, watch, composables, Pinia state management, Vue Router 4, script setup. Use when building or reviewing Vue 3 work with the Composition API, composables or Pinia."
|
|
4
4
|
tags: [vue, composition-api, pinia, vue-router, frontend, javascript]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-accessibility
|
|
3
|
-
description: "WCAG 2.2 AA web accessibility: ARIA roles/states, keyboard navigation, screen readers, color contrast, focus management, axe-core testing"
|
|
3
|
+
description: "WCAG 2.2 AA web accessibility: ARIA roles/states, keyboard navigation, screen readers, color contrast, focus management, axe-core testing. Use when auditing or fixing a web UI against WCAG: ARIA, keyboard access, screen readers, contrast."
|
|
4
4
|
tags: [accessibility, a11y, wcag, aria, screen-reader, frontend]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-performance
|
|
3
|
-
description: "Web performance: Core Web Vitals (LCP, INP, CLS), image optimization, code splitting, caching strategies, bundle analysis, Lighthouse"
|
|
3
|
+
description: "Web performance: Core Web Vitals (LCP, INP, CLS), image optimization, code splitting, caching strategies, bundle analysis, Lighthouse. Use when a page is slow and Core Web Vitals, images, bundles or caching have to be addressed."
|
|
4
4
|
tags: [performance, core-web-vitals, lighthouse, optimization, frontend, caching]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-testing
|
|
3
|
-
description: "Web testing: Vitest unit tests, React Testing Library, Playwright E2E, MSW API mocking, testing hooks and async operations"
|
|
3
|
+
description: "Web testing: Vitest unit tests, React Testing Library, Playwright E2E, MSW API mocking, testing hooks and async operations. Use when writing or reviewing web tests with Vitest, Testing Library, Playwright or MSW."
|
|
4
4
|
tags: [testing, vitest, playwright, react-testing-library, msw, e2e, frontend]
|
|
5
5
|
version: "2025.1"
|
|
6
6
|
---
|
package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json
CHANGED
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"title": "Xcode Build Benchmark Artifact",
|
|
4
4
|
"type": "object",
|
|
5
|
-
"required": [
|
|
6
|
-
"schema_version",
|
|
7
|
-
"created_at",
|
|
8
|
-
"build",
|
|
9
|
-
"runs",
|
|
10
|
-
"summary"
|
|
11
|
-
],
|
|
5
|
+
"required": ["schema_version", "created_at", "build", "runs", "summary"],
|
|
12
6
|
"properties": {
|
|
13
7
|
"schema_version": {
|
|
14
8
|
"type": "string",
|
|
@@ -20,20 +14,11 @@
|
|
|
20
14
|
},
|
|
21
15
|
"build": {
|
|
22
16
|
"type": "object",
|
|
23
|
-
"required": [
|
|
24
|
-
"entrypoint",
|
|
25
|
-
"scheme",
|
|
26
|
-
"configuration",
|
|
27
|
-
"destination",
|
|
28
|
-
"command"
|
|
29
|
-
],
|
|
17
|
+
"required": ["entrypoint", "scheme", "configuration", "destination", "command"],
|
|
30
18
|
"properties": {
|
|
31
19
|
"entrypoint": {
|
|
32
20
|
"type": "string",
|
|
33
|
-
"enum": [
|
|
34
|
-
"project",
|
|
35
|
-
"workspace"
|
|
36
|
-
]
|
|
21
|
+
"enum": ["project", "workspace"]
|
|
37
22
|
},
|
|
38
23
|
"path": {
|
|
39
24
|
"type": "string"
|
|
@@ -73,10 +58,7 @@
|
|
|
73
58
|
},
|
|
74
59
|
"runs": {
|
|
75
60
|
"type": "object",
|
|
76
|
-
"required": [
|
|
77
|
-
"clean",
|
|
78
|
-
"incremental"
|
|
79
|
-
],
|
|
61
|
+
"required": ["clean", "incremental"],
|
|
80
62
|
"properties": {
|
|
81
63
|
"clean": {
|
|
82
64
|
"type": "array",
|
|
@@ -101,10 +83,7 @@
|
|
|
101
83
|
},
|
|
102
84
|
"summary": {
|
|
103
85
|
"type": "object",
|
|
104
|
-
"required": [
|
|
105
|
-
"clean",
|
|
106
|
-
"incremental"
|
|
107
|
-
],
|
|
86
|
+
"required": ["clean", "incremental"],
|
|
108
87
|
"properties": {
|
|
109
88
|
"clean": {
|
|
110
89
|
"$ref": "#/definitions/stats"
|
|
@@ -128,24 +107,14 @@
|
|
|
128
107
|
"definitions": {
|
|
129
108
|
"run": {
|
|
130
109
|
"type": "object",
|
|
131
|
-
"required": [
|
|
132
|
-
"id",
|
|
133
|
-
"build_type",
|
|
134
|
-
"duration_seconds",
|
|
135
|
-
"success",
|
|
136
|
-
"command"
|
|
137
|
-
],
|
|
110
|
+
"required": ["id", "build_type", "duration_seconds", "success", "command"],
|
|
138
111
|
"properties": {
|
|
139
112
|
"id": {
|
|
140
113
|
"type": "string"
|
|
141
114
|
},
|
|
142
115
|
"build_type": {
|
|
143
116
|
"type": "string",
|
|
144
|
-
"enum": [
|
|
145
|
-
"clean",
|
|
146
|
-
"cached-clean",
|
|
147
|
-
"incremental"
|
|
148
|
-
]
|
|
117
|
+
"enum": ["clean", "cached-clean", "incremental"]
|
|
149
118
|
},
|
|
150
119
|
"duration_seconds": {
|
|
151
120
|
"type": "number",
|
|
@@ -174,10 +143,7 @@
|
|
|
174
143
|
},
|
|
175
144
|
"category": {
|
|
176
145
|
"type": "object",
|
|
177
|
-
"required": [
|
|
178
|
-
"name",
|
|
179
|
-
"seconds"
|
|
180
|
-
],
|
|
146
|
+
"required": ["name", "seconds"],
|
|
181
147
|
"properties": {
|
|
182
148
|
"name": {
|
|
183
149
|
"type": "string"
|
|
@@ -195,13 +161,7 @@
|
|
|
195
161
|
},
|
|
196
162
|
"stats": {
|
|
197
163
|
"type": "object",
|
|
198
|
-
"required": [
|
|
199
|
-
"count",
|
|
200
|
-
"min_seconds",
|
|
201
|
-
"max_seconds",
|
|
202
|
-
"median_seconds",
|
|
203
|
-
"average_seconds"
|
|
204
|
-
],
|
|
164
|
+
"required": ["count", "min_seconds", "max_seconds", "median_seconds", "average_seconds"],
|
|
205
165
|
"properties": {
|
|
206
166
|
"count": {
|
|
207
167
|
"type": "integer",
|