Community라이팅 & 에디팅github.com

Tencent/SkillHone

지속적인 의사 결정 기록을 통한 에이전트 스킬 진화. 모든 결정이 로컬 Git 이슈/PR/위키로 랜딩되며 SKILL.md, 스크립트, 참조를 전체적으로 최적화합니다. Claude Code, Codex, OpenClaw, Hermes 등 모든 agentskills.io 런타임에서 실행됩니다.

SkillHone란 무엇인가요?

SkillHone은 AI 에이전트가 자신의 스킬을 지속적으로 개선할 수 있도록 설계된 프레임워크입니다. 에이전트가 수행한 모든 결정(decision)을 로컬 Git 이슈, 풀 리퀘스트(PR), 위키 페이지로 기록하고, 이 기록을 바탕으로 SKILL.md, 스크립트, 참조 파일 전체를 최적화합니다. SkillHone은 Forgejo를 VCS 백엔드로 사용하지만, GitLab이나 Gitea로 교체 가능한 유연한 구조를 가지고 있습니다. 이는 Claude Code, Codex, OpenClaw, Hermes 등 agentskills.io 런타임을 지원하는 모든 플랫폼에서 실행 가능하며, 에이전트의 스킬이 진화함에 따라 더 나은 성능과 적응성을 제공합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add Tencent/SkillHone

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Forgejo

Forgejo REST API를 감싼 얇은 래퍼입니다. 각 리소스는 자체 스크립트로 존재하므로 에이전트가 개별적으로 발견하고 호출할 수 있습니다. SkillHone은 이 스킬을 VCS 백엔드로 의존하지만, GitLab이나 Gitea 같은 다른 백엔드도 동일한 워크플로우 표면을 제공할 수 있도록 독립성을 유지합니다.

스크립트

스크립트리소스대표 사용 예시
scripts/issue.py이슈python3 scripts/issue.py create --title "Bug"
scripts/pr.py풀 리퀘스트python3 scripts/pr.py merge 1
scripts/wiki.py위키 페이지python3 scripts/wiki.py get --title "분석"
scripts/repo.py저장소 메타데이터python3 scripts/repo.py branches
scripts/summary.py집계 대시보드python3 scripts/summary.py

모든 스크립트는 --help를 지원합니다. 플래그를 추측하기 전에 먼저 실행하세요.

설정

다음 순서로 해결됩니다 (첫 번째 일치 우선):

  1. 환경 변수: FORGEJO_URL, FORGEJO_TOKEN, FORGEJO_OWNER, FORGEJO_REPO
  2. ~/.skillhone/settings.json + ~/.skillhone/identities.conf
  3. 현재 작업 디렉토리의 _data/forgejo_config.txt

아무것도 설정되지 않으면, 스크립트는 누락된 변수를 명확히 표시하는 메시지와 함께 종료됩니다.

리소스별 사용법

이슈

python3 scripts/issue.py list
python3 scripts/issue.py view <N>
python3 scripts/issue.py create --title "수정: 타임아웃" --body "## 문제점\n..."
python3 scripts/issue.py close <N>
python3 scripts/issue.py comment <N> --body "완료"

풀 리퀘스트

python3 scripts/pr.py list
python3 scripts/pr.py view <M>
python3 scripts/pr.py create --title "타임아웃 수정" --head fix/timeout --base main --body "#1 종료"
python3 scripts/pr.py review <M> --approve
python3 scripts/pr.py merge <M> --method merge
python3 scripts/pr.py comment <M> --body "LGTM"

위키

python3 scripts/wiki.py list
python3 scripts/wiki.py get --title "Iteration-1-Observation"
python3 scripts/wiki.py create --title "페이지" --body "내용"
python3 scripts/wiki.py edit --title "페이지" --body "업데이트된 내용"

저장소 메타데이터

python3 scripts/repo.py info
python3 scripts/repo.py branches

통합 요약

python3 scripts/summary.py
# 열린 이슈 + 열린 PR + 최신 관찰 위키 페이지

다른 스킬에서 호출하기

~/.skillhone/skills/ 아래에 있는 다른 스킬은 절대 경로를 통해 이 스크립트를 호출합니다:

python3 ~/.skillhone/skills/forgejo/scripts/issue.py list

이렇게 하면 VCS 백엔드를 교체 가능하게 유지합니다. GitLab이나 Gitea 스킬이 SkillHone의 최적화 로직을 변경하지 않고 동등한 명령어 표면을 노출할 수 있습니다.

주의사항

  • @ 문자가 포함된 토큰은 git clone URL 주입을 손상시킵니다. @가 없는 토큰을 사용하거나 URL 인코딩하세요.
  • merge --method squash는 이전 버전의 Forgejo에서 지원되지 않습니다. Unknown method 오류가 발생하면 merge로 대체하세요.
  • 위키 페이지는 별도의 git 저장소(<repo>.wiki.git)에 .md 파일로 저장됩니다. wiki.py가 이를 숨기지만, 사용자 정의 편집이 필요하면 wiki 저장소를 직접 클론하세요.

엄격한 규칙

  • Forgejo 토큰을 stdout/stderr 로그에 절대 출력하지 마세요. 스크립트가 이미 내용을 삭제합니다. 토큰을 --body 필드에 붙여넣지 마세요.
  • SkillHone 워크플로우에서 curl 또는 수제 HTTP로 Forgejo REST API를 직접 호출하지 마세요. 이러한 백엔드 스크립트를 사용하여 자격 증명 로딩, 삭제 및 백엔드 교체가 중앙 집중화되도록 하세요.
  • _data/forgejo_config.txt, ~/.skillhone/settings.json 또는 identities.conf를 cat하여 자격 증명을 찾지 마세요. 스크립트가 내부적으로 자격 증명을 해결합니다.
  • 이러한 스크립트를 통해 main에 직접 푸시하지 마세요. PR만 사용하세요.
  • 401/403 오류가 발생하면, 스크립트를 변경하기 전에 위의 설정 해결 순서를 다시 확인하세요.

관련 스킬