Overview
Optional alpha integrations that Mate can wire into companion and working repositories.
Capabilities are optional tools that Mate can configure during mate companion setup and sync into linked working repositories when you run mate opencode or mate claude.
Capabilities are selected per companion. They affect the dependency plan used by
mate install; selecting a capability never silently enables another optional
capability.
Projects
- OpenSpec for spec-driven change workflows
- Graphify for repository knowledge graphs
- TokenSave for code-graph exploration through MCP
- React Doctor for React diagnostics
Skill Acknowledgements
Mate’s bundled process skills are adapted from open-source work by:
- Addy Osmani’s
agent-skills, includingmate-interview-meandmate-simplify-code - Matt Pocock’s
skills, includingmate-domain-modeling,mate-grill-me,mate-grilling, andmate-grill-with-docs
These adaptations add Mate-specific workflow, policy, and companion integration while preserving credit to the original authors.
How They Fit
The default workflow starts with mate install in the working repository, then
mate companion link. Linking reads the selected companion capabilities and
installs their resulting dependency plan automatically.
Use mate companion setup in the companion repository when you need to change
those selections. Run mate install afterward to refresh the dependency plan.
Then mate opencode and mate claude launch from the working repository with
the selected companion-managed capabilities available.
Capability Details
OpenSpec
OpenSpec commands are routed through the companion context:
mate cap openspec <subcommand> [args...]Mate ships two schema profiles and installs both into the companion. Schema choice selects the artifact set; it does not make stages inside a profile optional:
mate-v1: the completeproposal → specs → design → tasksworkflowmate-minimal: the shortspecs → tasksworkflow, with parser-compatible requirements written as user stories and Given/When/Then acceptance criteria
Choose mate-minimal only when every gate is true:
- one repository and one Area
- no new dependency or data migration
- no public API change or breaking behavior
- no cross-cutting architecture or unresolved technical decision
If any gate is false or unclear, use mate-v1. Its explore and design artifacts
are required, but they can stay concise for simple changes. Installing a schema
does not activate it. Setup keeps OpenSpec’s own default unless mate-v1 is
explicitly selected as the companion default during mate companion setup, which
is the only flow that writes openspec/config.yaml. mate-minimal is never the
companion default.
Both profiles can be selected for one change without changing the companion default:
mate cap openspec new change <name> --schema mate-v1
mate cap openspec new change <name> --schema mate-minimalOpenSpec records the selected profile in the change’s .openspec.yaml.
Delta And Canonical Specs
A change writes proposed requirements as delta specs under
openspec/changes/<name>/specs/<capability>/spec.md. The durable current
contract lives under openspec/specs/<capability>/spec.md as the canonical spec.
Do not edit canonical specs while planning a change.
openspec archive is the bridge: it merges the delta requirement blocks into the
canonical spec and moves the change into openspec/changes/archive/<date>-<name>/.
mate artifact finish is the sanctioned terminal flow for that archive and its
follow-up Git work.
Graphify
Graphify manages a repository knowledge graph and companion-managed agent wrappers. Refresh its index directly or through the combined index command:
mate cap graphify <subcommand> [args...]
mate cap index --graphifyTokenSave
TokenSave provides code-graph exploration through MCP and keeps its native
.tokensave store in the working repository. Refresh it with:
mate cap index --tokensaveReact Doctor
React Doctor installs companion skills and Claude post-edit diagnostics. It is
configured during setup and does not have a separate mate cap command.
Index Synchronization
Launches automatically refresh enabled code-exploration capabilities. You can also refresh them explicitly from a linked working repository:
mate cap indexIf both Graphify and TokenSave are enabled, Mate refreshes TokenSave and then Graphify so Graphify sees the resulting repository state.