Skip to content

Commit ca7fc67

Browse files
Colon subskill invocation; daily start/end; remove memory session
- Invocation: /groove:help, /groove:work:brainstorm, /groove:daily:start, etc. - Routing table uses colon-separated keys; backward compat: normalize space to colon - Daily: start/end only (no startup/closeout) - Memory: remove session subcommands (start, resume, end, doc); log commands only - Update help, prime, AGENTS.md, README, install/doctor/update, task/memory docs - Specs: colon form and drop memory session references Made-with: Cursor
1 parent b89f786 commit ca7fc67

40 files changed

Lines changed: 190 additions & 399 deletions

.groove/memory/learned/patterns.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Patterns
22

3+
## 2026-03-02
4+
5+
- **Agent push 403: switch gh auth to repo owner.** When the agent runs in an environment where multiple GitHub accounts are logged in (e.g. andreadellacorte-converge and andreadellacorte), `git push` may use the wrong credential and get 403. Run `gh auth switch --user <repo-owner>` (e.g. `andreadellacorte` for this repo); optionally run `gh auth setup-git` so Git uses the active gh account. Then push from the user’s side or re-run push.
6+
37
## 2026-03-01
48

59
- **Test migrations through the system, not manually.** When developing groove itself, keep local `groove-version:` at the previous version, push the migration file, then run `groove update` to exercise it. Applying migration steps by hand before pushing means the migration is never tested through the system — the version already matches on the next `groove update` and the migration is silently skipped.

.groove/memory/specs/groove-vs-bonfire.md

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -50,30 +50,26 @@
5050
| Dimension | groove | bonfire |
5151
|---|---|---|
5252
| Total commands | ~26 across 5 sub-skills | 6 |
53-
| Invocation prefix | `/groove <skill> <command>` | `/bonfire <command>` |
54-
| Session start | `groove memory session start` | `/bonfire start` |
55-
| Session end | `groove memory session end` | `/bonfire end` |
56-
| Spec creation | `groove memory session spec <topic>` | `/bonfire spec <topic>` |
57-
| Doc creation | `groove memory session doc <topic>` | `/bonfire doc <topic>` |
58-
| Review | Not present as standalone command | `/bonfire review` — blindspot detection, categorized by Fix Now / Needs Spec / Create Issues |
59-
| Config | `groove config` | `/bonfire config` |
60-
| Daily start | `groove daily start` | Not present |
61-
| Daily end | `groove daily end` | Not present |
62-
| Work stages | `groove work brainstorm/plan/work/review/compound` | Not present |
63-
| Task management | `groove task create/list/update/archive/analyse` | Not present |
64-
| Update/migrate | `groove update` | Not present |
65-
| Health check | `groove doctor` | Not present |
66-
| Context load | `groove prime` | Not present (implicit on `/bonfire start`) |
53+
| Invocation prefix | `/groove:<skill>:<command>` | `/bonfire <command>` |
54+
| Config | `groove:config` | `/bonfire config` |
55+
| Daily start | `groove:daily:start` | Not present |
56+
| Daily end | `groove:daily:end` | Not present |
57+
| Work stages | `groove:work:brainstorm` / plan / work / review / compound | Not present |
58+
| Task management | `groove:task:create` / list / update / archive / analyse | Not present |
59+
| Memory logs | `groove:memory:log:daily` etc. | Not present |
60+
| Update/migrate | `groove:update` | Not present |
61+
| Health check | `groove:doctor` | Not present |
62+
| Context load | `groove:prime` | Not present (implicit on `/bonfire start`) |
6763

6864
---
6965

7066
## 4. Installation & Setup
7167

7268
| Dimension | groove | bonfire |
7369
|---|---|---|
74-
| Install command | `npx skills add andreadellacorte/groove` + `/groove install` | `npx skills add vieko/bonfire` |
75-
| Bootstrap required | Yes — `/groove install` orchestrates backends, memory dirs, AGENTS.md, companions | No — auto-initializes `.bonfire/` on first `/bonfire start` |
76-
| Config wizard | `groove config` — interactive, guided | `/bonfire config` — interactive, lightweight |
70+
| Install command | `npx skills add andreadellacorte/groove` + `/groove:install` | `npx skills add vieko/bonfire` |
71+
| Bootstrap required | Yes — `/groove:install` orchestrates backends, memory dirs, AGENTS.md, companions | No — auto-initializes `.bonfire/` on first `/bonfire start` |
72+
| Config wizard | `groove:config` — interactive, guided | `/bonfire config` — interactive, lightweight |
7773
| Post-install steps | Choose task backend (beans/linear/github/none), configure git strategies, install companions | None — ready immediately |
7874
| Platform compat | Agent Skills-compatible platforms | 20+ platforms (Claude Code, Cursor, Cline, Amp, Junie, OpenCode, OpenHands, Goose, etc.) |
7975
| Dependencies | Node.js; optional: beans, linear CLI, gh CLI | None |
@@ -118,8 +114,8 @@ Both tools have spec and doc creation — this is the most direct overlap.
118114

