name-session — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited name-session (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Build a <scope>-<descriptive> name from the current context and emit the active client's ready-to-paste rename command.
Harness selection comes from the current tool surface. Never use the shell, PATH, filesystem, process list, or installed binaries to detect another client. Treat the client as unknown when that surface does not conclusively identify Pi or Claude Code. These rules are shared with /wrap-up and /handoffs; command printing is a proposal, not execution.
/name {session-name}. Never suggest /rename or /settings name in Pi./rename {session-name}.<scope>-<descriptive>AB-1505) — keep its natural Jira case.bd-123) if no ticket.pr-6563) if neither.rebase-pr-status beats git-stuff. Derive it from the conversation, not the branch (the branch already gives the scope).Examples: AB-1505-rebase-pr-status, bd-412-flaky-test-hunt, pr-6563-review-comments, auth0-logout-investigation.
Read the current branch with git rev-parse --abbrev-ref HEAD, using the repository wrapper where required. Extract a ticket with [A-Z]+-\d+; detached HEAD is not a branch/ticket signal.
Without a ticket, prefer the bead explicitly identified as this session's work. If tracker validation is needed, run ~/.agents/skills/next/scripts/next-select resolve <selector> and use the returned owner for bd -C <directory> show <id>. Unavailable/ambiguous ownership drops that signal; do not scan all in-progress claims and assume one belongs here. Existing known session context needs no fetch. If neither applies and a PR is clearly this session's topic, use its known identity or a scoped gh pr view --json number,title. No speculative PR request.
Fail soft: unknown evidence stays unknown. Outside Git, known session context can still name the work; otherwise use the descriptive part alone. No tracker, Git, or client state is changed.
From the current conversation, pick the ≤4-word kebab phrase that best names what this session is for. Prefer the concrete task over the topic — rebase-pr-status over maintenance. If the session genuinely spans several unrelated things, name the dominant one; don't try to cram them all in.
Compute {session-name} first: {scope}-{descriptive} when scope exists, otherwise just {descriptive} with no leading hyphen. For Pi, render exactly:
**Proposed session name** — scope from {where the scope came from}, descriptive from this session:
/name {session-name}
Paste it into Pi's command input and press Enter.For Claude Code, substitute /rename for /name. If the client is unknown, provide both commands and label them by client.
Keep the derivation note to one short clause. If you had to fall back (no ticket, no bead), say which fallback you used so the user can override.
/wrap-up and /handoffs, which should emit the same client-specific rename command for end-of-session and resume respectively. This skill is the mid-session, on-demand version.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.