bassclef
SkillsOperate
LitePhase OperateBody 14 sections · ~1,396 wordsUpdated 2026-10-02

/session-end

Close the session cleanly. Writes the session log, pushes artifacts, updates whereami. Run when the Stop hook fails or when you want to end deliberately. Three tiers of obligation: MUST, SHOULD, MAY.

Copy the command
/session-end
/session-end default

Type it bare, or paste it with loose context after — Claude figures out the rest.

Solves

Sessions end without writing state. Next session starts cold. Session logs missing.

Payoff

Three tiers of close. Must-tier always runs local. Should-tier pushes if network is up.

Takes in

  • Optional — run explicitly or fires from Stop hook

Returns

  • Session log entry
  • Whereami updated
  • Push and tag when scoped
  • Journal draft when notable
Deep dive — 14 sections · ~1,396 words · original SKILL.mdScroll for tutorial ↓

What it does

A clean session close with three tiers of obligation.

/session-end saves state. It writes the session log. It updates whereami. It reconciles the roadmap. It pushes artifacts.

Read the full skill

The complete instructions live at .claude/skills/session-end/SKILL.md in your repo after bassclef-sync. Open with your editor for phases, rules, and worked examples.

Where in the SDLC

Why this phase: Close the session cleanly — MUST/SHOULD/MAY tiered obligations.

FAQ

Terms from bassclef vocabulary that appear on this page.

load-bearing
A part of the system that other parts depend on — remove it and downstream things break. Bassclef uses the word for artifacts that other artifacts read: a canvas is load-bearing when a spec cites it, a spec is load-bearing when Builder uses it. Plain equivalent: 'actually used' or 'counted on'.
chronicle
A narrative log of what a session shipped — what worked, what did not, what got deferred. Written at session-end. Bassclef's chronicles live under `docs/chronicles/YYYY-MM-DD-slug.md`. Chronicles are how future sessions understand context that the code alone cannot show. See: /docs/skills/session-log
whereami
The authoritative project-state snapshot — current phase, active goals, subsystem status, gate progress, session recap history. Read at session-start; updated at session-end. The one file every new session should read first to know where the project stands. See: /docs/skills/whereami
hook
A shell script bassclef wires into Claude Code's tool-invocation lifecycle. Hooks fire at events like PreToolUse (before an Edit lands) or SessionStart (when a session opens). Hooks enforce rules mechanically — a rule says 'don't do X'; a hook fires and BLOCKs if X happens.
rule
A markdown file auto-loaded into every session's context. Rules pin discipline the agent applies to every response (plain-English writing, blocked-items protocol, temperance gates). Different from a hook — rules are steering; hooks are enforcement.
skill
A user-invocable command (like `/kiss` or `/temperance`) that runs a specific bassclef workflow. Every skill lives at `.claude/skills/<name>/SKILL.md` with frontmatter + procedure. Adopters type the slash command; Claude Code loads the skill and runs it.
adopter
A repo that has bassclef installed — either via `bassclef init` (lite tier from npm) or via the symlink pattern (standard tier with an Anthropic key). Bassclef's discipline: never break adopters. Every change to a downstream-observable surface ships with a compat shim.
bassclef-upstream
The private repo where bassclef substrate is authored. Ships to a public `bassclef` npm package + a public `bassclef-web` docs site. Adopters read the public tier; the operator maintains upstream.
session log
Same shape as a chronicle — narrative record of what a session shipped. `/session-log` skill drafts it from the session's commits + branch state. Feeds into `/journal` when the operator wants an audience-tuned draft. See: /docs/skills/session-log

Shipped by @kingofrock · Read the essays

On this page

© 2025–2026 Sunjay Pandey·Privacy·Apache-2.0 code