CanRobot · 캔로봇
Prosci® Certified Change Practitioner Microsoft Frontier Transformation Engineer TITAN Microsoft MVP 2026-2027 · Microsoft 365 Copilot Microsoft Certified Trainer
예시 실습

이 핸즈온랩은 교육 내용을 보여 드리기 위한 예시입니다. 실제 교육과정에서는 고객사의 산업과 직무를 반영한 실습 시나리오로 구성한 비공개 학습 사이트를 따로 제공합니다.

M5-5. 검증·테스트 — ASKILL 규칙·사이드로드·dev tunnel

한 줄 요약 — 제출 전에 검증 규칙(ASKILL-*) 을 통과하는지 확인하고, atk install로 개인 사이드로드 테스트를 하며, 로컬 MCP는 dev tunnel로 HTTPS 주소를 열어 테스트합니다.

테스트 파이프라인 — 검증 → 사이드로드 → 커넥터 터널 테스트

1. 검증 규칙 요약

manifest 수준 — folder 필수(ASKILL-M001) · 스킬 최대 20개(M002) · 경로 256자(M003)

패키지 수준 — 자주 걸리는 것들:

코드 규칙 해결 방법
P001·P002 폴더 존재·SKILL.md 존재 ZIP 구조 확인
P003 YAML frontmatter 유효 --- 구분자·문법
P004·P005 name·description 필수 frontmatter 추가
P006 name = 폴더명 가장 흔한 실패 원인 — 둘을 똑같이 맞추기
P007 kebab-case my-skill 형식
P008 folder 중복 금지 중복 제거

커넥터 — id·displayName 필수 · id 유일 · HTTPS URL · mcpToolDescription 필수(파일이 ZIP에 존재) · None이면 referenceId 금지 / 그 외 필수. 동반 파일 규칙은 M5-2.

2. 개인 사이드로드 (Agents Toolkit CLI)

npm install -g @microsoft/m365agentstoolkit-cli
atk --version
atk auth login                     # M365 업무 계정
atk install --file-path "./myPackage.zip" --scope Personal

성공하면 TitleId·AppId가 반환됨 — 업데이트·삭제할 때 사용. Teams에 업로드해서 테스트할 수도 있음.

3. 로컬 MCP 테스트 — dev tunnel

devtunnel port create <tunnel> -p <port> --protocol http

⚠️ --protocol http로 지정해야 합니다 — 이 플래그는 로컬 서비스의 프로토콜을 뜻합니다. https로 지정하면 로컬 HTTP 서버와 맞지 않아 모든 요청이 502 오류가 납니다.

증상 원인 해결 방법
모든 요청 502 --protocol https로 생성 http로 재생성
macOS에서 502 서버가 0.0.0.0(IPv4)만 바인드, 터널은 ::1 :: 바인드
업로드 400 mcpToolDescription 누락 파일 참조 추가 + ZIP 포함
업로드 400 additional properties v1.28에 정의되지 않은 필드 해당 필드 제거

4. 테스트 체크리스트

  • 검증 규칙 전 항목 통과 (특히 P006·P007)
  • 사이드로드 후 새 세션에서 트리거 문구로 스킬이 실행되는지 확인
  • 커넥터 도구 호출 + 승인 주석에 맞게 확인 프롬프트가 뜨는지 확인
  • 파일 파라미터 도구는 150MiB·8파일 한도 내 정상 동작

출처

출처: Build plugins — Validation rules·Test·Test a connector against a local MCP server (MS Learn)