aspi6246/spin-up
> Start-of-session orientation routine that briefs Claude on the current state of a project before work begins. Use this skill when the user says "spin up", "spin it up", "let's go", "start up", "spin up the project", "punch it chewy", or any variant signalling they want a session kickoff divergence), CLAUDE.md and README read, most-recent session log read (focusing on "Where we left off"), PINBOARD.md open items, GLOSSARY.md load, and a short synthesis of project state. Ends by asking what to work on today.
npx skills add https://github.com/aspi6246/Claude-Code-Skills-for-Academics --skill spin-up
When the user signals the start of a session, perform ALL of the checks
below in order, then present a tight briefing and ask what today's focus
is.
Unlike wrap-up, this skill is conversational — the purpose is to
surface information, not to act. Keep the briefing scannable (roughly
one screen), and do NOT start work or propose tasks until the user
replies to the closing question.
Read CLAUDE.md at the project root (if it exists). Internalise project
rules, conventions, and any project-specific session-startup instructions.
Also read README.md if present, to ground yourself in the directory
structure and project purpose.
If neither file exists, note that in the briefing but continue.
If the current working directory is inside a git repository:
git fetch --quiet to refresh remote refs so divergence is visible.git log @{u}..HEAD --oneline to list unpushed commits on thecurrent branch. If there is no upstream set, fall back to
git log origin/main..HEAD --oneline (or origin/master); if that
also fails, skip.
git log HEAD..@{u} --oneline to spot remote commits made elsewhere(e.g. GitHub web, another machine) that would require a pull before
any future push.
If the project is not a git repo, skip this step silently.
Do not push or pull anything — this step is read-only. Surface
findings; let the user decide.
Look for session logs in the project's log directory. Check these
locations in order:
CLAUDE.md, if any.Claude Logs/Code/_Claude Session Logs/Find the most recently-dated file and read it. Pay particular attention
to:
If no log exists, note that and continue.
Read PINBOARD.md at the project root (if it exists). Count open items
by category. Flag anything dated more than two weeks ago or marked
urgent.
If no pinboard exists, skip.
If GLOSSARY.md exists at the project root, load it adaptively — the goal is to
activate command-phrases without pulling the whole file into context every session:
Grep -c "^- "). **If under ~25, just read the filewhole** — the cost is trivial and the lazy split isn't worth it.
## Definitions header — that is theCommand-Phrases section (kept first for exactly this reason). These must be
active for the session (e.g. "push" → commit and push), since the bare phrase
won't trigger the glossary skill on its own.
bold terms) to load the *term list* forDefinitions/Abbreviations — names without glosses. Read a full definition on
demand later, when that term actually comes up.
note it and suggest a prune.
If no glossary exists, skip silently. The /glossary skill owns this file — adding,
editing, the behavioral rules for command-phrases, and pruning.
Present a briefing in approximately this format:
## Session briefing — [project name]
**Last session:** YYYY-MM-DD — [one-line summary of last session's work]
**Where we left off:** [short quote or paraphrase]
**Git:**
- Branch: `branch-name` (clean / N unstaged changes)
- Unpushed: N commits [list them, or "none"]
- Remote ahead: N commits [or "in sync"]
**Pinboard:** N open items
- X to-dos (Y older than two weeks)
- Z papers to read
- W data issues
**Glossary:** N terms loaded, M command-phrases active [or "none yet"]
**Project state:** [1–2 sentences synthesising CLAUDE.md + last log]
Keep it tight. One scannable screen. Omit sections cleanly if there's
nothing to report ("No pinboard items outstanding.") rather than
leaving empty headings.
End the briefing with exactly:
> What are we working on today?
Then wait. Do not start work, propose tasks, or fix things surfaced
above until the user answers.
It surfaces state and waits.
wrap-up's responsibilityat end of session. Spin-up only reads prior logs.
working tree, a stale pinboard item, or an unresolved problem from
last session — list them, but wait for the user to direct action.
output. If any single step has a lot to say, summarise and offer
detail on request.
CLAUDE.md. If the project's CLAUDE.md specifies adifferent startup ritual or log location, follow it.
Take aspi6246/spin-up from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.