agent-friendly-cli은(는) 무엇을 하나요?
AI 에이전트가 안정적으로 호출할 수 있으면서도 사람도 정상적으로 사용할 수 있는 CLI(명령줄 도구)를 새로 만들거나, 개조하거나, 검토할 때 이 스킬을 사용합니다.
적용 범위:
- 명령 인터페이스 설계 (인자, 플래그, 하위 명령)
- 비대화형 모드 (
-y,-f플래그) - JSON 출력 계약 (
jq호환 구조화된 출력) - 종료 코드 계층 (0: 성공, 1: 오류, 2: 잘못된 인자, 75: 일시적 오류 등)
--dry-run(변경 시뮬레이션)- 멱등성 (반복 호출 안전)
- 인증 보안 (SSO, API 토큰, .netrc)
- CLI / 스크립트 / Skill / Agent 역할 분리
- 트랜잭션 오케스트레이션 (준비-실행-커밋/롤백)
- 위험 승인 (
--danger플래그) - 종료 상태 검증
- 승인 방법 (기능 테스트, AI 시뮬레이션)
사용 예시
# 비대화형 JSON 출력
mycli deploy --env staging --json --yes
# dry-run 모드
mycli delete resource-xyz --dry-run
# 위험한 작업은 명시적 승인 필요
mycli destroy-production --danger --confirm "I understand"
원칙 요약
- 모든 명령은 JSON 출력 플래그(
--json)를 지원해야 함 – AI가 파싱하기 위해. - 비대화형 모드는 항상 가능해야 함 –
--yes,--no-input플래그. - 종료 코드는 의미 있게 구분 – 0, 1, 2, 75 외에도 필요 시 커스텀 정의.
- 멱등성 유지 – 같은 입력으로 여러 번 호출해도 시스템 상태가 변경되지 않음.
- 인증 정보는 환경 변수나 설정 파일로 –
--password같은 인자로 받지 않음. - 스크립트와 CLI는 순수 명령 실행에 집중 – 비즈니스 로직은 Skill/Agent에 위임.
참고 자료
이 스킬은 x0c/agent-friendly-cli에 의해 관리되며, GitHub 저장소에서 최신 버전을 확인할 수 있습니다.