
Release Notebook
- 14 installs
- 213 repo stars
- Updated August 4, 2026
- yonatangross/orchestkit
Helps with productivity & planning tasks.
About
release-notebook is a Claude Code skill for productivity & planning. It helps solo builders move faster with AI-assisted coding.
- release-notebook
- Productivity & Planning
- AI-coding skill
Release Notebook by the numbers
- 14 all-time installs (skills.sh)
- Ranked #2,126 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/yonatangross/orchestkit --skill release-notebookAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 14 |
|---|---|
| repo stars | ★ 213 |
| Last updated | August 4, 2026 |
| Repository | yonatangross/orchestkit ↗ |
What it does
Helps with productivity & planning tasks.
Files
Release Notebook
Creates a dedicated NotebookLM notebook for the current OrchestKit release, preserving changelog details, project instructions, and the plugin manifest as a queryable knowledge base.
See rules/workflow-versioned-notebooks.md in the notebooklm skill for the canonical versioned-notebook pattern this skill implements.
Preconditions
Before running:
1. nlm login --check — confirm an active session (~20 min TTL) 2. If session expired: nlm login (re-authenticates via browser) 3. If notebooklm-mcp-cli is not installed: uv tool install notebooklm-mcp-cli
Workflow
Execute all steps in order. Stop and report if any MCP call fails.
Step 1 — Read Release Metadata
# Read version (e.g. "7.0.1")
Read: package.json → extract .versionDerive notebook title and major.minor label:
FULL_VERSION = package.json .version # e.g. "7.0.1"
MINOR_LABEL = MAJOR.MINOR of FULL_VERSION # e.g. "7.0"
NOTEBOOK_TITLE = "OrchestKit v{MINOR_LABEL} — Release KB"Patch releases (x.y.Z where Z > 0) append to the existing minor notebook when it already exists. If this is the first patch of a minor series, create a new notebook.
Step 2 — Extract CHANGELOG Section
Read: CHANGELOG.mdExtract the section that starts with ## [7.0.1] (or whichever FULL_VERSION is current) up to — but not including — the next ## [ heading. Store as CHANGELOG_SECTION.
If the version section is not found, halt and report: "CHANGELOG.md has no entry for v{FULL_VERSION}. Add one before creating the Release KB."
Step 3 — Read Project Sources
Read: CLAUDE.md → CLAUDE_CONTENT
Read: manifests/ork.json → MANIFEST_CONTENTStep 4 — Create Notebook
notebook = mcp__notebooklm-mcp__notebook_create(
title="OrchestKit v{MINOR_LABEL} — Release KB"
)
# Save: notebook_id = notebook.idStep 5 — Add Sources
Add each source separately for better retrieval chunking:
# Source 1: changelog section
mcp__notebooklm-mcp__source_add(
notebook_id=notebook_id,
type="text",
title="CHANGELOG v{FULL_VERSION}",
content=CHANGELOG_SECTION
)
# Source 2: project instructions
mcp__notebooklm-mcp__source_add(
notebook_id=notebook_id,
type="text",
title="CLAUDE.md — Project Instructions",
content=CLAUDE_CONTENT
)
# Source 3: plugin manifest
mcp__notebooklm-mcp__source_add(
notebook_id=notebook_id,
type="text",
title="manifests/ork.json — Plugin Manifest",
content=MANIFEST_CONTENT
)Step 6 — Add Release Summary Note
mcp__notebooklm-mcp__note(
notebook_id=notebook_id,
action="create",
content="Release KB for OrchestKit v{FULL_VERSION}. Sources: CHANGELOG section, CLAUDE.md, manifests/ork.json."
)Step 7 — Generate Audio Overview
Audio generation is async. Create, then poll until complete or failed.
# Trigger generation
artifact = mcp__notebooklm-mcp__studio_create(
notebook_id=notebook_id,
type="audio_overview"
)
# Poll (check every ~30s; generation takes 2-5 min)
status = mcp__notebooklm-mcp__studio_status(artifact_id=artifact.id)
# Repeat until status in ("completed", "failed")
# Inform user: "Generating audio overview... (status: {status})"If generation fails, log the failure but do not halt — the notebook is still useful without audio.
Step 8 — Share Notebook
# Check current sharing status first
share_status = mcp__notebooklm-mcp__notebook_share_status(notebook_id=notebook_id)
# Invite project owner as writer
mcp__notebooklm-mcp__notebook_share_invite(
notebook_id=notebook_id,
email="yonatan2gross@gmail.com",
role="writer"
)Do not enable public link unless the user explicitly requests it — release notebooks may contain pre-release details.
Step 9 — Output Summary
Print a structured summary:
Release KB created for OrchestKit v{FULL_VERSION}
Notebook : OrchestKit v{MINOR_LABEL} — Release KB
ID : {notebook_id}
Sources : CHANGELOG v{FULL_VERSION} | CLAUDE.md | manifests/ork.json
Audio : {completed | failed | pending}
Shared : yonatan2gross@gmail.com (writer)
Query this notebook with:
notebook_query(notebook_id="{notebook_id}", query="What changed in v{FULL_VERSION}?")Error Handling
| Error | Action |
|---|---|
nlm login session expired | Halt. Print: "Run nlm login to re-authenticate, then retry." |
| notebook_create fails | Halt. Print MCP error. Check nlm login --check. |
| source_add fails on one source | Log warning, continue with remaining sources. |
| CHANGELOG section missing | Halt before notebook_create. Report missing entry. |
| studio_create fails | Log warning, continue — notebook is still valid. |
| studio_status = "failed" | Log warning with artifact ID, continue. |
Related Skills
ork:notebooklm— Full NotebookLM MCP tool reference and workflow patternsork:release-checklist— Pre-release gates (run before this skill)ork:release-management— GitHub release creation with gh CLI