Antigravity 커스터마이저 (ag-customizer)
이 스킬을 사용하여 워크스페이스 및 전역 범위에서 Google Antigravity의 사용자 정의를 자율적으로 설계, 구성, 마이그레이션 및 검증하세요.
빠른 탐색 의사 결정 매트릭스
문제를 가장 잘 해결하는 사용자 정의 메커니즘을 결정하세요:
| 필요 | 메커니즘 | 파일 위치 | 참조 가이드 |
|---|---|---|---|
| 에이전트에게 다단계 실행 절차, 절차 또는 슬래시 명령어 가르치기 | 스킬 | .agents/skills/<name>/SKILL.md 또는 ~/.gemini/antigravity/skills/<name>/SKILL.md | skills-guide.md |
| 영구적인 제약 조건, 코딩 표준 또는 스타일 규칙 적용 | 규칙 | .agents/rules/<name>.md, AGENTS.md 또는 ~/.gemini/GEMINI.md | rules-guide.md |
| 외부 서비스, 로컬 데이터베이스 또는 사용자 정의 도구 연결 | MCP 서버 | .agents/mcp_config.json 또는 ~/.gemini/config/mcp_config.json | mcp-guide.md |
| 생명주기 이벤트 가로채기 (명령어 게이트, 프롬프트 주입, 감시 중지) | 생명주기 훅 | .agents/hooks.json 또는 ~/.gemini/config/hooks.json | hooks-guide.md |
| 스킬, 규칙, 훅 및 MCP를 공유 가능한 패키지로 묶기 | 플러그인 | .agents/plugins/<name>/ 또는 ~/.gemini/config/plugins/<name>/ | plugins-and-configs.md |
| 비표준 경로 등록 또는 VCS를 통해 사용자 정의 공유 | JSON 설정 | .agents/skills.json 또는 .agents/plugins.json | plugins-and-configs.md |
| 사용되지 않는 워크플로를 최신 슬래시 명령어 스킬로 업그레이드 | 워크플로 마이그레이션 | .agents/workflows/*.md -> .agents/skills/<name>/SKILL.md | workflows-migration.md |
운영 워크플로
1. 새 스킬 추가
- 범위 결정:
- 워크스페이스:
.agents/skills/<name>/(팀 사용을 위해 리포지토리에 체크인됨). - 전역:
~/.gemini/antigravity/skills/<name>/(모든 프로젝트에서 사용 가능).
- 워크스페이스:
- 디렉토리 구조화:
<customization_root>/skills/<skill-name>/ ├── SKILL.md # 필수: YAML 머리말이 있는 진입점 ├── scripts/ # 선택 사항: 도우미 스크립트 (--help 패턴으로 실행) ├── references/ # 선택 사항: 공개된 매뉴얼 및 방대한 문서 └── examples/ # 선택 사항: 샘플 코드 또는 출력 참조 - 머리말 작성:
name: 소문자, 하이픈으로 연결 (예:nextjs-otel,docker-deploy). 또한 슬래시 명령어 (/<name>)로 등록됩니다.description: 3인칭으로 1-3문장, 스킬이 무엇을 하는지와 에이전트가 이를 활성화해야 하는 특정 트리거 문구/시나리오를 명시적으로 설명합니다.
- 점진적 공개 적용:
- 기본
SKILL.md는 운영 단계 시퀀스와 완료 기준에 집중하여 간결하게 유지합니다. - 심층 참조 자료는
references/<topic>.md파일로 분리하고 상대 링크로 연결합니다. - 구조 템플릿은 skills-guide.md를 참조하세요.
- 기본
- Obsidian 미러링 확인:
- 이 워크스페이스에서 스킬을 업데이트하거나 생성할 때 리포지토리 지침에 따라 스킬 폴더를
d:/Scripts/Obsidian/skills/<name>/에 미러링합니다.
- 이 워크스페이스에서 스킬을 업데이트하거나 생성할 때 리포지토리 지침에 따라 스킬 폴더를
2. 규칙 생성
- 범위 및 형식 결정:
- 워크스페이스 규칙:
.agents/rules/<rule-name>.md또는 프로젝트 루트의AGENTS.md. - 전역 규칙:
~/.gemini/GEMINI.md.
- 워크스페이스 규칙:
- 활성화 모드 선택 (
.agents/rules/*.md의 경우):always_on: 모든 턴에 무조건 주입됩니다. 컨텍스트를 보존하기 위해 드물게 사용하십시오.model_decision: 에이전트가 설명을 기반으로 관련성을 판단할 때 공개됩니다.glob: 일치하는 파일이 터치되거나 열릴 때 자동으로 활성화됩니다 (예:*.tsx,src/api/**/*.ts).manual: 채팅에서@mention을 통해 명시적으로 호출될 때만 로드됩니다 (예:@my-rule.md).
- 내용 작성:
- 파일당 12,000자 예산 내에서 유지합니다.
- 금지보다는 긍정적으로 대상 동작을 명시합니다 ("X를 수행", "항상 Y를 구조화").
- 필요한 경우
@filename을 사용하여 동반 컨텍스트 파일에 링크합니다. - 전체 구문 및 활성화 머리말은 rules-guide.md를 참조하세요.
3. MCP 서버 구성
- 파일 위치 결정:
- 워크스페이스:
<workspace>/.agents/mcp_config.json - 전역:
~/.gemini/config/mcp_config.json
- 워크스페이스:
- 전송 방식 선택:
- stdio (로컬 실행 파일):
{ "mcpServers": { "my-server": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sqlite", "app.db"], "env": { "SQLITE_READONLY": "true" } } } } - 원격 (SSE / Streamable HTTP):
[!IMPORTANT] 항상
serverUrl키를 사용하십시오. 레거시 키url또는httpUrl은 지원되지 않습니다.{ "mcpServers": { "my-remote": { "serverUrl": "https://api.example.com/mcp/", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }
- stdio (로컬 실행 파일):
- 인증:
- Google 애플리케이션 기본 자격 증명:
"authProviderType": "google_credentials"(gcloud auth application-default login필요). - OAuth:
"oauth": { "clientId": "...", "clientSecret": "..." }(리디렉션 URIhttps://antigravity.google/oauth-callback사용).
- Google 애플리케이션 기본 자격 증명:
- 도구 필터링:
- 서버를 제거하지 않고 일시적으로 도구 비활성화:
"disabledTools": ["destructive_command"]. - 미리 구성된 설정은 mcp-guide.md를 참조하세요.
- 서버를 제거하지 않고 일시적으로 도구 비활성화:
4. 생명주기 훅 설정
- 대상 파일:
.agents/hooks.json(또는~/.gemini/config/hooks.json). - 지원되는 이벤트:
PreToolUse: 도구 이름 (run_command,write_to_file,*)과 일치시켜 실행을 제어 (allow,deny,ask,force_ask)하거나 인수를 얕게 덮어씁니다.PostToolUse: 도구 완료 후 출력 감사, 린터 실행 또는 코드 서식 지정.PreInvocation: 모델이 턴을 처리하기 전에 컨텍스트 또는 시스템 지침 주입 (ephemeralMessage와 함께injectSteps사용).PostInvocation: 강제 계속 (terminationBehavior: "force_continue") 또는 중지.Stop: 작업 완료 검사 (terminationReason,fullyIdle) 및 조기 종료를 차단하기 위해reason과 함께decision: "continue"반환.
- 계약 규칙:
- 실행은 stdin을 통해 컨텍스트를 전달하고 stdout을 통해 응답을 받습니다.
- 모든 JSON 페이로드 키는 camelCase를 사용합니다 (
conversationId,stepIdx,toolCall등). - 명령어는 동기적으로 실행되며 시간 초과(기본값 30초)까지 에이전트 루프를 차단합니다.
- Python, PowerShell 및 Bash용 템플릿은 hooks-guide.md를 참조하세요.
5. 플러그인 또는 VCS 공유 설정 패키징
- 플러그인 패키지:
- 관련 스킬, 규칙, 훅 및 MCP 서버를
.agents/plugins/<plugin-name>/으로 그룹화합니다. plugin.json매니페스트 추가 ({"name": "my-plugin"}).config.json에서"plugins": { "<plugin-name>": { "enabled": true } }아래 활성화 상태를 관리합니다.
- 관련 스킬, 규칙, 훅 및 MCP 서버를
- JSON 설정 (
skills.json/plugins.json) :- 외부 디렉토리 또는 공유 팀 리포지토리를 등록합니다.
include_only및exclude정규식 필터와 함께entries(경로) 및inherits(다른 설정)를 지원합니다.- 전체 매니페스트 예제는 plugins-and-configs.md를 참조하세요.
6. 레거시 워크플로 현대화
- 사용되지 않는
.agents/workflows/*.md또는~/.gemini/config/workflows/*.md를 검사합니다. - 운영 지침을 추출하고 적절한 YAML 머리말이 있는 동등한
SKILL.md를 생성합니다. - 원본 파일을
<name>.md.bak으로 보관합니다 (안전 보존). - 자동 마이그레이션 실행 절차는 workflows-migration.md를 참조하세요.
유효성 검사 및 확인 체크리스트
사용자 정의를 완료한 것으로 간주하기 전에 다음을 확인하세요:
- JSON 구문: 모든
.json파일이 구문 오류나 주석 없이 깔끔하게 구문 분석되는지 확인합니다. - 머리말 확인:
SKILL.md에name및 설명적인description이 포함된 유효한 YAML 머리말이 있는지 확인합니다. - 문자 예산: 규칙 Markdown 파일이 12,000자 제한을 초과하지 않는지 확인합니다.
- MCP 연결: 명령어 바이너리 또는 원격 URL이 존재하고 인증되는지 확인합니다.
- 훅 계약: 훅 스크립트가 stdin에서 camelCase JSON을 수락하고 stdout에서 유효한 JSON을 반환하는지 확인합니다.
- Obsidian 미러링: 이 워크스페이스의 스킬에 대해 생성된 스킬 폴더를
d:/Scripts/Obsidian/skills/<name>/에 동기화합니다.