New Session
SkillDev toolsUse when the user says 'new session', 'start a session', 'new worktree', 'start fresh', or 'spin up a workspace'.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the New Session skill
What this skill tells your AI
The instructions your AI receives, as published by divad12/dotfiles in .agents/skills/new-session/SKILL.md and read by ahel’s review.
Set up a worktree with everything needed to run the dev server: env files, node_modules symlink, graphify-out snapshot when available, and a unique port that won't conflict with the main repo or other worktrees.
Steps
-
Check if you're already in a worktree.
git rev-parse --show-toplevelIf the path is inside
.claude/worktrees/, you're in a worktree (created externally, e.g. by Claude Code desktop). Skip to step 3.If you're in the main repo, use the
EnterWorktreetool to create one. Let it generate a name, or use one the user provides. -
Identify the worktree directory (it should now be your CWD).
-
Run setup.sh from the worktree:
MAIN_REPO=$(git worktree list --porcelain | sed -n '1s/^worktree //p') bash "$MAIN_REPO/.claude/skills/new-session/setup.sh"The script copies env files (
.env,.env.local,.env.production.local) from the main repo, symlinksnode_modules, copies a localgraphify-outsnapshot when the main repo has generated graph output, picks a random unused port in 3001-9999, and writes.claude/launch.json. It prints the assigned port to stdout.If the script lives in
~/.claude/skills/new-session/setup.shinstead (because this is a fresh machine without the project copy), invoke that path directly. -
Read PROGRESS.md from the main repo to understand current project state.
-
Report to the user:
- Worktree path and branch name
- Dev server port (from step 3 output)
- URL:
http://localhost:<PORT> - Reminder to start the server with:
npm run dev -- --port <PORT>
Always use the assigned port
For the rest of this session, whenever you start a dev server or open a URL, use the port from launch.json - never bare npm run dev (defaults to 3000, which belongs to the main repo) and never http://localhost:3000.
Test data isolation
Multiple worktrees share the same database. To avoid conflicts, create worktree-specific test data instead of relying on the shared seed.
- Name top-level test entities after the branch (e.g.
"WT: <branch-name>"). - Build all test data under that entity. Never modify shared seed data.
- Filter to your worktree's entity when testing in the browser or e2e tests.
Schema migrations are the exception. If your feature requires prisma db push with breaking changes, check git worktree list and warn the user before pushing.
Signals
- GitHub stars
- 25
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
new-session- Source
- github.com/divad12/dotfiles