MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Designs, validates and writes the learning section of a mecatl settings file, covering mode, sensitivity, reflection budgets and validated or evaluated activation.
$ npx skills add stacklok/mecatl --skill mecatl-learning-config -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install stacklok/mecatl mecatl-learning-config --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/stacklok/mecatl.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mecatl-learning-config .claude/skills/mecatl-learning-config && 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 "mecatl-learning-config" agent skill from https://github.com/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-config into .claude/skills/mecatl-learning-config/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mecatl-learning-config", 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/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-configType 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 stacklok/mecatl --skill mecatl-learning-config -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install stacklok/mecatl mecatl-learning-config --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stacklok/mecatl.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mecatl-learning-config .agents/skills/mecatl-learning-config && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mecatl-learning-config" agent skill from https://github.com/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-config into .agents/skills/mecatl-learning-config/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mecatl-learning-config", 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 stacklok/mecatl --skill mecatl-learning-config -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install stacklok/mecatl mecatl-learning-config --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stacklok/mecatl.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mecatl-learning-config .cursor/skills/mecatl-learning-config && 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 "mecatl-learning-config" agent skill from https://github.com/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-config into .cursor/skills/mecatl-learning-config/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mecatl-learning-config", 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/stacklok/mecatl.git --path .claude/skills/mecatl-learning-config--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 stacklok/mecatl --skill mecatl-learning-config -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install stacklok/mecatl mecatl-learning-config --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stacklok/mecatl.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mecatl-learning-config .gemini/skills/mecatl-learning-config && 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 "mecatl-learning-config" agent skill from https://github.com/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-config into .gemini/skills/mecatl-learning-config/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mecatl-learning-config", 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 stacklok/mecatl mecatl-learning-configInstalls 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 stacklok/mecatl --skill mecatl-learning-config -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/stacklok/mecatl.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mecatl-learning-config .github/skills/mecatl-learning-config && 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 "mecatl-learning-config" agent skill from https://github.com/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-config into .github/skills/mecatl-learning-config/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mecatl-learning-config", 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 stacklok/mecatl --skill mecatl-learning-config -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install stacklok/mecatl mecatl-learning-config --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stacklok/mecatl.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mecatl-learning-config .opencode/skills/mecatl-learning-config && 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 "mecatl-learning-config" agent skill from https://github.com/stacklok/mecatl/tree/main/.claude/skills/mecatl-learning-config into .opencode/skills/mecatl-learning-config/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mecatl-learning-config", 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.
mecatl-learning-configDesigns, validates and writes the learning section of a mecatl settings file, covering mode, sensitivity, reflection budgets and validated or evaluated activation.
This skill helps an operator configure the top-level learning: policy of the mecatl agent harness. It starts by working out where mecatl actually runs and which startup configuration and precedence apply, without assuming that client and server share a host. It then reads only the parts of references/config-format.md it needs: the exact schema and defaults, budget profiles, operator and project tiers, and common errors.
A safety contract governs edits. The agent reads the relevant settings file whole with the Read tool, treats malformed YAML as a stop condition, modifies only the learning: mapping while preserving every other byte, and writes a generated non-secret patch to a repository-local .scratch folder for validator preflight, removing it afterward. Before any write it shows the complete block and the exact diff and waits for explicit confirmation. Running reflect, reviewing proposals or memories, drafting skills, model routing, credentials and evaluator implementation are out of scope.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e731897. 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.
mecatl Learning Config loads about 3.8k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 1,921 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 stacklok/mecatl at commit e731897, republished under its Apache-2.0 licence (© stacklok). 1,921 words, ~3,807 tokens.
.claude/skills/mecatl-learning-config/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Safely design and merge the operator-tier learning: policy after identifying
where mecatl actually runs. Do not assume that the client and server share a
host or configuration.
After deployment and target resolution (Workflow Step 1), read only the needed parts of the configuration reference:
Do not require reading the entire reference at activation. Repository background
is in user-docs/reference/configuration.md,
user-docs/building/deployment/settings.md, and
user-docs/features/learning.md; cite those paths as prose, not links.
learning:
patch under the repository-local .scratch/; it is not a settings write and
must be removed after validation on success, failure, or cancellation. Any
settings-file creation or modification requires explicit confirmation.cat. Read
the complete file.
A missing file is fine. Do not print, log, or rewrite unrelated values,
comments, credentials, or secret-shaped content.learning: mapping. Preserve every other byte when
targeted replacement permits it. Never rewrite the whole file merely to make
YAML easier to generate.learning: block and exact
replacement diff, then ask for explicit confirmation. Silence is not consent.Do this before choosing or reading a settings path. First classify the deployment as local standalone, local embedded mecatui, remote client/server, or engine embedder. Establish the actual startup source already supplied by the operator or task: service command, container args/config, systemd unit/overrides, or embedder code. From that source record, in order:
--permission-config PATH explicit operator file;--permissions-conventional is enabled; andXDG_CONFIG_HOME, or its HOME fallback when relevant.Do not infer these from defaults when the effective invocation may override them. If the startup command/unit/container args are not observable from authorized, relevant context, ask the operator for them. Never scan running processes, services, containers, or unrelated files.
Resolve the owning operator learning block using mecatl's actual precedence:
learning: block; unreadable or invalid explicit files
are skipped by mecatl and cannot own the effective block;$XDG_CONFIG_HOME/mecatl/settings.yaml, falling back to
$HOME/.config/mecatl/settings.yaml when XDG_CONFIG_HOME is unset or empty;
its readable, valid learning: block is then the owner; andApply that resolution by deployment:
permconfig from files. Ask the owner how
it is supplied; do not invent a mecated path.If no current block owns learning, the insertion target is the first
operator-intended explicit file chosen by the operator, or the conventional user
file only when conventional discovery is enabled. If ownership or an effective
insertion target cannot be established, do not edit automatically: provide a
manual block plus instructions to install and validate it on the owning server or
in embedder code. Record the established path privately as <resolved-path>.
Read the complete target and classify it as missing, valid without learning:,
valid with learning:, or malformed. Retain the existing mapping, comments,
indentation, and byte range for a later targeted edit. Report only
learning-related findings.
On the server host, validate the target without exposing its content. Pass the resolved path as one quoted argument; never concatenate it into shell syntax, a command string, or another argument:
mecated config validate --file "<resolved-path>"The command reads at most 256 KiB and prints only valid or a sanitized error.
It requires the file to exist unless a learning patch is supplied. If mecated
is unavailable on a remote host, do not auto-edit: give the exact block and
server-side installation guidance, including actual-file validation after the
operator makes the change.
Ask in this order. Wait after every question. Each prompt must show all prior answers and the recommended default:
✓ Autonomy: <answer>
✓ Sensitivity: <answer>
→ <one current question>
▸ <recommended choice> (recommended — <brief reason>)
<other choices>Support back to revise the preceding answer. Do not collapse these into one
questionnaire.
Before proposing YAML, summarize mode × activation accurately:
/reflect, memory and
user-model tools, and SkillDraft remain available. Direct SkillDraft
creates inactive content. Dream consolidation is independently configured.validated, a structurally safe, body-only, evidence-backed exact candidate
activates on PASS or ABSTAIN/no evaluator. With evaluated, only trusted
evaluator PASS activates. FAIL and evaluator ERROR never activate.State separately that sensitivity selects automatic admission thresholds while
budgets bound automatic frequency and reserved tokens; users may combine any
sensitivity with any budget posture. Explicit /reflect bypasses automatic
sensitivity, cooldown, and count/token budgets, but retains coordinator,
provider, timeout, ownership, and lifecycle limits.
Generate a complete learning: block containing mode, independently selected
sensitivity, skill activation, and all six automatic controls. Do not emit a
partial subtree whose behavior depends on hidden defaults.
Before asking for confirmation, write only that exact non-secret learning:
block to a bounded, repo-local scratch name such as
.scratch/learning-preflight.yaml, then run the read-only in-memory preflight
with both paths quoted:
mecated config validate --file "<resolved-path>" \
--learning-patch ".scratch/learning-preflight.yaml"The scratch file is not the settings write: it contains only the exact block
already shown, never a full settings copy, credentials, or unrelated values. The
command bounded-reads both files, requires the patch to be a single YAML document
with exactly one top-level learning: mapping, replaces or inserts only that node
in memory, and validates the resulting complete document through mecatl's parser.
It prints valid or valid (new file) and never writes either input. Remove the
scratch patch immediately after validation on success, failure, or cancellation.
Stop if preflight fails.
If the user requires no scratch write, provide the complete block for manual application and require actual-file validation after the write instead; do not claim a write-free proposed preflight was run.
Then show:
learning: block;Apply this exact change to <resolved-path>? (yes/no).Only explicit yes authorizes an edit. Re-read the complete target immediately
before editing. If it differs from the preflight input, stop, regenerate the
learning-only scratch patch, rerun mecated config validate --file "<resolved-path>" --learning-patch ".scratch/<bounded-name>.yaml" against the new
bytes, remove the scratch patch, and ask again. Use a targeted exact replacement
preserving unrelated YAML and comments. If safe targeting is impossible, offer
manual merge rather than rewriting the file.
After writing, validate the actual file:
mecated config validate --file "<resolved-path>"A nonzero result is a failed application requiring immediate, minimal repair guidance; do not report success. Re-read and verify the selected learning values without showing unrelated content.
Learning settings are resolved at build time: restart the local server, remote server, or embedder instance that owns the resolved policy.
/learning cycles mode and
/learning-sensitivity cycles sensitivity; both save locally and still
require restart. Use the full file for budgets and activation assurance./reflections, /skills, and /usermodel; use
/reflect only when an intentional live run is desired. Warn that reflection
may make provider calls and incur token cost; verification need not force it.Offer rollback blocks from the reference: mode: off, mode: review, and the
high-assurance skills.activation: evaluated tightening.
| Situation | Required response |
|---|---|
| Startup configuration not observable or ownership unresolved | Ask for the server command/unit/container args; otherwise supply a manual block and server/embedder validation instructions with no automatic edit. |
Earlier explicit file has a valid learning: block | It owns learning; do not edit a later explicit or conventional file. Explicit files are evaluated in CLI order. |
| Explicit files have no captured block and conventional discovery is disabled | The XDG user file does not participate. Ask the operator to choose an explicit insertion target or provide a manual block. |
| Missing file | Offer manual block or confirmed creation at the established <resolved-path>; do not guess ownership. |
| Malformed, duplicate, unknown, or unvalidated YAML | Stop before editing; validate the complete document and obtain approval for minimal repair. |
| Invalid value or duration | Reject using the exact schema; window must be 1m..24h. |
| Any maximum is zero | Warn that this bound disables all automatic reflection; cooldown zero only removes cooldown. |
| Evaluated without evaluator | Warn that ABSTAIN/no-evaluator remains staged; recommend validated or separately configure a trusted evaluator. |
| Project raises mode/sensitivity or loosens evaluated | Explain project policy is tighten-only and cannot raise operator autonomy. |
| Project specifies automatic budgets | Explain budgets are operator-only and the project block is warning-ignored. |
| Multiple replicas | Multiply the process-local envelope by replica count; never call it a cluster/provider quota. |
Remote server inaccessible or mecated unavailable there | Supply the exact manual block and server-side instructions only; never inspect local client settings or auto-edit. Require mecated config validate --file "<resolved-path>" after installation when the binary becomes available. |
Routing, credentials, evaluator implementation, /reflect execution, proposal/memory review, skill drafting, or another harness | Decline that portion and route to its workflow. |
© stacklok, 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
SKILL.md and 1 other file (references) in .claude/skills/mecatl-learning-config of stacklok/mecatl.
Open the folder on GitHubat commit e731897
mecatl Learning Config 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 |
|---|---|---|---|---|---|---|
| mecatl Learning Config this skillstacklok/mecatl | 218 | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server Builderanthropics/skills | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 37k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Idea Refinementaddyosmani/agent-skills | 102k | 6 repos | ~2k | Automated safety check: Pass | MIT | |
| Using Superpowersfarm-fe/farm | 5.6k | 34 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
addyosmani/agent-skills
Guides a conversation that takes a vague idea through divergent and convergent thinking and ends in a markdown one-pager covering scope and assumptions.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
stacklok/mecatl
Interviews you about provider, cost, openness and image needs, then designs the models section of a mecatl settings file with aliases, slots and router categories.
stacklok/mecatl
Runs mecatl's offline benchmark and scenario harness to measure, profile with pprof, optimize and prove a performance win with benchstat, then adds a regression benchmark.
stacklok/mecatl
Cuts a tagged mecatl release by dispatching the release-PR workflow, merging the bot's pull request and verifying the tag, images, Helm chart, signed archives and Homebrew formula.
stacklok/mecatl
Guides reading mecatl's perf MCP data to find why a running harness is slow, leaking goroutines or growing in memory, using cheap reads before any CPU capture.
stacklok/mecatl
Rebuilds the mecak8s image into the local mecatl-dev Kind cluster and builds mecatui, so you can try in-progress mecatl changes against a real Kubernetes deployment.
stacklok/mecatl
Review completed non-trivial code across four independent axes: Spec, Standards, Test adequacy, and installed Domain specialists.
Categories
Designs, validates and writes the learning section of a mecatl settings file, covering mode, sensitivity, reflection budgets and validated or evaluated activation. This skill helps an operator configure the top-level learning: policy of the mecatl agent harness. It starts by working out where mecatl actually runs and which startup configuration and precedence apply, without assuming that client and server share a host.
mecatl Learning Config fits situations like: setting learning.mode and sensitivity for a mecatl deployment; tuning reflection budgets in an operator or project configuration; checking a learning block for schema errors before it is applied.
Run `npx skills add stacklok/mecatl --skill mecatl-learning-config -a claude-code`. Or copy the skill folder (.claude/skills/mecatl-learning-config in stacklok/mecatl) into .claude/skills/mecatl-learning-config in your project. Claude Code loads it when a task matches its description.
Run `npx skills add stacklok/mecatl --skill mecatl-learning-config -a codex`. Or copy the skill folder (.claude/skills/mecatl-learning-config in stacklok/mecatl) into .agents/skills/mecatl-learning-config 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 stacklok/mecatl --skill mecatl-learning-config -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mecatl-learning-config, .gemini/skills/mecatl-learning-config, .github/skills/mecatl-learning-config and .opencode/skills/mecatl-learning-config in your project.
SKILL.md names no scripts, command-line tools or credentials: mecatl Learning Config is instructions for the agent only. Our summary lists: A mecatl deployment and the startup configuration its operator identifies; Read access to the settings file being changed.
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.
mecatl Learning Config 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 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with mecatl Learning Config: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k stars), Idea Refinement (addyosmani/agent-skills, 102k stars) and Using Superpowers (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
stacklok (a GitHub organization) maintains it in stacklok/mecatl, which has 218 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.
Source: stacklok/mecatl on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.