Improving MCP Tools
PostHog/posthog
Run an improve-my-MCP campaign: an autoresearch-style loop that measures the MCP agent experience with the eval harness, picks the highest-impact tool problem from production data, makes one bounded…
Apply when adding or changing an MCP tool, a capability the CLI generates, a tool input or output schema, a tool description, an error envelope, or an agent-facing reference resource.
$ npx skills add stella/stella --skill conventions-mcp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install stella/stella conventions-mcp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/conventions-mcp .claude/skills/conventions-mcp && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "conventions-mcp" agent skill from https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcp into .claude/skills/conventions-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions-mcp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcpType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add stella/stella --skill conventions-mcp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install stella/stella conventions-mcp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/conventions-mcp .agents/skills/conventions-mcp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "conventions-mcp" agent skill from https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcp into .agents/skills/conventions-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions-mcp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stella/stella --skill conventions-mcp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install stella/stella conventions-mcp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/conventions-mcp .cursor/skills/conventions-mcp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "conventions-mcp" agent skill from https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcp into .cursor/skills/conventions-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions-mcp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/stella/stella.git --path .agents/skills/conventions-mcp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add stella/stella --skill conventions-mcp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install stella/stella conventions-mcp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/conventions-mcp .gemini/skills/conventions-mcp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "conventions-mcp" agent skill from https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcp into .gemini/skills/conventions-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions-mcp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install stella/stella conventions-mcpInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add stella/stella --skill conventions-mcp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/conventions-mcp .github/skills/conventions-mcp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "conventions-mcp" agent skill from https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcp into .github/skills/conventions-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions-mcp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stella/stella --skill conventions-mcp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install stella/stella conventions-mcp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/conventions-mcp .opencode/skills/conventions-mcp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "conventions-mcp" agent skill from https://github.com/stella/stella/tree/main/.agents/skills/conventions-mcp into .opencode/skills/conventions-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions-mcp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
conventions-mcpApply when adding or changing an MCP tool, a capability the CLI generates, a tool input or output schema, a tool description, an error envelope, or an agent-facing reference resource.
Conventions MCP is an agent skill from stella/stella. Apply when adding or changing an MCP tool, a capability the CLI generates, a tool input or output schema, a tool description, an error envelope, or an agent-facing reference resource. Enforces contracts that language models can actually drive, measured by evals rather than by schema soundness.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering MCP servers and LLM evaluation. It works with Model Context Protocol. The repository describes itself as: Open-source legal workspace. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b225fd8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Conventions MCP loads about 2.7k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,567 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from stella/stella at commit b225fd8, republished under its Apache-2.0 licence (© stella). 1,567 words, ~2,733 tokens.
.claude/skills/conventions-mcp/SKILL.md (or your agent's skills folder).An MCP tool or CLI capability is a user interface whose user is a language model. A schema can be type-sound, validated, and documented and still be undrivable: models copy examples, fill every property they see, retry with the same call, and cannot inspect bytes. Design for that behaviour and measure it.
A capable model, given only what tools/list and the reference resources expose,
completes the workflow on the first or second attempt, and every rejection it
receives names the next call to make. The authoring eval, not code review, decides
whether a contract change helped.
source: { type: "ai" | "lookup" | ... }). A model that fills every property cannot produce a contradictory
union member; it can produce six contradictory optionals.issues[]. One bad property must not sink a call
that carried seven good entries.configure skeleton, canonical path spelling,
allowed values). Copying beats inferring. Read-back must round-trip: the shape
a describe tool returns is the shape the configure tool accepts, byte for byte,
and a test pins that fixed point.{ code, message, hint, issues[] } with codes from a closed set. hint names the corrective action,
the tool to call, and where to go (a deep link when the fix is in the UI).
"Disabled" without "enable it here" is a dead end.internal_error. Every id
input is declared with the shared id schema; a registry-wide test enforces it.warnings[] with closed codes for the known traps (unprefixed loop item,
unknown directive, split marker, and so on). A census test keeps the code
list and the reference in step.null for an unset optional, 4 000 for a
number, 1. 10. 2026 for a date, ano for a boolean, cs_CZ for a locale.
Every kind the wire accepts gets ONE owner that auto-normalizes the
spellings carrying a single meaning and returns ONE ask-for-a-fix shape
(received, expected, hint) when a spelling carries two: 01/02/2026
and a bare 1,234 are asked about with both readings named, never guessed,
because guessing wrong is a wrong date or a factor of a thousand on an
instrument. Null and the placeholder encodings are that rule for "absent"
and live in the tool factory; the value kinds live in
packages/agent-input/: number (a page size clamps with a note), boolean,
date (a range bound reads 2020 as its first or last day and
0001-01-01/9999-12-31 as no bound), uuid (the all-zero and example ids
are placeholders), filter (" ", "all", "-" mean "not filtering"),
vocabulary (a data-owned value such as a court, read through case,
diacritics, abbreviations and English names), string list (a lone string is
a one-item list; only constrained tokens split on commas), ELI, country,
locale, enum. A repaired value returns a note ("Read X as Y") that reaches
the caller beside the result. A placeholder in an optional property is
absence on a read and an ask on a write, where an optional id can switch
update into create. An optional filter read against a data-owned vocabulary
(court) never empties a search: a value that names no stored value, or
several, is dropped with a warning naming the stored ones. A filter with no
such vocabulary yet reads only its placeholders, and an empty page under it
carries no_hits_filtered naming the values that would have matched; do
not advertise resolution a filter does not do. An opaque token the server issues extends "absent" one step: a
client filling every declared property invents a first-call cursor (" ",
"0", "start"), so cursorInput reads a value outside the class its
encoders emit as no cursor, while a value inside that class still reaches
the decoder and fails through invalidCursorResult, which names the
restart; restarting a damaged or invented cursor at page one silently would
repeat a page the caller already read. Kinds a property's name implies
(limit, date_from, date_to) are bound by the factory, so a new tool
inherits them. Cover each kind with a property test over its whole spelling
class rather than the examples someone happened to write down, and add a
guard (an ownership row, a census test) so a new call site cannot parse the
kind itself. Never per-tool tolerance code, and never a second reader: two
lenient readers of one kind are worse than one strict one, because they
disagree.A capability id is its handler path under apps/api/src/handlers/:
<domain>[.<resource>…].<action>. The action is ONE word, either a canonical
verb (list, get, create, update, delete) or an entry in the closed
DOMAIN_ACTION_VERBS list (apps/api/scripts/lib/capability-catalog.ts;
docs/capability-coverage.md renders the current list). A compound action is a
nested resource directory: clauses/categories/create.ts, not
clauses/categories-create.ts; entities/versions/list.ts, not
entities/read-versions.ts. A new domain verb is a reviewed addition to that
list; the exporter fails on an unlisted verb and on a listed verb no capability
uses, and the capability-domain-action-verbs ratchet holds hyphenated entries
at 0.
as const satisfies Record<ToolName, ...>) for policy, consent, projection, and CLI disposition, so a new tool cannot
land without each decision.apps/api/src/mcp/valibot-tool-definition.ts,
apps/api/src/mcp/tool-utils.tspackages/agent-input/src/,
apps/api/src/lib/agent-input-owner.test.tsapps/api/src/mcp/uuid-id-inputs.test.ts,
apps/api/src/mcp/null-optional-inputs.test.tsapps/api/src/lib/docx/template-warnings.ts,
apps/api/src/mcp/template-workflow-reference.tsapps/api/evals/template-authoring.tsThese are examples of the mechanisms, not proof that a new tool meets the bar: run the eval.
© stella, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/conventions-mcp of stella/stella.
Open the folder on GitHubat commit b225fd8
Conventions MCP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Conventions MCP this skillstella/stella | 258 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Improving MCP ToolsPostHog/posthog | 40k | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Opik Online Evalcomet-ml/opik-mcp | 220 | — | ~3k | Automated safety check: Notes | Apache-2.0 | |
| Skill Creatorcuriositech/some_claude_skills | 243 | — | ~7.2k | Automated safety check: Pass | Apache-2.0 | |
| Agent Eval Casesagentailor/fullstack-langgraph-nextjs-agent | 132 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Managed Deep Agentslangchain-ai/langchain-skills | 1.3k | — | ~8.7k | Automated safety check: Notes | MIT |
PostHog/posthog
Run an improve-my-MCP campaign: an autoresearch-style loop that measures the MCP agent experience with the eval harness, picks the highest-impact tool problem from production data, makes one bounded…
comet-ml/opik-mcp
Take a judge live on production traffic — create an Opik online evaluation rule (LLM-as-judge or Python metric) on a project with sampling, filters, variable mapping, and a cost cap, then confirm…
curiositech/some_claude_skills
A skill your agent uses when creating a new Claude skill from scratch, editing or improving an existing skill, or measuring skill performance with evals and benchmarks.
agentailor/fullstack-langgraph-nextjs-agent
Decide which AI agent behaviors are worth an eval case, then write those cases — harness-, framework-, and language-agnostic.
langchain-ai/langchain-skills
INVOKE THIS SKILL when building, testing, or deploying Managed Deep Agents in LangSmith.
datadog-labs/agent-skills
Bootstrap evaluators from production traces — by default propose online LLM-judge evaluators and, after you confirm, create them in Datadog as disabled drafts (never auto-enabled); on request emit…
stella/stella
Create a concise, evidence-backed implementation plan in the repository planning area when the user explicitly asks for a plan.
stella/stella
Answers data-protection (GDPR) questions grounded in the regulation and supervisory guidance, with a citation for every claim.
stella/stella
Reviews a non-disclosure agreement against the firm's NDA checklist and reports findings with citations.
stella/stella
Collects the facts of an unpaid invoice, then drafts a payment demand letter.
stella/stella
Apply when a performance-guard check (network baseline, bundle baseline, DB query count, loader-prefetch lint, RC bailouts) fails or when touching a hot route/endpoint.
stella/stella
Apply when writing or reviewing React effects in apps/web. An agent skill from stella/stella.
Works with
Categories
Apply when adding or changing an MCP tool, a capability the CLI generates, a tool input or output schema, a tool description, an error envelope, or an agent-facing reference resource. Conventions MCP is an agent skill from stella/stella. Apply when adding or changing an MCP tool, a capability the CLI generates, a tool input or output schema, a tool description, an error envelope, or an agent-facing reference resource.
Conventions MCP fits situations like: tasks that involve MCP servers; tasks that involve LLM evaluation.
Run `npx skills add stella/stella --skill conventions-mcp -a claude-code`. Or copy the skill folder (.agents/skills/conventions-mcp in stella/stella) into .claude/skills/conventions-mcp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add stella/stella --skill conventions-mcp -a codex`. Or copy the skill folder (.agents/skills/conventions-mcp in stella/stella) into .agents/skills/conventions-mcp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add stella/stella --skill conventions-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conventions-mcp, .gemini/skills/conventions-mcp, .github/skills/conventions-mcp and .opencode/skills/conventions-mcp in your project.
SKILL.md names no scripts, command-line tools or credentials: Conventions MCP is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Conventions MCP is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Conventions MCP: Improving MCP Tools (PostHog/posthog, 40k stars), Opik Online Eval (comet-ml/opik-mcp, 220 stars), Skill Creator (curiositech/some_claude_skills, 243 stars) and Agent Eval Cases (agentailor/fullstack-langgraph-nextjs-agent, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
stella (a GitHub organization) maintains it in stella/stella, which has 258 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 9, 2026.
Source: stella/stella on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.