14 Commits

Author SHA1 Message Date
jiantw83 ff5166bd22 Merge pull request 'chore: bump nuget-push action' (#9) from develop into master
Reviewed-on: #9
2026-05-18 04:41:01 +00:00
admin 24f7c2c5ce Merge pull request 'chore: bump nuget-push action' (#8) from feat/ai_code_review into develop
Reviewed-on: #8
2026-05-18 04:39:58 +00:00
jiantw83 6ff74695dc chore: bump nuget-push action 2026-05-18 04:38:07 +00:00
jiantw83 44bee3be1a Merge pull request 'chore: bump nuget-push action' (#7) from develop into master
Reviewed-on: #7
2026-05-18 04:22:13 +00:00
admin 0402d7caef Merge pull request 'chore: bump nuget-push action' (#6) from feat/ai_code_review into develop
Reviewed-on: #6
2026-05-18 04:21:36 +00:00
AI Review Bot fc3ea89c99 chore: update ai-review findings [ai-review-bot][success] 2026-05-18 04:20:28 +00:00
jiantw83 4cce4eae4c chore: bump nuget-push action 2026-05-18 04:19:20 +00:00
jiantw83 d364198f7c Merge pull request 'develop' (#5) from develop into master
Reviewed-on: #5
2026-05-16 16:12:09 +00:00
jiantw83 fcf5849ac4 Merge pull request 'chore: update release workflows' (#4) from feat/ai_code_review into develop
Reviewed-on: #4
2026-05-16 16:11:37 +00:00
AI Review Bot aea78bc436 chore: update ai-review findings [ai-review-bot][success] 2026-05-16 16:09:32 +00:00
jiantw83 de60f9ee7f chore: update release workflows 2026-05-16 16:07:37 +00:00
jiantw83 b8bd50cade Merge pull request 'feat: update workflow steps and add AI code review workflow' (#3) from develop into master
Reviewed-on: #3
2026-05-13 05:48:16 +00:00
jiantw83 1c8d8986b1 Merge pull request 'feat: 為每個步驟加上名稱' (#2) from develop into master
Reviewed-on: #2
2026-05-06 00:48:24 +00:00
jiantw83 284f11cd82 Merge pull request 'feat: 傳入存取權杖' (#1) from develop into master
Reviewed-on: #1
2026-05-06 00:39:31 +00:00
13 changed files with 195 additions and 8 deletions
+14
View File
@@ -0,0 +1,14 @@
# Triage Findings
When the task is to triage review findings, follow this workflow:
1. Merge all findings into one list.
2. Remove duplicates.
3. Sort by severity: `critical` -> `warning` -> `info`.
4. Renumber from 1 after sorting.
5. Fix real issues with the smallest safe change.
6. Add false positives to `.gitea/ai-review/exclusions.json`, preserving the original wording, language, and semantics as much as possible.
7. Add or update tests when behavior changes.
8. Re-check the issue after each fix.
Use the repo-local `triage-findings` skill for the same workflow when running in Codex.
+30
View File
@@ -0,0 +1,30 @@
---
name: triage-findings
description: Triage findings, fix real issues, and exclude false positives.
---
# Triage Findings
## Use
直接輸入:`triage-findings 問題原始檔(文字或截圖)`
## Workflow
1. Merge all findings.
2. Sort by severity:
- critical
- warning
- info
3. Renumber from 1.
4. Fix real issues.
5. Put false positives into `.gitea/ai-review/exclusions.json` as a top-level JSON array, preserving the original wording, language, and semantics as much as possible. Do not wrap the array in `exclusions` or `excluded_findings`.
6. Add tests when behavior changes.
## Output Rules
- Keep the final list short.
- Keep numbering contiguous.
- Preserve file path, location, and fix.
- When writing exclusions, always output a top-level JSON array.
- When writing exclusions, prefer the original issue text over paraphrased rewrites.
+46
View File
@@ -0,0 +1,46 @@
---
name: triage-findings
description: Merge code-review findings, sort and renumber them by severity, resolve real issues, and move false positives into exclusions.
---
# Triage Findings
## When To Use
Use this skill when you receive multiple review findings, screenshots, comments, or issue lists that need to become one final triaged list.
It is also used when some findings are false positives and should be moved into the exclusions list.
## Workflow
1. Collect all findings into one list.
2. Merge duplicates into a single finding when they describe the same issue.
3. Sort the final list by severity:
- critical
- warning
- info
4. Renumber the sorted list from 1 upward.
5. Rewrite each finding concisely so the final list reads cleanly and consistently.
6. If a finding is a false positive, do not keep it in the final list.
7. Add false positives to the exclusions list as a top-level JSON array in `.gitea/ai-review/exclusions.json`, and preserve the original finding wording as much as possible, including language and semantics. Do not wrap the array in `exclusions` or `excluded_findings`.
## Resolution Flow
After the list is merged and ordered, resolve the remaining findings one by one.
1. Start from the highest severity item.
2. Identify the root cause in the relevant file or context.
3. Apply the smallest safe change that fixes the issue.
4. Add or update tests when behavior changes.
5. Re-check the issue after the change.
6. If the item is confirmed false positive, move it to exclusions instead of changing code.
7. Continue until the list is either fixed or explicitly excluded.
## Output Rules
- Keep the final findings list in severity order, then by any stable secondary order needed to make it readable.
- Keep numbering contiguous after filtering and merging.
- Preserve useful details like file path, location, and suggested fix.
- Keep exclusions entries minimal and consistent with the project schema.
- When writing exclusions, always output a top-level JSON array.
- When writing exclusions, prefer the original issue text and language; only paraphrase if needed to fit the schema.
- If the source already provides a severity or title, keep it unless it conflicts with the final ordering.
@@ -0,0 +1,4 @@
interface:
display_name: "Triage Findings"
short_description: "Triage, sort, fix, and exclude review findings"
default_prompt: "Use $triage-findings to merge review findings, sort and renumber them by severity, resolve real issues one by one, and add false positives to `.gitea/ai-review/exclusions.json` as a top-level JSON array."
+30
View File
@@ -0,0 +1,30 @@
---
name: triage-findings
description: Triage findings, fix real issues, and exclude false positives.
---
# Triage Findings
## Use
直接輸入:`triage-findings 問題原始檔(文字或截圖)`
## Workflow
1. Merge all findings.
2. Sort by severity:
- critical
- warning
- info
3. Renumber from 1.
4. Fix real issues.
5. Put false positives into `.gitea/ai-review/exclusions.json` as a top-level JSON array, preserving the original wording, language, and semantics as much as possible. Do not wrap the array in `exclusions` or `excluded_findings`.
6. Add tests when behavior changes.
## Output Rules
- Keep the final list short.
- Keep numbering contiguous.
- Preserve file path, location, and fix.
- When writing exclusions, always output a top-level JSON array.
- When writing exclusions, prefer the original issue text over paraphrased rewrites.
+1
View File
@@ -0,0 +1 @@
[]
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
- name: 發布專案
uses: akkuman/gitea-release-action@${{ vars.ACTION_RELEASE_VERSION }}
with:
tag_name: "v${{ needs.version.outputs.version }}"
tag_name: v${{ needs.version.outputs.version }}
- name: 清理成品
uses: https://gitea.jsc.idv.tw/actions/cleanup-release@${{ vars.ACTION_CLEANUP_RELEASE_VERSION }}
with:
+4
View File
@@ -1,6 +1,8 @@
name: AI
on:
pull_request:
branches-ignore:
- master
types: [opened, synchronize]
jobs:
code-review:
@@ -10,6 +12,8 @@ jobs:
- name: AI Code Review
uses: https://gitea.jsc.idv.tw/actions/code-review@${{ vars.ACTION_CODE_REVIEW_VERSION }}
with:
GITEA_TOKEN: ${{ secrets.RUNNER_TOKEN }}
GITEA_COMMENT_TOKEN: ${{ secrets.GITEA_TOKEN }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }},${{ secrets.GEMINI_API_KEY_1 }},${{ secrets.GEMINI_API_KEY_2 }},${{ secrets.GEMINI_API_KEY_3 }},${{ secrets.GEMINI_API_KEY_4 }},${{ secrets.GEMINI_API_KEY_5 }},${{ secrets.GEMINI_API_KEY_6 }},${{ secrets.GEMINI_API_KEY_7 }},${{ secrets.GEMINI_API_KEY_8 }},${{ secrets.GEMINI_API_KEY_9 }},${{ secrets.GEMINI_API_KEY_10 }},${{ secrets.GEMINI_API_KEY_11 }},${{ secrets.GEMINI_API_KEY_12 }},${{ secrets.GEMINI_API_KEY_13 }},${{ secrets.GEMINI_API_KEY_14 }},${{ secrets.GEMINI_API_KEY_15 }},${{ secrets.GEMINI_API_KEY_16 }},${{ secrets.GEMINI_API_KEY_17 }},${{ secrets.GEMINI_API_KEY_18 }},${{ secrets.GEMINI_API_KEY_19 }}
GEMINI_BASE_URL: https://generativelanguage.googleapis.com/v1beta
GEMINI_MODEL: ${{ vars.GEMINI_MODEL }}
+14
View File
@@ -0,0 +1,14 @@
# Triage Findings
Use the triage-finding workflow for review issue lists:
1. Merge findings into one list.
2. Remove duplicates.
3. Sort by severity: `critical` -> `warning` -> `info`.
4. Renumber from 1.
5. Fix real issues with the smallest safe change.
6. Put false positives into `.gitea/ai-review/exclusions.json`, preserving the original wording, language, and semantics as much as possible.
7. Add or update tests when behavior changes.
8. Re-check after each fix.
The full reusable skill lives in `.claude/skills/triage-findings/SKILL.md`.
+14
View File
@@ -0,0 +1,14 @@
# Triage Findings
Use the triage-finding workflow for review issue lists:
1. Merge findings into one list.
2. Remove duplicates.
3. Sort by severity: `critical` -> `warning` -> `info`.
4. Renumber from 1.
5. Fix real issues with the smallest safe change.
6. Put false positives into `.gitea/ai-review/exclusions.json` as a top-level JSON array, preserving the original wording, language, and semantics as much as possible. Do not wrap the array in `exclusions` or `excluded_findings`.
7. Add or update tests when behavior changes.
8. Re-check after each fix.
The reusable skill lives in `.gemini/skills/triage-findings/SKILL.md`.
+16
View File
@@ -0,0 +1,16 @@
# Triage Findings
When the task is to triage review findings, follow this workflow:
1. Merge all findings into one list.
2. Remove duplicates.
3. Sort by severity: `critical` -> `warning` -> `info`.
4. Renumber from 1 after sorting.
5. Fix real issues with the smallest safe change.
6. Add false positives to `.gitea/ai-review/exclusions.json`, preserving the original wording, language, and semantics as much as possible.
7. Add or update tests when behavior changes.
8. Re-check the issue after each fix.
Use the repo-local `triage-findings` skill for the same workflow when running in Codex.
Trigger it with `/triage-findings`.
+14
View File
@@ -0,0 +1,14 @@
# Triage Findings
Use the triage-finding workflow for review issue lists:
1. Merge findings into one list.
2. Remove duplicates.
3. Sort by severity: `critical` -> `warning` -> `info`.
4. Renumber from 1.
5. Fix real issues with the smallest safe change.
6. Put false positives into `.gitea/ai-review/exclusions.json`, preserving the original wording, language, and semantics as much as possible.
7. Add or update tests when behavior changes.
8. Re-check after each fix.
The reusable skill lives in `.gemini/skills/triage-findings/SKILL.md`.
+7 -7
View File
@@ -15,21 +15,21 @@ runs:
using: 'composite'
steps:
- name: 壓縮套件
uses: https://gitea.jsc.idv.tw/actions/zip@v0.0.6
uses: https://gitea.jsc.idv.tw/actions/zip@v0.0.7
with:
RELEASE_VERSION: ${{ inputs.RELEASE_VERSION }}
- name: 發布套件
uses: akkuman/gitea-release-action@v1
with:
name: "${{ inputs.PROJECT_NAME }} v${{ inputs.RELEASE_VERSION }}"
tag_name: "v${{ inputs.RELEASE_VERSION }}"
name: ${{ inputs.PROJECT_NAME }} v${{ inputs.RELEASE_VERSION }}
tag_name: v${{ inputs.RELEASE_VERSION }}
target_commitish: master
files: |
${{ inputs.PROJECT_NAME }}.${{ inputs.RELEASE_VERSION }}.zip
- name: 推送套件
uses: https://gitea.jsc.idv.tw/actions/nuget-push@v0.1.6
uses: https://gitea.jsc.idv.tw/actions/nuget-push@v0.1.9
with:
RELEASE_VERSION: "${{ inputs.RELEASE_VERSION }}"
RUNNER_TOKEN: "${{ inputs.RUNNER_TOKEN }}"
RELEASE_VERSION: ${{ inputs.RELEASE_VERSION }}
RUNNER_TOKEN: ${{ inputs.RUNNER_TOKEN }}
- name: 清理發布
uses: https://gitea.jsc.idv.tw/actions/cleanup-release@v0.4.1
uses: https://gitea.jsc.idv.tw/actions/cleanup-release@v0.4.2