Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .agents/skills/release-bump-changelog/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: release-bump-changelog
description: Use this skill when preparing a release bump or updating release notes. It writes a launch-style release story from the actual change set, then runs `cargo bump` so the generated GitHub notes and the marketing copy land together in `CHANGELOG.md`.
---

# Release Bump + Changelog

## Goal

Create a version bump commit where each release section includes both:

- a launch-style narrative (marketing copy)
- the exact GitHub-generated release notes

## Workflow

1. Ensure the working tree is clean (except allowed release files).
2. Draft release story markdown from real changes (PR titles, release-note bullets, and diff themes).
- Target style: similar to the `v0.2.0` narrative (clear positioning + concrete highlights).
- Keep it factual and specific to the release.
- Write to a temp file (outside repo is preferred):
- `marketing_file="$(mktemp)"`
- write markdown content to `$marketing_file`
3. Run `cargo bump <patch|minor|major|X.Y.Z>` with marketing copy input:
- `SPACEBOT_RELEASE_MARKETING_COPY_FILE="$marketing_file" cargo bump <...>`
- This invokes `scripts/release-tag.sh`.
- The script generates GitHub-native notes (`gh api .../releases/generate-notes`).
- The script upserts `CHANGELOG.md` with:
- `### Release Story` (from your marketing file)
- GitHub-generated notes body
- The script includes `CHANGELOG.md` in the release commit.
4. Verify results:
- `git show --name-only --stat`
- Confirm commit contains `Cargo.toml`, `Cargo.lock` (if present), and `CHANGELOG.md`.
- Confirm tag was created (`git tag --list "v*" --sort=-v:refname | head -n 5`).

## Requirements

- `gh` CLI installed and authenticated (`gh auth status`).
- `origin` remote points to GitHub, or set `SPACEBOT_RELEASE_REPO=<owner/repo>`.
- Marketing copy is required unless explicitly bypassed with `SPACEBOT_SKIP_MARKETING_COPY=1`.

## Release Story Format

Use markdown only (no outer `## vX.Y.Z` heading; script adds it). Recommended structure:

1. One strong opening paragraph (why this release matters)
2. One paragraph on major technical shifts
3. Optional short highlight bullets for standout additions/fixes

Avoid vague hype. Tie claims to concrete shipped changes.

## Notes

- Do not use a standalone changelog sync script.
- `CHANGELOG.md` is seeded from historical releases and then maintained by the release bump workflow.
10 changes: 8 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Creating a branch is `let branch_history = channel_history.clone()`.

The branch result is injected into the channel's history as a distinct message type. Then the branch is deleted. Multiple branches can run concurrently per channel (configurable limit). First done, first incorporated.

**Tools:** memory_recall, memory_save, channel_recall, spawn_worker
**Tools:** memory_recall, memory_save, memory_delete, channel_recall, spacebot_docs, task_create, task_list, task_update, spawn_worker
**Context:** Clone of channel history at fork time
**Lifecycle:** Short-lived. Returns a conclusion, then deleted.

Expand Down Expand Up @@ -106,6 +106,7 @@ System-level observer. Primary job: generate the **memory bulletin** — a perio
Also observes system-wide signals for future health monitoring and memory consolidation.

**Tools (bulletin generation):** memory_recall, memory_save
**Tools (interactive cortex chat):** memory + worker tools, `spacebot_docs`, `config_inspect`, task board tools
**Tools (future health monitoring):** memory_consolidate, system_monitor
**Context:** Fresh per bulletin run. No compaction needed.

Expand Down Expand Up @@ -179,6 +180,11 @@ src/
│ ├── file.rs — read/write/list files (task workers)
│ ├── exec.rs — run subprocess (task workers)
│ ├── browser.rs — web browsing (task workers)
│ ├── task_create.rs — create task-board task (branch + cortex chat)
│ ├── task_list.rs — list task-board tasks (branch + cortex chat)
│ ├── task_update.rs — update task-board task (branch + cortex chat)
│ ├── spacebot_docs.rs — read embedded Spacebot docs/changelog (branch + cortex chat)
│ ├── config_inspect.rs — inspect live runtime config (cortex chat)
│ └── cron.rs — cron management (channel only)
├── memory.rs → memory/
Expand Down Expand Up @@ -285,7 +291,7 @@ let branch_history = channel_history.clone();

**ToolServer topology:**
- Per-channel `ToolServer` (no memory tools, just channel action tools added per turn)
- Per-branch `ToolServer` with memory tools (memory_save, memory_recall)
- Per-branch `ToolServer` with memory tools (memory_save, memory_recall, memory_delete), channel recall, docs introspection (`spacebot_docs`), and task-board tools
- Per-worker `ToolServer` with task-specific tools (shell, file, exec)
- Per-cortex `ToolServer` with memory_save

Expand Down
Loading