119115
| Dimension | groove | bonfire |
120116
|---|---|---|
121-
| Spec command | `groove memory session spec <topic>` | `/bonfire spec <topic>` |
122-
| Doc command | `groove memory session doc <topic>` | `/bonfire doc <topic>` |
117+
| Spec command | `groove:work:spec <topic>` | `/bonfire spec <topic>` |
118+
| Doc command | (outcome docs under work/memory) | `/bonfire doc <topic>` |
123119
| Spec path | `<memory>/sessions/specs/<topic>.md` (fixed) | Configurable via `specs:` key (default `.bonfire/specs/`) |
124120
| Doc path | `<memory>/sessions/docs/<topic>.md` (fixed) | Configurable via `docs:` key (default `.bonfire/docs/`) |
125121
| Spec sections | Overview, Decisions, Implementation Steps, Edge Cases | Overview, Decisions, Implementation Steps, Edge Cases |
@@ -138,7 +134,7 @@ Both tools have spec and doc creation — this is the most direct overlap.
138134

139135
| Dimension | groove | bonfire |
140136
|---|---|---|
141-
| Upgrade command | `groove update` — pulls latest via `npx skills add`, applies pending migrations | Not present — `npx skills add vieko/bonfire` re-installs; no migration runner |
137+
| Upgrade command | `groove:update` — pulls latest via `npx skills add`, applies pending migrations | Not present — `npx skills add vieko/bonfire` re-installs; no migration runner |
142138
| Migration system | Ordered runner: `migrations/index.md` table; filter `To > local AND To <= installed`; idempotent | Not present — backward-compat design; breaking config keys auto-detected on next run |
143139
| Version tracking | Dual: skill `version:` in SKILL.md + user `groove-version:` in `.groove/index.md` | Skill `version:` in SKILL.md only |
144140
| Breaking changes | Handled via migrations (v5.5.0 example: `linear: true/false``issues: true/false`) | Config keys auto-migrate on detection (e.g. `linear:``issues:` in v5.0.0) |
@@ -151,8 +147,8 @@ Both tools have spec and doc creation — this is the most direct overlap.
151147

152148
| Dimension | groove | bonfire |
153149
|---|---|---|
154-
| AGENTS.md | Managed 2-line bootstrap: `Run /groove prime` + `Run beans prime` stubs | Minimal: table of commands + design principles; notes "this repo uses bonfire" |
155-
| Context loading | On-demand: `/groove prime` loads workflow context into conversation | Implicit: `/bonfire start` reads and summarises `index.md` into context |
150+
| AGENTS.md | Managed 2-line bootstrap: `Run /groove:prime` + `Run beans prime` stubs | Minimal: table of commands + design principles; notes "this repo uses bonfire" |
151+
| Context loading | On-demand: `/groove:prime` loads workflow context into conversation | Implicit: `/bonfire start` reads and summarises `index.md` into context |
156152
| Managed sections | `<!-- groove:managed -->` prevents edits to skills/ | Not present |
157153
| Allowed-tools | Per-skill in SKILL.md frontmatter (git, beans, gh, npx, mkdir, etc.) | Bash (git, mkdir, rm), Read, Write, Edit, Glob, Grep, AskUserQuestion |
158154
| Sub-agents | General-purpose Explore agent for plan/spec research | Explore agent for spec/doc/review research; isolated general-purpose agent for writing |
@@ -165,7 +161,7 @@ Both tools have spec and doc creation — this is the most direct overlap.
165161

166162
| Dimension | groove | bonfire |
167163
|---|---|---|
168-
| Built-in tasks | Yes — `groove task` sub-skill | No |
164+
| Built-in tasks | Yes — `groove:task` sub-skill | No |
169165
| Backends | beans (local markdown), linear, github, none | Not applicable |
170166
| Task lifecycle | create, list, update, archive, analyse | Not applicable |
171167
| Issues integration | Via `tasks: github` backend | `issues: true/false` — optional link to tracker; no task CRUD |
@@ -177,12 +173,12 @@ Both tools have spec and doc creation — this is the most direct overlap.
177173

