@ccoalm/ccl-skills 0.1.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/LICENSE +201 -0
- package/README.md +49 -0
- package/dist/assets/marketplace/.agents/plugins/marketplace.json +12 -0
- package/dist/assets/marketplace/.claude-plugin/marketplace.json +13 -0
- package/dist/assets/marketplace/marketplace-manifest.json +12 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/marketplace.json +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/plugin.json +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.codex-plugin/plugin.json +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.worktree-only +3 -0
- package/dist/assets/marketplace/plugins/ccl-skills/agent-context/session-start.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/agent-context/subagent-start.md +12 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/AGENTS.md +19 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-delegation-owner.sh +125 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-edit-isolation.sh +102 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-merge-authorization.sh +1156 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/hooks.json +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/merge-authorization-prompt.sh +142 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-guard.sh +12 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-stop.sh +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-post-merge-cleanup.sh +144 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-context.sh +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-start.sh +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/skill-extraction-gate-stop.sh +69 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/subagent-start.sh +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_delegation_owner.sh +329 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_edit_isolation.sh +322 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_merge_authorization.sh +902 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_merge_authorization_prompt.sh +178 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_post_merge_cleanup.sh +121 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_session_start.sh +170 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/AGENTS.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +564 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-install-skills.md +14 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-update-skills.md +44 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-verify-skills.md +109 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-worktree-check.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/AGENTS.md +28 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/README.md +276 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.example.json +10 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.sh +1307 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/test.sh +941 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/SKILL.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/SKILL.md +188 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/android-dev.md +92 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/flutter-dev.md +80 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/ios-dev.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/kotlin-multiplatform.md +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-platform-boundaries.md +77 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-quality-release.md +77 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/source-evidence-map.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +353 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/client-routing.md +419 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +197 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/timeout-auth-and-capabilities.md +179 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md +98 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_envelope.py +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_timeout_exit.sh +15 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/claude_review.sh +1438 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/codex_review.sh +324 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/concern_excerpt.py +295 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/egress_schema.py +214 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/init_policy_matrix.py +642 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_packet_mcp.py +181 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_review.sh +1165 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/opencode_review.sh +1190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_cli_review.py +946 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_opencode_review.py +474 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_probe_result.py +1899 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_review_json.py +200 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +2845 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.sh +6 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/run_claude_capture.py +71 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/runtime-surface-verification-design.md +53 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_classify_envelope.sh +68 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_claude_review_probe.sh +2311 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_cli_review_wrappers.sh +1832 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_code_review_identity.sh +73 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_concern_excerpt.sh +245 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_egress_schema.sh +177 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_init_policy_matrix.sh +272 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_kimi_packet_mcp.py +195 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_concurrency.sh +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_retry.sh +1005 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_opencode_review.sh +258 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_probe_result.sh +574 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_review_json.sh +349 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py +434 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_order.sh +264 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh +2412 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/verify_native_skill_binding.py +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md +153 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/diagnosis-playbook.md +54 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/prevention-routing.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/SKILL.md +69 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/references/security-review-gate.md +41 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/SKILL.md +165 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/api-security-boundaries.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/architecture-playbook.md +160 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/artifact-generation-architecture.md +37 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/audit-history-architecture.md +29 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/bulk-workflow-architecture.md +33 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/config-rule-routing-architecture.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/cross-cutting-concerns.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-modeling-and-migrations.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-platform-architecture.md +210 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/dependency-platform.md +105 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/developer-tooling-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/error-contract-architecture.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/event-driven-architecture.md +260 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/http-gateway-architecture.md +74 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/mq-consumer-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/multi-tenant-isolation.md +275 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/notification-architecture.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/ops-checklist.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/performance-capacity-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/protobuf-contract-architecture.md +119 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/redis-cache-coordination.md +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/release-runtime-readiness.md +65 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/replay-comparison-architecture.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/runtime-observability.md +94 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/service-scaffold.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/source-evidence-map.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/workflow-state-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/SKILL.md +159 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/artifact-generation-patterns.md +37 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/audit-history-patterns.md +28 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/bulk-import-export-patterns.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/config-rule-routing-patterns.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/data-access-patterns.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/db-schema-and-dal-patterns.md +109 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/dependency-client-patterns.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/developer-tooling-patterns.md +70 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/domain-feature-patterns.md +78 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/engineering-patterns.md +119 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/error-contract-patterns.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/feature-playbook.md +61 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/http-gateway-client-patterns.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/mq-consumer-patterns.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/notification-patterns.md +42 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/observability-implementation-patterns.md +101 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/performance-capacity-patterns.md +44 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/protobuf-contract-patterns.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/public-api-integration-patterns.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/quality-and-testing-patterns.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/redis-cache-lock-patterns.md +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/release-ops-patterns.md +112 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/reliability-patterns.md +83 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/replay-comparison-patterns.md +32 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/scaffold-and-codegen.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/source-evidence-map.md +54 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/state-machine-task-patterns.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/SKILL.md +80 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/SKILL.md +117 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-approval-auto-reviewer.md +106 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-command-sandbox.md +441 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-context-freshness.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-credentials-auth.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-extensions-skills.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-file-edit-protocol.md +129 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-ide-integration.md +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-input-ingestion.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-instruction-composition.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-lifecycle-hooks.md +92 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-messaging.md +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-runtime-bootstrap.md +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-session-persistence.md +448 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-task-orchestration.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-tool-dispatch.md +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-turn-lifecycle.md +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/inference-capacity-operations.md +162 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/llm-client-gateway.md +156 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/model-prompt-evaluation.md +146 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/retrieval-agent-safety.md +273 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md +202 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/contracts-and-state.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/cross-stack-alignment.md +94 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/framework-choice.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/online-practice-uptake.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/platform-capabilities.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/product-page-checklist.md +40 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/qa-release.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/source-evidence-map.md +82 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/SKILL.md +103 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/agents/openai.yaml +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/references/multi-agent-delegation-playbook.md +100 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/SKILL.md +70 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-data-acquisition.md +549 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-disclosure-channels.md +97 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/research-prompts.md +66 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/AGENTS.md +32 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/test-public-data-acquisition-recipes.sh +379 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md +244 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/alerting-and-on-call.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/framework-middleware-checklist.md +142 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/infra-component-deployment.md +268 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-correlation-recipe.md +124 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-schema-canonical.md +208 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/metrics-conventions.md +105 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/obs-stack-architecture.md +107 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/sli-slo-design.md +95 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/source-register.md +11 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md +303 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/canary-and-rollout-strategy.md +163 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/config-center-via-etcd.md +245 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/custom-control-plane-boundary.md +298 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-cli-concrete-recipe.md +312 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-pipeline.md +165 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/env-and-lane-matrix.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/lane-orchestration-control-plane.md +383 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/multi-region-and-cluster.md +135 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/promotion-gate-and-review.md +149 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/python-package-registry-release.md +462 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/rollback-playbook.md +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/secret-and-config-management.md +231 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/version-authority-and-deprecation.md +21 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md +276 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/dual-sidecar-and-traffic-config-center.md +127 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/framework-middleware.md +143 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/grpc-authority-workaround.md +90 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/http-response-envelope-contract.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/mesh-architecture.md +127 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/multi-env-routing.md +192 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/protobuf-http-contract-signals.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/retry-timeout-circuit-breaker.md +124 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/rpc-framework-recipe.md +494 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-choice.md +113 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-migration-playbook.md +231 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-recipe.md +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +235 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/adr-convention.md +146 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-checklist.md +30 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-evaluation-report-template.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-execution-spec.md +108 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-sop.md +457 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-templates.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/artifact-egress-confidentiality.md +58 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/code-review-checklist.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/cross-repo-coordination.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/delivery-lifecycle.md +192 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-review-gate-mechanics.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-routing-and-readiness.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/diagnostic-spec-match-gate.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dispatch-owner-skills.md +35 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dormant-code-activation.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/existing-project-assessment-report.md +223 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/external-skill-augmentation.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/feature-deprecation-cascade.md +15 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/high-risk-resilience-gates.md +73 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-completeness-and-minimality.md +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-entry-reentry-gate.md +122 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/modular-monolith-heuristic.md +105 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md +115 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/problem-resolution-and-learning.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-attributes.md +112 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-remediation-program.md +88 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/rd-standards-doc-family-checklist.md +27 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/refactoring-discipline.md +52 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/review-reception.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/shared-gate-artifact-classification.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/source-evidence-map.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/status-tracker-sync.md +77 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/sync-spec-repo-contract.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/verify-developer-experience.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/worktree-mechanics.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/AGENTS.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/check-agent-contract-coverage.sh +213 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/SKILL.md +136 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/agents/openai.yaml +9 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/analytics-visualization-interactions.md +206 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/behavioral-aesthetic-logic.md +108 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/complex-creation-interactions.md +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-execution-checklist.md +214 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-impl-naming-and-versioning.md +53 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-intake-and-acceptance.md +129 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-system-source-of-truth.md +97 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/external-ui-ux-quality-benchmarks.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/frontend-code-evidence-map.md +63 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/interaction-design-patterns.md +146 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/layout-recipes-and-screenshot-acceptance.md +250 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-project-token-consistency.md +237 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-stack-strategy.md +65 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/operational-processing-workflows.md +237 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-mobile-patterns.md +324 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-web-desktop-patterns.md +456 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-lifecycle-acceptance-and-iteration.md +114 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-surface-patterns.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/resource-management-interactions.md +113 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/scenario-community-patterns.md +133 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/source-map.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/tokens-and-components.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/trust-sensitive-ai-and-data-patterns.md +96 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-audit.md +106 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-design-development.md +176 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/visual-craft.md +111 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/SKILL.md +157 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/ai-service-integration-boundaries.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-contract-and-schema.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-security-boundaries.md +39 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/architecture-playbook.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/async-execution-model.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/background-jobs-and-scheduling.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/batch-and-pipeline-architecture.md +11 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/config-secrets-runtime.md +22 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-modeling-and-migrations.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-platform-architecture.md +211 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/event-driven-architecture.md +263 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/multi-tenant-isolation.md +281 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/observability-and-ops.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/packaging-runtime-readiness.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/redis-cache-coordination.md +41 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/reliability-and-error-contract.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/source-evidence-map.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/web-framework-boundaries.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/SKILL.md +143 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/ai-service-wiring-patterns.md +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/async-and-worker-patterns.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/background-job-patterns.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/batch-and-artifact-patterns.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/dependency-client-patterns.md +39 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/error-handling-patterns.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/feature-playbook.md +43 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/observability-implementation-patterns.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/project-structure-and-tooling.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/public-api-security-patterns.md +52 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/redis-cache-lock-patterns.md +78 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/schema-and-validation-patterns.md +23 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/source-evidence-map.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/sqlalchemy-and-migrations-patterns.md +99 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/testing-and-quality-patterns.md +61 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/web-framework-patterns.md +35 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/SKILL.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/config-runtime-readback.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/mr-merge-authorization.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/post-release-env-reset.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-closeout-evidence.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-scope-confirmation.md +21 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/tag-and-prod-pipeline-gate.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/test-scope-prompt.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/watcher-discipline.md +14 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/SKILL.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/comment-safe-release-doc.md +19 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-evidence-workflow.md +23 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-testing-scope-section.md +15 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/SKILL.md +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/SKILL.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/prd-composition-contract.md +35 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/requirement-closure-contract.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/security-four-questions.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/SKILL.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/SKILL.md +88 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md +337 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/analysis-parse-fix-test-challenge-replay.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attribution-verification.md +69 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/bootstrap-slim-c3-obligation-table.md +112 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/coverage-exhaustion-traps.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/description-authoring.md +162 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md +507 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/eval-routing.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/evidence-card-template.md +51 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/example-domain-preselect.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-lifecycle-handoff.md +65 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-quickstart.md +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/firing-point-placement.md +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md +286 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/incident-postmortem-extraction.md +190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/l0-l1-l2-routing.md +114 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/online-skill-review.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/parallel-stack-references-pattern.md +164 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/r0-leakage-audit.md +90 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/recurring-anti-patterns-checklist.md +320 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/resume-paused-delivery.md +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-feedback-mining.md +33 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-finding-standards.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-rubric.md +40 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/rule-consolidation.md +118 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/skill-listing-budget.md +19 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +254 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-to-skill-extraction.md +658 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/two-source-extraction-pattern.md +167 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-judgment-extraction.md +179 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-routing-map.md +51 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/validation-and-landing.md +180 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/AGENTS.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-ccl-skills.sh +1452 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-evidence-card-leak.sh +491 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-mr-target-freshness.sh +173 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-size-budget.sh +488 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh +419 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-golden-trace.rb +197 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-health.rb +327 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing-bank.rb +401 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing.rb +248 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/generic-r0-leak-scan.sh +282 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/governing-chain-diff.py +321 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/impact-chain-gate.rb +964 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/register-firing-path-resolution.rb +708 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-behavior-eval.py +540 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-lifecycle.rb +51 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-pending-status.rb +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +829 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_impact_chain_refscripts.sh +1203 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_r0_status.sh +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_register_pending_exclusion.sh +137 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +173 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_route_drift.sh +377 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_size_budget.sh +833 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_skill_catalog.sh +491 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_source_register_lifecycle.sh +114 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_mr_target_freshness.sh +261 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh +538 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh +154 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_grader_diagnostics.sh +190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_surface_binding.sh +178 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_prose_target.sh +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_generic_r0_leak_scan.sh +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_git_identity_predicate_gate.sh +243 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_governing_chain_diff.sh +419 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_impact_chain_gate_dateless_host.sh +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_resolution.sh +724 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_wiring.sh +414 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_regression_runner_registration.sh +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_bank_integrity.sh +205 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_pointer_integrity.sh +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_credential_cwd.sh +61 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_cross_refs.sh +111 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_root_depth.sh +53 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate-skill.sh +257 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/SKILL.md +98 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/input-state-machines.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/streaming-rich-output.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/terminal-side-channels.md +96 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/SKILL.md +408 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/AGENTS.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/bitable-setup.md +573 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/README.md +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/github-actions.yml +119 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/gitlab-ci.yml +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/jenkins.Jenkinsfile +106 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/classical-test-design-techniques.md +279 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/gen_report.py +2807 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/makefile-template.md +200 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/report-config-schema.md +272 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/run_pytestless.py +475 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/source-to-case-workflows.md +258 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-marker-conventions.md +316 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-review-and-prioritization.md +145 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/AGENTS.md +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.dart +129 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.go +197 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.py +135 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.ts +285 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/test_gen_report.py +2144 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/update-lifecycle.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/SKILL.md +212 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/ci-fixtures-and-flake-control.md +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/client-runtime-test-matrices.md +50 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/data-and-workflow-testing.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/design-closed-contract-oracles.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/e2e-real-flow-testing.md +71 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/fitness-functions.md +240 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/integration-contract-testing.md +235 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/non-functional-specialized-scenarios.md +296 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/rd-testing-standard-template.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/run-killing-mutation-walk.md +43 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/scenario-testing.md +136 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/source-evidence-map.md +59 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/structured-tc-input-translation.md +67 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-code-authoring-patterns.md +392 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-data-and-determinism.md +39 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-topology-and-commands.md +92 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/unit-testing.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/vendored-contract-drift-checklist.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/verify-enforcement-mechanisms.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/AGENTS.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.py +140 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.test.sh +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.py +170 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.test.sh +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.go +198 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.test.sh +109 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/test_mutation_backup_recipe.sh +237 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/SKILL.md +184 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/comment-safe-feishu.md +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/cross-model-co-review.md +3 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/delivery-face-closeout.md +60 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/doc-charter-first.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/session-vantage-leakage.md +58 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/SKILL.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/complex-workspace-patterns.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/embedded-h5-in-host.md +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/react-architecture.md +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/source-evidence-map.md +60 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-quality-release.md +190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-ui-quality.md +83 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/SKILL.md +179 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/shared-branch-rebase.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/AGENTS.md +23 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_status.sh +207 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_sweep.sh +481 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-status.sh +325 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-sweep.sh +245 -0
- package/dist/assets/release.json +2797 -0
- package/dist/claude-adapter.d.ts +9 -0
- package/dist/claude-adapter.js +240 -0
- package/dist/cli-worker.d.ts +1 -0
- package/dist/cli-worker.js +32 -0
- package/dist/cli.d.ts +22 -0
- package/dist/cli.js +214 -0
- package/dist/codex-host.d.ts +30 -0
- package/dist/codex-host.js +162 -0
- package/dist/fs-safe.d.ts +21 -0
- package/dist/fs-safe.js +241 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/manifest.d.ts +8 -0
- package/dist/manifest.js +135 -0
- package/dist/opencode-adapter.d.ts +10 -0
- package/dist/opencode-adapter.js +416 -0
- package/dist/operations.d.ts +3 -0
- package/dist/operations.js +956 -0
- package/dist/paths.d.ts +20 -0
- package/dist/paths.js +4 -0
- package/dist/types.d.ts +58 -0
- package/dist/types.js +1 -0
- package/dist/unified.d.ts +4 -0
- package/dist/unified.js +64 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +5 -0
- package/package.json +35 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Robust Model-Driven File-Edit Protocol
|
|
2
|
+
|
|
3
|
+
Implementation companion to the Tool Execution rules in `retrieval-agent-safety.md`. When an agent
|
|
4
|
+
edits files by emitting an edit instruction the model authored, the *format and matching strategy* of
|
|
5
|
+
that edit tool decide whether edits land reliably or corrupt files. This reference is how to design
|
|
6
|
+
that tool. Filesystem-safety of the write itself (writable roots, sandbox, hard-link escape) is owned
|
|
7
|
+
by `agent-command-sandbox.md`; this is about the edit format and apply algorithm.
|
|
8
|
+
|
|
9
|
+
Use when designing or reviewing an agent's file-edit / apply-patch tool. Drawn from a production
|
|
10
|
+
reference agent.
|
|
11
|
+
|
|
12
|
+
## 1. Anchor edits on surrounding context, not line numbers
|
|
13
|
+
|
|
14
|
+
Models cannot reliably count line numbers, but they reproduce *surrounding text* well. A line-number
|
|
15
|
+
or offset-based diff breaks the moment the model miscounts or the file drifted by a line; a
|
|
16
|
+
context-anchored edit can survive nearby line-count drift *as long as the referenced context is still
|
|
17
|
+
present and unique*.
|
|
18
|
+
|
|
19
|
+
- Use an explicit envelope with per-file operations: add file, delete file, update file, move/rename
|
|
20
|
+
file. Mark file boundaries so one payload can edit several files.
|
|
21
|
+
- **Validate the operation graph before matching any hunk.** Normalize and dedupe paths (account for
|
|
22
|
+
case-insensitive/Unicode-normalizing filesystems), and reject conflicting operations on the same
|
|
23
|
+
path: two updates to one file, delete-then-update, update-then-move, move onto an existing path
|
|
24
|
+
without an explicit overwrite, or two operations producing the same target. Define a deterministic
|
|
25
|
+
order for moves/deletes/adds. A payload with a contradictory op-graph is a hard error before any
|
|
26
|
+
matching or writing.
|
|
27
|
+
- Within an update, identify each change by a **context window** (a few unchanged lines around the
|
|
28
|
+
edit) plus the `+`/`-` changed lines — not by `(line, column)`. A short `@@`-style locator that
|
|
29
|
+
names the enclosing function/section helps disambiguate repeated context.
|
|
30
|
+
- Require enough context to make each hunk's location **unique** in the file; if the same context
|
|
31
|
+
appears in multiple places and the locator does not disambiguate, that is an ambiguity error
|
|
32
|
+
(§3), not a pick-the-first guess.
|
|
33
|
+
|
|
34
|
+
## 2. Match with graduated strictness, fail when it does not match
|
|
35
|
+
|
|
36
|
+
When locating a hunk's context in the current file, try progressively more lenient matches and stop
|
|
37
|
+
at the first that succeeds:
|
|
38
|
+
|
|
39
|
+
1. exact line match;
|
|
40
|
+
2. ignore trailing whitespace;
|
|
41
|
+
3. ignore leading and trailing whitespace.
|
|
42
|
+
|
|
43
|
+
This absorbs the model's minor whitespace imprecision without silently editing the wrong place. Two
|
|
44
|
+
further rules:
|
|
45
|
+
|
|
46
|
+
- **EOF-anchored hunks**: when a hunk is meant to match the end of the file, match at the end. If you
|
|
47
|
+
allow a forward-search fallback, the fallback match must be *globally unique* and reported as a
|
|
48
|
+
non-EOF location — otherwise an intended append silently overwrites an earlier duplicate-context
|
|
49
|
+
region.
|
|
50
|
+
- **Defensive bounds**: a pattern longer than the file is an immediate no-match; never index past the
|
|
51
|
+
buffer. Reject an *empty* context pattern rather than treating it as a universal no-op match
|
|
52
|
+
(an empty pattern matches everywhere and defeats the uniqueness requirement) — the only legitimate
|
|
53
|
+
empty-context cases are explicit file-level add/delete operations.
|
|
54
|
+
|
|
55
|
+
Do not extend leniency to fuzzy/semantic similarity — that is how an edit lands in the wrong
|
|
56
|
+
location. Beyond whitespace tolerance, a non-match is a failure.
|
|
57
|
+
|
|
58
|
+
**Treat files as encoded text, not raw buffers.** Detect and reject binary content before editing.
|
|
59
|
+
Preserve the file's existing line-ending convention (LF vs CRLF), BOM, and final-newline state rather
|
|
60
|
+
than normalizing them — a tool that silently rewrites every line ending produces a diff that is all
|
|
61
|
+
noise and can break the build. Match against the file in its decoded form so a BOM or CRLF does not
|
|
62
|
+
defeat an otherwise-correct context match.
|
|
63
|
+
|
|
64
|
+
## 3. Resolve everything before writing anything
|
|
65
|
+
|
|
66
|
+
Apply in two phases so a bad hunk fails *before* the filesystem is touched:
|
|
67
|
+
|
|
68
|
+
1. **Resolve phase** — parse the whole payload, match every hunk's context in every target file
|
|
69
|
+
against a *single original snapshot* of that file, and compute the full new contents in memory.
|
|
70
|
+
Resolve each file's hunks to **non-overlapping spans of the original**; reject overlapping or
|
|
71
|
+
conflicting hunks rather than double-applying, and materialize the new file from those spans in
|
|
72
|
+
deterministic order. Any parse error, unmatched context, ambiguous match, or overlap aborts here
|
|
73
|
+
with a precise, model-readable error (which file, which hunk, why). Nothing has been written yet.
|
|
74
|
+
Generate the preview/diff here, in the resolve phase — preview after writing is too late to gate
|
|
75
|
+
an approval on.
|
|
76
|
+
2. **Write phase** — only after every hunk resolved, write the computed contents.
|
|
77
|
+
|
|
78
|
+
An unmatched, ambiguous, or overlapping hunk is a hard error the model can correct, never a
|
|
79
|
+
best-effort partial edit.
|
|
80
|
+
|
|
81
|
+
## 4. Multi-file writes are not transactional — report the exact partial state
|
|
82
|
+
|
|
83
|
+
A real filesystem cannot atomically commit writes to several files. If the write phase fails midway
|
|
84
|
+
(permissions, disk, a sandbox denial), some files are already changed and some are not. Do not claim
|
|
85
|
+
full success and do not claim a rollback you did not perform:
|
|
86
|
+
|
|
87
|
+
- **Make each single-file write atomic** — write to a temp file and `rename` over the target so a
|
|
88
|
+
crash mid-write cannot leave a *torn* file (neither old nor new contents). Without this, a failure
|
|
89
|
+
partway through one file corrupts it; with it, each file is all-old or all-new.
|
|
90
|
+
- Track which files were committed before the failure and return that exact set with the error. A
|
|
91
|
+
file whose atomic rename had not completed is reported as **unchanged**; only treat a file as
|
|
92
|
+
unknown/torn if you could not use atomic replace for it. Never report a half-written file as
|
|
93
|
+
"committed".
|
|
94
|
+
- Distinguish a side-effect-free failure (nothing was written) from a partial-commit failure (some
|
|
95
|
+
files changed). Mark the reported delta as exact or no-longer-exact accordingly.
|
|
96
|
+
- An empty patch (no file would change) is an error, not a silent success.
|
|
97
|
+
- Return a **bounded** diff for preview/approval (computed in the resolve phase, §3). Return full
|
|
98
|
+
file contents only behind an explicit caller option — echoing whole files by default leaks large or
|
|
99
|
+
sensitive file content into logs and transcripts.
|
|
100
|
+
|
|
101
|
+
## Non-negotiables
|
|
102
|
+
|
|
103
|
+
- Edits are located by surrounding context, never by raw line/column offsets.
|
|
104
|
+
- Matching leniency stops at whitespace tolerance; anything looser is a non-match, and a non-match,
|
|
105
|
+
ambiguous match, empty-context pattern, or overlapping hunk is a hard, model-correctable error —
|
|
106
|
+
never a silent wrong-location or double-applied edit.
|
|
107
|
+
- Validate the multi-file operation graph (unique normalized paths, no conflicting ops, explicit
|
|
108
|
+
overwrite policy) before matching hunks.
|
|
109
|
+
- Treat files as decoded text: reject binary, preserve existing line-ending/BOM/final-newline
|
|
110
|
+
conventions, never normalize them silently.
|
|
111
|
+
- Resolve and validate all hunks against one original snapshot in memory before writing any file;
|
|
112
|
+
generate the preview diff in that resolve phase, not after writing.
|
|
113
|
+
- Write each file atomically (temp + rename) so a failure cannot leave a torn file.
|
|
114
|
+
- On partial multi-file failure, report the exact committed set and whether the delta is still exact;
|
|
115
|
+
a not-yet-renamed file is unchanged, never report a half-written file as committed or claim an
|
|
116
|
+
un-performed rollback.
|
|
117
|
+
- Return full file contents only behind an explicit option; default to a bounded diff to avoid
|
|
118
|
+
leaking large/sensitive files into logs.
|
|
119
|
+
- Route the write itself (writable-root/sandbox/hard-link checks) through `agent-command-sandbox.md`;
|
|
120
|
+
this protocol owns *what to write*, that reference owns *whether the write is allowed*.
|
|
121
|
+
|
|
122
|
+
## Routing
|
|
123
|
+
|
|
124
|
+
- The decision to require approval for a file mutation, and the safety classification of the write
|
|
125
|
+
target → `retrieval-agent-safety.md` Tool Execution + `agent-command-sandbox.md`.
|
|
126
|
+
- Rendering the before/after diff and approval prompt in a terminal → `terminal-cli-dev`.
|
|
127
|
+
- Persisting the edit as a session event for replay → `agent-session-persistence.md`.
|
|
128
|
+
- Verifying edit-tool robustness (context drift, ambiguity, partial-failure cases) at the test layer
|
|
129
|
+
→ `testing-strategy`.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Agent Editor And IDE Integration
|
|
2
|
+
|
|
3
|
+
## Editor or IDE integrations
|
|
4
|
+
|
|
5
|
+
Treat editor or IDE integrations as model-visible context and local action control planes, not convenience UI. Bind connected editor clients to the current principal, workspace or repository root, transport incarnation, extension/plugin generation, and authenticated local endpoint; reject stale or mismatched clients after reconnect, workspace switch, account switch, extension refresh, or path-conversion failure. File mentions, selected ranges, diagnostics, hover/definition/reference data, and editor-provided context must be normalized to canonical workspace paths and line/column bases, checked for containment and freshness against the current file snapshot, labeled as untrusted data with source and timestamp, capped by severity/count/size, deduplicated across turns, and excluded from prompt/context caches after file edits, diagnostic reset, or workspace change. Editor-open, diff, apply, save, close-tab, and jump-to-location handoffs are side-effectful actions: bind each request to a tool-use or action id, target path, expected old content or file version, generated candidate content, user decision, abort signal, and transport incarnation; accept only explicit terminal outcomes, clean up tabs/listeners on abort/unmount/exit, and fail closed on unknown finality rather than assuming the editor applied or rejected the change. Cross-environment path conversion must be reversible or explicitly one-way with verification before sending paths to an editor.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Agent Input And Media Ingestion
|
|
2
|
+
|
|
3
|
+
## Local scheduled prompts
|
|
4
|
+
|
|
5
|
+
Treat local scheduled prompts as future model-visible input, not a reminder convenience. Bind creation, listing, deletion, and fire events to principal/session/workspace, target agent or recipient, schedule expression, local-time interpretation, recurrence, session-only versus durable lifetime, persistence policy, scheduler generation, queue priority, privacy/policy state, and workload attribution. Durable schedules need explicit user intent, validated next-run proof, storage containment, max-job and malformed-record handling, single-owner scheduler lock or lease with stale recovery, file-watch or store-reload fencing, and cleanup on shutdown. Missed one-shot tasks must be removed or fenced before surfacing and require fresh user confirmation before execution; recurring tasks should reschedule from actual fire time, persist last-fire state, cap lifetime unless explicitly permanent, and use deterministic jitter or equivalent load spreading for herd-prone times. Session-only schedules must never be reported as durable, child-agent or recipient-owned schedules must stay owned by that recipient and be removed when the recipient is gone, and all scheduled prompt bodies are untrusted lower-precedence data until the queued turn is accepted. Diagnostics may expose bounded categories, counts, lifetime classes, and sanitized schedule classes, but not raw prompt bodies, local paths, task ids, recipient ids, credentials, or free-form scheduler errors.
|
|
6
|
+
|
|
7
|
+
## Typed prompt, paste, and media ingestion
|
|
8
|
+
|
|
9
|
+
Treat typed prompt input, pasted text, pasted images, client-supplied media blocks, and resolved file or resource attachments as a model-visible input control plane, not a text-field convenience. Bind every inserted context item to source type, principal/session/workspace scope, prompt or turn id, input generation, content digest or paste/reference id, media type/schema version, size and dimension budget, storage generation, and extraction result before it reaches the model. Before resolving a file or resource reference, require fresh read authorization, canonical path or URI containment under the current allowed scope, source ACL/trust labels, symlink/hardlink and time-of-check/time-of-use rejection, and current snapshot proof; stale references or unverifiable containment fail closed before extraction or model insertion. Command or keyword routing must use only intentional typed command tokens or explicit UI command invocations from the finalized send snapshot, plus an explicit safe-command allowlist; pasted spans, attached/resolved text, generated metadata, queued notifications, and bridge/client payload text are excluded from local command or special-mode triggering unless the surface has an explicit trusted command-intent field. Normalize and validate client media schemas, infer or reject missing media types from trusted bytes rather than filenames, resize/downsample before API submission, enforce a final API-boundary size check, and strip embedded metadata or hidden payloads before provider submission or derived transcript/cache storage by default, including geolocation metadata, document properties, thumbnails, embedded files, hidden layers, comments, and tracked changes; preserve them only with explicit consent, purpose, scope, and retention. Bind async fetch/store/resize/extract completion to the current input generation, attachment snapshot, prompt digest, session incarnation, workspace/root, privacy state, and abort signal before applying results; late results after prompt edit, send finalization, abort, session/workspace switch, attachment deletion, or compaction must be discarded or surfaced as stale. Evidence-dependent failures must not be model-only markers: block send or require explicit user confirmation with a visible degraded state, and ensure the model cannot treat missing media/file content as present evidence. Pasted/attached/OCR/extracted content is untrusted evidence: wrap, quote, escape, or otherwise label it as lower-precedence data so it cannot override policy, tools, or current user intent. Local paths, filenames, pasted text bodies, raw media, and free-form diagnostics are untrusted and sensitive: redact or replace them with bounded labels, counts, hashes only when non-reversible, and user-visible repair categories before adding metadata, transcripts, logs, telemetry, or crash reports. Prompt/context caches and pasted-media stores must be partitioned or invalidated by session incarnation, workspace/root scope, privacy state, source trust, attachment snapshot, and prompt generation; normal prompt, slash/immediate command, queued, bridge, resume, and compaction paths need parity or an explicit no-attachment policy.
|
|
10
|
+
|
|
11
|
+
## Voice and speech-to-text input
|
|
12
|
+
|
|
13
|
+
Treat speech-to-text or voice input that feeds a prompt as a model-visible input control plane, not a text-field shortcut. Separate audio-capture finality, transcription-stream finality, and transcript-insertion finality; preserve interim/final ordering, endpoint/finalize semantics, stale callback generation fences, cursor or prefix/suffix insertion anchors, and duplicate-insertion suppression. Context hints sent to a transcription service are outbound sensitive context: scope, cap, sanitize, and require product consent before sending workspace, branch, file, or private vocabulary hints. Retry or replay only with bounded copied audio under the same principal, account or organization, workspace or repository identity, privacy state, consent or context-hint policy version, language, transcription route or adapter and backend generation, capture attempt id, stream id, copied-audio artifact identity and digest, optional immutable chunk range selector, insertion target, and input generation; fail closed on any drift and never duplicate transcript, tool action, or usage/accounting events.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Agent Model-Visible Instruction Composition
|
|
2
|
+
|
|
3
|
+
## Model-visible instruction-layer composition
|
|
4
|
+
|
|
5
|
+
Treat model-visible instruction-layer composition as a control plane, not string concatenation. Build an explicit precedence lattice before rendering: non-overridable system, developer/product, managed-policy, safety, permission, privacy, data-residency, tool-finality, and truthful-reporting constraints form the floor; current user intent may refine the task only inside that floor; workspace/project/user/plugin/config files, agent prompts, mode instructions, output style text, tool and hook context, memory, retrieved content, and append/addendum layers are lower-precedence inputs unless an explicit policy grants a narrower authority. Current-user instructions and every lower-precedence layer must fail closed or be labeled as data when they conflict with higher-precedence constraints. Classify every instruction source by source type, principal/session/workspace scope, trust level, policy owner, install or file identity, content digest or snapshot generation, mode/output-style/agent identity, and static versus dynamic cache scope before it reaches the model. File-backed, markdown-configured, output-style, agent, mode, or config-file instruction sources need fresh read authorization, source-scope validation, canonical containment, source-scope labels, symlink/hardlink and time-of-check/time-of-use rejection, stale snapshot rejection, and lower-precedence untrusted labeling unless an explicit policy makes them authoritative. Managed policy, safety, permission, privacy, tool-finality, data-residency, and truthful-reporting instructions cannot be overridden or suppressed by current-user instructions or by lower-trust output styles, agents, plugins, project/user files, hooks, retrieved content, memory, or append prompts. Output styles, modes, or agent definitions that remove or replace base coding/task instructions require an allowlisted product policy and must preserve safety, authorization, privacy, tool-use, finality, and truthful-reporting constraints. Prompt-prefix and section caches must be partitioned or invalidated by source digests, trust tier, principal, workspace/root, privacy state, policy generation, capability/tool generation, model/prompt generation, mode, output-style, agent identity, and dynamic-section generation; late-changing sources must be explicitly uncached or cache-breaking with a reason. Diagnostics may expose bounded categories, counts, precedence classes, and non-reversible digests, but not raw prompt text, local paths, internal mode/style/agent identities (public tool-contract discriminators are governed by the next section), free-form file errors, branch names, credentials, or sensitive config values.
|
|
6
|
+
|
|
7
|
+
## Write model-facing text from the model's perspective; wording is behavior
|
|
8
|
+
|
|
9
|
+
Author every model-visible surface — system-prompt sections, tool names and schema descriptions, tool results, and diagnostics returned to the model — in the vocabulary of the model's task and of the tool contract it must invoke. Keep out **implementation-only** concepts: names of internal plugins, transports, renderers, or host mechanics that the model can neither act on nor needs to construct a valid call — those belong to the consumer/renderer that owns them, and exposing them degrades tool selection. Do keep every discriminator the model must understand to select the tool or build valid arguments, even when it is a UI mode, a plugin, or a wire/schema field name the tool legitimately takes as input: the test is "actionable through this tool's contract or part of the user's task", not "sounds like implementation". Reconcile this with the diagnostics rule above: a discriminator that is part of the **public, authorized tool contract** may appear in the schema and in a bounded repair diagnostic ("unknown value for `<field>`; allowed: …"), while internal mode/style/agent/plugin identities, local paths, and sensitive values stay out of diagnostics regardless — when a name is both actionable and identity-revealing, expose it only through the tool contract's declared enum/schema, never through free-form diagnostic text. Treat the wording of model-visible text as behavior, not copy: a change to a prompt section, a tool description, a result rendering, or a model-visible diagnostic is a behavior change and needs evidence proportional to what it can move — a snapshot/golden of the text is a review aid that catches unreviewed drift (pin it verbatim only for wording that passes `testing-strategy`'s documented-contract / past-defect keep test; otherwise it is a change-detector), and the behavioral claim ("selection/arguments/outcome unchanged or improved") is carried by a replay or eval that exercises the affected mode with behavioral assertions (see `model-prompt-evaluation.md`); a snapshot updated alongside a wording change proves nothing about behavior. "Reworded the description" without either is an unreviewed behavior change. Corollary for reviewers: inspect the exact prompts, tool schemas, results, and diagnostics the model receives across the affected modes, and flag implementation-only concepts — not legitimate contract discriminators — before checking anything else.
|
|
10
|
+
|
|
11
|
+
## Slash commands and skill invocation
|
|
12
|
+
|
|
13
|
+
Treat slash commands, local commands, prompt-backed skills, workflow commands, keybinding-triggered commands, and command-like remote or bridge invocations as a capability and action control plane, not a text alias list. Bind every command registry snapshot and invocation to principal/session/workspace, entrypoint mode, command source identity, source trust tier, registry/cache generation, availability and enablement generation, command name plus alias/user-facing-name resolution, user-invocable flag, model-invocable flag, hidden/help visibility, bridge-safe and remote-safe allowlists, immediate/queued execution mode, sensitive-argument policy, lazy-load module generation, tool-schema/capability generation, permission policy, allowed-tool scope, hook-set generation, and command completion generation. A command visible to users is not automatically visible to the model, bridge, remote client, keybinding, or sub-agent; each surface needs an explicit allow path, and disabled/hidden/user-only/model-disabled commands must fail closed after every registry refresh. Immediate commands that bypass queueing must be opt-in, side-effect bounded, and revalidate the finalized input snapshot, pasted-content expansion, prompt stash/restore state, loading state, command generation, and current policy before execution. Prompt-backed skills that inject model-visible content, hidden meta messages, scoped tools, hooks, forked agents, or model/effort overrides must label their source and generation, preserve lower-precedence untrusted content, and reauthorize before granting scoped tool rules or registering hooks. Command completion callbacks that append transcript entries, hidden model-visible messages, next input, or automatic query submission must bind to the original command invocation identity, args digest, session/incarnation, command generation, and current privacy/policy state; stale, duplicate, late, or post-abort completions must be ignored or surfaced as uncertainty. Sensitive command args, command bodies, plugin/source names, local paths, raw prompts, hidden meta-message bodies outside their intended model-visible channel, and free-form command errors must be redacted from user-visible transcript renderings, telemetry, logs, search indexes, and diagnostics unless explicit product policy requires a visible record.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Agent lifecycle hooks framework
|
|
2
|
+
|
|
3
|
+
Reusable mechanics for a **user-extensible hook surface**: how an agent runtime lets operators inject external logic (a command, a script, an in-process callback) at fixed points in the turn/tool lifecycle to observe, gate, modify, or block agent behavior — without forking the runtime.
|
|
4
|
+
|
|
5
|
+
Use this when building or reviewing a hook/extension system for an agent. It sits beside:
|
|
6
|
+
- `agent-turn-lifecycle.md` — owns *where* in the loop each hook fires (session start, pre/post tool, pre/post compact, stop).
|
|
7
|
+
- `agent-command-sandbox.md` — owns the approval/sandbox engine that a permission hook can short-circuit.
|
|
8
|
+
- `agent-tool-dispatch.md` — owns the tool router whose pre/post points the tool hooks wrap.
|
|
9
|
+
|
|
10
|
+
## The event surface
|
|
11
|
+
|
|
12
|
+
Define a closed, named set of lifecycle events. A representative, well-covered set:
|
|
13
|
+
|
|
14
|
+
| Event | Fires | Can gate? | Typical scope |
|
|
15
|
+
|---|---|---|---|
|
|
16
|
+
| SessionStart | session/thread begins | no (observe + inject context) | thread |
|
|
17
|
+
| UserPromptSubmit | user input accepted, before sampling | yes (block/inject) | turn |
|
|
18
|
+
| PreToolUse | before a tool executes | **yes** (allow/deny/ask) | turn |
|
|
19
|
+
| PermissionRequest | when a tool needs approval | **yes** (allow/deny) | turn |
|
|
20
|
+
| PostToolUse | after a tool returns | no (observe + inject) | turn |
|
|
21
|
+
| PreCompact | before context compaction | yes (influence/abort) | turn |
|
|
22
|
+
| PostCompact | after compaction | no (observe) | turn |
|
|
23
|
+
| SubagentStart | a sub-agent/child turn begins | no (observe + inject) | thread |
|
|
24
|
+
| SubagentStop | a sub-agent finishes | **yes** (block to continue) | turn |
|
|
25
|
+
| Stop | turn is about to complete | **yes** (block to continue) | turn |
|
|
26
|
+
|
|
27
|
+
Two design rules from this table:
|
|
28
|
+
- **Not every event takes a matcher.** Tool-scoped events (pre/post tool, permission, compact, subagent) match against a target (tool name, compaction trigger, source); prompt-submit and stop fire unconditionally. Encode which events have meaningful matchers so config that puts a matcher on a non-matching event is ignored predictably rather than silently mis-dispatched.
|
|
29
|
+
- **Scope matters for state keying.** Session/subagent-start hooks are thread-scoped (they set up state for the whole thread); the rest are turn-scoped. Key any persisted hook state by event scope so a turn-scoped hook's state doesn't leak across the thread.
|
|
30
|
+
|
|
31
|
+
## Dispatch semantics
|
|
32
|
+
|
|
33
|
+
When an event fires, select and run the matching handlers:
|
|
34
|
+
|
|
35
|
+
1. **Select** handlers whose configured event matches and whose matcher (a regex over the target, e.g. `Write|Edit|apply_patch`) matches the input. Events without matchers select all their handlers.
|
|
36
|
+
2. **Dedupe per handler.** If one handler's matcher has several alias branches that all match the same target, run it **once**, not once per alias. (A `Write|Edit` hook fires a single time for one edit call.)
|
|
37
|
+
3. **Run handlers concurrently but report in deterministic configured order.** Launch selected handlers in parallel for latency, but sort results back into configuration order before applying them — operators expect "first hook wins" to mean *first in config*, not *first to finish*. Track completion order separately if you need it for telemetry. Concurrent execution only orders the *decision aggregation*, not handler **side effects**: two hooks that each mutate external state still race. Require hook handlers to be side-effect-independent (ideally idempotent); provide an explicit **sequential mode** for the rare case where handlers have ordering dependencies, rather than pretending config-order result sorting serializes their effects.
|
|
38
|
+
4. **Aggregate decisions by precedence** (see decision model). With multiple gating hooks on one event, a safe default is: any **Deny** wins over **Ask**, which wins over **Allow**; ties broken by configured order. Make the precedence explicit and documented — "see below" is not a spec; operators must be able to predict the outcome when two hooks disagree.
|
|
39
|
+
|
|
40
|
+
**Bound hook fan-out.** N matching handlers spawned concurrently, times every tool call in a tight loop, is a subprocess storm (effectively a fork bomb). Cap concurrent hook processes with a pool/semaphore and cap handlers-per-event; queue or reject beyond the cap rather than spawning unboundedly.
|
|
41
|
+
|
|
42
|
+
### Decision model
|
|
43
|
+
|
|
44
|
+
A gating hook returns one of: **Allow**, **Deny(reason)**, **Ask** (escalate to user), or **Block** (for Stop: refuse to stop and continue with an injected prompt). Plus, most hooks can return **additional context** to inject into the turn regardless of decision. Normalize synonyms (e.g. `Block`→`Deny` for tool gating) into a single internal enum so call sites branch on one type.
|
|
45
|
+
|
|
46
|
+
- A **deny must carry a reason** that becomes model-visible — the model needs to know *why* a tool was blocked to adapt, not just that it failed. **Bound repeated identical denied calls per turn**: a deny that the model answers by retrying the exact same call is an infinite loop; after a small repeat count, escalate to a hard turn-level stop rather than re-denying forever (see `agent-turn-lifecycle.md` outer-loop bound).
|
|
47
|
+
- **A permission hook outranks the built-in *interactive* approval flow, but not a non-overridable policy.** If a `PermissionRequest` hook returns a decision, honor it and skip the normal user/guardian prompt; only fall through to the standard approval path when no hook decides. This lets an operator pre-authorize or hard-forbid classes of actions non-interactively. A hook **Allow** must not, however, escalate past a hard/forbidden policy denial — a hook can waive an interactive prompt, not a non-overridable safety rule. Deny always composes (a hook Deny stands even if policy would allow).
|
|
48
|
+
- For `Stop` / `SubagentStop` hooks, a block must supply a continuation prompt; a block with no prompt is a no-op (warn and proceed to stop) — otherwise the turn hangs unable to either stop or continue. Cap consecutive stop-block continuations (see `agent-turn-lifecycle.md` outer-loop bound).
|
|
49
|
+
|
|
50
|
+
## Running external command hooks safely
|
|
51
|
+
|
|
52
|
+
The most common handler type shells out to a user command. Treat that command as **untrusted, slow, and failure-prone**:
|
|
53
|
+
|
|
54
|
+
- **Pass event data as JSON on stdin**, not as argv (avoids quoting/injection and argv length limits). Emit a **stable, versioned wire shape** (snake_case keys, RFC3339 timestamps) — operators script against it, so changing it silently breaks their hooks.
|
|
55
|
+
- **Always time-bound** each command (per-handler timeout) and **kill on drop / kill on timeout** so a hung hook can't wedge the turn. A timed-out hook is a captured error, not a crash.
|
|
56
|
+
- **Capture, never panic.** Spawn failure, stdin-write failure, non-zero exit, timeout, and malformed output are all *results* with an error field — one bad hook must not take down the runtime. Decide per event whether a hook failure is `fail-continue` (run the rest, proceed) or `fail-abort` (stop the operation): gating events lean fail-closed for safety-relevant denials, observation events lean fail-open.
|
|
57
|
+
- **Bound the captured output.** Hook stdout/stderr can be arbitrarily large; spill/truncate to a cap before storing or feeding any of it back into context, or a chatty hook blows up memory and the context window. Truncation must be visible (marked), not silent.
|
|
58
|
+
- **Parse output defensively.** A hook's stdout is parsed into the decision/reason/additional-context structure; malformed JSON is a handled parse error (treated as "no decision"), never a trust-the-bytes path.
|
|
59
|
+
- **Treat hook-injected additional context as untrusted, model-visible data — the prompt-injection vector.** A command hook can echo attacker-controlled bytes (file contents, web responses) as additional context; injected verbatim it becomes a prompt-injection / agent-hijack path. Subject it to the same injection-trust handling as tool output: sanitize/quote it, mark its provenance, and gate how much weight it carries by the hook's trust level. Never inject raw hook stdout straight into the model turn.
|
|
60
|
+
- **Run hooks in a defined working directory and a minimal, explicit environment.** Pass an allowlisted env so behavior is reproducible and a third-party hook can't inherit ambient state — and in particular **do not forward secrets (API keys, tokens) into hook commands by default**; an untrusted hook with the agent's credentials in its env can exfiltrate them.
|
|
61
|
+
- **Kill the hook's whole process group, not just the parent.** A hook that spawns children leaves orphaned grandchildren when only the parent is killed on timeout/drop. Run each hook in its own process group and terminate the group.
|
|
62
|
+
|
|
63
|
+
## Anti-patterns
|
|
64
|
+
|
|
65
|
+
- An open-ended/implicit event set (operators can't know what they can hook; runtime can't validate config). Close the set and name it.
|
|
66
|
+
- Dispatching in completion order rather than configured order (nondeterministic "which hook won").
|
|
67
|
+
- Running a matcher-aliased hook once per alias branch (duplicate side effects for one tool call).
|
|
68
|
+
- Letting a hook command run unbounded (no timeout, no kill-on-drop) — one hung hook freezes every turn.
|
|
69
|
+
- Feeding raw, unbounded hook stdout back into context (memory blowup; context poisoning via untrusted hook output).
|
|
70
|
+
- A deny decision with no model-visible reason (model can't adapt; retries the same blocked action).
|
|
71
|
+
- A `Stop`-block with no continuation prompt and no cap (turn can neither stop nor progress).
|
|
72
|
+
- Panicking on hook failure instead of capturing it as a typed result (one operator's broken script crashes the agent).
|
|
73
|
+
- Changing the hook payload wire shape without versioning (silently breaks every operator's scripts).
|
|
74
|
+
- Treating a permission-hook decision as advisory while still prompting the user (defeats non-interactive pre-authorization; double-gates) — or the reverse, letting a hook Allow override a hard/non-overridable policy denial.
|
|
75
|
+
- Spawning all matching handlers with no concurrency cap (subprocess storm under a tight tool loop). Pool/semaphore the fan-out.
|
|
76
|
+
- Forwarding the agent's full environment (including secrets) into untrusted hook commands. Pass a minimal allowlist.
|
|
77
|
+
- Killing only the hook's parent process on timeout (orphaned grandchildren). Kill the process group.
|
|
78
|
+
- Injecting raw hook stdout as model-visible context (prompt-injection vector). Sanitize and gate by trust.
|
|
79
|
+
- Assuming config-order result sorting serializes side-effecting hooks (it doesn't — only decisions are ordered). Require independent/idempotent handlers or a sequential mode.
|
|
80
|
+
- Leaving a deny→model-retries-identical-call loop unbounded. Cap repeated identical denied calls per turn.
|
|
81
|
+
|
|
82
|
+
## Hook and classifier outputs as untrusted
|
|
83
|
+
|
|
84
|
+
Hook, prompt-hook, agent-hook, and automatic-classifier outputs are untrusted control-plane inputs, not authority. Validate result discriminants and schema, bind each response to the pending request and abort signal, time-bound execution, reject late results after cancellation or generation/policy/input changes, and let explicit deny/ask rules override hook or classifier allow results. A hook may narrow, ask, deny, add context, or provide a reviewed input transform; it must not silently widen permission scope, persist a broad allow rule, inject executable instructions, leak environment secrets into headers/prompts/logs, or override system, developer, current-user, managed-policy, or explicit-deny constraints.
|
|
85
|
+
|
|
86
|
+
## Post-turn hooks and follow-on background work
|
|
87
|
+
|
|
88
|
+
Treat post-turn hooks and follow-on background work as a continuation-finality boundary. Capture the turn context once, bind hook execution to principal/session/workspace, entrypoint mode, query source, agent identity, permission mode, hook-set generation, abort signal, transcript/message snapshot, and capability/policy generation, and restrict cache-safe context snapshots or background bookkeeping to entrypoints allowed to own that state. Background suggestions, memory extraction, classification, cleanup, or other post-turn jobs must be mode-gated, excluded from subagent or noninteractive timelines unless explicitly supported, isolated from the main transcript unless they produce an authorized message, and fenced so late results after abort, new input, root/workspace switch, or session/agent drift cannot mutate state. Stop, task-completed, idle, or similar continuation hooks need deterministic ordering, per-hook progress/effect identity, bounded output aggregation, explicit blocker versus nonblocking-error finality, and a model-visible blocker only when continuation is actually prevented. If a hook prevents continuation, aborts, or is canceled, return a durable continuation state rather than relying on UI notification; if hook orchestration itself fails, surface a degraded warning without inventing a blocker. Summaries, notifications, and diagnostics may expose bounded counts, categories, durations, and sanitized reason codes, but not raw hook commands, prompts, task or team names, outputs, local paths, credentials, telemetry ids, or free-form errors.
|
|
89
|
+
|
|
90
|
+
## Runtime hook configuration control plane
|
|
91
|
+
|
|
92
|
+
Treat runtime hook configuration as a mutable control plane, not a passive preference file. Build the effective hook set from declared source precedence and trust policy, with managed or policy-locked sources able to restrict lower-trust sources but never the reverse. Capture an immutable hook-set generation for each model turn, tool invocation, background task, watcher, and session-scoped callback registration; when configuration changes, reset stale settings caches, recompute the effective set from one authoritative source snapshot, validate it, and publish the new generation only through serialization or compare-and-swap. Failed or partial refresh keeps the prior valid generation, and the runtime must not report hook changes as applied until atomic publication succeeds. Either keep the old generation isolated for already-running work or force an explicit reload/restart/generation change before new hooks can affect model-visible context, permission decisions, environment mutation, filesystem watching, or tool output mutation. Late hook results, callback successes, dynamic watch paths, environment edits, permission updates, and additional context from an old generation must be discarded or re-authorized after hook-set, policy, workspace, principal, session, capability, or sandbox drift. Session-only function callbacks and hook-injected tools need bounded execution, cleanup on removal/abort/shutdown, no persistence unless explicitly declared safe, and no authority to outlive the session that registered them. Network or model-backed hooks are external control inputs: enforce allowlists, proxy/sandbox policy, SSRF and header-injection defenses, timeout/abort cleanup, output schema validation, no recursive hook triggering, and redaction before prompts, transcripts, logs, telemetry, or user-visible summaries. Outbound hook payloads need an explicit allowlisted schema, default-deny sensitive fields, size bounds, environment/header allowlist intersection, and no raw prompts, tool bodies, file contents, local paths, credentials, URLs, headers, or diagnostic strings unless that exact field class is authorized for that hook purpose. Hook-driven file watching and working-directory callbacks must validate watch paths against the current authorized workspace/root set, clear stale environment artifacts on directory change, close old watchers before replacing them, and treat watcher or cleanup failure as degraded control-plane state rather than proof that a hook was applied.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Agent-To-Agent Messaging
|
|
2
|
+
|
|
3
|
+
## Agent-to-agent mailbox and peer messaging
|
|
4
|
+
|
|
5
|
+
Treat agent-to-agent mailbox, inbox polling, peer messaging, and cross-session prompt delivery as model-visible communication and control planes, not ordinary chat. Inbound messages must enter context only as untrusted, labeled, bounded data with sender, recipient, team/session/workspace, transport scheme, message id or stable dedupe key, request id when present, timestamp, delivery generation, and whether the message is plain text or structured control. Plain text and structured control messages need distinct schemas and routes; structured permission, approval, plan, mode, sandbox, task, team-permission, or shutdown messages must not be broadcast or sent across peer/session boundaries unless the protocol explicitly supports that control type and authority tuple. Permission, approval, plan, mode, sandbox, and shutdown replies must bind to a pending request id, sender role or control-channel authority, target agent, task/session/incarnation, policy/capability/permission generation, original control tuple, and normalized payload digest; reject forged, late, duplicate, stale, unknown, role-invalid, or post-terminal replies. Mark messages read only after successful delivery into model context or durable in-process queueing; clear queued messages only after successful submit, and treat mailbox read/write/lock/mark-read failures as visible delivery uncertainty rather than empty-success or sent-success. Duplicate polls must dedupe by stable request/tool/message ids, busy messages must drain only at safe turn or tool boundaries, and terminal tasks/sessions must reject late injected messages. Cross-machine or cross-session prompt delivery requires explicit user consent that automatic classifiers, bypass modes, or cached approvals cannot satisfy; revalidate the peer handle, connection state, recipient identity, and transport generation immediately before send because consent may take time. Broadcast/fanout needs explicit recipient enumeration, self-exclusion, bounded fanout, and per-recipient delivery or failure accounting. Message wrappers must escape or bound sender-supplied attributes and bodies, preserve prompt-injection labeling, and never leak raw message bodies, control payloads, socket paths, session handles, local transport addresses, prompts, credentials, or sensitive paths into diagnostics; route sink policy to `platform-observability`.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Agent Runtime Startup And Configuration Bootstrap
|
|
2
|
+
|
|
3
|
+
## Runtime startup and configuration bootstrap
|
|
4
|
+
|
|
5
|
+
Treat runtime startup and configuration bootstrap as a trust-boundary state machine, not ordinary config loading. Bind startup effects to principal/session/workspace, entrypoint mode, trust state, settings source class and generation, host-managed runtime-variable ownership, managed-policy generation, network-transport generation, cwd/project-root/worktree generation, hook snapshot generation, cleanup generation, and telemetry initialization generation. Before workspace/project trust, trusted global/user/flag/policy sources may apply according to policy, while project-local or workspace-derived settings may apply only when explicitly allowlisted as safe and unable to widen authority, redirect traffic, load code, change provider/model/routing, modify proxy/TLS material, alter hooks/tools/sandbox/telemetry behavior, affect model-visible context, or expose credentials; all other project-local or workspace-derived configuration must wait for trust and fresh authorization. Host-owned spawn variables and provider-routing variables must not be overridden by lower-trust settings when the host declares ownership. API-only tunnel or routing variables must stay scoped to the intended API client and must not leak into unrelated connector, HTTP, streaming, shell, hook, or tool transports. Early certificate, proxy, and mutual-auth setup must use only trusted sources, preserve base trust roots when adding custom trust material, respect bypass rules, and clear/rebuild cached agents or clients after post-trust environment changes. Cwd, project-root, or worktree switches must invalidate file, memory, prompt, hook, tool, permission, and source-control caches and refresh hook/config snapshots before commands, tools, hooks, skills, background jobs, or model-visible context load from the new root. Startup background jobs, prefetches, remote settings fetches, memory tasks, release notes, and telemetry must be gated by entrypoint mode and trust state, idempotent across retries, cancelable during shutdown, and unable to race noninteractive install/sync paths. Unsafe bypass modes need explicit environment checks and a fail-closed degraded state. Diagnostics may expose bounded categories, generations, mode labels, and sanitized reason codes, but not raw local paths, environment variable names or values, provider names, endpoint details, credentials, command lines, project structure, config bodies, or free-form setup errors.
|