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)