178174
| Dimension | groove | bonfire |
179175
|---|---|---|
180-
| Daily start | `groove daily start` — review yesterday, create today's daily memory, load tasks, run hook | Not present |
181-
| Daily end | `groove daily end` — write memory logs, git commit per strategy, run hook | Not present |
176+
| Daily start | `groove:daily:start` — review yesterday, create today's daily memory, load tasks, run hook | Not present |
177+
| Daily end | `groove:daily:end` — write memory logs, git commit per strategy, run hook | Not present |
182178
| Work stages | 5 explicit stages: brainstorm → plan → work → review → compound | Implicit: start → work → end |
183179
| Stage tasks | Each stage creates a task in the configured backend | Not present |
184-
| Review | `groove work review` — evaluate output against plan, identify lessons | `/bonfire review` — blindspot detection on branch diff; Fix Now / Needs Spec / Create Issues |
185-
| Compound/learning | `groove work compound` — update project files, detect workflow learnings | Not present |
180+
| Review | `groove:work:review` — evaluate output against plan, identify lessons | `/bonfire review` — blindspot detection on branch diff; Fix Now / Needs Spec / Create Issues |
181+
| Compound/learning | `groove:work:compound` — update project files, detect workflow learnings | Not present |
186182
| Workflow learnings | compound + session end prompt → `learned/<topic>.md` | Not present; mature knowledge graduates to CLAUDE.md |
187183
| Hooks | `.groove/hooks/start.md` and `end.md` — custom user-defined actions | Not present |
188184

.groove/memory/specs/groove-vs-groove.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Synthesised from scope observations across all three comparisons:
2424
- **Project-scoped, not global**`.groove/` lives in the repo; PAI-style global installs (`~/.claude/`) are out of scope
2525
- **Opinionated daily rhythm** — the start/end ceremony is a core differentiator; no other compared tool has it
2626
- **Explicit 5-stage compound loop** — the most structured development workflow of any compared tool; "80% of value in plan and review" is baked in
27-
- **Predictable explicit invocation**`/groove <skill> <command>` is more predictable than auto-discovery; keep it
27+
- **Predictable explicit invocation**`/groove:<skill>:<command>` is more predictable than auto-discovery; keep it
2828
- **Backend-agnostic task abstraction** — beans/linear/github/none is unique; no other tool has an abstraction layer over task backends
2929

3030
---
@@ -60,7 +60,7 @@ Ordered by signal strength (how many comparisons surfaced it) and alignment with
6060

6161
- Bonfire's `/bonfire review` is the sharpest gap: branch-diff-based analysis, findings categorised as Fix Now / Needs Spec / Create Issues with effort estimates; no equivalent in groove
6262
- Groove's `work review` is subjective (evaluate output against plan); it doesn't look at the actual diff
63-
- **groove-scoped implementation**: Add a `groove work review` step that runs `git diff <base>...HEAD` and `git log --oneline <base>..HEAD`; feeds into the review analysis; findings categorised by the same Fix Now / Needs Spec / Create Issues pattern. Fits naturally into the existing `work review` command; no new command needed.
63+
- **groove-scoped implementation**: Add a `groove:work:review` step that runs `git diff <base>...HEAD` and `git log --oneline <base>..HEAD`; feeds into the review analysis; findings categorised by the same Fix Now / Needs Spec / Create Issues pattern. Fits naturally into the existing `work review` command; no new command needed.
6464

6565
**C. Session health check at end**
6666

@@ -83,7 +83,7 @@ Ordered by signal strength (how many comparisons surfaced it) and alignment with
8383

8484
- PAI's TELOS (10 files: MISSION, GOALS, PROJECTS, BELIEFS, etc.) eliminates re-explaining context across sessions
8585
- Groove has no user-context layer that survives across sessions
86-
- **groove-scoped implementation**: A single optional `.groove/IDENTITY.md` free-form file; `groove prime` checks for it and includes it in conversation context output if present. No new config key; presence of file = enabled.
86+
- **groove-scoped implementation**: A single optional `.groove/IDENTITY.md` free-form file; `groove:prime` checks for it and includes it in conversation context output if present. No new config key; presence of file = enabled.
8787

