You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "sjyangkevin (via GitHub)" <gi...@apache.org> on 2026/02/17 03:34:13 UTC

[PR] add SKILL.md and zh-CN agent skill instruction [airflow]

sjyangkevin opened a new pull request, #62059:
URL: https://github.com/apache/airflow/pull/62059

   <!--
   Thank you for contributing!
   
   Please provide above a brief description of the changes made in this pull request.
   Write a good git commit message following this guide: http://chris.beams.io/posts/git-commit/
   
   Please make sure that your code changes are covered with tests.
   And in case of new features or big changes remember to adjust the documentation.
   
   Feel free to ping (in general) for the review if you do not see reaction for a few days
   (72 Hours is the minimum reaction time you can expect from volunteers) - we sometimes miss notifications.
   
   In case of an existing issue, reference it using one of the following:
   
   * closes: #ISSUE
   * related: #ISSUE
   -->
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   <!--
   If generative AI tooling has been used in the process of authoring this PR, please
   change below checkbox to `[X]` followed by the name of the tool, uncomment the "Generated-by".
   -->
   
   - [X] Yes (please specify the tool below)
   
   
   Generated-by: [Antigravity] following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   
   
   ---
   
   * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
   * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed.
   * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x).
   * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst` or `{issue_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817615715


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,

Review Comment:
   cool! indeed. I think it is a better option! I can look into how to make this work. Below is my high-level thinking:
   
   1. have prek to list the locales directories (probably all locales?) and get a list of distinct json file name (i assume all the locales should have the same structure).
   2. populate the `SKILL.md` with the list, I wonder if we need some placeholder there, and i need to do some research on this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817233675


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,
+`browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`,
+`dashboard.json`, `hitl.json`, `tasks.json`). The English locale (`en`) is the
+**default locale** and the primary source for all translations.
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term             | Reason                                              |
+| ---------------- | --------------------------------------------------- |
+| `Airflow`        | Product name                                        |
+| `Dag` / `Dags`   | Airflow convention; always use `Dag`, never `DAG`   |
+| `XCom` / `XComs` | Airflow cross-communication mechanism name          |
+| `Provider` / `Providers` | Airflow extension package name              |
+| `REST API`       | Standard technical term                             |
+| `JSON`           | Standard technical format name                      |
+| `ID`             | Universal abbreviation                              |
+| `PID`            | Unix process identifier                             |
+| `UTC`            | Time standard                                       |
+| `Schema`         | Database term (keep unless locale has established convention) |
+
+## Variable and Placeholder Handling
+
+Translation strings use the `{{variable}}` interpolation syntax (i18next
+format):
+
+- **Never translate** variable names inside `{{...}}`.
+- **Never remove** any `{{variable}}` placeholders.
+- **Reorder** placeholders as needed to match natural word order.
+- **Preserve** exact variable casing (e.g., `{{dagDisplayName}}`).
+
+## Plural Forms
+
+Airflow uses i18next plural suffixes (`_one`, `_other`, and optionally `_zero`,
+`_two`, `_few`, `_many`). Provide translations for **all** plural suffixes
+present in the English source.
+
+## Hotkeys
+
+Hotkey values (e.g., `"hotkey": "e"`) **must not** be translated. They are
+literal key bindings.
+
+## Translation Workflow
+
+1. **Read** the locale-specific guideline (`locales/<locale-name>.md`).
+2. **Identify** missing translations — use `--add-missing` to generate stubs
+   prefixed with `TODO: translate`:
+   ```bash
+   breeze ui check-translation-completeness --language <locale-name> --add-missing
+   ```
+3. **Translate** the `TODO: translate` entries using this guide and the locale
+   glossary.
+4. **Remove** extra keys not present in the English source:
+   ```bash
+   breeze ui check-translation-completeness --language <locale-name> --remove-extra
+   ```
+5. **Validate** completeness:
+   ```bash
+   breeze ui check-translation-completeness --language <locale-name>
+   ```
+
+For the full command reference, see the
+[i18n Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md#81-checking-completeness-of-i18n-files).
+
+## Common Airflow Terms
+
+The following terms appear frequently in the English source files. Each locale
+glossary should define consistent translations for them. The **Context** column
+disambiguates terms that may have different meanings outside of Airflow:
+
+| English Term        | Context                                |

Review Comment:
   NIT : broken table



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jason810496 (via GitHub)" <gi...@apache.org>.
jason810496 commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2816324243


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,
+`browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`,
+`dashboard.json`, `hitl.json`, `tasks.json`). The English locale (`en`) is the
+**default locale** and the primary source for all translations.
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term             | Reason                                              |
+| ---------------- | --------------------------------------------------- |
+| `Airflow`        | Product name                                        |
+| `Dag` / `Dags`   | Airflow convention; always use `Dag`, never `DAG`   |
+| `XCom` / `XComs` | Airflow cross-communication mechanism name          |
+| `Provider` / `Providers` | Airflow extension package name              |
+| `REST API`       | Standard technical term                             |
+| `JSON`           | Standard technical format name                      |
+| `ID`             | Universal abbreviation                              |
+| `PID`            | Unix process identifier                             |
+| `UTC`            | Time standard                                       |
+| `Schema`         | Database term (keep unless locale has established convention) |
+
+## Variable and Placeholder Handling
+
+Translation strings use the `{{variable}}` interpolation syntax (i18next
+format):
+
+- **Never translate** variable names inside `{{...}}`.
+- **Never remove** any `{{variable}}` placeholders.
+- **Reorder** placeholders as needed to match natural word order.
+- **Preserve** exact variable casing (e.g., `{{dagDisplayName}}`).
+
+## Plural Forms
+
+Airflow uses i18next plural suffixes (`_one`, `_other`, and optionally `_zero`,
+`_two`, `_few`, `_many`). Provide translations for **all** plural suffixes
+present in the English source.
+
+## Hotkeys
+
+Hotkey values (e.g., `"hotkey": "e"`) **must not** be translated. They are
+literal key bindings.
+
+## Translation Workflow
+
+1. **Read** the locale-specific guideline (`locales/<locale-name>.md`).
+2. **Identify** missing translations — use `--add-missing` to generate stubs
+   prefixed with `TODO: translate`:
+   ```bash
+   breeze ui check-translation-completeness --language <locale-name> --add-missing
+   ```
+3. **Translate** the `TODO: translate` entries using this guide and the locale
+   glossary.
+4. **Remove** extra keys not present in the English source:
+   ```bash
+   breeze ui check-translation-completeness --language <locale-name> --remove-extra
+   ```
+5. **Validate** completeness:
+   ```bash
+   breeze ui check-translation-completeness --language <locale-name>
+   ```
+
+For the full command reference, see the
+[i18n Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md#81-checking-completeness-of-i18n-files).

Review Comment:
   Same here, I will prefer not to mention i18n policy to make the skill only focusing on the action to follow or rules.



##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+

Review Comment:
   How about not mentioning the i18n policy here?
   
   As far as know (please correct me if I'm wrong) about the Agent skill, the Agent _will_ attach the above i18n policy after choosing "airflow-translation" skill, since we prompt "must follow the path to i18 policy documentation".
   
   I will prefer to defer the policy guideline to maintainer to avoid adding too much "noise" to Agent context because it still maintainers' responsible to make sure the result follow the policy.
   
   Additionally, the content of policy is more about release management, freeze lifecycle, and the responsibilities of translation maintainer instead of how to translate for specified locale.



##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0

Review Comment:
   Regarding the license, IMO, mentioning in the metadata header _should_ be enough right? I need someone who is more expert than me to confirm, thanks!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jason810496 (via GitHub)" <gi...@apache.org>.
jason810496 merged PR #62059:
URL: https://github.com/apache/airflow/pull/62059


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817551886


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,

Review Comment:
   Thanks for the feedback! Yeah, I think we should keep a single source of truth for this file list, or somehow keep it in sync, otherwise we need to update it when new ones added.
   
   I wonder if we add an instruction here to let the agent list the directory (may end with more token consumption), or we can have something in pre-commit to update the SKILL.md. I can explore some options here in my mind, but open for more options. thanks!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2818522150


##########
.github/skills/airflow-translations/locales/zh-CN.md:
##########
@@ -0,0 +1,123 @@
+<!-- SPDX-License-Identifier: Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 -->

Review Comment:
   Reference the PR https://github.com/apache/airflow/pull/62073 and add this shortened license for `zh-CN.md`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819455829


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |

Review Comment:
   Sure, i will work around it and thanks for the feedback!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819429425


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |

Review Comment:
   The structure (naming schema) defined here follows the proposal below (which is shared by @jason810496 in the dev list), which is not the locales file defined under the `airflow-core/src/airflow/ui/public/i18n/locales`, but a file can be referenced from the `SKILL.md` for the agent to look at a language-specific instruction.
   
   ```
   .github/skills/airflow-translations
   ├── locales
   │   ├── ar.md
   │   # ... all current locales, each with locale-specific skills
   │   └── zh-TW.md
   └── SKILL.md # Global-level Airflow terminology guidelines
   ```
   
   Looking into the `airflow-core/src/airflow/ui/public/i18n/locales`, I found some translations come with a `README.md`, but not all of those have one. I think the one in German is functionally the same as what we would like to put under `.github/skills/airflow-translations/locales`. The file provides detailed and clear information on the translation guideline if I understand correctly; and it is something can be moved directly into the skills folder.
   
   The trade-off is discussed in the comment below: https://github.com/apache/airflow/pull/62059#discussion_r2819178634



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817615715


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,

Review Comment:
   cool! indeed. I think it is a better option! I can look into how to make this work. Below is my high-level thinking:
   
   1. have prek to list the locales directories (probably all locales?) and get a list of distinct file name (i assume all the locales should have the same structure).
   2. populate the `SKILL.md` with the list, I wonder if we need some placeholder there, and i need to do some research on this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3916408857

   sorry, it looks the branch is somehow diverged.. i will take some time to resolve it


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jscheffl (via GitHub)" <gi...@apache.org>.
jscheffl commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819168892


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |

Review Comment:
   By intend in Germany we decided to transliterate XCom



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jscheffl (via GitHub)" <gi...@apache.org>.
jscheffl commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819449531


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |

Review Comment:
   Maybe you can soften the term **must** above to be a bit more soft.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3918792601

   The CI test failed because it attempted to add the license to `SKILL.md` but it will could break skill parsing. This PR also introduce a fix to that, wonder if there is a way we can pass that check.
   <img width="1213" height="609" alt="Screenshot from 2026-02-18 00-29-04" src="https://github.com/user-attachments/assets/6e543684-49bb-4613-b97e-58c447ff36f8" />
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2824103990


##########
.pre-commit-config.yaml:
##########
@@ -189,9 +190,11 @@ repos:
           ^\.claude/|
           AGENTS\.md$|
           CLAUDE\.md$|
-          SKILLS\.md$
+          SKILL\.md$
         exclude:
-          ^scripts/ci/license-templates/
+          (?x)
+          ^scripts/ci/license-templates/|
+          ^\.github/skills/airflow-translations/SKILL\.md$

Review Comment:
   updated to ignore the SKILL.md, and the shorten license is manually added after the YAML formatter.
   
   I also revert the change that I made earlier to `lint-markdown` which `exclude` the `.github/skills`, and fixed the lint issue that markdownlint requires blank lines around fenced code blocks in `SKILL.md`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819391905


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |

Review Comment:
   Thanks for catching it. I wonder if it is a good idea to enhance the instruction to take the rules defined in language-specific instruction with higher precedence. Basically, if there is rules or translation guide overlaps, the agent should follow the one in language-specific one.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jscheffl (via GitHub)" <gi...@apache.org>.
jscheffl commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819164710


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |

Review Comment:
   If you want to "force" this naming schema, we have a README.md in German - can you rename the README to match to your defined structure, please?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817227388


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,
+`browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`,
+`dashboard.json`, `hitl.json`, `tasks.json`). The English locale (`en`) is the
+**default locale** and the primary source for all translations.
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term             | Reason                                              |
+| ---------------- | --------------------------------------------------- |
+| `Airflow`        | Product name                                        |
+| `Dag` / `Dags`   | Airflow convention; always use `Dag`, never `DAG`   |
+| `XCom` / `XComs` | Airflow cross-communication mechanism name          |
+| `Provider` / `Providers` | Airflow extension package name              |
+| `REST API`       | Standard technical term                             |
+| `JSON`           | Standard technical format name                      |
+| `ID`             | Universal abbreviation                              |
+| `PID`            | Unix process identifier                             |
+| `UTC`            | Time standard                                       |
+| `Schema`         | Database term (keep unless locale has established convention) |

Review Comment:
   nit: broken table



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2818564755


##########
.pre-commit-config.yaml:
##########
@@ -722,6 +724,15 @@ repos:
         files: ^scripts/ci/docker-compose/integration-.*\.yml$|^contributing-docs/testing/integration_tests\.rst$
         require_serial: true
         pass_filenames: false
+      - id: sync-translation-namespaces

Review Comment:
   add the script for updating `SKILL.md` file list in pre commit hook



##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |
+| `Provider` / `Providers` | Airflow extension package name                                |
+| `REST API`               | Standard technical term                                       |
+| `JSON`                   | Standard technical format name                                |
+| `ID`                     | Universal abbreviation                                        |
+| `PID`                    | Unix process identifier                                       |
+| `UTC`                    | Time standard                                                 |
+| `Schema`                 | Database term (keep unless locale has established convention) |
+

Review Comment:
   Format the table, and should fix the table
   <img width="725" height="521" alt="Image" src="https://github.com/user-attachments/assets/af113d65-1be0-498d-a07a-b86463407d15" />



##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+

Review Comment:
   i18n policy reference are removed from the `SKILL.md`.



##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->

Review Comment:
   The pre-commit (prek) hook will list the files in `en/` locale and update the file list between the two comment line (placeholder)
   
   <img width="726" height="276" alt="Image" src="https://github.com/user-attachments/assets/44d4ef74-e255-40d7-ac5f-27ad44d35b43" />



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jason810496 (via GitHub)" <gi...@apache.org>.
jason810496 commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3927863011

   Thanks @sjyangkevin for the great proposal for the global translation skill! I just merged this as a reference for all the other locales, and we can keep iterating on it for sure. Thanks again Kevin, for actively updating it to address all the comments!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819429425


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |

Review Comment:
   The structure (naming schema) defined here follows the proposal below, which is not the locales file defined under the `airflow-core/src/airflow/ui/public/i18n/locales`, but a file can be referenced from the `SKILL.md` for the agent to look at a language-specific instruction.
   
   ```
   .github/skills/airflow-translations
   ├── locales
   │   ├── ar.md
   │   # ... all current locales, each with locale-specific skills
   │   └── zh-TW.md
   └── SKILL.md # Global-level Airflow terminology guidelines
   ```
   
   Looking into the `airflow-core/src/airflow/ui/public/i18n/locales`, I found some translations come with a `README.md`, but not all of those have one. I think the one in German is functionally the same as what we would like to put under `.github/skills/airflow-translations/locales`. The file provides detailed and clear information on the translation guideline if I understand correctly; and it is something can be moved directly into the skills folder.
   
   The trade-off is discussed in the comment below: https://github.com/apache/airflow/pull/62059#discussion_r2819178634



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817615715


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,

Review Comment:
   cool! indeed. I think it is a better option! I can look into how to make this work. Below is my high-level thinking:
   
   1. have prek to list the <strike>locales directories (probably all locales?)</strike> `en` locale and get a list of distinct json file name (i assume all the locales should have the same structure).
   2. populate the `SKILL.md` with the list, I wonder if we need some placeholder there, and i need to do some research on this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3928023998

   Thanks @jason810496 to bring up this initiative, and all for the feedback. Definitely we can continue on iterating on it.
   
   I also want to check if we should refine the pre-commit (prek) hook to add shorten license to the SKILL.md, after the YAML formatter. Maybe that can benefit future skills if any.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jason810496 (via GitHub)" <gi...@apache.org>.
jason810496 commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2823514737


##########
.pre-commit-config.yaml:
##########
@@ -173,7 +174,7 @@ repos:
           ^\.claude/|
           AGENTS\.md$|
           CLAUDE\.md$|
-          SKILLS\.md$|
+          SKILL\.md$|

Review Comment:
   Thanks for the catch!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2824103990


##########
.pre-commit-config.yaml:
##########
@@ -189,9 +190,11 @@ repos:
           ^\.claude/|
           AGENTS\.md$|
           CLAUDE\.md$|
-          SKILLS\.md$
+          SKILL\.md$
         exclude:
-          ^scripts/ci/license-templates/
+          (?x)
+          ^scripts/ci/license-templates/|
+          ^\.github/skills/airflow-translations/SKILL\.md$

Review Comment:
   updated to ignore the SKILL.md, and the shorten license is manually added after the YAML formatter.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819378300


##########
.github/skills/airflow-translations/locales/zh-CN.md:
##########
@@ -0,0 +1,123 @@
+<!-- SPDX-License-Identifier: Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 -->
+# Simplified Chinese (zh-CN)
+

Review Comment:
   Really appreciate the feedback and it is a very good question. When drafting this file, I was also considering the trade-off below:
   
   Both `SKILL.md` and `<locale-name>.md` are used to instruct the agent on how to do translate, and the `<locale-name>.md` provide instructions/rules that translate English to a specific language.
   
   When the agent attempts to parse the instruction, we have the two variants:
   
   agent -> SKILL.md -> <locale-name>.md (parse a specific language) -> ...
   agent -> SKILL.md -> <locale-name>.md (parse English)
   
   I probably have a hidden assumption about the inputs to the agent is in English, and keeping the two instructions in English might be easier for the agent to capture and understand the context. Even though LLMs are able to process different languages, I wonder keeping both instructions consistent in terms of language can offer more clarity, and a more fluent transition from high-level to language-specific guideline. Internally, agent might not need to link the context defined in two different languages.
   
   The current draft provide instruction in English, with examples written in Simplified Chinese. I think it is also a good thing to experiment. I am also planning to run some checks with the current skill instruction.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3922206658

   > > The current draft provide instruction in English, with examples written in Simplified Chinese. I think it is also a good thing to experiment. I am also planning to run some checks with the current skill instruction.
   > 
   > Yeah, I think it’s good to merge from my side. As long as the Simplified Chinese maintainers (@Fortytwoo @gyli) agree with the sub-skill here, we can definitely iterate further.
   
   Thanks Jason, and thanks for the insights to the CI failure. I can work on resolving the failure based on that.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2824103990


##########
.pre-commit-config.yaml:
##########
@@ -189,9 +190,11 @@ repos:
           ^\.claude/|
           AGENTS\.md$|
           CLAUDE\.md$|
-          SKILLS\.md$
+          SKILL\.md$
         exclude:
-          ^scripts/ci/license-templates/
+          (?x)
+          ^scripts/ci/license-templates/|
+          ^\.github/skills/airflow-translations/SKILL\.md$

Review Comment:
   updated to ignore the SKILL.md, and the shorten license is manually added after the YAML formatter.
   
   I also revert the change that I made earlier to `lint-markdown` which `exclude` the `.github/skills`. I also fixed the lint issue that markdownlint requires blank lines around fenced code blocks in `SKILL.md`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819378300


##########
.github/skills/airflow-translations/locales/zh-CN.md:
##########
@@ -0,0 +1,123 @@
+<!-- SPDX-License-Identifier: Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 -->
+# Simplified Chinese (zh-CN)
+

Review Comment:
   Really appreciate the feedback and it is a very good question. When drafting this file, I was also considering the trade-off below:
   
   Both `SKILL.md` and `<locale-name>.md` are used to instruct the agent on how to do translate, and the `<locale-name>.md` provide instructions/rules that translate English to a specific language.
   
   When the agent attempts to parse the instruction, we have the two variants:
   
   agent -> SKILL.md -> <locale-name>.md (parse a specific language) -> ...
   agent -> SKILL.md -> <locale-name>.md (parse English) -> ...
   
   I probably have a hidden assumption about the inputs to the agent is in English, and keeping the two instructions in English might be easier for the agent to capture and understand the context. Even though LLMs are able to process different languages, I wonder keeping both instructions consistent in terms of language can offer more clarity, and a more fluent transition from high-level to language-specific guideline. Internally, agent might not need to link the context defined in two different languages.
   
   The current draft provide instruction in English, with examples written in Simplified Chinese. I think it is also a good thing to experiment. I am also planning to run some checks with the current skill instruction.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [WIP] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2820377883


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,158 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+When a locale-specific guideline conflicts with a global rule, the **locale-specific
+guideline takes precedence**.

Review Comment:
   adding this instruction to let the agent follow locale-specific guideline when some rules/guideline in the SKILL.md need to be "overwritten".



##########
.pre-commit-config.yaml:
##########
@@ -173,7 +174,7 @@ repos:
           ^\.claude/|
           AGENTS\.md$|
           CLAUDE\.md$|
-          SKILLS\.md$|
+          SKILL\.md$|

Review Comment:
   According to the https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices, this should be `SKILL.md` instead of `SKILLS.md`. The updated hook still adds a shortened license to the `SKILL.md` due to the mismatch.



##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,158 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+When a locale-specific guideline conflicts with a global rule, the **locale-specific
+guideline takes precedence**.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms should remain in English by default. Locale-specific
+guidelines may override individual entries where established conventions exist:

Review Comment:
   soften the wording here so the agent could follow the convention in language(locale)-specific guideline.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817224313


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,

Review Comment:
   Should we have some ways to keep it in-sync with actual file list?. I imagine we  can add new ones?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jason810496 (via GitHub)" <gi...@apache.org>.
jason810496 commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817589230


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,

Review Comment:
   >  or we can have something in pre-commit to update the SKILL.md
   
   I prefer using pre-commit(prek) to ensure consistency, as this is one of the static checks IMO. I would go for “prompt once to define the correct tooling” instead of “prompting every time for the data” for stability, ensuring the exact same behavior and also it is more token‑efficient for all contributors.
   
   Thanks!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3915676635

   Thanks!! I also noticed a PR from @Aditi102005 introduce a SKILL.md as well. @Aditi102005 would you mind check this proposal and share if you have any feedback.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819049421


##########
.pre-commit-config.yaml:
##########


Review Comment:
   I also exclude the skills folder from the following pre-commit check, as those add license line and TOC into the file that might break `SKILL.md`.
   
   * Add TOC for Markdown and RST files
   * Add license for all Markdown files
   * Checks the style of Markdown files.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jscheffl (via GitHub)" <gi...@apache.org>.
jscheffl commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819178634


##########
.github/skills/airflow-translations/locales/zh-CN.md:
##########
@@ -0,0 +1,123 @@
+<!-- SPDX-License-Identifier: Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 -->
+# Simplified Chinese (zh-CN)
+

Review Comment:
   Do you expect the language specific README to be in english? because describing the terms and reasons might be better in the target language itself (thisis how we made it in German)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [WIP] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on PR #62059:
URL: https://github.com/apache/airflow/pull/62059#issuecomment-3922657650

   sorry team.. I made a mistake when rebasing the branch.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "jscheffl (via GitHub)" <gi...@apache.org>.
jscheffl commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819174069


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |
+| `Provider` / `Providers` | Airflow extension package name                                |
+| `REST API`               | Standard technical term                                       |
+| `JSON`                   | Standard technical format name                                |
+| `ID`                     | Universal abbreviation                                        |
+| `PID`                    | Unix process identifier                                       |
+| `UTC`                    | Time standard                                                 |
+| `Schema`                 | Database term (keep unless locale has established convention) |
+
+## Variable and Placeholder Handling
+
+Translation strings use the `{{variable}}` interpolation syntax (i18next
+format):
+
+- **Never translate** variable names inside `{{...}}`.
+- **Never remove** any `{{variable}}` placeholders.
+- **Reorder** placeholders as needed to match natural word order.
+- **Preserve** exact variable casing (e.g., `{{dagDisplayName}}`).
+
+## Plural Forms
+
+Airflow uses i18next plural suffixes (`_one`, `_other`, and optionally `_zero`,
+`_two`, `_few`, `_many`). Provide translations for **all** plural suffixes
+relevant to the language you provide translation for.
+
+## Hotkeys
+
+Hotkey values (e.g., `"hotkey": "e"`) **must not** be translated. They are
+literal key bindings.

Review Comment:
   But the key binding might be adjusted if the term differs in the language? e.g. if Hotkey+e is used for editing and in German I'd say "Bearbeiten", then Hotkey+b would be OK?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2819439901


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,155 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in this document.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term                     | Reason                                                        |
+| ------------------------ | ------------------------------------------------------------- |
+| `Airflow`                | Product name                                                  |
+| `Dag` / `Dags`           | Airflow convention; always use `Dag`, never `DAG`             |
+| `XCom` / `XComs`         | Airflow cross-communication mechanism name                    |
+| `Provider` / `Providers` | Airflow extension package name                                |
+| `REST API`               | Standard technical term                                       |
+| `JSON`                   | Standard technical format name                                |
+| `ID`                     | Universal abbreviation                                        |
+| `PID`                    | Unix process identifier                                       |
+| `UTC`                    | Time standard                                                 |
+| `Schema`                 | Database term (keep unless locale has established convention) |
+
+## Variable and Placeholder Handling
+
+Translation strings use the `{{variable}}` interpolation syntax (i18next
+format):
+
+- **Never translate** variable names inside `{{...}}`.
+- **Never remove** any `{{variable}}` placeholders.
+- **Reorder** placeholders as needed to match natural word order.
+- **Preserve** exact variable casing (e.g., `{{dagDisplayName}}`).
+
+## Plural Forms
+
+Airflow uses i18next plural suffixes (`_one`, `_other`, and optionally `_zero`,
+`_two`, `_few`, `_many`). Provide translations for **all** plural suffixes
+relevant to the language you provide translation for.
+
+## Hotkeys
+
+Hotkey values (e.g., `"hotkey": "e"`) **must not** be translated. They are
+literal key bindings.

Review Comment:
   I think it is reasonable. Probably would be similar to the idea above, we can try instruct the agent to take the language-specific rules with higher precedence



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817230990


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language                | Guideline File                  |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar`        | Arabic                  | [locales/ar.md](locales/ar.md)  |
+| `ca`        | Catalan                 | [locales/ca.md](locales/ca.md)  |
+| `de`        | German                  | [locales/de.md](locales/de.md)  |
+| `el`        | Greek                   | [locales/el.md](locales/el.md)  |
+| `es`        | Spanish                 | [locales/es.md](locales/es.md)  |
+| `fr`        | French                  | [locales/fr.md](locales/fr.md)  |
+| `he`        | Hebrew                  | [locales/he.md](locales/he.md)  |
+| `hi`        | Hindi                   | [locales/hi.md](locales/hi.md)  |
+| `hu`        | Hungarian               | [locales/hu.md](locales/hu.md)  |
+| `it`        | Italian                 | [locales/it.md](locales/it.md)  |
+| `ja`        | Japanese                | [locales/ja.md](locales/ja.md)  |
+| `ko`        | Korean                  | [locales/ko.md](locales/ko.md)  |
+| `nl`        | Dutch                   | [locales/nl.md](locales/nl.md)  |
+| `pl`        | Polish                  | [locales/pl.md](locales/pl.md)  |
+| `pt`        | Portuguese              | [locales/pt.md](locales/pt.md)  |
+| `th`        | Thai                    | [locales/th.md](locales/th.md)  |
+| `tr`        | Turkish                 | [locales/tr.md](locales/tr.md)  |
+| `zh-CN`     | Simplified Chinese      | [locales/zh-CN.md](locales/zh-CN.md) |
+| `zh-TW`     | Traditional Chinese     | [locales/zh-TW.md](locales/zh-TW.md) |
+
+If the target locale file does not yet exist, follow only the global rules in
+this document together with the i18n Policy.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace files (e.g., `admin.json`, `assets.json`,
+`browse.json`, `common.json`, `components.json`, `dag.json`, `dags.json`,
+`dashboard.json`, `hitl.json`, `tasks.json`). The English locale (`en`) is the
+**default locale** and the primary source for all translations.
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+   labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+   term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+   formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms **must** remain in English across all locales:
+
+| Term             | Reason                                              |
+| ---------------- | --------------------------------------------------- |
+| `Airflow`        | Product name                                        |
+| `Dag` / `Dags`   | Airflow convention; always use `Dag`, never `DAG`   |
+| `XCom` / `XComs` | Airflow cross-communication mechanism name          |
+| `Provider` / `Providers` | Airflow extension package name              |
+| `REST API`       | Standard technical term                             |
+| `JSON`           | Standard technical format name                      |
+| `ID`             | Universal abbreviation                              |
+| `PID`            | Unix process identifier                             |
+| `UTC`            | Time standard                                       |
+| `Schema`         | Database term (keep unless locale has established convention) |
+
+## Variable and Placeholder Handling
+
+Translation strings use the `{{variable}}` interpolation syntax (i18next
+format):
+
+- **Never translate** variable names inside `{{...}}`.
+- **Never remove** any `{{variable}}` placeholders.
+- **Reorder** placeholders as needed to match natural word order.
+- **Preserve** exact variable casing (e.g., `{{dagDisplayName}}`).
+
+## Plural Forms
+
+Airflow uses i18next plural suffixes (`_one`, `_other`, and optionally `_zero`,
+`_two`, `_few`, `_many`). Provide translations for **all** plural suffixes
+present in the English source.

Review Comment:
   ```suggestion
   relevant to the language you provide translation for.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] add SKILL.md and zh-CN agent skill instruction [airflow]

Posted by "sjyangkevin (via GitHub)" <gi...@apache.org>.
sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2817526134


##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,160 @@
+---
+name: airflow-translations
+description: >
+  Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+  translation files. Use when working with internationalization, localization,
+  or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+  Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+All translation work **must** follow the
+[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md)
+as the authoritative source of truth.
+

Review Comment:
   Thanks for the feedback! I think you are right. We should keep the most relevant, and insturction-type of context here to guide agent on how to action. Will make the update soon.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org