方案二:動態參數傳入是怎麼設置?先說通則,再以 upload-html 和 updatememo 為例進行解說。
Skill 執行時,由貞在 SKILL.md 中定義參數格式,主公觸發時附帶參數,由貞解析後代入指令。
執行 {skill名稱} {參數1} {參數2}
# 範例
執行 upload-html my-blog
執行 upload-html my-blog ./dist
## 參數(Parameters)
| 參數位置 | 名稱 | 必填 | 預設值 | 說明 |
|---------|-------------|------|--------------------|----------------- |
| $1 | PROJECT_NAME | 否 | 讀取 .wb-project | 部署目標專案名稱 |
| $2 | SOURCE_DIR | 否 | 當前目錄 . | 部署來源資料夾 |
若未傳入參數,依序嘗試:
1. 讀取 .wb-project 中的 PROJECT_NAME
2. 使用預設值
3. 詢問主公確認
觸發詞後的第一個詞即為 $1
$1 = "my-blog"(專案名稱)
--project-name my-blog
wrangler pages deploy . --project-name my-blog --commit-dirty true
# SKILL.md 內固定寫死: npx wrangler pages deploy . --project-name wholistics --commit-dirty true
執行 upload-html ← 無參數:讀 .wb-project 或詢問 執行 upload-html my-blog ← 指定專案名稱 執行 upload-html my-blog ./dist ← 指定專案名稱 + 來源目錄
| # | 名稱 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| $1 | PROJECT_NAME | 否 | .wb-project 或詢問 | Cloudflare Pages 專案名稱 |
| $2 | SOURCE_DIR | 否 | 當前目錄 . | 部署來源路徑 |
# 有參數時 npx wrangler pages deploy {SOURCE_DIR} --project-name {PROJECT_NAME} --commit-dirty true # 實際代入範例 npx wrangler pages deploy . --project-name my-blog --commit-dirty true
# SKILL.md 內固定:
- 複製到 wh-all-deploy/
- 部署到 wholistics 專案
- 連結固定為 wholistics.pages.dev
updatememo ← 無參數:讀 .wb-project updatememo my-blog ← 指定專案名稱 updatememo my-blog ./deploy ← 指定專案名稱 + 部署目錄
| # | 名稱 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| $1 | PROJECT_NAME | 否 | .wb-project 或詢問 | 備忘部署的目標專案 |
| $2 | DEPLOY_DIR | 否 | ./{PROJECT_NAME}-deploy | 本地部署目錄路徑 |
# 動態推算相關路徑 DEPLOY_DIR = C:\Users\...\{PROJECT_NAME}-deploy\ BASE_URL = https://{PROJECT_NAME}.pages.dev INDEX_FILE = {DEPLOY_DIR}\index.html # 複製備忘 Copy-Item "tomemo-xxx.html" "{DEPLOY_DIR}\{編號}-xxx.html" # index.html 連結動態替換 href="https://{PROJECT_NAME}.pages.dev/{編號}-xxx.html" # 部署 npx wrangler pages deploy {DEPLOY_DIR} --project-name {PROJECT_NAME} --commit-dirty true
# 優先順序
參數 > .wb-project > 全域預設 > 詢問主公
→ 有傳參數?直接用
→ 沒傳?自動讀 .wb-project(方案一)
→ 沒有配置檔?用全域預設
→ 全都沒有?問主公
日常工作:進入專案目錄(有 .wb-project),直接說 updatememo 自動識別
臨時切換:說 updatememo other-project 覆蓋配置
結果:既能全自動,又保留手動覆蓋彈性,學員零負擔上手
新增參數定義區段,支援 $1=PROJECT_NAME、$2=SOURCE_DIR
新增參數定義,動態推算 DEPLOY_DIR、BASE_URL、INDEX_FILE
學員執行後自動生成 .wb-project,一次配置,後續所有 Skill 自動識別