From 7e925f1233ffc32f25f7fcf21aa213fa33fd5233 Mon Sep 17 00:00:00 2001 From: Logan Gagne Date: Fri, 19 Jun 2026 10:41:35 -0400 Subject: [PATCH] feat(session): auto-rename session after issue/work selection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Invoke the built-in /rename (via Skill tool) at the point where the work context is richest — right after picking an issue or defining a freeform description — so sessions get a descriptive word-word-word name instead of defaulting to :master. - Add Skill to allowed-tools in session-issue and session-start - Insert rename step in session-issue after Phase 2 (slug derived) - Insert rename step in session-start after Phase 1 (branch name set), runs whether this is new work or a continuation - Bump version 4.3.3 → 4.4.0 in both claude and copilot plugin.json Co-Authored-By: Claude Sonnet 4.6 --- plugins-claude/session/.claude-plugin/plugin.json | 2 +- .../session/skills/session-issue/SKILL.md | 9 +++++++-- .../session/skills/session-start/SKILL.md | 13 +++++++++---- plugins-copilot/session/.claude-plugin/plugin.json | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/plugins-claude/session/.claude-plugin/plugin.json b/plugins-claude/session/.claude-plugin/plugin.json index be826ef..fda70ba 100644 --- a/plugins-claude/session/.claude-plugin/plugin.json +++ b/plugins-claude/session/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "session", - "version": "4.3.3", + "version": "4.4.0", "description": "Work session management — issue-driven and freeform doors sharing an explore-then-plan spine, with multi-agent orchestration and a review-gated PR finalizer", "author": { "name": "Logan Gagne" diff --git a/plugins-claude/session/skills/session-issue/SKILL.md b/plugins-claude/session/skills/session-issue/SKILL.md index eb288f3..51456e1 100644 --- a/plugins-claude/session/skills/session-issue/SKILL.md +++ b/plugins-claude/session/skills/session-issue/SKILL.md @@ -2,7 +2,7 @@ disable-model-invocation: true name: session-issue description: "Browse open issues, pick one, and start work on it" -allowed-tools: Agent, Bash, AskUserQuestion, EnterPlanMode, EnterWorktree, Read +allowed-tools: Agent, Bash, AskUserQuestion, EnterPlanMode, EnterWorktree, Read, Skill --- The **discovery** door: rank the open issues, pick one, then run the shared @@ -87,9 +87,14 @@ begin-work spine (explore → plan). To start from your own description instead, number — the linkage lives in the PR's `Closes #N`, which is what auto-closes the issue on merge. +6. **Rename this session** — invoke the built-in rename via the `Skill` tool + (`skill: "rename"`, no args) so the session title reflects the issue being + worked on. The rename auto-generates a short descriptive name from the current + conversation context — call it now, while the issue title and summary are fresh. + ### Phase 3 — Run the spine -6. **Read the shared begin-work spine and execute it** (use the Read tool): +7. **Read the shared begin-work spine and execute it** (use the Read tool): ```text ${CLAUDE_PLUGIN_ROOT}/reference/spine.md diff --git a/plugins-claude/session/skills/session-start/SKILL.md b/plugins-claude/session/skills/session-start/SKILL.md index 69a4151..85884ef 100644 --- a/plugins-claude/session/skills/session-start/SKILL.md +++ b/plugins-claude/session/skills/session-start/SKILL.md @@ -2,7 +2,7 @@ disable-model-invocation: true name: session-start description: "Start work from your description — explore the codebase and plan" -allowed-tools: Bash, Agent, EnterPlanMode, AskUserQuestion, EnterWorktree, Read +allowed-tools: Bash, Agent, EnterPlanMode, AskUserQuestion, EnterWorktree, Read, Skill --- Start work from whatever you describe. This is the **input-driven** door: you say @@ -53,9 +53,14 @@ issues instead, use `/session:session-issue`; for a read-only status view, use - **Freeform** → base name `wip-` (3-5 word slug from the description). No issue linked; the description is the context. +4. **Rename this session** — invoke the built-in rename via the `Skill` tool + (`skill: "rename"`, no args). Call it regardless of whether this is new work + or a continuation — the description from Phase 0 is in context and the rename + auto-generates a short descriptive name from it. + ### Phase 2 — Run the spine -4. **Read the shared begin-work spine and execute it** (use the Read tool): +5. **Read the shared begin-work spine and execute it** (use the Read tool): ```text ${CLAUDE_PLUGIN_ROOT}/reference/spine.md @@ -64,6 +69,6 @@ issues instead, use `/session:session-issue`; for a read-only status view, use Hand it the context you gathered (the freeform description and/or the issue body + labels) and the base branch name from Phase 1. The spine drives Isolate (worktree) → Escalate-to-orchestrate? → Explore (parallel research agents) → - Plan (`EnterPlanMode`) → Hand-off. If Phase 0 determined you are continuing an - existing branch, tell the spine to skip its Isolate phase. Complete every + Plan (`EnterPlanMode`) → Hand-off. If Phase 0 determined you are continuing + an existing branch, tell the spine to skip its Isolate phase. Complete every MANDATORY phase — the flow ends only once you have presented a plan. diff --git a/plugins-copilot/session/.claude-plugin/plugin.json b/plugins-copilot/session/.claude-plugin/plugin.json index be826ef..fda70ba 100644 --- a/plugins-copilot/session/.claude-plugin/plugin.json +++ b/plugins-copilot/session/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "session", - "version": "4.3.3", + "version": "4.4.0", "description": "Work session management — issue-driven and freeform doors sharing an explore-then-plan spine, with multi-agent orchestration and a review-gated PR finalizer", "author": { "name": "Logan Gagne"