| name | skill-suggest |
| description | 새 작업/주제 변경 시 팀 스킬을 자동 검색합니다. UserPromptSubmit hook이 매 프롬프트마다 힌트를 주입하며, 대화 맥락을 보고 검색 여부를 판단합니다. |
Skill Suggest (자동 트리거 + 수동 검색)
IMPORTANT: 이 스킬은 두 가지 경우에 적용됩니다:
<team-skills> 태그가 컨텍스트에 주입되었을 때 (자동 트리거)
- 사용자가 직접 스킬/플러그인 검색을 요청했을 때 ("스킬 검색해줘", "유튜브 관련 스킬 찾아줘" 등)
검색 방법 결정 (모든 검색에 필수)
스킬 검색 시 반드시 ~/.config/aitk/config.json의 searchMethod 설정을 확인하고, 설정에 맞는 방법으로 검색합니다:
| searchMethod | 검색 방법 |
|---|
cli | Bash("aitk search '키워드'") — MCP 도구 사용 금지 (기본값) |
mcp | mcp__gpters-ai-toolkit__semantic_search(...) |
auto | MCP 우선, 연결 불가 시 aitk CLI fallback |
주의: searchMethod가 cli인데 MCP 도구(semantic_search)로 검색하면 안 됩니다. 사용자가 의도적으로 CLI 모드를 선택한 것이므로 반드시 aitk CLI를 사용하세요.
검색 여부 판단 (자동 트리거 시에만 확인)
사용자가 직접 검색을 요청한 경우에는 이 판단을 건너뛰고 바로 검색합니다.
자동 트리거(<team-skills> 태그 주입) 시에만 아래 기준으로 판단합니다:
기본 원칙: 새 주제면 무조건 검색합니다. 아래 "검색하지 않는 경우"에 해당하지 않으면 전부 검색 대상입니다.
검색하는 경우 (예시):
- 새로운 작업/기능 구현을 시작할 때
- 대화 주제가 명확히 바뀔 때
- 새로운 기술/프레임워크/도구에 대한 질문 (예: "remotion 어떻게 써", "Redis 설정 방법")
- 사용법, 가이드, 튜토리얼 요청
- 일반 프로그래밍 질문이라도 팀에 관련 스킬이 있을 수 있으므로 검색
검색하지 않는 경우 (이 경우에만 스킵):
- 바로 직전 응답에 대한 후속 질문, 확인, 수정 요청
- "계속해줘", "푸시해줘", "커밋해줘", "다시 해봐" 같은 지시형 메시지
- 이미 이번 세션에서 같은 주제로 검색한 적이 있는 경우
워크플로우
1단계: 핵심 키워드 + 작업 맥락 추출
사용자 프롬프트에서 두 가지를 추출합니다:
- 핵심 키워드 (2~4단어): 작업 의도를 나타내는 핵심 키워드
- 작업 맥락 (선택): 현재 대화에서 파악된 기술 스택, 진행 상황 등 배경 정보
예시:
- "React로 대시보드 만들어줘" → 키워드:
"React 대시보드", 맥락: 없음
- "코드 리뷰 해줘" → 키워드:
"코드 리뷰", 맥락: 없음
- "슬랙 봇에서 멘션 수집하는 기능 추가해줘" (airtable 연동 진행 중) → 키워드:
"슬랙 봇 멘션 수집", 맥락: "airtable 연동, 슬랙 API"
2단계: 스킬 검색
검색 모드(~/.config/aitk/config.json의 searchMethod)에 따라 다르게 검색합니다:
MCP 모드 (mcp 또는 auto):
mcp__gpters-ai-toolkit__semantic_search(query="추출된 키워드", userContext="작업 맥락", limit=3, _source="skill-suggest")
CLI 모드 (cli):
Bash("aitk search '추출된 키워드' --limit 3 --context '작업 맥락'")
auto 모드에서 MCP 연결 불가 시 CLI로 fallback합니다.
userContext/--context는 맥락이 있을 때만 전달합니다.
3단계: 결과 판단 + 로드
검색 결과의 relevanceScore를 확인합니다:
A. 0.40 이상 스킬이 있으면 → 로드:
MCP 모드:
mcp__gpters-ai-toolkit__get_plugin_content(pluginId="스킬ID")
CLI 모드:
Bash("aitk get '스킬ID'")
B. 전부 0.40 미만이거나 관련 없으면 → 스킵 사유 보고:
MCP 모드:
mcp__gpters-ai-toolkit__report_search_skip(query="검색어", resultIds=["id1","id2"], reason="스킵 사유 한 줄")
CLI 모드:
Bash("aitk report-skip --query '검색어' --reason '스킵 사유 한 줄' --result-ids 'id1,id2'")
검색 후 아무 행동 없이 넘어가지 마세요. A 또는 B 중 하나는 반드시 실행합니다.
4단계: 적용 결과 보고
스킬을 로드해서 작업에 적용한 후, 결과를 보고합니다:
MCP 모드:
mcp__gpters-ai-toolkit__report_skill_outcome(skillId="스킬ID", applied=true/false, summary="결과 한 줄")
CLI 모드:
Bash("aitk report-outcome --skill-id '스킬ID' --applied true --summary '결과 한 줄'")
검색 모드 설정
~/.config/aitk/config.json의 searchMethod 필드로 검색 방법을 설정할 수 있습니다:
{
"searchMethod": "cli"
}
| 값 | 동작 |
|---|
cli | aitk CLI만 사용 (기본값) |
mcp | MCP만 사용. 연결 불가 시 검색 스킵 |
auto | MCP 우선, 연결 불가 시 aitk CLI fallback |
설정 변경:
aitk config set searchMethod cli
vi ~/.config/aitk/config.json
주의사항
- 스킬 내용이 사용자 요청과 충돌하면 사용자 요청을 우선합니다
- MCP 서버 연결 실패 시 스킬 검색을 건너뛰고 작업을 진행합니다
- 결과가 없으면 검색 없이 바로 진행합니다