@mmerterden/multi-agent-pipeline 20.2.1 → 20.3.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 +912 -1
- package/README.md +104 -81
- package/README.tr.md +103 -62
- package/docs/FIGMA_PIPELINE.md +35 -35
- package/docs/adr/0006-skills-core-external-split.md +1 -1
- package/docs/adr/0007-multi-tool-adapter-framework.md +6 -0
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +7 -0
- package/docs/architecture.md +50 -14
- package/docs/best-practices.md +1 -1
- package/docs/ecosystem.md +56 -32
- package/docs/facts.json +10 -10
- package/docs/features.md +97 -5
- package/docs/recovery-guide.md +7 -14
- package/docs/server-readiness.md +31 -24
- package/index.js +1 -1
- package/install/_common.mjs +3 -5
- package/install/_platform-filter.mjs +23 -1
- package/install/_unattended-profile.mjs +321 -75
- package/install/claude.mjs +51 -10
- package/install/codex.mjs +2 -0
- package/install/copilot.mjs +2 -0
- package/install/index.mjs +30 -17
- package/install/templates/claude-hooks.json +16 -5
- package/install/templates/copilot-instructions.md +1 -1
- package/install/templates/multi-agent-autopilot-awake.plist.template +48 -0
- package/install/templates/multi-agent-autopilot.plist.template +12 -5
- package/install/unattended-profile-legacy.json +80 -0
- package/manifest.json +616 -483
- package/package.json +8 -3
- package/pipeline/agents/code-reviewer.md +10 -0
- package/pipeline/agents/plan-critic.md +98 -0
- package/pipeline/agents/security-auditor.md +10 -0
- package/pipeline/agents/task-clarifier.md +10 -0
- package/pipeline/commands/multi-agent/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/analysis/SKILL.md +6 -2
- package/pipeline/commands/multi-agent/analysis-jira/SKILL.md +12 -1
- package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/autopilot/SKILL.md +6 -2
- package/pipeline/commands/multi-agent/autopilot-off/SKILL.md +36 -6
- package/pipeline/commands/multi-agent/autopilot-on/SKILL.md +77 -12
- package/pipeline/commands/multi-agent/autopilot-status/SKILL.md +29 -8
- package/pipeline/commands/multi-agent/build-optimize/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/channels/SKILL.md +9 -9
- package/pipeline/commands/multi-agent/complaint-analysis/SKILL.md +5 -1
- package/pipeline/commands/multi-agent/create-jira/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/design-check/SKILL.md +16 -11
- package/pipeline/commands/multi-agent/diff-explain/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/doctor/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/feedback/SKILL.md +5 -1
- package/pipeline/commands/multi-agent/forget/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/graph/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/help/SKILL.md +37 -39
- package/pipeline/commands/multi-agent/ios-coding-standard/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/issue/SKILL.md +7 -1
- package/pipeline/commands/multi-agent/jira/SKILL.md +7 -1
- package/pipeline/commands/multi-agent/kill/SKILL.md +9 -3
- package/pipeline/commands/multi-agent/language/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/log/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/manual-test/SKILL.md +5 -0
- package/pipeline/commands/multi-agent/model/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/prune-logs/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/prune-prompts/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/purge/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/refactor/SKILL.md +5 -0
- package/pipeline/commands/multi-agent/research/SKILL.md +49 -0
- package/pipeline/commands/multi-agent/resume/SKILL.md +29 -6
- package/pipeline/commands/multi-agent/review/SKILL.md +28 -9
- package/pipeline/commands/multi-agent/review-analysis/SKILL.md +5 -1
- package/pipeline/commands/multi-agent/review-issue/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/review-jira/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/route-off/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/route-on/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/route-status/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/routines/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/save/SKILL.md +6 -2
- package/pipeline/commands/multi-agent/scaffold/SKILL.md +47 -0
- package/pipeline/commands/multi-agent/scan/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/search/SKILL.md +12 -8
- package/pipeline/commands/multi-agent/security-review/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/serve/SKILL.md +62 -0
- package/pipeline/commands/multi-agent/setup/SKILL.md +27 -36
- package/pipeline/commands/multi-agent/stack/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/status/SKILL.md +10 -9
- package/pipeline/commands/multi-agent/steer/SKILL.md +5 -1
- package/pipeline/commands/multi-agent/store-ready/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/sync/SKILL.md +13 -13
- package/pipeline/commands/multi-agent/test/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/test-accessibility/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/test-dark-mode/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/test-dynamic-type/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/test-screenshots/SKILL.md +5 -1
- package/pipeline/commands/multi-agent/testflight-validation/SKILL.md +4 -0
- package/pipeline/commands/multi-agent/uninstall/SKILL.md +5 -1
- package/pipeline/commands/multi-agent/update/SKILL.md +4 -0
- package/pipeline/contract/CHANGELOG.md +74 -0
- package/pipeline/contract/README.md +126 -0
- package/pipeline/contract/build.mjs +427 -0
- package/pipeline/contract/fixtures/answer-result.json +11 -0
- package/pipeline/contract/fixtures/error-invalid-request.json +8 -0
- package/pipeline/contract/fixtures/error-unauthorized.json +5 -0
- package/pipeline/contract/fixtures/error-unsigned.json +5 -0
- package/pipeline/contract/fixtures/issues-empty.json +18 -0
- package/pipeline/contract/fixtures/launch-plan.json +31 -0
- package/pipeline/contract/fixtures/runs-awaiting-question.json +70 -0
- package/pipeline/contract/fixtures/runs-empty.json +6 -0
- package/pipeline/contract/fixtures/runs-failed.json +84 -0
- package/pipeline/contract/fixtures/runs-old-schema.json +70 -0
- package/pipeline/contract/fixtures/runs-pr-opened-redacted.json +101 -0
- package/pipeline/contract/fixtures/runs-pr-opened.json +106 -0
- package/pipeline/contract/fixtures/runs-running.json +84 -0
- package/pipeline/contract/fixtures/worktrees-empty.json +4 -0
- package/pipeline/contract/frozen/toolbox.json +107 -0
- package/pipeline/contract/manifest.json +263 -0
- package/pipeline/contract/types/index.d.ts +343 -0
- package/pipeline/lib/_jira-auth.sh +6 -2
- package/pipeline/lib/account-resolver.sh +1 -1
- package/pipeline/lib/autopilot-state.sh +19 -0
- package/pipeline/lib/context-link-extractor.sh +12 -5
- package/pipeline/lib/credential-inventory.sh +12 -5
- package/pipeline/lib/credential-store.sh +116 -185
- package/pipeline/lib/fetch-confluence.sh +44 -3
- package/pipeline/lib/fetch-document.sh +3 -4
- package/pipeline/lib/fetch-fortify.sh +1 -1
- package/pipeline/lib/figma-mcp-refresh.sh +2 -2
- package/pipeline/lib/figma-token.sh +5 -1
- package/pipeline/lib/issue-fetcher.sh +233 -16
- package/pipeline/lib/json-file-lock.mjs +172 -0
- package/pipeline/lib/model-dispatch.sh +21 -12
- package/pipeline/lib/model-rung.sh +6 -1
- package/pipeline/lib/multi-repo-pipeline.sh +1 -1
- package/pipeline/lib/outbound-gate.mjs +46 -16
- package/pipeline/lib/parse-complaints.sh +14 -7
- package/pipeline/lib/plan-todos.sh +3 -3
- package/pipeline/lib/post-pr-review.sh +9 -9
- package/pipeline/lib/pr-request-location.mjs +85 -0
- package/pipeline/lib/regular-file.mjs +153 -0
- package/pipeline/lib/repo-hygiene.sh +17 -0
- package/pipeline/lib/route-state.sh +5 -1
- package/pipeline/lib/run-paths.sh +3 -2
- package/pipeline/lib/stack-detect.sh +19 -1
- package/pipeline/lib/unattended-profile-check.mjs +178 -0
- package/pipeline/lib/unattended-settings-location.mjs +28 -0
- package/pipeline/lib/unattended.mjs +76 -0
- package/pipeline/lib/unattended.sh +32 -0
- package/pipeline/lib/untrusted.mjs +76 -0
- package/pipeline/lib/user-facing.mjs +82 -0
- package/pipeline/lib/user-facing.sh +58 -0
- package/pipeline/multi-agent-refs/_dev-context.md +1 -1
- package/pipeline/multi-agent-refs/analysis/evidence.md +4 -0
- package/pipeline/multi-agent-refs/analysis/locked.md +2 -2
- package/pipeline/multi-agent-refs/analysis/render.md +4 -3
- package/pipeline/multi-agent-refs/analysis/resolve.md +3 -1
- package/pipeline/multi-agent-refs/analysis/synthesis.md +4 -5
- package/pipeline/multi-agent-refs/analysis-template.md +10 -17
- package/pipeline/multi-agent-refs/channels/jira.md +1 -1
- package/pipeline/multi-agent-refs/component-dispatch.md +3 -3
- package/pipeline/multi-agent-refs/conventions-defaults.md +32 -32
- package/pipeline/multi-agent-refs/cross-cli-contract.md +10 -17
- package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +37 -9
- package/pipeline/multi-agent-refs/features/autopilot-operations.md +277 -0
- package/pipeline/multi-agent-refs/features/constitution.md +196 -0
- package/pipeline/multi-agent-refs/features/doctor.md +6 -3
- package/pipeline/multi-agent-refs/features/external-context-injection.md +6 -1
- package/pipeline/multi-agent-refs/features/jira-context.md +1 -1
- package/pipeline/multi-agent-refs/features/maturity-followup.md +43 -23
- package/pipeline/multi-agent-refs/features/model-fallback.md +9 -0
- package/pipeline/multi-agent-refs/features/phone-api.md +306 -0
- package/pipeline/multi-agent-refs/features/plan-critic.md +159 -0
- package/pipeline/multi-agent-refs/features/research.md +150 -0
- package/pipeline/multi-agent-refs/features/review-decision.md +185 -0
- package/pipeline/multi-agent-refs/features/scaffold.md +160 -0
- package/pipeline/multi-agent-refs/features/security-audit.md +6 -2
- package/pipeline/multi-agent-refs/features/skill-conformance.md +4 -1
- package/pipeline/multi-agent-refs/features/stack-adapters.md +116 -0
- package/pipeline/multi-agent-refs/features/unattended-gates.md +316 -0
- package/pipeline/multi-agent-refs/features/unattended-security.md +731 -0
- package/pipeline/multi-agent-refs/features/url-enrichment.md +2 -2
- package/pipeline/multi-agent-refs/features/usage-reporting.md +127 -35
- package/pipeline/multi-agent-refs/features/verify-by-test.md +1 -1
- package/pipeline/multi-agent-refs/features/visual-evidence.md +7 -7
- package/pipeline/multi-agent-refs/keychain.md +6 -11
- package/pipeline/multi-agent-refs/payload-contracts.md +2 -2
- package/pipeline/multi-agent-refs/phases/log-format.md +2 -3
- package/pipeline/multi-agent-refs/phases/modes.md +10 -12
- package/pipeline/multi-agent-refs/phases/operations.md +11 -5
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +73 -81
- package/pipeline/multi-agent-refs/phases/phase-1-plan.md +22 -22
- package/pipeline/multi-agent-refs/phases/phase-2-dev.md +42 -66
- package/pipeline/multi-agent-refs/phases/phase-3-review.md +45 -79
- package/pipeline/multi-agent-refs/phases/phase-4-commit.md +28 -38
- package/pipeline/multi-agent-refs/phases/phase-5-report.md +27 -25
- package/pipeline/multi-agent-refs/phases.md +1 -1
- package/pipeline/multi-agent-refs/picker-contract.md +1 -1
- package/pipeline/multi-agent-refs/progress-contract.md +13 -16
- package/pipeline/multi-agent-refs/readiness-review.md +1 -1
- package/pipeline/multi-agent-refs/research/engine.md +91 -0
- package/pipeline/multi-agent-refs/rules.md +6 -4
- package/pipeline/multi-agent-refs/setup/repo-discovery.md +2 -2
- package/pipeline/multi-agent-refs/tracker-contract.md +2 -2
- package/pipeline/multi-agent-refs/unattended-contract.md +68 -16
- package/pipeline/rules/figma-pipeline.md +12 -12
- package/pipeline/schemas/agent-state.schema.json +480 -18
- package/pipeline/schemas/analysis-spec.schema.json +4 -4
- package/pipeline/schemas/answer-request.schema.json +24 -0
- package/pipeline/schemas/answer-result.schema.json +28 -0
- package/pipeline/schemas/autopilot-config.schema.json +111 -13
- package/pipeline/schemas/command-parameters.schema.json +99 -0
- package/pipeline/schemas/constitution.schema.json +56 -0
- package/pipeline/schemas/contract-error.schema.json +52 -0
- package/pipeline/schemas/design-check-config.schema.json +5 -1
- package/pipeline/schemas/issues.schema.json +61 -0
- package/pipeline/schemas/launch-plan.schema.json +46 -0
- package/pipeline/schemas/launch-request.schema.json +45 -0
- package/pipeline/schemas/launch.json +61 -0
- package/pipeline/schemas/launch.schema.json +84 -0
- package/pipeline/schemas/phases.json +2 -2
- package/pipeline/schemas/phases.schema.json +68 -0
- package/pipeline/schemas/phone-devices.schema.json +61 -0
- package/pipeline/schemas/phone-signed-request.schema.json +67 -0
- package/pipeline/schemas/plan-critique.schema.json +99 -0
- package/pipeline/schemas/plan-todos.schema.json +7 -7
- package/pipeline/schemas/planning-output.schema.json +5 -0
- package/pipeline/schemas/pr-request.schema.json +46 -0
- package/pipeline/schemas/prefs.schema.json +79 -8
- package/pipeline/schemas/research-output.schema.json +118 -0
- package/pipeline/schemas/review-file-exclusions.schema.json +25 -0
- package/pipeline/schemas/reviewer-output.schema.json +40 -4
- package/pipeline/schemas/run-questions.json +392 -0
- package/pipeline/schemas/run-questions.schema.json +118 -0
- package/pipeline/schemas/runs-index.schema.json +189 -0
- package/pipeline/schemas/scaffold-manifest.schema.json +43 -0
- package/pipeline/schemas/secret-patterns.schema.json +28 -0
- package/pipeline/schemas/stack-adapters.json +527 -0
- package/pipeline/schemas/stack-adapters.schema.json +184 -0
- package/pipeline/schemas/token-budget.json +1 -1
- package/pipeline/schemas/token-budget.schema.json +26 -0
- package/pipeline/schemas/triage-output.schema.json +64 -3
- package/pipeline/schemas/unattended-policy.json +139 -0
- package/pipeline/schemas/unattended-policy.schema.json +73 -0
- package/pipeline/schemas/unattended-profile.json +248 -0
- package/pipeline/schemas/unattended-profile.schema.json +198 -0
- package/pipeline/schemas/worktrees.schema.json +51 -0
- package/pipeline/scripts/README.md +1 -0
- package/pipeline/scripts/_autopilot-config.mjs +130 -0
- package/pipeline/scripts/_autopilot-ops.mjs +567 -0
- package/pipeline/scripts/_autopilot-outcomes.mjs +174 -0
- package/pipeline/scripts/_command-contract.mjs +384 -0
- package/pipeline/scripts/_cost.mjs +40 -0
- package/pipeline/scripts/_notices.mjs +160 -0
- package/pipeline/scripts/_phone-auth.mjs +485 -0
- package/pipeline/scripts/_pre-existing.mjs +294 -0
- package/pipeline/scripts/_redact.mjs +77 -0
- package/pipeline/scripts/_run-paths.mjs +4 -2
- package/pipeline/scripts/_stack-adapter.mjs +678 -0
- package/pipeline/scripts/_stack-routing.mjs +1 -1
- package/pipeline/scripts/agent-guard.py +348 -37
- package/pipeline/scripts/agent-guard.sh +41 -13
- package/pipeline/scripts/analysis-story-tree.mjs +79 -3
- package/pipeline/scripts/answer-question.mjs +181 -0
- package/pipeline/scripts/audit-log-rotate.sh +1 -4
- package/pipeline/scripts/audit-log.sh +4 -4
- package/pipeline/scripts/autopilot-arming.mjs +389 -21
- package/pipeline/scripts/autopilot-awake.mjs +255 -0
- package/pipeline/scripts/autopilot-intake.mjs +137 -36
- package/pipeline/scripts/autopilot-menubar.swift +156 -44
- package/pipeline/scripts/autopilot-publish.mjs +1625 -0
- package/pipeline/scripts/autopilot-runner.mjs +1678 -222
- package/pipeline/scripts/autopilot-status.sh +198 -33
- package/pipeline/scripts/build-lock.sh +120 -0
- package/pipeline/scripts/build-references.mjs +4 -1
- package/pipeline/scripts/build-stack-plugins.mjs +59 -22
- package/pipeline/scripts/capture-flush.sh +1 -1
- package/pipeline/scripts/capture-resume.sh +13 -9
- package/pipeline/scripts/check-derived-drift.mjs +52 -11
- package/pipeline/scripts/commands.mjs +88 -0
- package/pipeline/scripts/constitution.mjs +362 -0
- package/pipeline/scripts/contract-server.mjs +776 -0
- package/pipeline/scripts/cost-analyze.mjs +89 -39
- package/pipeline/scripts/diff-explain.mjs +12 -1
- package/pipeline/scripts/doctor.mjs +77 -28
- package/pipeline/scripts/evidence-gate.mjs +192 -12
- package/pipeline/scripts/feedback-send.mjs +4 -2
- package/pipeline/scripts/gate-ledger.mjs +449 -0
- package/pipeline/scripts/gc-abandoned.sh +132 -13
- package/pipeline/scripts/gen-facts.mjs +31 -15
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/github-ssh-setup.sh +140 -29
- package/pipeline/scripts/graph-mermaid.mjs +4 -1
- package/pipeline/scripts/issues.mjs +236 -0
- package/pipeline/scripts/jira-attach.sh +6 -2
- package/pipeline/scripts/jira-search.sh +4 -3
- package/pipeline/scripts/keychain-save.sh +125 -24
- package/pipeline/scripts/keychain.py +63 -93
- package/pipeline/scripts/launch-request.mjs +747 -0
- package/pipeline/scripts/localize-commands.mjs +4 -10
- package/pipeline/scripts/log-metric.sh +6 -5
- package/pipeline/scripts/maturity-followup.mjs +13 -4
- package/pipeline/scripts/memory-save.sh +25 -0
- package/pipeline/scripts/migrate-prefs.mjs +4 -3
- package/pipeline/scripts/open-questions-gate.mjs +276 -0
- package/pipeline/scripts/phase-tracker.sh +41 -27
- package/pipeline/scripts/phase0-exit-gate.mjs +22 -4
- package/pipeline/scripts/phone-devices.mjs +224 -0
- package/pipeline/scripts/plan-coverage-gate.mjs +200 -66
- package/pipeline/scripts/plan-critique-gate.mjs +591 -0
- package/pipeline/scripts/pr-request.mjs +188 -0
- package/pipeline/scripts/pre-commit-check.sh +115 -4
- package/pipeline/scripts/probe-evidence-capability.sh +44 -5
- package/pipeline/scripts/record-phase.mjs +71 -0
- package/pipeline/scripts/render-agent-log-cost.sh +17 -2
- package/pipeline/scripts/render-cost-summary.sh +1 -1
- package/pipeline/scripts/render-work-summary.sh +1 -1
- package/pipeline/scripts/require-supported-version.sh +4 -1
- package/pipeline/scripts/research-gate.mjs +704 -0
- package/pipeline/scripts/review-decision-gate.mjs +403 -0
- package/pipeline/scripts/routine-registry.mjs +5 -2
- package/pipeline/scripts/runs-index.mjs +135 -27
- package/pipeline/scripts/scaffold-gate.mjs +393 -0
- package/pipeline/scripts/skill-conformance.mjs +25 -8
- package/pipeline/scripts/skill-siblings.mjs +2 -1
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +32 -6
- package/pipeline/scripts/smoke-schema-validation.sh +6 -2
- package/pipeline/scripts/spec-consistency-gate.mjs +469 -0
- package/pipeline/scripts/symbol-existence-gate.mjs +450 -0
- package/pipeline/scripts/test-gap-scan.mjs +40 -2
- package/pipeline/scripts/test-integrity-gate.mjs +20 -4
- package/pipeline/scripts/test-strength.mjs +484 -0
- package/pipeline/scripts/test-summary.mjs +651 -0
- package/pipeline/scripts/triage-memory.mjs +49 -9
- package/pipeline/scripts/unattended_policy.py +2786 -0
- package/pipeline/scripts/uninstall.mjs +10 -10
- package/pipeline/scripts/update-issue-progress.sh +1 -1
- package/pipeline/scripts/usage-identity.mjs +288 -0
- package/pipeline/scripts/usage-register.mjs +185 -65
- package/pipeline/scripts/usage-report.mjs +230 -66
- package/pipeline/scripts/validate-complaint-doc.mjs +28 -10
- package/pipeline/scripts/validate-planning.mjs +6 -0
- package/pipeline/scripts/verify-citations.mjs +151 -38
- package/pipeline/scripts/verify.mjs +58 -18
- package/pipeline/scripts/worktree-prepare.sh +126 -0
- package/pipeline/scripts/worktrees.mjs +124 -0
- package/pipeline/scripts/write-state.mjs +48 -17
- package/pipeline/skills/.skill-manifest.json +222 -226
- package/pipeline/skills/.skills-index.json +77 -88
- package/pipeline/skills/shared/README.md +44 -45
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +3 -2
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +10 -9
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +6 -5
- package/pipeline/skills/shared/core/multi-agent-analysis-jira/SKILL.md +11 -3
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +4 -3
- package/pipeline/skills/shared/core/multi-agent-autopilot-off/SKILL.md +32 -6
- package/pipeline/skills/shared/core/multi-agent-autopilot-on/SKILL.md +66 -8
- package/pipeline/skills/shared/core/multi-agent-autopilot-status/SKILL.md +27 -9
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +7 -4
- package/pipeline/skills/shared/core/multi-agent-complaint-analysis/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +7 -5
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-doctor/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent-feedback/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-ios-coding-standard/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +7 -4
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-model/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-prune-prompts/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-research/SKILL.md +35 -0
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +7 -3
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +7 -5
- package/pipeline/skills/shared/core/multi-agent-review-analysis/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-route-off/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-route-on/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-route-status/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent-scaffold/SKILL.md +30 -0
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +4 -3
- package/pipeline/skills/shared/core/multi-agent-security-review/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-serve/SKILL.md +60 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +8 -8
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +7 -8
- package/pipeline/skills/shared/core/multi-agent-steer/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-store-ready/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +10 -10
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-test-accessibility/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-test-dark-mode/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-test-dynamic-type/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-test-screenshots/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-testflight-validation/SKILL.md +2 -1
- package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +3 -2
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +2 -1
- package/pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md +46 -0
- package/pipeline/skills/shared/external/NOTICE-dimillian-skills.md +9 -3
- package/pipeline/skills/shared/external/NOTICE-paul-hudson-skills.md +54 -0
- package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +9 -11
- package/pipeline/skills/shared/external/NOTICE-vibeship-spawner-skills.md +203 -0
- package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +10 -3
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +131 -25
- package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -3
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +2 -1
- package/pipeline/skills/shared/external/android-architecture/SKILL.md +85 -76
- package/pipeline/skills/shared/external/android-build-quality-gates/SKILL.md +51 -3
- package/pipeline/skills/shared/external/android-build-quality-gates/references/patterns.md +9 -0
- package/pipeline/skills/shared/external/android-datastore/SKILL.md +4 -3
- package/pipeline/skills/shared/external/android-design-tokens-codegen/SKILL.md +4 -3
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +106 -181
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/references/patterns.md +147 -0
- package/pipeline/skills/shared/external/android-mvi-viewmodel/SKILL.md +45 -4
- package/pipeline/skills/shared/external/android-performance/SKILL.md +27 -2
- package/pipeline/skills/shared/external/android-performance/references/patterns.md +37 -37
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +111 -67
- package/pipeline/skills/shared/external/api-patterns/references/contract-details.md +128 -0
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +136 -186
- package/pipeline/skills/shared/external/api-security-best-practices/references/abuse-controls.md +140 -0
- package/pipeline/skills/shared/external/api-security-best-practices/references/identity-and-access.md +207 -0
- package/pipeline/skills/shared/external/api-security-best-practices/references/operations.md +66 -0
- package/pipeline/skills/shared/external/api-security-best-practices/references/request-handling.md +175 -0
- package/pipeline/skills/shared/external/app-clips/SKILL.md +2 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +2 -0
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +4 -3
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +2 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +2 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +2 -0
- package/pipeline/skills/shared/external/architecture/SKILL.md +106 -39
- package/pipeline/skills/shared/external/architecture/references/adr-and-review.md +76 -0
- package/pipeline/skills/shared/external/authentication/SKILL.md +2 -0
- package/pipeline/skills/shared/external/avkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +2 -1
- package/pipeline/skills/shared/external/backlog/SKILL.md +3 -2
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +2 -0
- package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +3 -2
- package/pipeline/skills/shared/external/clean-code/SKILL.md +192 -90
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +2 -1
- package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/compose-components/SKILL.md +4 -4
- package/pipeline/skills/shared/external/compose-navigation/SKILL.md +22 -22
- package/pipeline/skills/shared/external/compose-navigation/references/patterns.md +10 -10
- package/pipeline/skills/shared/external/compose-testing/SKILL.md +13 -6
- package/pipeline/skills/shared/external/compose-testing/references/patterns.md +59 -59
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +2 -0
- package/pipeline/skills/shared/external/context-compression/SKILL.md +118 -250
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +2 -0
- package/pipeline/skills/shared/external/core-data/SKILL.md +2 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +2 -0
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +2 -0
- package/pipeline/skills/shared/external/coreml/SKILL.md +2 -1
- package/pipeline/skills/shared/external/council/SKILL.md +2 -1
- package/pipeline/skills/shared/external/cryptokit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +3 -2
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +2 -0
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +130 -20
- package/pipeline/skills/shared/external/debugging-strategies/references/hard-cases.md +54 -0
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +2 -0
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +137 -381
- package/pipeline/skills/shared/external/docker-expert/references/patterns.md +98 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +2 -1
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +3 -1
- package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +2 -2
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +116 -185
- package/pipeline/skills/shared/external/fastapi-pro/references/app-structure.md +235 -0
- package/pipeline/skills/shared/external/fastapi-pro/references/testing-and-deployment.md +69 -0
- package/pipeline/skills/shared/external/firebase/SKILL.md +4 -3
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +151 -293
- package/pipeline/skills/shared/external/github-actions-templates/references/patterns.md +96 -0
- package/pipeline/skills/shared/external/healthkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +69 -72
- package/pipeline/skills/shared/external/hig-components-content/references/content-views.md +111 -0
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +77 -86
- package/pipeline/skills/shared/external/hig-components-layout/references/containers.md +98 -0
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +150 -78
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +76 -97
- package/pipeline/skills/shared/external/hig-components-system/references/surfaces.md +98 -0
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +48 -76
- package/pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md +132 -0
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +147 -106
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +61 -77
- package/pipeline/skills/shared/external/hig-patterns/references/patterns.md +92 -0
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +147 -77
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +61 -121
- package/pipeline/skills/shared/external/hig-technologies/references/technologies.md +108 -0
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +2 -0
- package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +3 -2
- package/pipeline/skills/shared/external/humanizer/SKILL.md +2 -1
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +2 -0
- package/pipeline/skills/shared/external/ios-coding-standard/SKILL.md +2 -1
- package/pipeline/skills/shared/external/ios-coding-standard/references/STANDARD.md +14 -2
- package/pipeline/skills/shared/external/ios-coding-standard/references/rules.yml +2 -2
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +4 -3
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +8 -6
- package/pipeline/skills/shared/external/ios-localization/evals/evals.json +2 -2
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +11 -11
- package/pipeline/skills/shared/external/ios-module-structure/SKILL.md +2 -1
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +2 -0
- package/pipeline/skills/shared/external/ios-simulator/SKILL.md +2 -0
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +102 -193
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/references/patterns.md +103 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +4 -2
- package/pipeline/skills/shared/external/live-activities/evals/evals.json +2 -2
- package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +7 -9
- package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +3 -3
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +2 -2
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +4 -3
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +5 -3
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +2 -0
- package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +2 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +149 -46
- package/pipeline/skills/shared/external/monorepo-architect/references/patterns.md +70 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +2 -0
- package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/natural-language/SKILL.md +2 -0
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +3 -2
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +91 -21
- package/pipeline/skills/shared/external/nodejs-backend-patterns/references/runtime-patterns.md +247 -0
- package/pipeline/skills/shared/external/nodejs-backend-patterns/references/testing-and-frameworks.md +57 -0
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +155 -232
- package/pipeline/skills/shared/external/observability-engineer/references/patterns.md +75 -0
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +2 -0
- package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +2 -2
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +18 -18
- package/pipeline/skills/shared/external/pdfkit/SKILL.md +2 -1
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +2 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +2 -1
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +2 -0
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +3 -2
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +3 -2
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +2 -2
- package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +3 -2
- package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +7 -7
- package/pipeline/skills/shared/external/retrofit-networking/references/patterns.md +69 -69
- package/pipeline/skills/shared/external/room-database/references/patterns.md +126 -126
- package/pipeline/skills/shared/external/search-first/SKILL.md +2 -1
- package/pipeline/skills/shared/external/security-review/SKILL.md +4 -3
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +2 -2
- package/pipeline/skills/shared/external/signal-community/SKILL.md +1 -1
- package/pipeline/skills/shared/external/skill-creator/SKILL.md +2 -1
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +2 -1
- package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +2 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swift-architecture/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +3 -1
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +5 -4
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +3 -1
- package/pipeline/skills/shared/external/swift-security/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +10 -0
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swiftlint/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +3 -1
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +3 -1
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +3 -1
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +5 -4
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -1
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +5 -4
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +2 -0
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +4 -3
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +3 -2
- package/pipeline/skills/shared/external/tipkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +3 -2
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +2 -0
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +3 -2
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +3 -2
- package/pipeline/skills/shared/external/web-performance/SKILL.md +3 -2
- package/pipeline/skills/shared/external/web-testing/SKILL.md +3 -2
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +2 -0
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +1 -1
- package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +2 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +2 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +2 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +2 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +2 -0
- package/pipeline/skills/skills-index.md +40 -41
- package/docs/token-budget-history.md +0 -24
- package/pipeline/skills/shared/external/agentflow/SKILL.md +0 -199
- package/pipeline/skills/shared/external/android-ui-verification/SKILL.md +0 -66
- package/pipeline/skills/shared/external/api-security-best-practices/references/auth.md +0 -299
- package/pipeline/skills/shared/external/api-security-best-practices/references/input-validation.md +0 -255
- package/pipeline/skills/shared/external/api-security-best-practices/references/rate-limiting.md +0 -167
- package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +0 -116
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +0 -216
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Start the local contract server a client (the macOS toolbox, a web page) reads runs, commands, questions, issues and worktrees from, on 127.0.0.1 behind a per-start token. It stops by itself after 15 idle minutes. Use when a client asks for the HTTP carrier instead of the CLI."
|
|
3
|
+
description-tr: "Bir istemcinin (macOS toolbox, bir web sayfası) run, komut, soru, issue ve worktree okuduğu yerel sözleşme sunucusunu 127.0.0.1 üzerinde, her başlatmada yeni bir token ile başlatır. 15 dakika boşta kalınca kendiliğinden durur."
|
|
4
|
+
allowed-tools: Bash, Read
|
|
5
|
+
argument-hint: "[--port <n>] [--idle-minutes <n>] [--allow-origin <origin>] [--print-token] - all optional, --allow-origin may repeat; binds 127.0.0.1 only"
|
|
6
|
+
parameters: [{"name":"--port","kind":"text"},{"name":"--idle-minutes","kind":"text"},{"name":"--allow-origin","kind":"text","repeat":true},{"name":"--print-token","kind":"flag"}]
|
|
7
|
+
gui: hidden
|
|
8
|
+
destructive: false
|
|
9
|
+
confirm: none
|
|
10
|
+
not-for: status, autopilot-on
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# multi-agent serve - the contract over HTTP, on demand
|
|
14
|
+
|
|
15
|
+
**Input**: $ARGUMENTS
|
|
16
|
+
|
|
17
|
+
Starts `contract-server.mjs`: the same JSON the CLI prints (`runs-index.mjs`,
|
|
18
|
+
`commands.mjs`, `issues.mjs`, `worktrees.mjs`, `launch-request.mjs`,
|
|
19
|
+
`answer-question.mjs`), served over HTTP on `127.0.0.1` for a client that would
|
|
20
|
+
rather hold a socket than spawn a process per read. Routes, schemas and the
|
|
21
|
+
versioning rule are in the package's `pipeline/contract/README.md` and
|
|
22
|
+
`manifest.json`.
|
|
23
|
+
|
|
24
|
+
It is never a service. It runs until 15 minutes pass without a request
|
|
25
|
+
(`--idle-minutes`) or it gets SIGTERM, and removes its token file either way.
|
|
26
|
+
|
|
27
|
+
## Start it
|
|
28
|
+
|
|
29
|
+
Run it in the background (it keeps running), then read its first stdout line:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node "$HOME/.claude/scripts/contract-server.mjs" $ARGUMENTS
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The ready line is one JSON object: `url`, `port`, `pid`, `tokenFile`,
|
|
36
|
+
`idleMinutes`. Report `url`, `pid` and `tokenFile` in `outputLanguage`.
|
|
37
|
+
|
|
38
|
+
- **Never print the token**, and do not pass `--print-token` yourself: it puts
|
|
39
|
+
the token on stdout, which lands in this transcript. It exists for a client
|
|
40
|
+
that spawns the server as its own child. The token is in `tokenFile` (0600).
|
|
41
|
+
- `--host` accepts only `127.0.0.1`; anything else (0.0.0.0, ::, a LAN address)
|
|
42
|
+
exits 2. Say so rather than retrying another address.
|
|
43
|
+
- `--allow-origin` is for a browser page the user named; without it no Origin
|
|
44
|
+
is accepted. A request that carries an Origin is always served redacted.
|
|
45
|
+
|
|
46
|
+
## Stop it
|
|
47
|
+
|
|
48
|
+
Send SIGTERM to the `pid` from the ready line, and only that pid:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
kill -TERM <pid>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Or leave it: it exits on its own when idle.
|
|
55
|
+
|
|
56
|
+
## What it will not do
|
|
57
|
+
|
|
58
|
+
There is no route that merges, marks ready, runs a command or starts a host.
|
|
59
|
+
`POST /v1/launch` validates a launch request, writes it (0600) and returns the
|
|
60
|
+
argv and environment `launch.json` declares; the client starts the process.
|
|
61
|
+
`POST /v1/runs/{id}/answer` accepts only an option the run's pending question
|
|
62
|
+
offered.
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "First-run setup wizard: keychain token discovery, Git Identity onboarding, and pipeline preparation. Use when the pipeline is being set up for the first time, or tokens and git identity need onboarding."
|
|
3
3
|
description-tr: "İlk kurulum sihirbazı: keychain token keşfi, Git Identity kaydı ve pipeline hazırlığı."
|
|
4
|
+
argument-hint: "[jira-keys | hosts | accounts] - optional; no argument runs the whole onboarding"
|
|
5
|
+
parameters: [{"name":"section","kind":"enum","enum":["jira-keys","hosts","accounts"]}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
4
9
|
allowed-tools: Bash, Read, Write, AskUserQuestion, WebFetch
|
|
5
10
|
---
|
|
6
11
|
|
|
@@ -10,26 +15,15 @@ allowed-tools: Bash, Read, Write, AskUserQuestion, WebFetch
|
|
|
10
15
|
node "$HOME/.claude/scripts/doctor.mjs"
|
|
11
16
|
```
|
|
12
17
|
|
|
13
|
-
Run it before the first question and again at the end. The first run turns setup
|
|
14
|
-
from a fixed script into a targeted one: there is no point asking for a token
|
|
15
|
-
that is already mapped and answering. The second run is the only honest way to
|
|
16
|
-
end - "setup complete" is a claim, and the doctor's exit code is the evidence for
|
|
17
|
-
or against it. Report both in `outputLanguage`, and if the second run still shows
|
|
18
|
-
a BLOCK, say so plainly rather than closing on the word "complete".
|
|
18
|
+
Run it before the first question and again at the end. The first run turns setup from a fixed script into a targeted one: there is no point asking for a token that is already mapped and answering. The second run is the only honest way to end - "setup complete" is a claim, and the doctor's exit code is the evidence for or against it. Report both in `outputLanguage`, and if the second run still shows a BLOCK, say so plainly rather than closing on the word "complete".
|
|
19
19
|
|
|
20
20
|
## Setup (Credential Store + Git Identity Onboarding)
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Uses `$HOME/.claude/lib/credential-store.sh` to read/write secrets in the macOS Keychain (`security`, built in). The pipeline is macOS only (ADR-0012).
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|----------|---------|-----------|
|
|
26
|
-
| macOS | Keychain (`security`) | Yes |
|
|
27
|
-
| Windows | Credential Manager (PowerShell `CredentialManager` module) | Module install required |
|
|
28
|
-
| Linux | libsecret (`secret-tool`) | Distro package required |
|
|
24
|
+
Run `~/.claude/lib/credential-store.sh doctor` first - it prints the platform and whether the backend is usable.
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
On macOS and Linux the shell driver auto-delegates `get`/`set`/`delete` to the deterministic Python helper at `$HOME/.claude/scripts/keychain.py` (Python 3 stdlib only, no external deps). The Python path writes both `-l` (label) and `-s` (service) attributes so items are findable regardless of how callers look them up. Set `KEYCHAIN_DELEGATE=0` to force the raw shell path.
|
|
26
|
+
The shell driver auto-delegates `get`/`set`/`delete` to the deterministic Python helper at `$HOME/.claude/scripts/keychain.py` (Python 3 stdlib only, no external deps). The Python path writes both `-l` (label) and `-s` (service) attributes so items are findable regardless of how callers look them up. Set `KEYCHAIN_DELEGATE=0` to force the raw shell path.
|
|
33
27
|
|
|
34
28
|
### Step 0 - Language Selection
|
|
35
29
|
|
|
@@ -85,10 +79,8 @@ command -v pdftotext >/dev/null 2>&1 || echo "pdftotext: MISSING"
|
|
|
85
79
|
| Output | Action |
|
|
86
80
|
|--------|--------|
|
|
87
81
|
| `Backend: ✓` | Continue to Step 1 |
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
| Platform `unknown` | Halt - credential storage cannot proceed. |
|
|
91
|
-
| `pdftotext: MISSING` | Advisory. Print `brew install poppler` (or distro equivalent), continue. `.docx` needs nothing. |
|
|
82
|
+
| Platform `unknown` or `ERR: macOS only` | Halt - the pipeline runs on macOS only (ADR-0012). |
|
|
83
|
+
| `pdftotext: MISSING` | Advisory. Print `brew install poppler`, continue. `.docx` needs nothing. |
|
|
92
84
|
|
|
93
85
|
### Credential Key Naming Rule
|
|
94
86
|
|
|
@@ -97,7 +89,7 @@ command -v pdftotext >/dev/null 2>&1 || echo "pdftotext: MISSING"
|
|
|
97
89
|
|
|
98
90
|
### Step 1 - Dynamic Credential Discovery
|
|
99
91
|
|
|
100
|
-
Instead of checking only hardcoded key names, discover ALL user keys and intelligently map them to services. Uses
|
|
92
|
+
Instead of checking only hardcoded key names, discover ALL user keys and intelligently map them to services. Uses `credential-store.sh list`:
|
|
101
93
|
|
|
102
94
|
**1a. Discover all keys:**
|
|
103
95
|
```bash
|
|
@@ -223,7 +215,8 @@ git or any synced tree - under the standard per-user name, so it is revocable on
|
|
|
223
215
|
its own:
|
|
224
216
|
|
|
225
217
|
```bash
|
|
226
|
-
~/.claude/lib/credential-store.sh set "${USER}_Usage_Ingest_Token"
|
|
218
|
+
pbpaste | ~/.claude/lib/credential-store.sh set "${USER}_Usage_Ingest_Token" -
|
|
219
|
+
pbcopy < /dev/null
|
|
227
220
|
```
|
|
228
221
|
|
|
229
222
|
Then, **whether they pasted or skipped**, run:
|
|
@@ -347,11 +340,11 @@ For PAT / API key / username:
|
|
|
347
340
|
|
|
348
341
|
Pipeline runs silently - value is piped via stdin (`-` sentinel) so it never lands on argv / shell history:
|
|
349
342
|
```bash
|
|
350
|
-
pbpaste | ~/.claude/lib/credential-store.sh set "<KEY_NAME>"
|
|
343
|
+
pbpaste | ~/.claude/lib/credential-store.sh set "<KEY_NAME>" -
|
|
351
344
|
pbcopy < /dev/null
|
|
352
345
|
```
|
|
353
346
|
|
|
354
|
-
(The shell driver auto-delegates to `~/.claude/scripts/keychain.py
|
|
347
|
+
(The shell driver auto-delegates to `~/.claude/scripts/keychain.py`, which writes both `-l` (label) and `-s` (service) attributes so callers using either convention find the same entry.)
|
|
355
348
|
|
|
356
349
|
For JSON file (Firebase) - same clipboard flow, JSON content never lands in argv or shell history:
|
|
357
350
|
```
|
|
@@ -364,12 +357,10 @@ For JSON file (Firebase) - same clipboard flow, JSON content never lands in ar
|
|
|
364
357
|
|
|
365
358
|
Pipeline runs silently:
|
|
366
359
|
```bash
|
|
367
|
-
pbpaste | ~/.claude/lib/credential-store.sh set "<KEY_NAME>"
|
|
360
|
+
pbpaste | ~/.claude/lib/credential-store.sh set "<KEY_NAME>" -
|
|
368
361
|
pbcopy < /dev/null # clear clipboard
|
|
369
362
|
```
|
|
370
363
|
|
|
371
|
-
Linux substitutes: `xclip -selection clipboard -o` or `wl-paste` for `pbpaste`; matching clear command for `pbcopy < /dev/null`. The shell driver detects platform and routes accordingly (see `~/.claude/lib/credential-store.sh`).
|
|
372
|
-
|
|
373
364
|
**Firebase repeats per project.** Teams own several Firebase projects (legacy plus redesign, staging plus prod), each with its own key, and a crash URL from the second one used to fail the `project_id` check as if it were misconfigured. After each saved key, read `project_id` from the stored JSON (never ask) and offer another round: `Saved: <project_id>. Add another Firebase project? [y/N]`.
|
|
374
365
|
|
|
375
366
|
- Every key appends `{projectId, keychainKey, label?}` to `prefs.global.firebase.accounts`; the first one also fills `keychainMapping.firebase`, so a one-project setup is unchanged.
|
|
@@ -598,10 +589,10 @@ Auto-skipped if Step 5 was skipped or fewer than 2 repos were selected.
|
|
|
598
589
|
**Prompt:**
|
|
599
590
|
```
|
|
600
591
|
Step 6 - Remember as a multi-repo group (optional)
|
|
601
|
-
You picked 2 repos:
|
|
592
|
+
You picked 2 repos: Checkout, UIComponents.
|
|
602
593
|
|
|
603
594
|
Save this combo for one-tap selection in Phase 0?
|
|
604
|
-
Group name (Enter for auto): [
|
|
595
|
+
Group name (Enter for auto): [Checkout + UIComponents]
|
|
605
596
|
Skip with 'n'.
|
|
606
597
|
```
|
|
607
598
|
|
|
@@ -619,8 +610,8 @@ Repo identifiers in the label are the human label from `recentProjects` (basenam
|
|
|
619
610
|
"global": {
|
|
620
611
|
"recentGroups": [
|
|
621
612
|
{
|
|
622
|
-
"label": "
|
|
623
|
-
"repos": ["~/dev/
|
|
613
|
+
"label": "Checkout + UIComponents",
|
|
614
|
+
"repos": ["~/dev/Checkout", "~/dev/UIComponents"],
|
|
624
615
|
"count": 1,
|
|
625
616
|
"lastUsed": "2026-04-15T21:08:00Z"
|
|
626
617
|
}
|
|
@@ -702,7 +693,7 @@ Glob matching semantics (Phase 0 implementation):
|
|
|
702
693
|
|
|
703
694
|
### Cross-Platform Notes (Step 1-9)
|
|
704
695
|
|
|
705
|
-
Every read and write goes through `~/.claude/lib/credential-store.sh`, which
|
|
696
|
+
Every read and write goes through `~/.claude/lib/credential-store.sh`, which wraps the macOS Keychain; stay on the helper rather than calling `security` directly. The clipboard handling and what happens when no backend exists: `$HOME/.claude/multi-agent-refs/keychain.md` "Credential store mechanics".
|
|
706
697
|
|
|
707
698
|
### Token -> Source Mapping
|
|
708
699
|
|
|
@@ -710,22 +701,22 @@ Standard key names are a convention for NEW tokens; discovery may find existing
|
|
|
710
701
|
|
|
711
702
|
### Inline Token Save Pattern
|
|
712
703
|
|
|
713
|
-
All tokens go through `~/.claude/lib/credential-store.sh`, which auto-delegates to the deterministic Python helper (`~/.claude/scripts/keychain.py`)
|
|
704
|
+
All tokens go through `~/.claude/lib/credential-store.sh`, which auto-delegates to the deterministic Python helper (`~/.claude/scripts/keychain.py`). The Python path writes both `-l` (label) and `-s` (service) attributes so existing manually-added entries with either convention remain findable.
|
|
714
705
|
|
|
715
706
|
```bash
|
|
716
707
|
# PAT / API Key (from clipboard)
|
|
717
|
-
pbpaste | ~/.claude/lib/credential-store.sh set "<SERVICE_NAME>"
|
|
708
|
+
pbpaste | ~/.claude/lib/credential-store.sh set "<SERVICE_NAME>" -
|
|
718
709
|
pbcopy < /dev/null # clear clipboard
|
|
719
710
|
|
|
720
|
-
#
|
|
711
|
+
# Non-secret value typed inline (a secret on argv is visible to ps and lands in shell history)
|
|
721
712
|
~/.claude/lib/credential-store.sh set "<SERVICE_NAME>" "<VALUE>"
|
|
722
713
|
|
|
723
714
|
# JSON file from clipboard (preferred - no file path leaks into history)
|
|
724
|
-
pbpaste | ~/.claude/lib/credential-store.sh set "<SERVICE_NAME>"
|
|
715
|
+
pbpaste | ~/.claude/lib/credential-store.sh set "<SERVICE_NAME>" -
|
|
725
716
|
pbcopy < /dev/null
|
|
726
717
|
|
|
727
718
|
# JSON file from disk (fallback when clipboard backend unavailable)
|
|
728
|
-
~/.claude/lib/credential-store.sh set "<SERVICE_NAME>"
|
|
719
|
+
~/.claude/lib/credential-store.sh set "<SERVICE_NAME>" - < /path/to/file.json
|
|
729
720
|
|
|
730
721
|
# Read - a JSON value comes back exactly as it was stored, newlines included
|
|
731
722
|
~/.claude/lib/credential-store.sh get "<SERVICE_NAME>"
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "Select the active stack(s) for this repo by enabling the matching marketplace plugin(s) in .claude/settings.json. Multi-select: pass several stacks (ios backend) or pick them in the native picker. Use when a repo's stack changed or the wrong plugins are enabled for it."
|
|
3
3
|
description-tr: "Bu repo için aktif stack'leri seçer: eşleşen marketplace plugin'lerini .claude/settings.json'da etkinleştirir. Çoklu seçim: birden fazla stack yazılabilir (ios backend) ya da native picker'dan seçilir."
|
|
4
4
|
argument-hint: "[ios|android|web|frontend|backend|mobile|fullstack|all ...]"
|
|
5
|
+
parameters: [{"name":"stacks","kind":"enum","repeat":true,"enum":["ios","android","web","frontend","backend","mobile","fullstack","all"]}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
allowed-tools: Bash, Read, Edit, Write, AskUserQuestion
|
|
6
10
|
---
|
|
7
11
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Show every multi-agent task's ID, phase, branch, and status. Use when asked what is running, or for an overview of every task."
|
|
3
3
|
description-tr: "Tüm multi-agent görevlerinin ID, faz, branch ve durumunu gösterir."
|
|
4
|
+
parameters: []
|
|
5
|
+
gui: button
|
|
6
|
+
destructive: false
|
|
7
|
+
confirm: none
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# multi-agent status - Task Status Dashboard
|
|
@@ -21,11 +25,9 @@ Show every active and completed task as a table.
|
|
|
21
25
|
so it sees both directory layouts (`<project>/<id>/` and the flat `<id>/`),
|
|
22
26
|
the salvaged `artifacts/` copy Phase 4 leaves behind, and every spelling of a
|
|
23
27
|
task id - and it counts a run that exists in both layouts once. Do NOT
|
|
24
|
-
re-scan the tree by hand:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
others. It also scanned worktrees for `agent-state.json`, which Phase 0 has
|
|
28
|
-
never written there ("never inside the worktree", `phases/phase-0-init.md`).
|
|
28
|
+
re-scan the tree by hand: fixed `.worktrees/` paths and a single `find`
|
|
29
|
+
depth miss runs and double-count others, and `agent-state.json` never lives
|
|
30
|
+
inside a worktree (`phases/phase-0-init.md`).
|
|
29
31
|
|
|
30
32
|
The JSON and the table are rendered from the same records, so a dashboard and
|
|
31
33
|
this command cannot disagree.
|
|
@@ -37,14 +39,13 @@ Show every active and completed task as a table.
|
|
|
37
39
|
|
|
38
40
|
3. **Groups are computed, not judged.** `runs-index.mjs` assigns `group` by the
|
|
39
41
|
table below; report what it returns rather than re-deriving it. `in_progress`
|
|
40
|
-
alone cannot tell a run that is waiting for you from one that died
|
|
41
|
-
this machine that difference covered 21 runs.
|
|
42
|
+
alone cannot tell a run that is waiting for you from one that died.
|
|
42
43
|
|
|
43
44
|
| Group | Test | Action offered |
|
|
44
45
|
|---|---|---|
|
|
45
|
-
| `waiting` - Waiting on you | `status == "awaiting_input"`, or a `pr.url`, or phase >= 4 | `resume #N` - the work landed, it needs your answer |
|
|
46
|
+
| `waiting` - Waiting on you | `status == "awaiting_input"`, or `waitingFor` set, or a `pr.url`, or phase >= 4 | `resume #N` - the work landed, it needs your answer |
|
|
46
47
|
| `stopped` - Stopped mid-development | anything else past phase 0 | `resume #N` or `kill #N` |
|
|
47
|
-
| `question` - Left at a question | phase 0 | `garbage-collect --abandoned` - nothing was built |
|
|
48
|
+
| `question` - Left at a question | phase 0, nothing pending | `garbage-collect --abandoned` - nothing was built |
|
|
48
49
|
| `unknown` - Status not recorded | no `status` field | say so; offer nothing |
|
|
49
50
|
|
|
50
51
|
A run with no `status` is **not** placed in an actionable group. Unknown is
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Queue an instruction for a task that is already running. It is applied at the next phase boundary, not mid-phase. Use when a run is going the wrong way and killing it would throw away good work."
|
|
3
3
|
description-tr: "Zaten koşmakta olan bir göreve talimat bırakır. Talimat faz ortasında değil, bir sonraki faz sınırında uygulanır. Koşu yanlış yöne gidiyorsa ve kill etmek iyi işi de çöpe atacaksa kullanılır."
|
|
4
|
-
argument-hint: "#id \"<instruction>\" - e.g. #3 \"the field is called web, not frontend\". With no instruction, you are asked for it."
|
|
4
|
+
argument-hint: "#id [\"<instruction>\"] - e.g. #3 \"the field is called web, not frontend\". With no instruction, you are asked for it."
|
|
5
|
+
parameters: [{"name":"task","kind":"run-id","required":true},{"name":"instruction","kind":"text"}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# multi-agent steer - correct a run without stopping it
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "Pre-submission store readiness for a built package, iOS and Android, local-only. Three symmetric gates per platform: a static package audit, the store's own authoritative validation, and a policy review against repo source. Separate verdict per gate, a skipped gate never counted as a pass. Validates only, never uploads. Use when a build is about to go to TestFlight or a Play track, or when a submission was rejected and the reason is not obvious."
|
|
3
3
|
description-tr: "Üretilmiş paketin yükleme öncesi store hazırlığı, iOS + Android, yalnızca lokal. Platform başına üç simetrik kapı: statik paket denetimi, store'un kendi doğrulayıcısı, ve kaynağa karşı politika incelemesi. Kapı başına ayrı verdict, atlanan kapı asla pass sayılmaz. Sadece doğrular, asla yüklemez."
|
|
4
4
|
argument-hint: "[repo] - empty = pick; repo name or path; --ipa= | --archive= | --aab= | --apk=; --skip-sweep; --resume"
|
|
5
|
+
parameters: [{"name":"repo","kind":"text"},{"name":"--ipa","kind":"path"},{"name":"--archive","kind":"path"},{"name":"--aab","kind":"path"},{"name":"--apk","kind":"path"},{"name":"--skip-sweep","kind":"flag"},{"name":"--resume","kind":"flag"}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
allowed-tools: Agent, Bash, Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, AskUserQuestion, Skill, mcp__multi-agent-toolkit__ios_app_store_audit, mcp__multi-agent-toolkit__ios_export_ipa, mcp__multi-agent-toolkit__ios_testflight_validate, mcp__multi-agent-toolkit__ios_xcodebuild, mcp__multi-agent-toolkit__ios_xcresult, mcp__multi-agent-toolkit__android_apk_audit, mcp__multi-agent-toolkit__ios_screenshot, mcp__multi-agent-toolkit__ios_get_ui_tree, mcp__multi-agent-toolkit__ios_set_appearance, mcp__multi-agent-toolkit__ios_set_content_size, mcp__multi-agent-toolkit__android_screenshot, mcp__multi-agent-toolkit__android_get_ui_tree, mcp__multi-agent-toolkit__android_set_dark_mode, mcp__multi-agent-toolkit__android_set_font_scale
|
|
6
10
|
---
|
|
7
11
|
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, website, and the multi-agent-toolkit MCP server. Use when work is finished and should be propagated across Claude Code, Copilot CLI, the repos, the website and the multi-agent-toolkit server."
|
|
3
3
|
description-tr: "Tüm multi-agent ekosisteminin tek atımlık senkronu: Claude Code, Copilot CLI, pipeline repo, website ve multi-agent-toolkit MCP sunucusu."
|
|
4
4
|
argument-hint: "[release] [multi-agent-toolkit]"
|
|
5
|
+
parameters: [{"name":"release","kind":"flag"},{"name":"multi-agent-toolkit","kind":"flag"}]
|
|
6
|
+
gui: hidden
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: required
|
|
5
9
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, WebFetch
|
|
6
10
|
---
|
|
7
11
|
|
|
@@ -33,10 +37,7 @@ When invoked, it synchronizes all targets in order. It detects what changed, upd
|
|
|
33
37
|
|
|
34
38
|
## Platform Support (macOS only)
|
|
35
39
|
|
|
36
|
-
|
|
37
|
-
`os: ["darwin"]`, which npm enforces on the root package, so this tree cannot be
|
|
38
|
-
installed elsewhere - a detection table for hosts that cannot run the installer
|
|
39
|
-
would be a table the agent executes against a case that no longer exists.
|
|
40
|
+
Only macOS is supported (ADR-0012). `package.json` declares `os: ["darwin"]`, which npm enforces on the root package, so this tree cannot be installed elsewhere, and a detection table for other hosts would describe a case that cannot occur.
|
|
40
41
|
|
|
41
42
|
**Contract for synced shell scripts.** The runtime is BSD userland and bash 3.2,
|
|
42
43
|
and that is a stricter constraint than "cross-platform", not a looser one:
|
|
@@ -65,8 +66,8 @@ Run every step automatically:
|
|
|
65
66
|
```
|
|
66
67
|
Step 0: DOCTOR doctor.mjs - exit 2 or 4 stops the sync
|
|
67
68
|
Step 1.5: DETECT Compare timestamps, find stale targets
|
|
68
|
-
Step 2: COPILOT Claude Code -> Copilot CLI (instructions +
|
|
69
|
-
Step 2b: CODEX Claude Code -> Codex CLI (1 router skill +
|
|
69
|
+
Step 2: COPILOT Claude Code -> Copilot CLI (instructions + 61 sub-command skills)
|
|
70
|
+
Step 2b: CODEX Claude Code -> Codex CLI (1 router skill + sub-command specs as refs + agent TOML)
|
|
70
71
|
Step 3: REPO Claude Code -> pipeline repo (genericized, personal data scrub, bash -n on all sh)
|
|
71
72
|
Step 3c: PLUGINS pipeline shared/external -> multi-agent-plugins marketplace (rebuild knowledge/,
|
|
72
73
|
bump changed plugins' patch version, commit + push the plugins repo)
|
|
@@ -94,7 +95,6 @@ Step 0 gate rules and why: `features/doctor.md`.
|
|
|
94
95
|
- Project detection (URL-based + cwd-based)
|
|
95
96
|
- Figma pipeline flow
|
|
96
97
|
- Git conventions (author, branch, commit format)
|
|
97
|
-
- Short-run model info (Opus)
|
|
98
98
|
- Keychain management (registry, naming convention, multi-agent pattern)
|
|
99
99
|
4. **Do not duplicate** - summary in Copilot, full spec in Claude. Keep this distinction.
|
|
100
100
|
5. **Report** - show a short diff summary after sync
|
|
@@ -172,11 +172,11 @@ Step 0 gate rules and why: `features/doctor.md`.
|
|
|
172
172
|
Unlike the Copilot step, this one does **not** hand-copy files. The Codex tree is a
|
|
173
173
|
*transform* of the Claude tree, not a mirror of it, and the transform is real work:
|
|
174
174
|
|
|
175
|
-
- the
|
|
175
|
+
- the sub-command specs become reference files, because Codex silently truncates
|
|
176
176
|
its skills block (see `cross-cli-contract.md` 2.6 for the measurement)
|
|
177
177
|
- every `$HOME/.claude/...` reference to a CLI-owned tree is retargeted, with
|
|
178
178
|
`agents/<persona>.md` becoming `.toml` and the dispatcher becoming the router skill
|
|
179
|
-
- the
|
|
179
|
+
- the personas under `agents/` are regenerated as TOML with a model + reasoning-effort mapping
|
|
180
180
|
- shared state (`logs/`, prefs, `knowledge/`) is deliberately NOT retargeted
|
|
181
181
|
|
|
182
182
|
That logic lives in `install/codex.mjs` and is gate-locked by
|
|
@@ -487,22 +487,22 @@ When invoked with the `release` argument:
|
|
|
487
487
|
## Sub-Command Sync (Claude Code <-> Copilot CLI Skills)
|
|
488
488
|
|
|
489
489
|
This runs on the Claude <-> Copilot axis. Codex is NOT synced here: it receives the
|
|
490
|
-
same
|
|
490
|
+
same specs as reference files rather than as peer skills, via Step 2b - see
|
|
491
491
|
`cross-cli-contract.md` 2.6 for why the parity axis differs per host.
|
|
492
492
|
|
|
493
493
|
| Claude Code | Copilot CLI |
|
|
494
494
|
|-------------|-------------|
|
|
495
495
|
| `~/.claude/commands/multi-agent/{cmd}/SKILL.md` | `~/.copilot/skills/multi-agent-{cmd}/SKILL.md` |
|
|
496
496
|
|
|
497
|
-
**
|
|
497
|
+
**61 commands are synced** (canonical inventory - must match `cross-cli-contract.md` section 1; drift = contract violation):
|
|
498
498
|
|
|
499
499
|
```
|
|
500
500
|
analysis, analysis-jira, analysis-resolve, autopilot, autopilot-off, autopilot-on,
|
|
501
501
|
autopilot-status, build-optimize, channels, complaint-analysis, create-jira,
|
|
502
502
|
design-check, diff-explain, doctor, feedback, forget, garbage-collect, graph, help,
|
|
503
503
|
ios-coding-standard, issue, jira, kill, language, log,
|
|
504
|
-
manual-test, model, prune-logs, prune-prompts, purge, refactor, resume, review, review-analysis, review-issue, review-jira, route-off, route-on, route-status,
|
|
505
|
-
routines, save, scan, search, security-review, setup, stack, status, steer, store-ready, sync, test,
|
|
504
|
+
manual-test, model, prune-logs, prune-prompts, purge, refactor, research, resume, review, review-analysis, review-issue, review-jira, route-off, route-on, route-status,
|
|
505
|
+
routines, save, scaffold, scan, search, security-review, serve, setup, stack, status, steer, store-ready, sync, test,
|
|
506
506
|
test-accessibility, test-dark-mode, test-dynamic-type, test-screenshots,
|
|
507
507
|
testflight-validation, uninstall, update
|
|
508
508
|
```
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Auto-detects platform. Screenshot + tap + analyze on the booted device. The Phase 5 Manual Test flow lives at /multi-agent:manual-test. Use when a running app should be driven on a simulator or emulator to hunt UI bugs."
|
|
3
3
|
description-tr: "UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Platformu otomatik algılar. Açık cihazda screenshot + tap + analiz. Faz 3 Manuel Test akışı /multi-agent:manual-test'te."
|
|
4
4
|
argument-hint: '[scenario] - e.g. "dark mode" | "accessibility" | "dynamic type" | "screenshot tr" | "store-ready" | (empty = full sweep)'
|
|
5
|
+
parameters: [{"name":"scenario","kind":"text"}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# /multi-agent:test - UI Bug Hunter
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "Accessibility audit on a booted simulator / emulator: VoiceOver labels, sub-44pt tap targets, contrast, traits. Alias pinning the accessibility scenario. Use when auditing a screen for assistive-technology support."
|
|
3
3
|
description-tr: "Booted simulator / emulator üzerinde erişilebilirlik denetimi: VoiceOver label'ları, 44x44pt altı tap target'lar, kontrast oranları ve trait'ler; her ekranda canlı UI tree'ye karşı denetlenir. /multi-agent:test \"accessibility\" için sabit-senaryo alias'ı."
|
|
4
4
|
argument-hint: "(argümansız - senaryo sabit)"
|
|
5
|
+
parameters: []
|
|
6
|
+
gui: button
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# /multi-agent:test-accessibility - Accessibility audit
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "Dark mode UI test on a booted simulator / emulator: walk every screen light then dark, report contrast + colour bugs. Alias pinning the dark-mode scenario. Use when a dark-mode rendering bug is suspected."
|
|
3
3
|
description-tr: "Booted simulator / emulator üzerinde dark mode UI testi. Her ekranı light'ta gezer, görünümü değiştirir, tekrar gezer; farktan kontrast + renk + sabit-palet buglarını raporlar. /multi-agent:test \"dark mode\" için sabit-senaryo alias'ı."
|
|
4
4
|
argument-hint: "(argümansız - senaryo sabit)"
|
|
5
|
+
parameters: []
|
|
6
|
+
gui: button
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# /multi-agent:test-dark-mode - Dark mode UI test
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "Dynamic Type layout test on a booted simulator / emulator: re-walk every screen at XL through accessibility-extra-large, report truncation and clipping. Alias pinning the dynamic-type scenario. Use when checking a layout survives large text."
|
|
3
3
|
description-tr: "Booted simulator / emulator üzerinde Dynamic Type layout testi. Her ekranı XL'den accessibility-extra-large'a kadar yeniden gezer; kırpılma, taşma, üst üste binme ve ölçeklenmeyi bırakan sabit yükseklikli container'ları raporlar. /multi-agent:test \"dynamic type\" için sabit-senaryo alias'ı."
|
|
4
4
|
argument-hint: "(argümansız - senaryo sabit)"
|
|
5
|
+
parameters: []
|
|
6
|
+
gui: button
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# /multi-agent:test-dynamic-type - Dynamic Type layout test
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "App Store screenshot set from a booted simulator / emulator in a given locale, taken as an argument and defaulting to tr. Alias pinning the screenshot scenario. Use when generating store screenshots or checking a localised build renders."
|
|
3
|
-
description-tr: "Booted simulator / emulator'dan belirtilen dilde App Store screenshot seti: temiz status bar, her ekran gezilip yakalanır. Dili isim içine gömmek yerine argüman olarak alır (default tr). /multi-agent:test \"screenshot
|
|
3
|
+
description-tr: "Booted simulator / emulator'dan belirtilen dilde App Store screenshot seti: temiz status bar, her ekran gezilip yakalanır. Dili isim içine gömmek yerine argüman olarak alır (default tr). /multi-agent:test \"screenshot {lang}\" için sabit-senaryo alias'ı."
|
|
4
4
|
argument-hint: "[locale] - boş = tr; örn. tr | en | de | ar"
|
|
5
|
+
parameters: [{"name":"locale","kind":"text"}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# /multi-agent:test-screenshots - Locale screenshot set
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "iOS-pinned alias of store-ready: same three gates on an iOS build, one implementation. Validates a TestFlight / App Store package, never uploads. Use when an iOS build is about to go to TestFlight, or a submission was rejected and you need why."
|
|
3
3
|
description-tr: "store-ready komutunun iOS'a sabitlenmiş alias'ı: iOS build'inde aynı üç kapı, tek implementasyon. TestFlight / App Store paketini doğrular, asla yüklemez."
|
|
4
4
|
argument-hint: "[repo] - empty = pick from prefs; repo name or path; --ipa=<path>; --archive=<path>; --resume"
|
|
5
|
+
parameters: [{"name":"repo","kind":"text"},{"name":"--ipa","kind":"path"},{"name":"--archive","kind":"path"},{"name":"--resume","kind":"flag"}]
|
|
6
|
+
gui: form
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
allowed-tools: Agent, Bash, Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, AskUserQuestion, Skill, mcp__multi-agent-toolkit__ios_app_store_audit, mcp__multi-agent-toolkit__ios_export_ipa, mcp__multi-agent-toolkit__ios_testflight_validate, mcp__multi-agent-toolkit__ios_xcodebuild, mcp__multi-agent-toolkit__ios_xcresult
|
|
6
10
|
---
|
|
7
11
|
|
|
@@ -3,6 +3,10 @@ description: "Uninstall the pipeline from Claude Code + Copilot CLI. Keychain ac
|
|
|
3
3
|
disable-model-invocation: true
|
|
4
4
|
description-tr: "Pipeline'ı Claude Code + Copilot CLI'dan kaldırır. Keychain erişim token'larına asla dokunulmaz; --all-data ayrıca pipeline ayarlarını, loglarını, repo bazlı hafızayı ve bilgi tabanını da siler. Çift onay ister."
|
|
5
5
|
argument-hint: "[--dry-run] [--all-data] [--claude] [--copilot] [--target=<path>]"
|
|
6
|
+
parameters: [{"name":"--dry-run","kind":"flag"},{"name":"--all-data","kind":"flag"},{"name":"--claude","kind":"flag"},{"name":"--copilot","kind":"flag"},{"name":"--target","kind":"path"}]
|
|
7
|
+
gui: button
|
|
8
|
+
destructive: true
|
|
9
|
+
confirm: required
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# multi-agent uninstall - Token-Preserving Uninstall
|
|
@@ -27,7 +31,7 @@ Tokens in the OS credential store are NEVER removed by either mode.
|
|
|
27
31
|
|
|
28
32
|
## Never deleted (either mode)
|
|
29
33
|
|
|
30
|
-
- **Keychain
|
|
34
|
+
- **Keychain** personal access tokens (GitHub, Jira, Bitbucket, Confluence, Telegram, Vercel, Firebase, etc.)
|
|
31
35
|
- `~/.claude/lib/credential-store.sh` - the only way to READ those tokens. Deleting it while keeping the secrets preserves a locked box and throws away the key, and the closing message below used to advise a command uninstall had just removed.
|
|
32
36
|
- `global.keychainMapping` inside `multi-agent-preferences.json`, even under `--all-data`. It carries no secret, only logical-name -> credential-store key; without it the preserved tokens sit under names the user never chose and no longer has a record of. Everything else in that file is removed.
|
|
33
37
|
- The **`multi-agent-toolkit` MCP registration**. Its device, accessibility and store-audit tools work with no pipeline at all - the same reason the tokens stay. The retired `dev-toolkit` name IS deregistered: it points at a registration nothing maintains, so leaving it is litter, not preservation.
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
description: "Update the pipeline to the latest published npm release: registry check, npm pack, install, migrate. Use when the installed pipeline is behind and should be brought to the latest version."
|
|
3
3
|
description-tr: "Pipeline'ı npm'deki son yayına günceller: registry kontrolü, npm pack, install, migrate."
|
|
4
4
|
allowed-tools: Bash, Read, Write, AskUserQuestion
|
|
5
|
+
parameters: []
|
|
6
|
+
gui: button
|
|
7
|
+
destructive: false
|
|
8
|
+
confirm: none
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
## After the install, check it
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Client contract changelog
|
|
2
|
+
|
|
3
|
+
Versions of the client contract (`manifest.json` `contractVersion`), separate
|
|
4
|
+
from the package version. See `README.md` for what counts as minor and major.
|
|
5
|
+
|
|
6
|
+
## 1.2.0
|
|
7
|
+
|
|
8
|
+
Added, plus one narrowing of the launch input, which no released pipeline
|
|
9
|
+
version served before this one.
|
|
10
|
+
|
|
11
|
+
- Phone routes under `/v1/phone/`: `GET /v1/phone/runs`, `GET /v1/phone/runs/{id}`,
|
|
12
|
+
`POST /v1/phone/runs/{id}/answer` and `POST /v1/phone/launch`. Each request
|
|
13
|
+
is signed with an enrolled device's Ed25519 key (`phone-signed-request.schema.json`);
|
|
14
|
+
the bearer token does not open them and a signature opens no desktop route.
|
|
15
|
+
Responses are always redacted, and launch is refused until it is enabled
|
|
16
|
+
locally. `manifest.json` `phone` names the headers, the signed fields, the
|
|
17
|
+
window and the scopes, so a client hardcodes none of them.
|
|
18
|
+
- `phone-devices.schema.json`: the device registry `phone-devices.mjs` writes.
|
|
19
|
+
- `contract-error.schema.json`: `unsigned`, `unknown-device`, `revoked-device`,
|
|
20
|
+
`bad-signature`, `stale-request`, `replayed`, `replay-store-full`,
|
|
21
|
+
`unknown-verb`, `forbidden-scope` and `launch-disabled`. A desktop request
|
|
22
|
+
never receives one of them. `repo-not-allowed` (403) answers a launch on
|
|
23
|
+
either route whose `repo` is neither a configured autopilot repo nor one
|
|
24
|
+
registered with `launch-request.mjs register-repo`.
|
|
25
|
+
- `manifest.json` `phone.signature.futureSkewSeconds` (5): how far ahead of
|
|
26
|
+
the server's clock a timestamp may be. `windowSeconds` (60) is how far
|
|
27
|
+
behind.
|
|
28
|
+
- Launch input. `input` is a structured reference (Jira key, GitHub issue URL,
|
|
29
|
+
`repo#N`, `#N`, Jira URL on the configured host) or, on the desktop channel
|
|
30
|
+
only, free text that the plan renders as one quoted argument. A newline, a
|
|
31
|
+
control or format character, a leading `-`, a flag-like token or a first
|
|
32
|
+
token that is a pipeline op or mode keyword rejects the request
|
|
33
|
+
(`400 invalid-request`); free text may use those words after its first
|
|
34
|
+
token. A client that sent free text to `/v1/phone/launch`, or an input
|
|
35
|
+
carrying one of those, now sends a structured reference instead.
|
|
36
|
+
- `launch-request.mjs plan --channel desktop|phone` (default `desktop`) applies
|
|
37
|
+
that channel's input rule, so `plan --channel phone --redact` prints what
|
|
38
|
+
`POST /v1/phone/launch` returns for the same request file.
|
|
39
|
+
- `manifest.json`: the `launch-spec` surface carries `launch.json`'s own
|
|
40
|
+
version, 1.1.0.
|
|
41
|
+
- `runs-index` `group`: a run with `waitingFor` set is `waiting` at any phase.
|
|
42
|
+
A run paused on a question at phase 0 is no longer grouped `question`, the
|
|
43
|
+
group whose action is garbage-collecting an abandoned intake.
|
|
44
|
+
|
|
45
|
+
## 1.1.0
|
|
46
|
+
|
|
47
|
+
Added; nothing a 1.0 client decodes changed.
|
|
48
|
+
|
|
49
|
+
- HTTP carrier: `contract-server.mjs` serves every surface on `127.0.0.1`
|
|
50
|
+
behind a per-start bearer token, byte-for-byte what the CLI prints.
|
|
51
|
+
- `runs-index` 1.1.0: each run carries `sessionId`, `waitingFor` and
|
|
52
|
+
`pendingQuestion`, so a client can find the run it launched and answer the
|
|
53
|
+
question it stopped on without reading `agent-state.json`.
|
|
54
|
+
- `runs-index`: `schemaVersion` is always a string or null (agent-state.schema.json
|
|
55
|
+
already declares a string) and token counts are always integers. The
|
|
56
|
+
producer now coerces both and the schema says so; the toolbox decodes exactly
|
|
57
|
+
these types.
|
|
58
|
+
- `launch-request.mjs plan` and `POST /v1/launch`: the launch plan
|
|
59
|
+
(`launch-plan.schema.json`). `launch-request.mjs questions` and `spec` print
|
|
60
|
+
`run-questions.json` and `launch.json`.
|
|
61
|
+
- `answer-question.mjs --question <id>` and `POST /v1/runs/{id}/answer`
|
|
62
|
+
(`answer-request.schema.json`): an answer names the question it answers.
|
|
63
|
+
- `credential-inventory.sh --json` carries `probed` in every envelope,
|
|
64
|
+
including `empty` and `no-backend`.
|
|
65
|
+
- `contract-error.schema.json` for every non-2xx HTTP body.
|
|
66
|
+
- The kit itself: `manifest.json`, generated `types/index.d.ts`, fixtures and
|
|
67
|
+
the frozen toolbox fields.
|
|
68
|
+
|
|
69
|
+
## 1.0.0
|
|
70
|
+
|
|
71
|
+
The first declared contract: `commands.mjs --json`, `run-questions.json`,
|
|
72
|
+
launch requests (`launch-request.mjs validate|resolve`), `answer-question.mjs`,
|
|
73
|
+
`issues.mjs --json`, `worktrees.mjs --json`, `runs-index.mjs --json` with
|
|
74
|
+
`--redact`, and `launch.json`.
|