Files
meta/skills/ste100-sync/SKILL.md
T
jiantw83andClaude Opus 5 9ab5b42864 fix(meta): 補齊稽核缺失並修掉護欄失效
What:依 jsc-meta:skill-check 的稽核結果修正技能與工具——補上每個步驟的可檢核完成條件、
把留在內文的標準輸入輸出流程下放 tools/、修正查表與退碼路由造成的誤判。

Why:稽核發現這些缺失會讓技能在實際執行時走錯分支或靜默通過。
完成條件缺漏是最常被違反的一項;退碼誤判與查表錯誤則會讓良性狀況被當成失敗。

How:逐項對照 references/guidelines.md 的審核檢查清單修正,新增的工具都有
documented exit codes,並以真實執行驗證每條路徑。

Who:jsc-meta:skill-check 例行稽核(2026-08-25)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 14:58:54 +08:00

3.5 KiB

name, description
name description
ste100-sync Sync the STE100 language rules with upstream speak-human-tw. Compare the pinned upstream version in references/ste100.md against the latest release, distill applicable changes and confirm each one via decision tree, refresh ste100-lint.sh patterns, re-lint all jsc repos, then open a PR via jsc-git pr. Use on periodic maintenance or when upstream releases a new version; not for editing local-only rules.

ste100-sync

Keep references/ste100.md in sync with its upstream source, speak-human-tw (MIT).

Steps

  1. Read the pinned version from the「上游版本」line in references/ste100.md. Completion condition: the pinned version string is in hand.

  2. Clone the upstream repo (--depth 1). Read the version and changelog fields in its SKILL.md frontmatter. Completion condition: the upstream version string and its changelog entries are in hand.

  3. Same version: report「上游沒有新版」and stop. Completion condition: either the run stops here, or the upstream version is newer than the pinned one.

  4. Newer version — distill the changes into a change list. MUST run as a sub agent:

    • Walk the changelog entries newer than the pinned version.
    • Keep only changes that apply to technical documents and conversation: Taiwan term replacements, punctuation rules, de-AI patterns, humanize targets.
    • Drop marketing-copy scenes, eval material, and workflow-mode changes.
    • Decide nothing and edit no file. Report one line per candidate change: the rule, the upstream wording, and what it would change in references/ste100.md or in the lint patterns.

    Completion condition: every kept changelog entry appears as one line in the distilled list.

  5. Present the distilled list via the jsc-ask:ask decision tree, one question per change (adopt / drop / adapt). Every option states its impact scope (example: adopting a term replacement changes the TERMS pattern, so every repo re-linted in step 8 can gain new hits). references/ste100.md is the single source of truth for the whole skill set, so no change lands without a recorded decision. Completion condition: every distilled change has a recorded decision.

  6. Apply the adopted and adapted changes to references/ste100.md. Keep its trimmed structure. Update the「上游版本」line. Completion condition: every adopted change is visible in the file and the「上游版本」line shows the new upstream version.

  7. If the replacement table or the cliché list changed, update the TERMS, CLICHES and SIMPLIFIED patterns in tools/ste100-lint.sh. Completion condition: sh -n tools/ste100-lint.sh passes and each newly adopted term hits on a test string.

  8. Run tools/ste100-lint.sh over every jsc repo (tools/sync-domains.sh prints the repo paths). Fix hits in files this repo owns. Completion condition: the lint exits 0 for this repo, and hits in other repos are reported with file:line for their owners.

  9. Run tools/sync-skill-manifest.sh . to sync the README's 「Skills 目錄」 section and bump the manifests. Completion condition: all three manifests show the same new version.

  10. Open a PR via jsc-git:pr. Completion condition: a PR URL comes back.

Notes

  • Generated wiki content, commit messages, and PR descriptions stay in Traditional Chinese per the guidelines; only the rule distillation is at stake here.
  • This skill fits the maintenance flow: list it as a maintenance method for the plugins/meta repo in jsc-sdlc:maintain.