CanRobot · 캔로봇
Microsoft Certified Trainer Microsoft MVP 2025

단계별 실습 ④ — RFP 검토 보고서 스킬

목표 — 표준 하네스(구 클래식) 방식에서 AI 빌더 프롬프트가 하던 “비정형 RFP → 구조화”를 스킬로 구현합니다. ⏱ 약 15분 · 사용 기능: Skills → Create from blank · 스킬 라우팅 관찰 📎 실습 파일: 업무포털_RFP발췌.txt · 샘플RFP_업무포털구축.docx · rfp-review-report_SKILL.md · voc-triage_SKILL.md · rfp-redflag-check_skill.zip

⚠️ 스킬 이름 중복 주의 — 스킬 이름은 에이전트 안에서 고유해야 하고, 팀 실습에서는 다른 과정·트랙과도 겹치지 않게 짓는 것이 안전합니다. 이 과정의 스킬은 rfp-review-report · voc-triage · rfp-redflag-check로 명명합니다(타 과정의 rfp-structured-report·voc-classify와 구분). 필요하면 -[이니셜]을 덧붙이세요.

실습 소재 — RFP 초안 발췌 (붙여넣기용)

아래 발췌에는 독소조항 후보 5개가 심어져 있습니다(③⑤⑥⑦ + 하자보수). 전체본이 필요하면 샘플RFP_업무포털구축.docx(제안요청 배경·과업 범위·평가 기준까지 담긴 전문)를 쓰세요.

[사내 업무포털 구축 사업 RFP 초안 발췌]
1. 사업명: 사내 업무포털 구축 / 발주: 구매팀 / 예산: 15억 원 / 마감: 2026-08-21
2. 웹 포털·모바일 앱·전자결재 연동 기능을 포함해야 한다.
3. 제안사는 최근 3년 내 특정 클라우드 기반 업무포털 구축 실적 3건 이상을 보유해야 한다.
4. 구축 완료 후 5년간 무상 하자보수를 제공해야 한다.
5. 지체상금은 지연 1일당 계약금액의 0.5%로 한다.
6. 상세 요구사항은 우선협상 단계에서 발주부서가 추가 제시할 수 있다.
7. 계약 후 60일 이내 전체 시스템 구축을 완료해야 한다.

1. 스킬 작성 (Create from blank)

Build 탭 → Skills → Add skill → Create from blank 후 아래를 붙여넣습니다.

---
name: rfp-review-report
description: 발주 예정 RFP 초안을 독소·불공정 조항 중심으로 구조화 검토할 때 사용.
  "RFP·독소조항·발주 검토" 요청 시. 일반 문서 요약에는 쓰지 말 것.
---

# RFP 검토 보고서 스킬
사용자가 RFP 초안·발췌를 주고 검토를 요청하면 아래 형식으로 정리한다.

## 점검 기준 (독소조항)
기준·판정 조건·경계값은 연결된 지식의 "독소조항_점검기준" 문서를 따른다 — 이 스킬에 기준을 복사하지 않는다(단일 진실 원천).
기준을 인용할 때는 기준 번호와 문서명을 함께 표기한다.

## 출력 형식
1. 사업 개요(사업명·발주부서·예산·마감일)
2. 조항 점검 결과 — 원문 인용 → 기준 번호 → 리스크 등급(상/중/하) → 근거
3. 수정 권고안 표(조항 / 권고 문안 / 사유)
4. 종합 리스크와 후속 조치(법무 검토·조항 수정·질의응답 대비)
규칙: 실제 존재하는 문구만 인용(추측 금지) · 해당 없으면 "해당 없음" · 한국어.

💡 리소스 없는 단일 파일 스킬이라 zip 없이 UI에 바로 붙여넣어 등록됩니다. description이 곧 라우팅 트리거 — 사용 상황과 키워드를 담고, “쓰지 말 것” 범위까지 명시합니다. 단계별 실습 ① 지침의 “검토 형식은 연결된 스킬(rfp-review-report)을 따른다”가 이 스킬을 가리킵니다.

2. 테스트 & 라우팅 관찰

  1. Preview에서 위 RFP 초안 발췌를 붙여넣고 이 RFP 초안 검토해줘 → 형식대로 출력 + 독소조항 4개 이상 찾으면 성공.
  2. 안녕? 같은 일반 대화 → 스킬이 로드되지 않는지 확인(점진적 공개).

관찰 포인트 — 스킬 채택은 description으로 결정됩니다. 검토 요청에만 켜지고 잡담에는 켜지지 않아야 “필요할 때만 로드”가 동작하는 것입니다.

2-1. 단일 진실 원천 실험 (M2-1 §5-③ 실증)

