Skip to content

스킬 카탈로그의 상태 제거와 초기 다섯 항목 노출 - #146

Merged
rkttu merged 5 commits into
mainfrom
feature/skill-catalog-lifecycle
Oct 25, 2026
Merged

rkttu merged 5 commits into
mainfrom
feature/skill-catalog-lifecycle

Conversation

@rkttu

@rkttu rkttu commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

스킬 카탈로그에서 목록 상태와 라이선스 및 설치 검토 상태를 제거합니다. 활성 Skill 요소를 설치 대상으로 제공하며 항목을 내릴 때는 블록 전체를 XML 주석으로 보존합니다. Source.Ref와 같은 저장소 및 커밋의 License.Source는 필수로 유지합니다. 같은 ID, 저장소와 경로에서 원본 커밋을 바꾸면 앱이 해당 버전으로 업데이트할 수 있도록 작성 규칙을 설명합니다.

초기 목록에는 official-report-skillset, bok-ecos-stats, kosis-stats, korean-law-mcp, korean-jangbu-for 다섯 항목만 표시합니다. API 키나 OAuth 자격 증명이 필요한 다른 다섯 후보와 SKILL.md가 없는 MCP 후보 두 개는 기존 메타데이터를 유지한 채 XML 주석으로 보관합니다. 기존 설치본의 관리와 제거는 계속 지원합니다.

활성 항목의 원본 커밋, 라이선스와 실행 조건은 유지합니다. BOK sample 키는 요청당 최대 10행으로 제한하며 KOSIS와 법령 검색의 사용자 키 없는 경로는 외부 공유 서버에 의존합니다. 장부 기능은 별도 MCP와 하위 스킬 구성을 요구합니다. 스킬 설치와 실제 API 연결 성공은 구분합니다. API 키 설정과 DPAPI 자격 증명 관리는 TableCloth 다음 버전 이슈 #321에서 추적합니다.

기여 안내와 영문 및 한국어 스킬 안내에 환경 변수로 사용자 API 키, 토큰이나 클라이언트 시크릿을 받는 신규 스킬의 접수 보류 기준을 추가합니다. TableCloth #321의 대응 기능을 개발하고 검증한 뒤 접수를 재개합니다. 키 없이 동작하는 독립 기능의 지원 범위와 의존성을 명시하며 시스템 환경 변수, .env나 채팅 입력으로 보류 기준을 우회하는 사용법은 안내하지 않습니다. 코드와 PR에는 실제 비밀값을 포함하지 않습니다.

checkskills는 스키마, 512 KiB 제한, 안전한 경로와 같은 저장소 및 커밋의 라이선스 경로를 검사합니다. testskills는 경로 검사, 상태 속성 제거, 커밋 갱신과 실제 활성 블록 각각의 주석 처리를 검사합니다. Notes의 명령행 옵션도 블록 전체를 XML 주석으로 보존할 수 있는 형식을 유지합니다. Pages 게시 전에도 두 검사를 실행합니다.

검증: checkskills 통과, testskills 40건 통과, 전체 catalogutil 빌더 exit 0, 게시 출력 XML과 원본 SHA-256 일치, diff --check 통과를 확인했습니다. 전체 빌더의 외부 URL 점검에는 일부 서비스의 접근 오류와 타임아웃 경고가 남았으므로 전체 서비스 URL의 가용성 통과로 보고하지 않습니다. 12개 원본 Skill 블록의 내용 보존과 활성 다섯 ID도 확인했습니다.

앱의 설치, 버전 추적, 업데이트와 제거 구현은 TableCloth PR #320에서 관리합니다.

최신 main의 기존 기여 안내와 카탈로그 갱신을 보존해 통합했습니다. 최종 카탈로그 커밋 9ae1387의 CI가 성공했습니다. 기여 정책과 이슈 #321의 DPAPI 배경 및 기대 효과를 독립 검토했습니다.

병합 후 게시 워크플로와 실제 GitHub Pages 배포가 성공했습니다. 공개 build-info의 원본 커밋은 505f0b413240f1344136f56dc19455f7636dfcb2와 일치합니다. 공개 XML과 영문 및 한국어 스킬 안내를 다시 내려받아 원본 SHA-256 일치, 활성 다섯 ID와 주석 후보 일곱 개를 확인했습니다.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Publishing the revised catalog contract needs human coordination with the companion client implementation in TableCloth PR #320, which remains open and in draft.

No open issues 🎉

What changed in this PR

This PR changes the remote skill catalog from a candidate list with review states to an installation catalog, aligned with the client work in TableCloth PR #320.

Changes:

  • Activates ten upstream skills and preserves two MCP-only candidates as XML comments.
  • Removes status attributes while requiring pinned source commits and matching license sources.
  • Documents lifecycle and update rules, strengthens validation, and adds regression checks before Pages publication.
File Description
src/​testskills.cs Adds lifecycle and raw-block removal regression checks.
src/​checkskills.cs Enforces size, path, ID uniqueness, and license-source constraints.
README.md Updates the catalog description and guidance link.
docs/​SkillCatalog.xsd Removes review states and requires pinned source metadata.
docs/​SkillCatalog.xml Activates ten skills, archives two candidates, and clarifies prerequisites.
docs/​SkillCatalog.README.md Documents lifecycle, installation boundaries, and validation in English.
docs/​SkillCatalog.README.ko.md Documents lifecycle, installation boundaries, and validation in Korean.
.github/​workflows/​publish.yml Runs schema regression checks before publication.

Review effort: Balanced

@rkttu rkttu changed the title 스킬 카탈로그의 상태 구분 제거와 버전 갱신 규칙 스킬 카탈로그의 상태 제거와 초기 다섯 항목 노출 Oct 25, 2026
@rkttu
rkttu merged commit 505f0b4 into main Oct 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants