Agent skill

mecatl Learning Config

by stacklok in stacklok/mecatl

Designs, validates and writes the learning section of a mecatl settings file, covering mode, sensitivity, reflection budgets and validated or evaluated activation.

Apache-2.0Auto-check passedAgent Workflows

Install mecatl Learning Config

skills CLI
$ npx skills add stacklok/mecatl --skill mecatl-learning-config -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install stacklok/mecatl mecatl-learning-config --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
mecatl-learning-config
GitHub stars
218
Token cost
~3.8k tokens
SKILL.md length
1,921 words
Files
2 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Designs, validates and writes the learning section of a mecatl settings file, covering mode, sensitivity, reflection budgets and validated or evaluated activation.

  • Works in 6 steps: Establish deployment, startup… → Inspect and validate the current document → Elicit one answer at a time → …
  • Setting learning.mode and sensitivity for a mecatl deployment
  • SKILL.md covers Progressive reference use, Safety contract, Workflow and Error handling
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “Configure the learning policy for our mecatl server and show me the exact diff before writing.”
  • “Switch learning.mode to validated activation in the operator settings and validate the YAML.”
  • “Our reflection budget is too tight. Propose a budget profile and explain what changes.”

Requirements

  • A mecatl deployment and the startup configuration its operator identifies
  • Read access to the settings file being changed

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Establish deployment, startup configuration, and effective owner
  2. Inspect and validate the current document
  3. Elicit one answer at a time
  4. Explain the selected behavior
  5. Preflight, propose, confirm, then edit
  6. Restart and observe

What it can do on your machine

Read from SKILL.md and the folder at commit e731897. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from stacklok/mecatl at commit e731897, republished under its Apache-2.0 licence (© stacklok). 1,921 words, ~3,807 tokens.

Download SKILL.mdSave it as .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.
name
mecatl-learning-config
description
Configure, write, or tune the mecatl learning: settings policy, including learning.mode, sensitivity, reflection budgets, and validated/evaluated activation. NOT for running /reflect, reviewing proposals or memories, drafting skills, model routing, credentials, evaluator implementation, or other harnesses.

mecatl learning configuration

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.

Progressive reference use

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.

Safety contract

  • Resolve the deployment, startup configuration, precedence, and effective target before using Read on any settings file. Read only startup artifacts the operator identifies or that are already available in the task context; never scan processes/services or unrelated files to discover them.
  • Read-only inspection and validator preflight are allowed before confirmation. The proposed preflight may write only the generated, non-secret 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.
  • Inspect an established relevant target with the Read tool, never cat. Read the complete file. A missing file is fine. Do not print, log, or rewrite unrelated values, comments, credentials, or secret-shaped content.
  • Treat malformed or unvalidated YAML as a stop condition. Do not edit until a minimal repair is understood and explicitly approved.
  • Modify only the top-level learning: mapping. Preserve every other byte when targeted replacement permits it. Never rewrite the whole file merely to make YAML easier to generate.
  • Before any write, show the complete proposed learning: block and exact replacement diff, then ask for explicit confirmation. Silence is not consent.
  • If the file is missing, offer manual content or creation of the resolved, owner-intended path. Create it only after explicit confirmation. Never add credentials.
  • The validator is read-only, uses no credentials or network, and must never print file contents.

Workflow

1. Establish deployment, startup configuration, and effective owner

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:

  1. every repeatable --permission-config PATH explicit operator file;
  2. whether --permissions-conventional is enabled; and
  3. the server process's XDG_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:

  • inspect explicit files in CLI order, stopping at the first readable, valid file with a non-null top-level learning: block; unreadable or invalid explicit files are skipped by mecatl and cannot own the effective block;
  • only when conventional discovery is enabled and no explicit file captured a learning block, consider the user file at $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; and
  • files after the owner, and a conventional user file shadowed by an explicit owner, have no effect on operator learning. Never edit one of them.

Apply that resolution by deployment:

  • Local standalone or embedded mecatui: resolve against the local server's actual invocation and environment, not merely the interactive shell's.
  • Remote mecatui/connect: resolve only from server startup args and the server host's environment/files. Never inspect or edit local client settings. Without authorized server access, provide the exact block and server-side instructions.
  • Engine embedder: configuration is code-owned unless the embedding application explicitly constructs 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>.

2. Inspect and validate the current document

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:

text
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.

3. Elicit one answer at a time

Ask in this order. Wait after every question. Each prompt must show all prior answers and the recommended default:

text
✓ Autonomy: <answer>
✓ Sensitivity: <answer>

→ <one current question>
  ▸ <recommended choice> (recommended — <brief reason>)
    <other choices>
  1. Desired autonomy: Review first / Auto / Off. Recommend Review first for rollout. If the operator explicitly asks for autonomous learning, recommend Auto instead. Off disables observation, not explicit tools.
  2. Sensitivity: conservative / balanced / eager. Recommend balanced. This is independent of budget posture: any sensitivity may be combined with any budget profile.
  3. Skill activation assurance: ask this when mode is Auto. Recommend validated for usable, body-only, evidence-backed autonomy. Offer evaluated only when a trusted fixture evaluator is configured; it requires PASS. For Review/Off, record future policy or accept validated as an inert default without implying activation.
  4. Budget posture: default / budget-conscious / eager / custom. Profiles set only the six automatic budget values; they never choose sensitivity. Explain that limits and cooldowns are process-local, so N replicas may reserve about N times the aggregate. They are not provider quotas or cluster-global limits. For custom, ask one automatic value at a time and validate it; do not ask for sensitivity again.
  5. Existing subtree: when present, preserve or revise it. Recommend preserve and revise only selected fields. When absent, state that a new subtree will be inserted.

Support back to revise the preceding answer. Do not collapse these into one questionnaire.

4. Explain the selected behavior

Before proposing YAML, summarize mode × activation accurately:

  • Off: no automatic observation/reflection. Explicit /reflect, memory and user-model tools, and SkillDraft remain available. Direct SkillDraft creates inactive content. Dream consolidation is independently configured.
  • Review: admitted completions spend reflection capacity and stage durable proposals; they do not promote memory or activate learned skills.
  • Auto: facts retain evidence, ownership, and conflict gates. With 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.

Show full SKILL.md (712 more words)Show less
5. Preflight, propose, confirm, then edit

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:

text
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:

  1. the complete learning: block;
  2. an exact diff replacing only the existing mapping, or exact insertion point;
  3. a concise effects/cost summary; and
  4. 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:

text
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.

6. Restart and observe

Learning settings are resolved at build time: restart the local server, remote server, or embedder instance that owns the resolved policy.

  • Local embedded mecatui: /learning cycles mode and /learning-sensitivity cycles sensitivity; both save locally and still require restart. Use the full file for budgets and activation assurance.
  • Remote mecatui/connect: change and restart the server host, never the client.
  • Engine embedders: follow the application's configuration/rebuild lifecycle.
  • After restart, inspect /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.

Error handling

SituationRequired response
Startup configuration not observable or ownership unresolvedAsk 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: blockIt 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 disabledThe XDG user file does not participate. Ask the operator to choose an explicit insertion target or provide a manual block.
Missing fileOffer manual block or confirmed creation at the established <resolved-path>; do not guess ownership.
Malformed, duplicate, unknown, or unvalidated YAMLStop before editing; validate the complete document and obtain approval for minimal repair.
Invalid value or durationReject using the exact schema; window must be 1m..24h.
Any maximum is zeroWarn that this bound disables all automatic reflection; cooldown zero only removes cooldown.
Evaluated without evaluatorWarn that ABSTAIN/no-evaluator remains staged; recommend validated or separately configure a trusted evaluator.
Project raises mode/sensitivity or loosens evaluatedExplain project policy is tighten-only and cannot raise operator autonomy.
Project specifies automatic budgetsExplain budgets are operator-only and the project block is warning-ignored.
Multiple replicasMultiply the process-local envelope by replica count; never call it a cluster/provider quota.
Remote server inaccessible or mecated unavailable thereSupply 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 harnessDecline 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

Files

SKILL.md and 1 other file (references) in .claude/skills/mecatl-learning-config of stacklok/mecatl.

  • SKILL.md
  • references/config-format.md

Open the folder on GitHubat commit e731897

Compare with similar skills

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.

mecatl Learning Config compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
mecatl Learning Config this skillstacklok/mecatl218—~3.8kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official37k11 repos~4.1kAutomated safety check: NotesApache-2.0
Idea Refinementaddyosmani/agent-skills102k6 repos~2kAutomated safety check: PassMIT
Using Superpowersfarm-fe/farm5.6k34 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 62 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    37k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Idea Refinement

    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.

    102k GitHub starsUsed in 6 repos~2k tokens
    Agent WorkflowsAuto-check passed
  • Using Superpowers

    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

    5.6k GitHub starsUsed in 34 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    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.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    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.

    37k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed

More from 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.

    218 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • 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.

    218 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Mecatl Release Cutting

    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.

    218 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • 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.

    218 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • 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.

    218 GitHub stars~927 tokensUpdated today
    Auto-check passed
  • Panel Review

    stacklok/mecatl

    Review completed non-trivial code across four independent axes: Spec, Standards, Test adequacy, and installed Domain specialists.

    218 GitHub stars~5.8k tokensUpdated today
    Auto-check passed

Categories

Questions about mecatl Learning Config

What does mecatl Learning Config do?

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.

When should I use mecatl Learning Config?

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.

How do I install mecatl Learning Config in Claude Code?

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.

How do I install mecatl Learning Config in Codex?

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.

Can I use mecatl Learning Config in Cursor, Gemini CLI or GitHub Copilot?

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.

What does mecatl Learning Config need to run?

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.

Does mecatl Learning Config access the network?

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.

Is mecatl Learning Config safe to install?

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.

What licence does mecatl Learning Config use?

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.

How many tokens does mecatl Learning Config use?

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.

What are the alternatives to mecatl Learning Config?

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.

Who maintains mecatl Learning Config?

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.