CanRobot · 캔로봇
Microsoft Certified Trainer Microsoft MVP 2025

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)