Community寫作與編輯github.com

Tencent/SkillHone

透過持久化決策歷史實現持續性的代理技能演化。每個決策落地為本機 Git Issue / PR / Wiki 時,進行整體技能最佳化(SKILL.md + 腳本 + 參考資料)。可在任何 agentskills.io 執行環境上運行,包括 Claude Code、Codex、OpenClaw、Hermes。

SkillHone 是什麼?

SkillHone 是一個專門設計來達成 AI 代理技能持續演化的工具。它記錄代理的每個決策歷史,並將每次決策自動轉換為本機的 Git Issue、Pull Request 或 Wiki 頁面。每當一個決策落地,SkillHone 就會觸發一次整體技能最佳化流程,同時更新技能定義檔(SKILL.md)、相關腳本與參考資料,讓技能本身能隨使用經驗不斷改進。此技能相容於任何 agentskills.io 執行環境,包括 Claude Code、Codex、OpenClaw 與 Hermes,因此開發者可以將相同的演化機制套用到不同代理平台上。運用此工具,開發團隊可以累積代理的操作經驗,逐步提升技能的精準度與實用性。

相容平台✓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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Forgejo

對 Forgejo REST API 的輕量包裝。每個資源都位於自己的腳本中,讓代理能夠獨立發現和呼叫它們。SkillHone 依賴此作為 VCS 後端技能,但它保持獨立,以便其他後端(如 GitLab 或 Gitea)可以提供相同的工作流程介面。

腳本

腳本資源典型用法
scripts/issue.pyIssuepython3 scripts/issue.py create --title "Bug"
scripts/pr.py合併請求python3 scripts/pr.py merge 1
scripts/wiki.pyWiki 頁面python3 scripts/wiki.py get --title "Analysis"
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

如果沒有任何設定,腳本會以明確訊息退出,指出缺少的變數。

依資源使用

Issues

python3 scripts/issue.py list
python3 scripts/issue.py view <N>
python3 scripts/issue.py create --title "Fix: timeout" --body "## Problem\n..."
python3 scripts/issue.py close <N>
python3 scripts/issue.py comment <N> --body "Done"

Pull Requests

python3 scripts/pr.py list
python3 scripts/pr.py view <M>
python3 scripts/pr.py create --title "Fix timeout" --head fix/timeout --base main --body "Closes #1"
python3 scripts/pr.py review <M> --approve
python3 scripts/pr.py merge <M> --method merge
python3 scripts/pr.py comment <M> --body "LGTM"

Wiki

python3 scripts/wiki.py list
python3 scripts/wiki.py get --title "Iteration-1-Observation"
python3 scripts/wiki.py create --title "Page" --body "content"
python3 scripts/wiki.py edit --title "Page" --body "updated content"

儲存庫後設資料

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

複合摘要

python3 scripts/summary.py
# 開啟的 issue + 開啟的 PR + 最新的觀察 wiki 頁面

從其他技能呼叫

位於 ~/.skillhone/skills/ 下的其他技能可以透過這些腳本的絕對路徑來呼叫:

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

這樣可以保持 VCS 後端可替換。GitLab 或 Gitea 技能可以公開相同的命令介面,而不需要改變 SkillHone 的最佳化邏輯。

注意事項

  • 包含 @ 字元的 Token 會破壞 git clone URL 的注入。請使用不含 @ 的 Token,或對其進行 URL 編碼。
  • 舊版 Forgejo 不支援 merge --method squash。如果遇到 Unknown method,請回退為 merge。
  • Wiki 頁面會以 .md 檔案的形式儲存在單獨的 git 儲存庫中(<repo>.wiki.git)。wiki.py 會隱藏此細節,但如果您需要自訂編輯,請直接複製 wiki 儲存庫。

嚴格規則

  • 絕對不要將 Forgejo Token 列印到 stdout/stderr 日誌中。腳本已經做了遮罩處理;請勿將 Token 貼入 --body 欄位。
  • 在 SkillHone 工作流程中,請勿直接使用 curl 或手工打造的 HTTP 請求呼叫 Forgejo 的 REST API。請使用這些後端腳本,以便憑證載入、遮罩和後端更換維持集中管理。
  • 請勿使用 cat 命令讀取 _data/forgejo_config.txt、~/.skillhone/settings.json 或 identities.conf 來發現憑證。腳本會內部解析憑證。
  • 請勿透過任何這些腳本直接推送到 main 分支。僅限使用 Pull Request。
  • 當遇到 401/403 錯誤時,請先重新檢查上述的組態解析順序,再修改腳本。

相關技能