Community寫作與編輯github.com

jjanuszczak/margo

Margo 是一款靈感來自 Hugo 的極速簡報引擎,能將純 Markdown 編譯成風格優美、高度可腳本化的幻燈片,專為開發者與 AI 代理打造。

margo 是什麼?

此技能自動化 margo 專案的釋出流程,包含驗證版本、檢查 git 狀態、執行 Go 測試、建構釋出檔案與冒煙測試。透過 `prepare_release.py` 腳本產生釋出清單與檢查表,並支援 `verify_release.py` 驗證 GitHub 發佈與 Homebrew tap 公式的正確性。它主要為開發者與 AI 代理設計,適用於手動釋出模型,且會產生詳細的跟進任務清單。支援 `--allow-dirty`、`--skip-go-test`、`--brew-formula` 等選項,以適應不同的開發環境。使用本技能時,請勿引入 bottles、GoReleaser 或 homebrew-core 步驟,除非專案文件有更新。變更技能後,務必執行 `evals/runner.py` 進行自我評估,確保所有腳本與指令正確無誤。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add jjanuszczak/margo

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

釋出管理員

此技能自動化目前 margo 的釋出流程,涵蓋:

  • scripts/release.sh
  • scripts/homebrew-source-sha.sh
  • 在 docs/HOMEBREW.md 中記載的個人 tap 模型

工作流程

1. 準備釋出

從儲存庫根目錄執行準備腳本:

python3 skills/release-manager/scripts/prepare_release.py 0.1.1

此腳本會:

  • 驗證請求的版本
  • 檢查本機 git 狀態
  • 使用儲存庫本機的 GOCACHE 執行 go test ./...
  • 透過 scripts/release.sh 建構釋出檔案
  • 對每個建構好的檔案進行冒煙測試(解壓縮並執行 margo version)
  • 在 dist/release/release-<version>/ 下寫入釋出清單與後續檢查表

可選旗標:

  • --allow-dirty:即使工作目錄有未提交變更仍繼續執行
  • --skip-go-test:跳過完整的 Go 測試套件
  • --tap-path /path/to/homebrew-margo:加入 tap 專屬的後續指示

2. 驗證完成的釋出

在 Git 標籤、GitHub 釋出以及可選的 tap 更新完成後,執行:

python3 skills/release-manager/scripts/verify_release.py 0.1.1 --tap-path /path/to/homebrew-margo

此腳本會:

  • 重新驗證建構的檔案
  • 透過 gh(若可用)驗證 GitHub 釋出
  • 檢查 tap 公式是否指向預期的標籤,且 checksum 非為佔位符
  • 當有 tap 簽出可用時,使用 tap 限定的公式名稱執行 brew install 或 brew upgrade --build-from-source,接著執行 brew test 與 brew audit --strict

有用的旗標:

  • --skip-gh-release-check
  • --skip-brew
  • --brew-formula jjanuszczak/margo/margo

指示

  • 僅將此技能用於當前儲存庫的手動釋出模型。除非儲存庫文件變更,否則請勿引入 bottles、GoReleaser 或 homebrew-core 步驟。
  • 建議優先執行 prepare_release.py 並閱讀其產生的檢查表,然後再建立標籤或 GitHub 釋出。
  • 若在當前環境中無法完成網路相關的 gh 或 brew 步驟,請向使用者報告確切的生成後續任務,而非粗略地轉述。

自我評估

變更此技能後,您必須進行驗證:

python3 skills/release-manager/evals/runner.py

請閱讀:

  • skills/release-manager/evals/reports/latest_results.json

若評估失敗,請修正腳本或指示並重新執行評估,然後再交回工作結果。

相關技能