autoresearch-finalize
Finalize an autoresearch session into clean, reviewable branches.
Skill by lseman
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lseman-autoresearch-finalize
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/autoresearch-finalize
What's inside
- Skill name
autoresearch-finalize- Description
- Finalize an autoresearch session into clean, reviewable branches. Use when asked to "finalize autoresearch", "clean up experiments", or "prepare autoresearch for review".
- License
- MIT
- Instructions
- 84 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- finalize.sh
SKILL.md (first lines)
# 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.From lseman/logician, MIT.
More from lseman/logician
- 0.547score
eoh
lseman
Evolution of Heuristics (EoH) — arxiv 2401.02051.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
autoresearch-hooks
lseman
Author pre/post-iteration hooks for an autoresearch session.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
config
lseman
Configure GSD settings — workflow toggles, advanced knobs, integrations, and model profile
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
ai-integration-phase
lseman
Generate an AI-SPEC.md design contract for phases that involve building AI systems.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
eval-review
lseman
Audit an executed AI phase's evaluation coverage and produce an EVAL-REVIEW.md remediation plan.
SkillBFreshness: B★ 1Claude Code +9 - 0.530score
capture
lseman
Capture ideas, tasks, notes, and seeds to their destination
SkillBFreshness: B★ 1Claude Code +9 - 0.529score
discuss-phase
lseman
Gather phase context through adaptive questioning before planning.
SkillBFreshness: B★ 1Claude Code +9 - 0.297score
academic
lseman
No description from the publisher yet.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 14, 2026 (2 months ago)
- Last release
- Aug 9, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/lseman/logician
- Website
- logician.laioseman.com/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lseman
- 0.547score
eoh
lseman
Evolution of Heuristics (EoH) — arxiv 2401.02051.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
autoresearch-hooks
lseman
Author pre/post-iteration hooks for an autoresearch session.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
eval-review
lseman
Audit an executed AI phase's evaluation coverage and produce an EVAL-REVIEW.md remediation plan.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
ai-integration-phase
lseman
Generate an AI-SPEC.md design contract for phases that involve building AI systems.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
config
lseman
Configure GSD settings — workflow toggles, advanced knobs, integrations, and model profile
SkillBFreshness: B★ 1Claude Code +9 - 0.530score
capture
lseman
Capture ideas, tasks, notes, and seeds to their destination
SkillBFreshness: B★ 1Claude Code +9
Cite this page
autoresearch-finalize skill. Agent Mart. https://agentmart.dev/skills/lseman-autoresearch-finalize (last updated 2026-10-24)