autoresearch-finalize
/autoresearch-finalize
Finalizuje sesję autoresearch w czyste, nadające się do przeglądu gałęzie, przy prośbie o sprzątanie eksperymentów i przygotowanie do review.
- Autor
- davebcn87 ↗
- Repozytorium
- pi-autoresearch ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 07.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 2
- Skrypty
- 1
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 07.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
- 1 skrypt w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.
Skrypty: finalize.sh
Co robi i kiedy
Finalizuje sesję autoresearch w czyste, nadające się do przeglądu gałęzie, przy prośbie o sprzątanie eksperymentów i przygotowanie do review.
Wyzwalacze z opisu
Oryginalny opis (EN)
Finalize an autoresearch session into clean, reviewable branches. Use when asked to "finalize autoresearch", "clean up experiments", or "prepare autoresearch for review".
Jak działa
- Step 1 — Analyze and Propose Groups
- Step 2 — Write groups.json and Run
- Step 3 — Report
- Edge Cases
Podgląd SKILL.md
---
name: autoresearch-finalize
context: fork
description: Finalize an autoresearch session into clean, reviewable branches. Use when asked to "finalize autoresearch", "clean up experiments", or "prepare autoresearch for review".
---
# Finalize Autoresearch
Turn a noisy autoresearch branch into clean, independent branches — one per logical change, each starting from the merge-base.
## Step 1 — Analyze and Propose Groups
1. Read `.auto/log.jsonl` (legacy: `autoresearch.jsonl`). Filter to **kept** experiments only.
2. Read `.auto/prompt.md` (legacy: `autoresearch.md`) for context.
3. Expand all short commit hashes to full hashes: `git rev-parse <short_hash>`
4. Get the merge-base: `git merge-base HEAD main`
5. For each kept commit, get the diff stat (use `$BASE..<commit>` for the first, `<prev_kept>..<commit>` for subsequent).
6. Group kept commits into logical changesets:
- **Preserve application order.** Group N comes before Group N+1.
- **No two groups may touch the same file.** Each branch is applied to merge-base independently — overlapping files would conflict. If two groups touch the same file, merge them into one group.
- **Watch for cross-file dependencies.** Each branch is independent, so if group 1 adds an API in `api.js` and group 2 calls it in `parser.js`, group 2's branch won't work in isolation. When proposing groups, flag dependencies: "group 2 depends on group 1 — review together." If the dependency is tight, merge the groups.
- **Keep each group small and focused.** One idea, one theme per group.
- **Don't hardcode a count.** Could be 2, could be 15.
Present the proposed grouping to the user:
```
Proposed branches (each from merge-base, independent):
1. **Switch test runner to forks pool** (commits abc1234, def5678)
Files: vitest.config.ts, package.json
Metric: 42.3s → 38.1s (-9.9%)
2. **Tune worker count and timeouts** (commits ghi9012, jkl3456)
Files: test/setup.ts
Metric: 38.1s → 31.7s (-16.8%)
```
**Wait for approval before proceeding.**
## Step 2 — Write groups.json and Run
Write `groups.json`:
```json
{
"base": "<full merge-base hash>",
"trunk": "main",
"final_tree": "<full hash of current HEAD>",
"goal": "short-slug",
"groups": [
{
"title": "Switch to forks pool",
"body": "Why + what changed.\n\nExperiments: #3, #5\nMetric: total_time 42.3s → 38.1s (-9.9%)",
"last_commit": "<full hash of last kept commit in this group>",
"slug": "forks-pool"
}
]
}
```
Key rules:
- **`last_commit` must be a full hash.** Expand from jsonl short hashes with `git rev-parse`.
- **No two groups may share a file.** The script validates this and fails if violated.
Then run:
```bash
bash <SKILL_DIR>/finalize.sh /tmp/groups.json
```
The script creates one branch per group from the merge-base, verifies the union matches the original branch, and prints a summary with all branches, cleanup commands, and any ideas from `.auto/ideas.md` (legacy: `autoresearch.ideas.md`).
On creation failure: rolls back (deletes branches, restores original branch, pops stash).
On verification failure: exits non-zero but leaves branches intact for inspection.
## Step 3 — Report
After the script finishes, report to the user:
- Branches created and what each contains
- Overall metric improvement (baseline → best)
- Show the cleanup commands from the script's summary output
## Edge Cases
- **Only 1 kept experiment**: One branch is fine — don't force splits.
- **Overlapping files between groups**: The script fails with an error naming the file. Merge the overlapping groups and retry.
- **Non-experiment commits** on the branch: Skip them — only process kept experiments from the jsonl.
Pliki w paczce (2)
- SKILL.md 4 KB
- finalize.sh 14 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · davebcn87/pi-autoresearch | 100 | MIT |
| ethanolivertroy/public-skills | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 36e4941021d7 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 95sa-finalize
Finalizuje specyfikację w Neo4j: statystyki, glosariusz, ADR, macierz śledzenia i ocenę gotowości z zapytań do grafu. - 100autoresearch
Uruchamia autonomiczne eksperymenty keep/discard na bazie kodu, optymalizując jedną metrykę w stałym czasie, w stylu karpathy/autoresearch, na przykład przez noc. - 100finalize
Domyka implementację: commituje zmiany, tworzy pull request i przygotowuje pracę do wydania. - 95nacl-sa-finalize
Finalizuje specyfikację w Neo4j: statystyki, słownik, ADR, macierz śledzenia i ocenę gotowości. - 100autoresearch-create
Konfiguruje i uruchamia autonomiczną pętlę eksperymentów dla dowolnego celu optymalizacji: zbiera, co optymalizować, i od razu startuje pętlę. - 100autoresearch-create
Konfiguruje i uruchamia autonomiczną pętlę eksperymentów dla dowolnego celu optymalizacji: zbiera, co optymalizować, i od razu startuje pętlę.