Files
doc/skills/docker/SKILL.md
T
jiantw83andClaude Sonnet 5 ed7f29c10f refactor(doc): 接上 shared 共用規範,去除重抄段落並修正時區/機密遮蔽引用
依 todo.md 執行的規範治理專案:worklog/funcs/issues-analyze/
issues-analyze-to-file/issues-sync/notifications/docker 七個 skill 改為
引用 shared 新增的 14 個共用 spec(token 優先序、issue 讀取、TODO list、
ask-user、subagent、no-scratch-files、skill-invocation、script-path 等),
不再重抄內容;wiki_api.py 改用 zoneinfo 而非硬編 +8 offset,並補上與
shared/scripts/lib/redact-patterns.json 的對應註記;worklog 的 --tune 改為
呼叫 /jsc-shared:models --task summary。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 06:03:35 +00:00

63 lines
2.2 KiB
Markdown

---
name: docker
description: 整理並對齊 docker-compose.yaml 的行內註解與標題區塊。當使用者要對齊 docker-compose 註解、整理 compose 檔註解欄位、更新 compose 標題日期,或提到 docker-compose、dc-tidy、align_comments、註解對齊時使用此 skill。
---
# 對齊 docker-compose 註解
## 共用規範(必要前置)
先載入 `/jsc-shared:spec-preflight` 並依其流程處理;載入不到即代表 shared plugin 未安裝,
依該 spec 詢問使用者是否安裝 `https://gitea.jsc.idv.tw/plugins/shared.git`,不安裝則中斷本 skill。
本 skill 需要的規範:`spec-output`、`spec-execution`、`spec-time-log`
整理並對齊 `docker-compose.yaml` 的行內註解與標題。請優先使用自動化腳本執行。
以下範例中的 `skill_dir` 是本 skill 所在目錄,也就是包含此 `SKILL.md` 與 `scripts/` 的資料夾。不要假設目標專案內存在 `plugins/skills/docker/`。
## 全專案批次處理(未指定檔案時)
```bash
bash "${skill_dir}/scripts/align_comments.sh" --yes
```
## 單一檔案處理(指定檔案時)
`${file}` 為使用者指定的目標檔案:
```bash
bash "${skill_dir}/scripts/align_comments.sh" "${file}" --yes
```
## 手動執行流程參考
1. **[步驟 0] 還原空白基準**:移除既有對齊用空白,回到可重新計算的狀態。
```bash
tmp="$(mktemp "${file}.tmp.XXXXXX")" && awk -f "${skill_dir}/scripts/awk/strip_col.awk" "${file}" > "$tmp" && mv -- "$tmp" "${file}"
```
2. **[步驟 1] 校閱註解**:修正註解文字與數值正確性。
3. **[步驟 2] 計算對齊欄位**:取得對齊欄位。
```bash
awk -f "${skill_dir}/scripts/awk/find_col.awk" "${file}"
```
取得 `TARGET=XX`。
4. **[步驟 3] 執行對齊**:依 `TARGET` 欄位對齊註解。
```bash
tmp="$(mktemp "${file}.tmp.XXXXXX")" && awk -v TARGET=<TARGET> -f "${skill_dir}/scripts/awk/align_col.awk" "${file}" > "$tmp" && mv -- "$tmp" "${file}"
```
5. **[步驟 4] 驗證對齊**:驗證對齊結果。
```bash
awk -v TARGET=<TARGET> -f "${skill_dir}/scripts/awk/verify_col.awk" "${file}"
```
6. **[步驟 5] 更新日期**:更新標題區塊的 `更新日期` 為今日。