8888
**F. Multi-platform documentation**
8989

@@ -129,6 +129,6 @@ groove is not: a personal AI OS (PAI), a plugin marketplace (night-market), or a
129129
| v0.9.1 | Branch-diff analysis in `work review` (Fix Now / Needs Spec / Create Issues) | 1B |
130130
| v0.9.2 | Session health check in `memory session end` (orphaned specs, long-running sessions) | 1C |
131131
| v0.9.3 | Configurable `specs:` and `docs:` paths in `.groove/index.md` | 1D |
132-
| v0.10.0 | TELOS-lite: `.groove/IDENTITY.md` surfaced by `groove prime` | 2E |
132+
| v0.10.0 | TELOS-lite: `.groove/IDENTITY.md` surfaced by `groove:prime` | 2E |
133133
| v0.10.1 | Session rating signal → `learned/signals.md` | 2G |
134134
|| Multi-platform README docs | 2F (no version bump needed) |

.groove/memory/specs/groove-vs-night-market.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
| Dimension | groove | claude-night-market |
3737
|---|---|---|
3838
| Total commands | ~26 across 5 sub-skills | 114 across 16 plugins |
39-
| Invocation | Explicit only: `/groove <skill> <command>` | Explicit (`/command`) OR auto-invoked when Claude matches task context to skill description |
39+
| Invocation | Explicit only: `/groove:<skill>:<command>` | Explicit (`/command`) OR auto-invoked when Claude matches task context to skill description |
4040
| Auto-discovery | Not present — user must know and type the command | Yes — `attune v1.4.0` enhanced auto-matching; Claude evaluates skill frontmatter |
4141
| Keyboard shortcuts | Not present | Supported (e.g. resume screen with preview and rename shortcut) |
4242
| Command scope | Compound: one entry point routes everything | Flat: each plugin adds its own namespace; no cross-plugin routing |
@@ -48,9 +48,9 @@
4848

4949
| Dimension | groove | claude-night-market |
5050
|---|---|---|
51-
| Method | `npx skills add andreadellacorte/groove` + `/groove install` | `/plugin marketplace add athola/claude-night-market` or `npx skills add` |
51+
| Method | `npx skills add andreadellacorte/groove` + `/groove:install` | `/plugin marketplace add athola/claude-night-market` or `npx skills add` |
5252
| Granularity | All-or-nothing — groove ships as a unit | Selective — install individual plugins; plugins are self-contained |
53-
| Post-install setup | `/groove install` orchestrates task backend, memory dirs, companions, AGENTS.md | No orchestration step; each plugin self-installs |
53+
| Post-install setup | `/groove:install` orchestrates task backend, memory dirs, companions, AGENTS.md | No orchestration step; each plugin self-installs |
5454
| Scaffolding | `groove config` wizard → `.groove/index.md` with guided defaults | `attune:project-init` detects project type and scaffolds config files |
5555
| Companion skills | find-skills, agent-browser (hardcoded in install) | Plugin-declared dependencies in `plugin.json`; shallow chains by design |
5656
| Workspace scaffolding | `groove install` creates `.groove/`, `.groove/hooks/`, `.groove/.cache/` | `attune:project-init` copies `.env`, detects package manager, installs deps |
@@ -61,12 +61,12 @@
6161

6262
| Dimension | groove | claude-night-market |
6363
|---|---|---|
64-
| Upgrade command | `/groove update` — pulls latest via `npx skills add`, applies pending migrations | `/update-plugins` — recommends upgrades based on stability metrics; detects orphaned references |
64+
| Upgrade command | `/groove:update` — pulls latest via `npx skills add`, applies pending migrations | `/update-plugins` — recommends upgrades based on stability metrics; detects orphaned references |
6565
| Migration system | Ordered runner: `migrations/index.md` table; filter `To > local AND To <= installed`; idempotent per step | Not present — backward-compat design avoids breaking changes entirely |
6666
| Version tracking | Dual: skill `version:` in SKILL.md + user `groove-version:` in `.groove/index.md` | Per-plugin version in `plugin.json`; stability metrics tracked per command (failure rate, usage freq) |
6767
| Breaking changes | Handled via migrations (config key renames, dir moves, AGENTS.md rewrites) | Avoided by design; progressive loading preserves old configs |
6868
| CI drift | Not present | `/update-ci` reconciles pre-commit hooks and GitHub Actions with code changes |
69-
| Self-updating | `groove update` re-reads `update.md` from disk after pull (bootstrapping fix) | Not described |
69+
| Self-updating | `groove:update` re-reads `update.md` from disk after pull (bootstrapping fix) | Not described |
7070

