Declarative plugin collection that specializes Claude for professional roles and workflows. Built for Claude Cowork, compatible with Claude Code.
This project uses br (beads_rust) for issue tracking.
Note: br is non-invasive and never executes git commands. After br sync --flush-only, describe the change with jj describe.
Quick reference:
br ready- Find unblocked workbr create "Title" --type task --priority 2- Create issuebr close <id>- Complete workbr sync --flush-only- Sync beads (run at session end)jj describe -m "sync beads"- Describe the change after sync
- 10 independent, role-focused plugins (productivity, sales, customer-support, product-management, marketing, legal, finance, data, enterprise-search, cowork-plugin-management)
- Licensed under Apache 2.0
plugin-name/
├── .claude-plugin/plugin.json # Plugin manifest (name, version, description)
├── .mcp.json # MCP server configurations (tool connections)
├── README.md # Plugin overview and setup
├── CONNECTORS.md # Tool integrations and placeholders
├── commands/ # Slash commands (explicit user-invoked workflows)
│ └── command-name.md
└── skills/ # Domain knowledge (auto-activated by Claude)
└── skill-name/
├── SKILL.md # Skill definition and instructions
├── references/ # Supporting materials
└── assets/ # Templates, examples
Top-level files:
.claude-plugin/marketplace.json— central registry of all pluginsREADME.md— main documentation and plugin table
- File/directory naming: lowercase with hyphens (
call-prep.md,contract-review/) - Skill files: named
SKILL.mdinside a named directory underskills/ - Command files: one
.mdfile per command insidecommands/ - Placeholder prefix:
~~marks tool-agnostic placeholders that orgs customize (e.g.,~~project tracker,~~chat) - Frontmatter: commands and skills use YAML frontmatter with
descriptionand optionallyname - Content style: plain language, numbered step-by-step workflows, tables for structured data
- Connectors: documented in each plugin's
CONNECTORS.md, configured in.mcp.jsonas HTTP MCP endpoints
All content is markdown and JSON — edit directly, no build step required. When adding or modifying plugins:
- Follow the directory structure above
- Keep plugin manifests in
.claude-plugin/plugin.jsonup to date - Update
.mcp.jsonwhen adding or changing tool connections - Use
~~placeholders for tool names that vary by organization - Update the top-level
README.mdplugin table if adding a new plugin - Update
.claude-plugin/marketplace.jsonif adding a new plugin
When ending a work session, you MUST complete ALL steps below. Work is NOT complete until git push succeeds.
MANDATORY WORKFLOW:
- File issues for remaining work - Create issues for anything that needs follow-up
- Run quality gates (if code changed) - Tests, linters, builds
- Update issue status - Close finished work, update in-progress items
- PUSH TO REMOTE - This is MANDATORY:
git pull --rebase br sync --flush-only jj describe -m "sync beads" git push git status # MUST show "up to date with origin"
- Clean up - Clear stashes, prune remote branches
- Verify - All changes committed AND pushed
- Hand off - Provide context for next session
CRITICAL RULES:
- Work is NOT complete until
git pushsucceeds - NEVER stop before pushing - that leaves work stranded locally
- NEVER say "ready to push when you are" - YOU must push
- If push fails, resolve and retry until it succeeds
nix develop --command prek run --all-files # Run all pre-commit checksNo prefixes (feat:, fix:, [codex], etc.). Start with capital letter, imperative mood, include GitHub issue number. Example: Add job count for locales #123. PR titles follow the same rules.