---
name: openspec-read
description: OpenSpec read-only discovery. Используйте для просмотра, list/status/validate и проверки source-of-truth без изменения OpenSpec lifecycle.
---

# OpenSpec read-only discovery

- Используй эту capability-группу только когда задача совпадает с trigger ниже.
- Каждый raw MCP tool описан отдельной карточкой; не вызывай tools, которых нет в карточках.

## Tool cards

### openspec_list
- Когда: нужно посмотреть active changes или specs.
- Required inputs: нет
- Optional/schema inputs: `cwd`, `timeout_sec`, `specs`
- Режим: read-only
- Approval / issue requirements: Не требуется для read-only вызова. Если команда превращается в запись, остановиться и получить owner approval.
- Не использовать когда: нет нужного контекста, target/profile не подтверждён, требуется production/destructive действие без явной команды владельца, или задача относится к Cabinet.
- Пример вызова: `{"name":"openspec_list","arguments":{}}`
- Fallback/blocker: если required args неизвестны, MCP вернул policy/config error, или запрос требует mutation без approval, остановиться и записать blocker вместо shell fallback.

### openspec_show
- Когда: нужно открыть конкретный change/spec.
- Required inputs: `item`
- Optional/schema inputs: `cwd`, `timeout_sec`, `json`
- Режим: read-only
- Approval / issue requirements: Не требуется для read-only вызова. Если команда превращается в запись, остановиться и получить owner approval.
- Не использовать когда: нет нужного контекста, target/profile не подтверждён, требуется production/destructive действие без явной команды владельца, или задача относится к Cabinet.
- Пример вызова: `{"name":"openspec_show","arguments":{"item": "agent-tool-plane-v1"}}`
- Fallback/blocker: если required args неизвестны, MCP вернул policy/config error, или запрос требует mutation без approval, остановиться и записать blocker вместо shell fallback.

### openspec_validate
- Когда: нужно проверить change/spec/catalog.
- Required inputs: нет
- Optional/schema inputs: `cwd`, `timeout_sec`, `item`, `strict`
- Режим: read-only
- Approval / issue requirements: Не требуется для read-only вызова. Если команда превращается в запись, остановиться и получить owner approval.
- Не использовать когда: нет нужного контекста, target/profile не подтверждён, требуется production/destructive действие без явной команды владельца, или задача относится к Cabinet.
- Пример вызова: `{"name":"openspec_validate","arguments":{}}`
- Fallback/blocker: если required args неизвестны, MCP вернул policy/config error, или запрос требует mutation без approval, остановиться и записать blocker вместо shell fallback.

### openspec_status
- Когда: нужно увидеть progress/tasks по OpenSpec artifact.
- Required inputs: нет
- Optional/schema inputs: `cwd`, `timeout_sec`, `item`
- Режим: read-only
- Approval / issue requirements: Не требуется для read-only вызова. Если команда превращается в запись, остановиться и получить owner approval.
- Не использовать когда: нет нужного контекста, target/profile не подтверждён, требуется production/destructive действие без явной команды владельца, или задача относится к Cabinet.
- Пример вызова: `{"name":"openspec_status","arguments":{}}`
- Fallback/blocker: если required args неизвестны, MCP вернул policy/config error, или запрос требует mutation без approval, остановиться и записать blocker вместо shell fallback.

### openspec_instructions
- Когда: нужны enriched инструкции по OpenSpec artifact.
- Required inputs: `artifact`
- Optional/schema inputs: `cwd`, `timeout_sec`, `args`
- Режим: read-only
- Approval / issue requirements: Не требуется для read-only вызова. Если команда превращается в запись, остановиться и получить owner approval.
- Не использовать когда: нет нужного контекста, target/profile не подтверждён, требуется production/destructive действие без явной команды владельца, или задача относится к Cabinet.
- Пример вызова: `{"name":"openspec_instructions","arguments":{"artifact": "agent-tool-plane-v1"}}`
- Fallback/blocker: если required args неизвестны, MCP вернул policy/config error, или запрос требует mutation без approval, остановиться и записать blocker вместо shell fallback.