위 스킬은 기준을 담지 않고 지식(독소조항_점검기준)을 인용합니다 — 실습 ②에서 “유일한 원천”으로 선언한 문서입니다. 정말 차이가 나는지 실험해 봅니다.

  1. 검토 실행 후 응답에서 기준 인용에 문서명(출처) 이 붙는지 확인
  2. 실험: 스킬 본문에 기준 5종을 직접 붙여넣고(중복 상태) 같은 검토 실행 → 출처 표기가 사라지거나 지식과 다른 기준을 말하는지 관찰
  3. 스킬을 원래대로 복원 — “스킬은 가리키고, 지식이 담는다” 를 실측했습니다

지식 인용이 불안정하면(라우팅 미스) 스킬의 인용 지시문을 더 명시적으로: 기준 판정 전에 반드시 독소조항_점검기준 문서를 조회한다.

🧪 기본 실습(기본 시나리오) A — 빈 스킬 만들기 (VOC 분류)

  1. Build 탭 → 구성요소 패널 → Skills → Add skill → Create from blank
  2. Name voc-triage · Description 고객 민원(VOC)을 유형·긴급도로 분류할 때 사용. 단순 요약에는 쓰지 말 것.
  3. Instructions(Markdown):
# VOC 분류 스킬
고객 민원 내용을 아래로 분류한다.
- 유형: 결제·환불 / 앱 오류 / 배송 / 품질 / 기타
- 긴급도: 상(즉시) / 중 / 하
- 출력: 유형 · 긴급도 · 한 줄 사유 (JSON)
규칙: 근거 문장이 없으면 '기타/하'로.
  1. CreatePreview에서 민원 예시를 넣어 분류가 나오는지 확인

💡 이 형태가 단일 파일 스킬입니다 — zip으로 묶을 필요도, 업로드 절차도 없이 UI에 바로 등록됩니다.

🧪 기본 실습(기본 시나리오) B — 스킬 패키지(.zip) 업로드 (독소조항 정밀 점검)

  1. 실습 파일 rfp-redflag-check_skill.zip을 준비합니다 — SKILL.md + references/독소조항_체크리스트.md (기준 5종의 판정 조건·경계값·예시 문구 수록) 구조의 스킬 패키지입니다. 직접 만들 때의 ⚠️ zip 함정 — 폴더째 압축하면 안 됩니다(my-skill/SKILL.md ❌). 폴더 안 내용물만 선택해 압축SKILL.md가 zip 루트에 오게 하세요. PowerShell: Compress-Archive -Path "스킬폴더\*" -DestinationPath out.zip
  2. Skills → Add skill → Upload a skill로 임포트(드래그 앤 드롭) → RFP 초안 첨부 후 “독소조항 정밀 점검해줘” 테스트
    • 💡 업로드한 스킬은 UI에서 직접 편집이 안 됩니다점 3개(…) → Download로 받아 외부에서 수정한 뒤 … → Replace로 교체합니다(빈 상태에서 만든 스킬만 구성 패널에서 직접 편집 가능).
  3. 임포트 검증(권장) — Preview에서 app/skills 폴더의 내용을 보여줘 프롬프트로 확인: SKILL.md 본문+리소스가 보이면 정상, bic:bundle=crskill_... 포인터만 보이면 아래 프리뷰 이슈입니다.
  4. 추론(reasoning) 뷰에서 스킬 매칭 관찰 — 너무 자주 뜨면 설명을 좁히고, 안 뜨면 넓힘

⚠️ 프리뷰 이슈 (2026-06 확인)개인 개발환경에서는 스킬 패키지 임포트가 성공한 듯 보여도 YAML 메타데이터만 업로드되고 본문·리소스가 내부 포인터(BIC)로 대체되는 사례가 있습니다 (게시 후 오류·Teams 무작위 동작). 스킬·에이전트 설계 문제가 아니라 환경 제약이므로, GitHub Copilot 하네스 에이전트 개발·테스트는 Sandbox 환경에서 진행하고 위 3번 프롬프트로 리소스 주입을 확인하세요.

🔎 응용 — GitHub Copilot·Claude Code 스킬도 같은 오픈 포맷(agentskills.io 계열) 이라 이식 가능성이 높습니다. (실제 임포트·실행 동작은 대상 제품·환경에서 확인하세요.)


M2 빌드로 · 세션: M2-5 스킬 · 이어서: 보고서 양식 스킬(Markdown→HTML→Word) · 다음 실습: ⑤ 검토관 위임

출처: Skills overview for agents (MS Learn) · Add an existing skill to an agent (MS Learn) · Manage and delete skills in an agent (MS Learn) · Choose a harness (MS Learn)