7171
---
7272

@@ -76,7 +76,7 @@
7676
|---|---|---|
7777
| Session files | Named markdown at `<memory>/sessions/<name>.md` with YAML frontmatter | Native Claude Code sessions + sanctum git workspace capture before resume |
7878
| Auto-naming | `<branch>-YYYY-MM-DD-N` when name not provided | Explicit by convention: `debugging-auth-401`, `feature-payment-milestone-2` |
79-
| Resume | `/groove memory session resume` — lists active sessions, user picks | `claude --resume [name]` or `claude --from-pr [number]` — PR-linked sessions |
79+
| Resume | Not present (memory session removed) | `claude --resume [name]` or `claude --from-pr [number]` — PR-linked sessions |
8080
| Memory tiers | Explicit: daily / weekly / monthly / git / sessions / learned/ | Implicit: session summaries, key results, work logs (no explicit tiers) |
8181
| Learned memory | `.groove/memory/learned/<topic>.md` — cold-tier for workflow insights | Not present as explicit tier |
8282
| Memory search | Not present — files are read manually | Hybrid: semantic (AI embedding) + lexical (keyword); auto-compaction on context fill |
@@ -105,7 +105,7 @@
105105
| Dimension | groove | claude-night-market |
106106
|---|---|---|
107107
| AGENTS.md | Managed bootstrap: 2-line groove:prime stub + 2-line task stub; full context loaded on-demand | Full AGENTS.md standard support; CLAUDE.md → AGENTS.md migration supported |
108-
| Context loading | On-demand: agent runs `/groove prime` to load workflow context into conversation | Progressive Disclosure Architecture — skills auto-discover without loading all documents |
108+
| Context loading | On-demand: agent runs `/groove:prime` to load workflow context into conversation | Progressive Disclosure Architecture — skills auto-discover without loading all documents |
109109
| Hook system | Not present | PreToolUse hooks: imbue (TDD), conserve (permissions); can block, approve, or modify tool calls |
110110
| Managed sections | `<!-- groove:managed -->` comment prevents agents editing `skills/` or `.agents/skills/` | Not needed — plugins installed to separate dir (`~/.claude/`) from user workspace |
111111
| Allowed-tools | Declared per-skill in SKILL.md frontmatter | Declared per-plugin in `plugin.json` |
@@ -119,7 +119,7 @@
119119
| Dimension | groove | claude-night-market |
120120
|---|---|---|
121121
| Config file | `.groove/index.md` YAML frontmatter — single source for all groove config | `.claude/settings.json` for hooks; `plugin.json` per plugin for plugin config |
122-
| Config wizard | `/groove config` — interactive, guided wizard with defaults | Not present |
122+
| Config wizard | `/groove:config` — interactive, guided wizard with defaults | Not present |
123123
| Git strategy | Per-component: `git.memory`, `git.tasks`, `git.hooks` (ignore-all / hybrid / commit-all) | Not present |
124124
| Cache | `.groove/.cache/` — always gitignored; `last-version-check` as plain text | Native Claude Code handles session state; no equivalent |
125125
| Task backends | beans / linear / github / none — abstraction layer; CLI mapped in `references/backends.md` | GitHub Issues (minister plugin); no abstraction layer |
@@ -164,7 +164,7 @@ Things night-market does not have that groove should preserve and develop:
164164
3. **Explicit 5-stage compound loop** — more opinionated and constraint-enforcing than attune's lifecycle; the "80% of value in plan and review" insight is baked into the skill.
165165
4. **Learned memory tier**`.groove/memory/learned/<topic>.md` as an explicit cold-tier for workflow insights with routing from both compound and session end; not present in night-market.
166166
5. **Daily rituals with structured log roll-ups** — start/end with daily→weekly→monthly roll-up chain; no equivalent in night-market.
167-
6. **Config wizard + version tracking**`/groove config` wizard and `groove-version:` migration gating is more robust than night-market's version management.
167+
6. **Config wizard + version tracking**`/groove:config` wizard and `groove-version:` migration gating is more robust than night-market's version management.
168168
7. **groovebook (planned)** — a shared PR-based commons for cross-user workflow learnings; no equivalent exists.
169169

170170
---

0 commit comments

Comments
 (0)