Skip to content
Back to skills

Groom Notes

ASecurity

Review, prune, and suggest notes in notes.toml. Cleans stale notes and proposes new ones from recent changes.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsgorefactoringgitperformance

Works with

  • cli

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add jamie8johnson/cqs --skill groom-notes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Groom Notes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Groom Notes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jamie8johnson-groom-notes/badge)](https://www.skillsdirectory.com/skills/jamie8johnson-groom-notes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: groom-notes
description: Review, prune, and suggest notes in notes.toml. Cleans stale notes and proposes new ones from recent changes.
disable-model-invocation: false
argument-hint: "[--warnings|--patterns|--all]"
---

# Groom Notes

Review all notes in `docs/notes.toml` — clean up stale ones and suggest new ones from recent work.

## Phase 1: Prune

1. **Parse notes**: Read `docs/notes.toml` and list all notes with their sentiment, text preview, and mentions.

2. **Identify candidates for removal**:
   - Notes that reference removed/renamed files (check with `Glob`)
   - Notes that contradict current code (e.g., "X doesn't work" when X was fixed)
   - Duplicate or near-duplicate notes covering the same topic
   - Notes about temporary issues that have been resolved
   - Notes with stale mentions (files that no longer exist)

3. **Present findings**: Show a summary of candidates grouped by reason:
   - **Stale**: References removed code or fixed issues
   - **Superseded**: Newer note covers the same ground
   - **Duplicate**: Multiple notes saying essentially the same thing
   - **Update mentions**: File paths that moved but lesson is still valid

4. **Get approval**: Present the list of proposed changes. Ask the user to confirm before making changes.

5. **Execute**: Use `cqs notes remove` / `cqs notes update` CLI commands. If the CLI isn't available, edit `docs/notes.toml` directly.

6. **Report**: Show before/after count and what was changed.

## Phase 2: Suggest

After pruning, scan for note-worthy events that aren't already captured:

1. **Check recent git history**: `git log --since="1 week ago" --oneline` (or since last groom)
2. **Look for surprise-worthy patterns**:
   - Bug fixes — what was the non-obvious cause? (sentiment: -0.5 or -1)
   - Refactoring lessons — what pattern worked or didn't? (sentiment: 0.5 or -0.5)
   - New features — any architectural decisions worth remembering? (sentiment: 0)
   - CI/tooling changes — any gotchas? (sentiment: -0.5)
   - Performance discoveries — unexpectedly fast or slow? (sentiment: 0.5 or -0.5)
3. **Cross-check existing notes**: Don't suggest notes that duplicate existing ones
4. **Present suggestions**: Show proposed notes with text, sentiment, and mentions
5. **Get approval**: User confirms which to add
6. **Execute**: Use `cqs notes add` for each approved suggestion

### What makes a good note

Notes capture **surprises** — things that broke predictions or would trip up a future session:
- "X looks like it should work but doesn't because Y" (negative surprise)
- "Doing X this way was unexpectedly effective" (positive surprise)
- "X and Y are coupled in non-obvious ways" (neutral observation)

**Not** good notes: routine changes, things obvious from code, activity logs.

## Staleness checks

Start with the built-in checker — it verifies every mention against the filesystem and index in one call:
```
cqs notes list --check --json
```
For anything it flags, confirm manually (Glob the file, `cqs "<symbol>" --name-only`) before proposing removal.

Cross-reference with git log — if a note mentions an issue number, check if that issue is closed.

## Rules

- Never remove or add notes without user approval
- Preserve the file header comments
- Keep notes that capture general lessons even if the specific code changed
- When in doubt, keep the note — false negatives (missing a useful note) are worse than false positives (keeping a stale one)
- Sentiment is DISCRETE: only -1, -0.5, 0, 0.5, 1
- After grooming, suggest running `cqs index` to update the search index

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.