Files
meta/skills/ste100-sync/SKILL.md
T

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 and is reported with the table format in references/pr-report.md.

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.