
opencode는 단순한 AI 채팅이 아니라 실제로 개발 작업을 수행하는 자동화 도구입니다.
Agent Skill Tool MCP 사용하는 방법에 대해서 알아봅니다.
Agent = 성격 (누가 일하냐)
Skill = 지식 (어떻게 판단하냐)
Tool = 행동 (뭘 실행하냐)
MCP = 외부능력 (어디까지 할 수 있냐)
우선 실행하고자하는 프로젝트의 루트 폴더에 .opencode 폴더를 하나 생성합니다.
(opencode 명령은 프로텍트 폴더에서 실행합니다.)
역할 : 프로젝트 전체에 항상 적용되는 공통 규칙
폴더 위치
my-project/
└─ AGENTS.md
예시
# Project Rules
- 항상 한국어로 답변한다
- Blazor SSR 기준으로 설명한다
- 코드 예제는 실행 가능한 형태로 제공한다
역할 : AI의 캐릭터와 역할을 정의한다.
예시 : Blazor 개발자, 코드 리뷰어, 데이터 분석가
설정 방법
opencode.json 파일에 아래와 같이 작성하여 원하는 agent 를 정의하면됩니다.
(.opencode/opencode.json 위치도 가능)
{
"agent": {
"blazor-dev": {
"mode": "primary",
"description": "Blazor SSR 전문가",
"prompt": "You are a Blazor SSR expert."
},
"code-reviewer": {
"mode": "primary",
"description": "코드 리뷰 전문가",
"prompt": "Review code strictly."
}
},
"default_agent": "blazor-dev"
}
agent.md 로 상세설정이 가능합니다.
폴더구조
.opencode/
└─ agents/
└─ blazor-dev/
└─ agent.md
agent.md 예시
# Blazor SSR Expert
## 역할
Blazor SSR + MudBlazor 전문가
## 규칙
- 항상 한국어로 답변한다
- @rendermode InteractiveServer 기준으로 설명한다
- MudBlazor 최신 방식 사용
- 전체 코드 제공
## 스타일
- 원인 → 해결 → 코드 순서로 설명
- 실무 중심으로 답변
- 불필요한 이론 생략
## 금지
- 동작하지 않는 코드 작성 금지
역할 : 특정 상황에서 어떻게 행동해야 하는지 정의하는 지식 문서입니다.
즉, "이럴 때 이렇게 해라"를 알려줍니다.
폴더 구조 (blazor-ssr 스킬을 만든다고 가정)
.opencode/
└─ skills/
└─ blazor-ssr/
└─ SKILL.md
SKILL.md 예시
---
name: blazor-ssr
description: Blazor SSR 문제 해결
license: MIT
compatibility: opencode
---
## 역할
Blazor SSR + MudBlazor 문제 해결
## 규칙
- @rendermode InteractiveServer 확인
- MudBlazor 최신 방식 사용
- 전체 코드 제공
역할 : AI가 실제로 실행하는 기능입니다. 이 부분이 자동화의 핵심
예시
{
"tool": {
"build": {
"command": "dotnet build"
},
"test": {
"command": "dotnet test"
}
}
}
동작 방식 : 사용자 요청에 따라 AI가 판단하여 실행한다.
예: "빌드해줘" → dotnet build 실행
변수 사용
{
"tool": {
"search": {
"command": "grep -r \"{{query}}\" ."
}
}
}
역할 : 외부 시스템과 연결하는 인터페이스
가능한 기능
연결 방법
{
"mcp": {
"my-server": {
"command": "dotnet run --project MyMcpServer"
}
}
}
구조
opencode
↓
MCP 서버 (C# / Python)
↓
DB / API / 파일 / 시스템
C#으로 MCP 서버를 만들면
이 모든 것을 AI가 직접 사용할 수 있습니다.
my-project/
├─ opencode.json
├─ AGENTS.md
└─ .opencode/
├─ agents/
│ └─ blazor-dev/
│ └─ agent.md
└─ skills/
└─ blazor-ssr/
└─ SKILL.md
opencode.json 통합 예시
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"blazor-dev": {
"mode": "primary",
"description": "Blazor SSR 전문가"
},
"code-reviewer": {
"mode": "primary",
"description": "코드 리뷰 전문가"
}
},
"default_agent": "blazor-dev",
"tool": {
"search-code": {
"description": "코드 검색",
"command": "rg \"{{query}}\""
},
"read-file": {
"description": "파일 읽기",
"command": "cat {{path}}"
},
"git-diff": {
"command": "git diff"
},
"build": {
"command": "dotnet build"
},
"test": {
"command": "dotnet test"
}
},
"permission": {
"tool": "allow",
"skill": "allow"
}
}| Ollama 에서 그래픽 카드별 메모리 사용량 다른 이유 (3090 vs 2080Ti) (0) | 2026.04.13 |
|---|---|
| 한국 전용 스킬(Skill) 모음 (1) | 2026.04.05 |
| LiteLLM 공급망 공격 문제 및 체크하기 (0) | 2026.04.05 |
| OpenClaw 재설정 명령어 (0) | 2026.02.24 |
| Gemini Pro 무료 3개월 체험 방법 (0) | 2026.02.22 |