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
-
Read the pinned version from the「上游版本」line in
references/ste100.md. Completion condition: the pinned version string is in hand. -
Clone the upstream repo (
--depth 1). Read theversionandchangelogfields in itsSKILL.mdfrontmatter. Completion condition: the upstream version string and its changelog entries are in hand. -
Same version: report「上游沒有新版」and stop. Completion condition: either the run stops here, or the upstream version is newer than the pinned one.
-
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.mdor in the lint patterns.
Completion condition: every kept changelog entry appears as one line in the distilled list.
-
Present the distilled list via the
jsc-ask:askdecision tree, one question per change (adopt / drop / adapt). Every option states its impact scope (example: adopting a term replacement changes theTERMSpattern, so every repo re-linted in step 8 can gain new hits).references/ste100.mdis 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. -
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. -
If the replacement table or the cliché list changed, update the
TERMS,CLICHESandSIMPLIFIEDpatterns intools/ste100-lint.sh. Completion condition:sh -n tools/ste100-lint.shpasses and each newly adopted term hits on a test string. -
Run
tools/ste100-lint.shover every jsc repo (tools/sync-domains.shprints 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 withfile:linefor their owners. -
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. -
Open a PR via
jsc-git:pr. Completion condition: a PR URL comes back and is reported with the table format inreferences/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/metarepo injsc-sdlc:maintain.