{"name":"production-incident-commander","description":"Private safety-first commander for production incident diagnosis, remediation planning, approval-gated execution, recovery verification, and postmortems.","version":"0.1.2","skills":[{"id":"diagnose_incident","name":"diagnose_incident","description":"Diagnose a production incident, collect bounded evidence, rank hypotheses, and write diagnosis artifacts","tags":[],"scopes":[],"stream":false,"policy":{"timeout_seconds":900.0,"idempotent":false,"max_retries":0,"cost_class":"incident-diagnostic","allow_scope_expansion":false,"grant_mode":"read_write_overlay","grant_allow_patterns":["outputs/incidents/**"],"grant_deny_patterns":["**/.env","**/secrets/**","**/*kubeconfig*"],"grant_outputs_prefix":null,"grant_write_prefixes":["outputs/incidents/"],"grant_ttl_seconds":null,"grant_run_timeout_seconds":null,"grant_approval_timeout_seconds":null,"grant_scope_approval_timeout_seconds":null},"input_schema":{"type":"object","additionalProperties":false,"required":["incident_id","title","symptoms","affected_services"],"properties":{"incident_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{2,63}$"},"title":{"type":"string"},"symptoms":{"type":"array","items":{"type":"string"}},"affected_services":{"type":"array","items":{"type":"string"}},"environment":{"type":"string","enum":["production","staging","development"],"default":"production"},"started_at":{"type":"string","default":""},"evidence_paths":{"type":"array","items":{"type":"string"},"default":[]},"diagnostic_targets":{"type":"object","additionalProperties":false,"default":{},"properties":{"kubernetes_namespaces":{"type":"array","items":{"type":"string"},"default":[]},"argo_applications":{"type":"array","items":{"type":"string"},"default":[]},"prometheus_queries":{"type":"array","items":{"type":"string"},"default":[]},"healthcheck_urls":{"type":"array","items":{"type":"string"},"default":[]},"gitea_repositories":{"type":"array","items":{"type":"string"},"default":[]}}},"constraints":{"type":"array","items":{"type":"string"},"default":[]}}},"output_schema":{"additionalProperties":true,"type":"object"}},{"id":"plan_remediation","name":"plan_remediation","description":"Create an ordered remediation plan from diagnosis artifacts. This skill never executes changes.","tags":[],"scopes":[],"stream":false,"policy":{"timeout_seconds":300.0,"idempotent":false,"max_retries":0,"cost_class":"incident-planning","allow_scope_expansion":false,"grant_mode":"read_write_overlay","grant_allow_patterns":["outputs/incidents/**"],"grant_deny_patterns":[],"grant_outputs_prefix":null,"grant_write_prefixes":["outputs/incidents/"],"grant_ttl_seconds":null,"grant_run_timeout_seconds":null,"grant_approval_timeout_seconds":null,"grant_scope_approval_timeout_seconds":null},"input_schema":{"type":"object","additionalProperties":false,"required":["incident_id","objective"],"properties":{"incident_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{2,63}$"},"diagnosis_path":{"type":"string","default":""},"objective":{"type":"string"},"change_window":{"type":"string","default":""},"allowed_actions":{"type":"array","items":{"type":"string"},"default":[]},"forbidden_actions":{"type":"array","items":{"type":"string"},"default":[]},"rollback_requirements":{"type":"array","items":{"type":"string"},"default":[]}}},"output_schema":{"additionalProperties":true,"type":"object"}},{"id":"execute_remediation","name":"execute_remediation","description":"Execute only explicitly approved allowlisted reversible remediation steps. Defaults to dry run and fails closed.","tags":[],"scopes":[],"stream":false,"policy":{"timeout_seconds":900.0,"idempotent":false,"max_retries":0,"cost_class":"incident-execution","allow_scope_expansion":false,"grant_mode":"read_write_overlay","grant_allow_patterns":["outputs/incidents/**"],"grant_deny_patterns":[],"grant_outputs_prefix":null,"grant_write_prefixes":["outputs/incidents/"],"grant_ttl_seconds":null,"grant_run_timeout_seconds":null,"grant_approval_timeout_seconds":null,"grant_scope_approval_timeout_seconds":null},"input_schema":{"type":"object","additionalProperties":false,"required":["incident_id","plan_path","plan_digest","approved_step_ids","approval_acknowledgement"],"properties":{"incident_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{2,63}$"},"plan_path":{"type":"string"},"plan_digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"approved_step_ids":{"type":"array","items":{"type":"string"}},"approval_acknowledgement":{"type":"string","const":"I_APPROVE_THE_LISTED_STEPS"},"dry_run":{"type":"boolean","default":true},"stop_on_failure":{"type":"boolean","default":true}}},"output_schema":{"additionalProperties":true,"type":"object"}},{"id":"verify_recovery","name":"verify_recovery","description":"Verify recovery using user-visible checks and metrics. Never marks recovered unless required checks pass.","tags":[],"scopes":[],"stream":false,"policy":{"timeout_seconds":900.0,"idempotent":false,"max_retries":0,"cost_class":"incident-verification","allow_scope_expansion":false,"grant_mode":"read_write_overlay","grant_allow_patterns":["outputs/incidents/**"],"grant_deny_patterns":[],"grant_outputs_prefix":null,"grant_write_prefixes":["outputs/incidents/"],"grant_ttl_seconds":null,"grant_run_timeout_seconds":null,"grant_approval_timeout_seconds":null,"grant_scope_approval_timeout_seconds":null},"input_schema":{"type":"object","additionalProperties":false,"required":["incident_id"],"properties":{"incident_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{2,63}$"},"verification_plan_path":{"type":"string","default":""},"healthcheck_urls":{"type":"array","items":{"type":"string"},"default":[]},"prometheus_queries":{"type":"array","items":{"type":"string"},"default":[]},"observation_seconds":{"type":"integer","default":60}}},"output_schema":{"additionalProperties":true,"type":"object"}},{"id":"generate_postmortem","name":"generate_postmortem","description":"Generate a blameless postmortem from saved incident artifacts","tags":[],"scopes":[],"stream":false,"policy":{"timeout_seconds":300.0,"idempotent":false,"max_retries":0,"cost_class":"incident-postmortem","allow_scope_expansion":false,"grant_mode":"read_write_overlay","grant_allow_patterns":["outputs/incidents/**"],"grant_deny_patterns":[],"grant_outputs_prefix":null,"grant_write_prefixes":["outputs/incidents/"],"grant_ttl_seconds":null,"grant_run_timeout_seconds":null,"grant_approval_timeout_seconds":null,"grant_scope_approval_timeout_seconds":null},"input_schema":{"type":"object","additionalProperties":false,"required":["incident_id"],"properties":{"incident_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{2,63}$"},"include_customer_summary":{"type":"boolean","default":true},"include_action_items":{"type":"boolean","default":true}}},"output_schema":{"additionalProperties":true,"type":"object"}}],"capabilities":{"a2a_pack":{"package":"a2a-pack","version":"0.1.111"},"mcp":{"standard":{"path":"/mcp","intended_for":"code_sdk_clients"},"connector":{"path":"/connector-mcp","intended_for":["chatgpt","claude","hosted_connectors"],"supports_async_jobs":true,"supports_structured_interrupts":true,"poll_tool":"job_result","resume_tool":"submit_interaction","instructions":"Use this URL for hosted connector UIs. Use /mcp for normal code or SDK MCP clients."}}},"input_modes":["application/json"],"output_modes":["application/json"],"required_secrets":[],"required_env":[],"consumer_setup":{"fields":[{"name":"KUBERNETES_API_URL","kind":"config","label":null,"description":"","required":false,"input_type":"url","options":[]},{"name":"KUBERNETES_BEARER_TOKEN","kind":"secret","label":null,"description":"","required":false,"input_type":"password","options":[]},{"name":"ARGOCD_URL","kind":"config","label":null,"description":"","required":false,"input_type":"url","options":[]},{"name":"ARGOCD_TOKEN","kind":"secret","label":null,"description":"","required":false,"input_type":"password","options":[]},{"name":"PROMETHEUS_URL","kind":"config","label":null,"description":"","required":false,"input_type":"url","options":[]},{"name":"PROMETHEUS_TOKEN","kind":"secret","label":null,"description":"","required":false,"input_type":"password","options":[]},{"name":"GITEA_URL","kind":"config","label":null,"description":"","required":false,"input_type":"url","options":[]},{"name":"GITEA_TOKEN","kind":"secret","label":null,"description":"","required":false,"input_type":"password","options":[]}]},"runtime":{"lifecycle":"ephemeral","availability":"on_demand","state":"none","sandbox":"microsandbox","resources":{"cpu":"1","memory":"1Gi","gpu":0,"max_runtime_seconds":900},"concurrency":1,"egress":{"allow_hosts":["kubernetes.default.svc","prometheus.monitoring.svc","argocd-server.argocd.svc"],"allow_internal_services":[],"deny_internet_by_default":true},"tools_used":["httpx","pydantic","kubernetes-api","argocd-api","prometheus-api","gitea-api"],"llm_provisioning":"platform","pricing":{"price_per_call_usd":0.0,"caller_pays_llm":false,"notes":"Deterministic local policy and bounded caller-configured integrations; no LLM credential required."},"wants_cp_jwt":false,"platform_resources":{"memory":null,"databases":[],"mailbox":null},"endpoints":[],"apt_packages":[]},"state_schema":null,"workspace_access":{"enabled":true,"max_files":200,"allowed_modes":["read_only","read_write_overlay"],"require_reason":true,"deny_patterns":["**/.env","**/secrets/**","**/*kubeconfig*"],"require_human_approval":false,"max_total_size_bytes":26214400},"mcp_endpoint":"/mcp","connector_mcp_endpoint":"/connector-mcp","mcp_endpoints":{"standard":{"path":"/mcp","intended_for":"code_sdk_clients"},"connector":{"path":"/connector-mcp","intended_for":["chatgpt","claude","hosted_connectors"],"supports_async_jobs":true,"supports_structured_interrupts":true,"poll_tool":"job_result","resume_tool":"submit_interaction","instructions":"Use this URL for hosted connector UIs. Use /mcp for normal code or SDK MCP clients."}}}