From claude-commands
Situational assessment and roadmap sync after a work block. Writes a self-contained nextsteps markdown doc and updates beads, Claude memory, learnings, and README.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-commands:nextstepsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Situational assessment and roadmap sync after a work block.
Situational assessment and roadmap sync after a work block.
A /nextsteps run is incomplete unless it leaves all of these artifacts:
brMEMORY.md pointers~/roadmap/learnings-YYYY-MM.md appendedroadmap/README.md “Recent activity (rolling)” updated (repo git root — create section if absent)If the session has no repo checkout, skip item 5 only and note that in the Phase 8 report.
Before writing the independent summary or touching roadmap files:
roadmap/nextsteps*.md, roadmap/NEXT-STEPS.md, roadmap/session-*.md, docs/nextsteps*.md (if present)~/roadmap/nextsteps-latest.md, ~/roadmap/nextsteps-*.mdnextsteps-latest.md or the newest nextsteps-YYYY-MM-DD.md in the same month), or add a subsection under an existing “Work queue” / “Next steps” heading.~/roadmap/nextsteps-<YYYY-MM-DD>.md (or roadmap/nextsteps-<YYYY-MM-DD>.md if the repo standard is to keep session docs in-repo — match sibling files if any).roadmap/README.md in the repo (rolling bullets); do not create a duplicate “status” README elsewhere unless the repo already uses one.The independent .md file is the handoff artifact: a reader must be able to execute the queue without opening beads or chat.
Document order (fixed):
# Nextsteps — <topic or repo> — <YYYY-MM-DD>## section (Executive summary through Roadmap pointer). Use GitHub-style anchors (lowercase, hyphenated, dedupe if titles repeat). Update whenever headings change.## sections) — Each section is self-contained (definitions, file paths, acceptance criteria, dependencies). Do not rely on “see chat” or unstated context. Order: Context → Bead index → Work queue → PR / merge state → Learnings pointer → Roadmap pointer.Required ## sections after Executive summary (skip only if genuinely N/A — one line stating why):
| Section | Content |
|---|---|
| Context | 2–6 sentences: what block just ended, repo(s), branch/PR if relevant, scope boundaries |
| Bead index | Table: bd-… id, title, priority/status if known, link — every open bead touched or created this run. Prefer https://github.com/<owner>/<repo>/issues/<n> when the bead syncs to GitHub Issues; else br show <id> as fallback. Link the id in every row. |
| Work queue | Numbered tasks; each task self-contained: goal, acceptance criteria, files/areas, dependencies/blockers, suggested order; reference beads inline as linked [bd-xxx](url) where applicable |
| PR / merge state | Same session truth as Phase 1b (PR #n: OPEN | MERGED | CLOSED) for any PR referenced; full PR URLs |
| Learnings pointer | Path/link to the new ~/roadmap/learnings-YYYY-MM.md entry for this date; one-line summary of what was logged |
| Roadmap pointer | Confirm roadmap/README.md rolling section updated (repo-relative path) |
Link rules
https://github.com/owner/repo/pull/n (or /issues/n) when known.## section anchor.Example skeleton
# Nextsteps — <repo> — 2026-04-19
## Table of contents
- [Executive summary](#executive-summary)
- [Context](#context)
- [Bead index](#bead-index)
- [Work queue](#work-queue)
- [PR / merge state](#pr--merge-state)
- [Learnings pointer](#learnings-pointer)
- [Roadmap pointer](#roadmap-pointer)
## Executive summary
- Outcomes: …
- Risks / blockers: …
- Next: …
- Beads: [bd-abc123](https://github.com/org/repo/issues/NN) (short label)
## Context
…
## Bead index
| Bead | Title | Link |
|------|-------|------|
| bd-… | … | [bd-…](https://github.com/org/repo/issues/NN) |
## Work queue
1. … — tracks [bd-…](https://github.com/org/repo/issues/NN)
## PR / merge state
- https://github.com/org/repo/pull/123 — OPEN
## Learnings pointer
- `~/roadmap/learnings-2026-04.md` — section `2026-04-19 — …`
## Roadmap pointer
- Updated `roadmap/README.md` — Recent activity (rolling)
Run as a parallel subagent (Agent tool, subagent_type=Explore) so Phase 1b can start simultaneously:
/nextsteps~/roadmap/nextsteps-*.md for most recent session doc (target for append vs new file)~/roadmap/learnings-YYYY-MM.md tail for existing entriesRun as a parallel subagent (Agent tool, subagent_type=Explore) concurrently with Phase 1a:
git log --oneline -10br list --status open --limit 0ls roadmap/ (and ls ~/roadmap/ for home docs)/nextsteps as extra context.n, resolve the repo (default: gh repo view --json nameWithOwner -q .nameWithOwner from the git root; if the work spans another repo, pass that owner/name explicitly) and run:
gh pr view <n> --repo <owner/repo> --json state,mergedAt,closedAt,headRefName
Map JSON to a human line for the Phase 8 report and the Nextsteps document: PR #n: OPEN if state is OPEN; PR #n: MERGED if mergedAt is non-null; else PR #n: CLOSED (closed without merge). Do not recommend “land PR n” without this check in the same /nextsteps run.roadmap/README.md Recent activity (rolling) section with date + bullets (create section if absent).✅ Nextsteps doc: <path>For each finding, run Phases 4–7 below.
For each learning/finding:
feedback (rules, anti-patterns) | project (decisions, state) | reference (pointers)git_root=$(git rev-parse --show-toplevel)
project_key="${git_root//\//-}"
memory_dir="$HOME/.claude/projects/${project_key}/memory"
${memory_type}_${date}_${slug}.md with frontmatter:
---
name: <title>
description: <one-liner>
type: feedback|project|reference
bead: <bd-id or none>
---
<body>
**Why:** <reason>
**How to apply:** <when/where this kicks in>
MEMORY.md (create file if missing): - [Title](filename) — one-liner✅ Claude auto-memory: {filename}~/.hermes/scripts/mem0_shared_client.py is absent"{title}: {one_liner}. {body_1_sentence}"python3 ~/.hermes/scripts/mem0_shared_client.py add "<text>" \
--user-id $USER \
--no-infer
✅ mem0 saved or ⚠️ mem0 unavailable (skipped)File: ~/roadmap/learnings-<YYYY-MM>.md (create if absent)
Entry format:
## <YYYY-MM-DD> — <title>
- **Type**: feedback|project|reference
- **Classification**: 🚨|⚠️|✅|❌
- **Summary**: <one-liner>
- **Bead**: <bd-id or none>
- **Files**: <paths changed if any>
- **Nextsteps doc**: <path to independent summary md>
Report: ✅ ~/roadmap/learnings-<YYYY-MM>.md updated
For each gap/finding that warrants tracking:
br list --status open --limit 0 | rg -i '<keyword>'
br create "<title>" --type task --priority 2
✅ bead <bd-id> created/referencedFor each bead created in Phase 7, attempt to create a linked GitHub Issue. Run all issue creates in parallel.
# Resolve repo from git remote (default jleechanorg/agent-orchestrator)
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || echo "jleechanorg/agent-orchestrator")
gh issue create --repo "$REPO" \
--title "[resilience] <bead title>" \
--body "## Summary
<one-paragraph description>
## Acceptance criteria
- [ ] <criterion 1>
- [ ] <criterion 2>
**Bead:** <bd-id>" \
--label "task" 2>&1
Graceful handling:
gh issue create returns "repository has disabled issues" — log ⚠️ GH Issues disabled on <repo> — bead only and continueReport: ✅ GH Issue #N created or ⚠️ GH Issues disabled — bead bd-xxx only
List all: path to Nextsteps summary doc, beads updated/created, roadmap/README.md touched, memory files written, mem0 status, recommended next actions.
Include an explicit artifact checklist:
[x] Nextsteps independent .md (TOC + executive summary + full detail; bead index + linked beads in queue)[x] Beads (br) written[x] Claude memory + MEMORY.md pointers written[x] ~/roadmap/learnings-YYYY-MM.md updated (includes nextsteps doc path)[x] roadmap/README.md rolling activity updatedMerge-order sanity: If any recommended action was “merge A before B” (or “land A then rebase B”), re-assert A using the Phase 1 gh pr view results from this run. If A is MERGED, do not tell the reader to land A; say instead to rebase B on main (or the appropriate default branch). If A is still OPEN, keep the ordering advice. If A is CLOSED without merge, drop merge-order advice and flag that the stack needs re-triage.
npx claudepluginhub jleechanorg/claude-commands --plugin claude-commandsGenerates a passoff package (session summary, PROGRESS/CLAUDE/memory updates, commit, next-session prompt) for clean handoffs to future-you or a coworker brief mode.
Wraps up a finished memex milestone slice by syncing `docs/CONTINUE_HERE.md` (current state, next slice), ticking off `docs/ROADMAP.md` scoreboard items, confirming observations are logged (deferring to memex-observe), and proposing a git tag/commit subject. Use before committing a slice or when handoff docs have drifted from shipped work.
Updates progress and next-step documentation for agent handoffs, detailing changes, verifications, blockers, and next actions.