By reowens
Primes sessions and subagents with the dotmd workflow + guards the wrong-moves. Requires the `dotmd` CLI on PATH (npm i -g dotmd-cli).
Save a resume prompt for the active plan and close it out — the minimum handoff. Use when the user says hand off / save a resume / wrap up, or when context is getting tight.
dotmd docs briefing — list, scaffold, query, validate, archive reference docs/ADRs/RFCs
dotmd plan briefing — what's on the plate, what to pick up, how to start/close a plan
dotmd saved-prompt queue — see pending prompts, consume one, or queue a new resume prompt
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
CLI for managing markdown documents with YAML frontmatter.
Index, query, validate, and lifecycle-manage any collection of .md files — plans, ADRs, RFCs, design docs, meeting notes. Built for AI-assisted development workflows where structured docs need to stay current.
npm install -g dotmd-cli # global — use `dotmd` anywhere
npm install -D dotmd-cli # project devDep — use via npm scripts
# requires Node.js >= 20
If you drive dotmd from Claude Code, install the dotmd plugin. It teaches every session and subagent the dotmd workflow and guards the wrong-moves agents keep making (committing session-local prompts, cat-ing prompts instead of consuming them, hand-editing status:):
/plugin marketplace add reowens/dotmd
/plugin install dotmd@dotmd
The plugin bundles the hooks (SessionStart/SubagentStart priming, a PreToolUse guard) and a canonical workflow skill, so guidance travels to every repo automatically — no per-repo setup. It calls the dotmd CLI, so keep npm install -g dotmd-cli installed too. (Source: plugins/dotmd/ in this repo.)
Upgrading to 0.57.0+: per-repo
.claude/commands/{plans,docs,baton}.mdscaffolding is retired — that guidance now ships via the plugin's workflow skill and/plans,/docs,/prompts,/batoncommands. On the nextdotmd hud(SessionStart), dotmd removes those generated files (only banner-stamped<!-- dotmd-generated -->ones — your hand-authored command files are never touched). If you'd committed them, you'll see deletions to commit — that's expected. Runclaude plugin update dotmd@dotmdto pick up/baton.
dotmd init # creates dotmd.config.mjs, docs/, docs/docs.md
dotmd new my-feature # scaffold a new doc with frontmatter
dotmd list # index all docs grouped by status
dotmd check # validate frontmatter and references
dotmd context # compact briefing (great for LLM context)
dotmd doctor # auto-fix everything in one pass
# bash
eval "$(dotmd completions bash)" # add to ~/.bashrc
# zsh
eval "$(dotmd completions zsh)" # add to ~/.zshrc
dotmd reads what's already in your .md files — you don't have to migrate everything into frontmatter to get useful output.
Add - [ ] checkboxes anywhere in the body:
## Polish
- [x] Index regen on every mutation
- [x] Auto-checklist progress bars
- [x] Untagged docs surfaced in `list`
- [ ] SessionStart hook auto-wired by init
- [ ] Bulk-tag prompt for brownfield repos
dotmd list picks them up — zero config, no extra field:
Polish-Pass 2d ██████░░░░ 3/5
Same story for these signals, each picked up from body text when the matching frontmatter field is missing:
| Field | Falls back to | Example body |
|---|---|---|
title | first # H1 heading | # Auth Token Refresh |
summary | first > blockquote line (skipping Status note lines) | > One-line summary of what this doc covers. |
current_state | **Status:** ..., - Status: ..., or > Status note (...): ... lines (skipped on terminal docs to avoid stale claims) | **Status:** Phase 2 underway |
next_step | first bullet under a ## Next Step (or ## Suggested Next Step) H2 section | ## Next Step- wire token refresh into middleware |
| Body links | inline [text](path.md) references | validated as ref edges by check |
Explicit frontmatter always wins. Body extraction is a cushion for partially-tagged docs, not a replacement for it.
npx claudepluginhub reowens/dotmd --plugin dotmdHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Persistent file-based planning for AI coding agents. Crash-proof markdown plans (task_plan.md, findings.md, progress.md) that survive context loss and /clear, with an opt-in completion gate and multi-agent shared state. Manus-style. Works with Claude Code, Codex CLI, Cursor, Kiro, OpenCode and 60+ agents via the SKILL.md standard. Includes Arabic, German, Spanish, and Chinese (Simplified and Traditional).
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Claude harness - A harness for solo developers (Vibecoders) to handle full-cycle contract development.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.