I have published an agent skill (a reusable set of instructions for coding agents) for researching MPS APIs, paired with a repository to serve as a knowledge base where your agent can both find previously researched information and contribute new findings through pull requests.

Why write a skill at all? When working with agents on mops, my CLI for MPS, I found that doing thorough research before implementing a feature saved time on both coding and debugging. But I needed to define what thorough research entails. Without a detailed prompt, the agents would miss aspects that are obvious to an MPS developer, such as checking whether a method requires a read or write lock, or must be called on a particular thread. And since I wanted mops to support multiple MPS versions, I needed to know whether and how the APIs that I rely on change between MPS versions.

The skill started as a small Markdown file that was very specific to mops and to the directory layout on my laptop. In particular, I originally designed the skill to store the findings directly in the mops repository. When I needed the same kind of research in the context of another project, I decided to separate the skill and its findings from mops and turn them into a shared knowledge base.

To make contributing easier, I recommend cloning the repository rather than copying the skill itself. After cloning it, link or copy the skill to your agent’s global skills directory (~/.agents/skills or ~/.claude/skills).

Invoke the skill from the context of your project (for example, I use it in mops or mps-build-backends) with a question whenever you need to understand something about MPS internals, such as:

$mps-api-research how do I run an MPS unit test programmatically?

The skill first searches the existing notes. If they do not answer the question, it examines the relevant MPS sources or binaries and turns its findings into a project-independent research note. With your authorization, the agent can then contribute the note to the repository through a pull request.

There are already research notes that answer questions, such as:

In the current form the mps-api-research repository and skill are likely to be mostly useful for people who work on MPS infrastructure (a small audience, admittedly) but I believe that a similar approach could be used for collecting more user-facing MPS documentation (similar to the mps-platform-docs website that Alexander Pann started in the pre-AI days).

If your agent has to investigate an MPS API, try the skill, and consider contributing the resulting note so that the next person does not have to repeat the research.