Help us improve
Share bugs, ideas, or general feedback.
From jot
Intelligent journal cleanup — cross-references open tasks and ideas with git history, codebase state, and project activity to suggest what's done, stale, or abandoned
npx claudepluginhub queelius/claude-anvil --plugin jotHow this command is triggered — by the user, by Claude, or both
Slash command
/jot:triage [tag or project name]This command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /jot triage - Intelligent Journal Cleanup Cross-reference open journal entries with external signals (git history, codebase, PRs) to identify entries that are likely finished, abandoned, or need attention. Present a triage list with actionable recommendations. ## Step 1: Gather Candidates Determine scope: - If an argument is provided, use it as the tag filter: `jot list --tags=<arg> --json` - If no argument, detect project context from `basename "$PWD"` via `jot tags --fuzzy <basename> --json`, then filter by that tag - If no project context, use all open entries: `jot list --status=op...
/reconcile-backlogValidates backlog.org entries against design docs, git log, and CHANGELOG.md; classifies orphans/stale items and removes them interactively unless --dry-run.
/reflectAnalyzes filtered diary entries for patterns in user preferences, code decisions, solutions, and challenges, then synthesizes insights and proposes CLAUDE.md updates.
/SKILLGenerates daily standup summary with yesterday's git commits, in-progress tasks and actions, blockers, and goal milestone progress.
/triageRuns a 7-question gate triage on a security finding to decide go/no-go before writing a full report. Outputs a kill decision or passes for validation.
/triageDecomposes a large feature into multiple dependency-aware specs with graphs and interface contracts. Produces epic.md, handles git branches, and supports resuming active epics.
/triageInvestigates a bug from provided description or error, determines root cause, and files GitHub issue with TDD fix plan.
Share bugs, ideas, or general feedback.
Cross-reference open journal entries with external signals (git history, codebase, PRs) to identify entries that are likely finished, abandoned, or need attention. Present a triage list with actionable recommendations.
Determine scope:
jot list --tags=<arg> --jsonbasename "$PWD" via jot tags --fuzzy <basename> --json, then filter by that tagjot list --status=open --json and jot list --status=in_progress --jsonAlso gather stale entries: jot stale --days 30 --json (scoped to tag if available).
For each candidate entry, search git history for related work:
# Search commit messages for keywords from the entry title
git log --oneline --since="$(entry.created)" --grep="<keyword>" 2>/dev/null
# Check recent commits touching files related to the entry's tags/content
git log --oneline --since="$(entry.created)" -- "*<keyword>*" 2>/dev/null
Extract 2-3 keywords from each entry title (drop stopwords like "the", "a", "fix", "add", "implement"). Search for each keyword independently and look for overlapping commits.
Signals that work is DONE:
Signals that work is ABANDONED:
Signals to KEEP OPEN:
If in a git repo with a remote:
# Check for merged PRs mentioning the task
gh pr list --state merged --search "<keywords>" --limit 5 2>/dev/null || true
Check if files referenced in the entry content exist or were recently modified:
# Look for files matching entry keywords
git diff --stat HEAD~50..HEAD -- "*<keyword>*" 2>/dev/null
Organize findings into three categories:
Entries where git history strongly suggests the work was completed. For each:
jot status <slug> doneEntries that are old with no related activity. For each:
jot status <slug> archived or suggest revisitingEntries that are stale, blocked, or partially complete. For each:
Briefly list entries that appear to still be relevant (recent activity, not stale). No action needed — just acknowledge them.
After presenting the report, offer to execute recommendations:
jot status <slug> done for eachjot status <slug> archived for eachAlways confirm before modifying entries. Show the full list of changes before executing.
--json when querying jot for programmatic parsing.gh CLI is not available, skip PR checks gracefully.jot stale with better presentation).