Agent Skills
› authgear/authgear-server
› update-email-templates
update-email-templates
GitHub指导如何更新Authgear邮件模板,包括编辑源文件、生成MJML和HTML、处理多语言翻译及提交规范。
Trigger Scenarios
修改邮件文案或结构
更新邮件主题行
同步邮件模板与翻译文件
Install
npx skills add authgear/authgear-server --skill update-email-templates -g -y
SKILL.md
Frontmatter
{
"name": "update-email-templates",
"description": "Update Authgear email templates using the correct source files, translation files, and commit order. Use when editing email wording, email structure, or subject lines."
}
Update Email Templates
Follow this workflow whenever updating email templates.
Scope Rules
- Only edit source template files:
resources/authgear/templates/en/messages/*.txt.gotemplateresources/authgear/templates/en/messages/*.mjml.gotemplate
- Do not edit generated template files directly:
resources/authgear/templates/en/messages/*.txtresources/authgear/templates/en/messages/*.mjml
- In
*.txt.gotemplateand*.mjml.gotemplate, use translations from:resources/authgear/templates/en/messages/translation.json
- Always edit English templates only at source stage.
- Do not manually update non-
enlocales in source-edit commits.
- Do not manually update non-
- Email subject translations are defined in:
resources/authgear/templates/en/translation.json
Workflow
- Edit source templates first:
resources/authgear/templates/en/messages/*.txt.gotemplateresources/authgear/templates/en/messages/*.mjml.gotemplateresources/authgear/templates/en/messages/translation.json(body/content translations)resources/authgear/templates/en/translation.json(subject translations)
- Generate
.mjmlfrom.mjml.gotemplate:go run ./scripts/generatemjml/main.go -i resources/authgear/templates
- Commit source edits and generated
.mjmlin one commit. - Before regenerating non-English translations, delete the changed keys from all non-
enlocale files so the generator knows to recreate them:- For
en/messages/translation.jsonchanges, delete the top-level key (e.g.UsageAlert, notUsageAlert.Alert.Title) from all non-enmessages/translation.jsonfiles:make templates-translation-json-del-key KEY=<TopLevelKey>
- For
en/translation.jsonsubject changes, delete the changed key from all non-entranslation.jsonfiles:make translation-json-del-key KEY=<key>
- Run once per changed top-level key.
- For
- In a separate commit, generate non-English translations:
make -C scripts/python generate-translations- Requires being logged in to Claude:
claude login - If not logged in, stop and ask the user to run
claude loginfirst.
- Finally, generate HTML emails:
make html-email
Commit Boundaries (Required)
- Commit 1:
- Source edits (
*.gotemplate,en/messages/translation.json, optionalen/translation.json) - Generated
.mjml
- Source edits (
- Commit 2:
- Generated non-English translations (
make -C scripts/python generate-translations)
- Generated non-English translations (
- Commit 3:
- Generated email HTML artifacts (
make html-email)
- Generated email HTML artifacts (
Do not combine generated artifacts (.html, .txt, non-en translations) in the same commit as source *.gotemplate edits.
Version History
- 2dd6d88 Current 2026-07-24 16:30


