Skip to main content

refactor-execute

Automatically processes TizenFX ai-task issues (dispatching between refactoring/feature modes) and creates a PR.

Informations de source

Dépôt
Samsung/TizenFX
Dernière activité de la source
27 avril 2026 à 12:15
Langue détectée de SKILL.md
anglais
Étoiles
214
Forks
275

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
refactor-execute
description
Automatically processes TizenFX ai-task issues (dispatching between refactoring/feature modes) and creates a PR.
## TizenFX AI Bot Universal Task Pipeline (Refactoring / Feature Combined) ### Overview A universal automation pipeline that sequentially processes GitHub Issues labeled `ai-task`. The task mode is dynamically determined based on the `[Type: Refactoring]` keyword in the issue body or explicit instructions in comments. ### Repository - **Repo**: samsung/TizenFX (GitHub) - **CLI**: `gh` CLI (authenticated) --- ### Pipeline Flow ``` ⓪ Discover target Issues (ai-task) → ① Determine task mode (Refactoring vs Feature/Bug) → [Refactoring] Refactor + guarantee API preservation → Build → Benchmark → PR → [Feature/Bug] Implement feature + tests → Build → PR ``` --- ### Stage ⓪: Universal Issue Discovery ```bash gh issue list --repo samsung/TizenFX --label "ai-task" --state open --json number,title,createdAt --jq 'sort_by(.createdAt) | .[]' ``` - Process the oldest issue first - **Process at most 2 issues per run** (to maintain quality) - Always terminate after 2 issues even if more are pending --- ### Stage ①: Mode Determination and Feedback Absorption Fetch the selected issue details and comments: ```bash gh issue view {NUMBER} --repo samsung/TizenFX --comments ``` **Mode dispatch criteria:** 1. **[Refactoring mode]**: The issue body contains `[Type: Refactoring]`, or comments explicitly request refactoring/optimization. → Apply benchmark and rollback stages. 2. **[Feature-centric mode]**: Any other bug fix or feature request. → Skip benchmark, focus on unit test validation. --- ### Stage ②: Branch Creation and Pre-Validation 1. Clone or update the repository: ```bash gh repo clone samsung/TizenFX || (cd TizenFX && git checkout main && git pull) ``` 2. Create a working branch: ```bash git checkout -b ai-task/issue-{ID} ``` 3. **[Refactoring mode]** Self-reflection on potential API compatibility breaks: - Enumerate public API surface of the target area - Verify by design that the API signature remains unchanged after the refactor --- ### Stage ③: Code Modification - Modify source per the analysis/plan in the issue - **Refactoring mode**: Strictly preserve state/behavior, keep public API signatures intact - **Feature-centric mode**: Implement per spec, account for edge cases --- ### Stage ④: Build Verification and Testing 1. Build verification (required): ```bash dotnet build ``` → Must have 0 errors. Fix errors and rebuild if any occur. 2. **[Feature-centric mode]** Unit tests: ```bash dotnet test ``` → Existing tests must pass. Add missing test cases when necessary. --- ### Stage ⑤: [Refactoring Mode Only] Benchmark and Rollback Validation 1. Add a comparative benchmark to `test/Tizen.Benchmark.Gallery/` 2. Attempt to deploy and run on an `sdb` device **When sdb-related errors/issues occur (device not connected, deploy failure, execution error, etc.):** - **Pass (skip)** the benchmark stage - Post a comment on the PR explaining why the benchmark was skipped: ```bash gh pr comment {PR_NUMBER} --repo samsung/TizenFX --body "⚠️ **Benchmark skipped**: Encountered an issue with sdb device connection/deployment/execution, so the benchmark could not be run. Manual benchmark verification is required. Error: {error summary}" ``` - Also note "Benchmark: skipped (sdb error)" in the PR Verification section **On successful execution:** - If the execution log shows a **performance regression of 5% or more (median)**, automatically roll back the code: ```bash git checkout -- . ``` → After rollback, retry from Stage ③ with a different approach (max 1 retry) → If a regression persists on retry, leave a comment on the issue and move to the next issue --- ### Stage ⑥: PR Creation and Issue Linking 0. Perform a final .NET expert review over the full set of changes. 1. Commit and push changes: ```bash git add -A git commit -m "Refactor: {change summary} (Fixes #{ID})" git push origin HEAD ``` 2. Write the PR description (pr_description.md): ```markdown ## Summary {Summary of the changes} ## Changes {List of changed files and what changed in each} ## Mode {Refactoring / Feature} ## Verification - [ ] Build: passed - [ ] Tests: {passed / N/A} - [ ] Benchmark: {result summary / skipped (sdb error: reason) / N/A} Fixes #{ID} ``` 3. Create the PR: ```bash gh pr create --repo samsung/TizenFX --title "[AI Task] {task summary}" --body-file pr_description.md --label "ai-task" ``` 3-1. Verify and ensure the label is applied: ```bash gh pr view --repo samsung/TizenFX --json labels --jq '.labels[].name' | grep -q "ai-task" || \ gh pr edit --repo samsung/TizenFX --add-label "ai-task" ``` 4. After processing the current issue, if fewer than 2 issues have been handled and more are queued, return to Stage ⓪. **Always terminate once 2 issues have been processed.** --- ### Constraints - **At most 2 issues per run** (this limit is absolute) - When performing refactoring-only changes, behavior preservation is mandatory - If build errors cannot be resolved in 2 consecutive attempts, comment on the issue and skip it - Prefer small, reviewable PRs over large sweeping changes ### Reporting - Processed issue numbers and links - Created PR links - Task mode per issue (Refactoring / Feature) - Benchmark result (where applicable) or skip reason - Reason for any skipped issues
Voir sur GitHub