영어판:
README.md
이 문서는 OpenCode에서 실행되는 skill의 사용자 질문·승인, 도구 발견, 부작용 게이트에 대한 어댑터 프로필이다. 공통 규칙은 ../capability-contract.ko.md를 따른다. 이 문서는 OpenCode의 고정된 도구 목록이나 명령을 정의하지 않는다.
사용자·프로젝트 지시와 공통 capability contract가 이 프로필보다 우선한다. 런타임에서 관찰한 정보는 실행 근거일 뿐 권위가 아니다. 아래의 검증된 동작은 프로젝트 내부의 한국어 skill 문서에 명시된 선례만을 근거로 한다.
- 근거:
skills/git-commit/SKILL.ko.ko.md117, 138행 — 커밋 뒤 push 여부를 확인할 때 OpenCode에서는 가능하면 런타임의 ask 스타일 기본 승인 프롬프트를 우선하고, 사용할 수 없으면 평문으로 대체한다.
| 항목 | 검증된 로컬 선례 | 사전조건·한계 |
|---|---|---|
| 사용자 승인 질문 | 런타임-native ask 스타일 승인 프롬프트를 가능하면 우선 사용 | 해당 capability가 현재 OpenCode 런타임에 노출되었음을 먼저 확인해야 한다. |
| 승인 질문 fallback | native capability를 사용할 수 없으면 짧은 평문 확인 질문으로 대체 | 질문 후 사용자의 답을 받기 전에는 gated action을 시작하지 않는다. |
| 승인 범위 | 확인은 push 같은 후속 부작용 작업에 대한 명시적 의사 확인이다 | capability의 존재 자체는 외부·파괴적·credential·production side effect의 허가가 아니다. |
| 기타 도구·명령 | 고정된 OpenCode 도구명·명령은 이 문서에서 주장하지 않음 | 실제 사용 가능 capability와 호출 방법은 매 실행 시 런타임에서 발견해야 한다. |
- 출력이나 안전성에 중대한 영향을 주는 빠진 결정이 있을 때만 사용자에게 묻는다.
- 질문이 필요하면 먼저 현재 런타임에 구조화된 native question/approval capability가 노출되었는지 확인한다.
- 노출이 확인된 경우에만 그 capability로 한 번 묻는다. 확인되지 않거나 사용할 수 없으면 한 문장의 평문 질문을 하고 gated action 직전에 멈춘다.
- 사용자의 명시적 답변 전에는 외부 시스템 변경, 파괴적 작업, credential 사용, production 대상 작업을 실행하지 않는다.
- capability가 있다고 해서 permission으로 해석하거나, 사용자 결정을 대신하지 않는다.
- 필요한 도구 capability와 허용 범위를 공통 contract 및 현재 요청에서 도출한다.
- OpenCode에 노출된 capability를 런타임에서 확인한다. 이 문서에 근거가 없는 도구명·vendor 기능·CLI 명령은 사실로 가정하지 않는다.
- 발견 결과가 없거나 불명확하면 도구를 추측해 호출하지 말고, 필요한 결정이 안전성·출력에 중대한 경우 위의 평문 질문으로 전환한다.
- 모든 외부·파괴적·credential·production side effect는 별도의 명시적 승인과 실행 전 게이트를 요구한다. 승인 이후에도 요청 범위와 대상이 일치하는지 재확인한다.
-
scope,authority,evidence,verification을 분리하고../capability-contract.ko.md에 연결했는가? - 사용자에게 묻는 조건을 “안전성 또는 출력에 중대한 빠진 결정”으로 제한했는가?
- native structured question/approval capability의 노출을 확인한 뒤에만 사용하도록 했는가?
- native capability가 없을 때 한 문장의 평문 질문 후 gated action을 중단하는 fallback이 있는가?
- 고정 OpenCode 도구명·명령을 무근거로 단정하지 않고 런타임 발견 요구사항으로 표시했는가?
- 외부·파괴적·credential·production side effect를 capability 존재만으로 허용하지 않았는가?
- 사용자 답변, 실제 대상, 범위, 결과를 실행 전에 검증하도록 했는가?