Mountaineering logo

Mountaineering

Community
tkellogg
mountaineering

Autonomous hill-climbing loops for continuous improvement. Use when optimizing something measurable — prompts, configs, code, predictions — through iterative propose/test/keep-or-revert cycles. Also use when figuring out WHAT to optimize and how to measure it.

Overview

Publishertkellogg
Repositoryopen-strix
Skill namemountaineering
Stars
95
Forks
21
Bundled files
6
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by tkellogg on GitHub. Read the source before you install it.

Installation

Install the Mountaineering AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/tkellogg/open-strix/tree/main/open_strix/builtin_skills/mountaineering
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/tkellogg/open-strix.git /tmp/open-strix
mkdir -p .claude/skills
cp -r /tmp/open-strix/open_strix/builtin_skills/mountaineering .claude/skills/mountaineering
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Mountaineering in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Mountaineering on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Mountaineering is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Mountaineering

The mountaineering skill teaches agents how to climb hills. For any hill that can be identified, set up guardrails and climb it.

This is autoresearch applied as a discipline: assess the mountain, choose the route, pack the right gear, know when to turn back.

The Five Laws

Every successful climb requires five conditions to hold. See laws.md for the full treatment with examples and failure modes.

  1. Orderable Outcomes — The optimizer must be able to say "this is better than that"
  2. Measurement Consistency — The metric must score the same way twice
  3. Safe Exploration — Failed experiments must be fully reversible
  4. Scope Separation — The optimizer must not control the evaluation
  5. Informed Search — The optimizer needs domain knowledge to generate targeted hypotheses

If any law is violated, the loop will fail — often expensively.

Four-Phase Architecture

Phase 0: Climb Design

The hardest part of mountaineering is figuring out WHAT to climb. This phase turns "I want to improve X" into a fully specified climb. See climb-design.md for the complete protocol.

Six steps:

  1. Name the objective in plain language — the S5 anchor
  2. Instrument — inventory what data and signals you already have
  3. Candidate metrics — list 2-3 options, evaluate each against Laws 1-2
  4. Mutable surface — define what the climber can change and the blast radius
  5. Mutation types — enumerate edit types for YOUR understanding (not the climber's constraint)
  6. Candidate pipeline — rank what to try first; this becomes program.md's Context section

Without Phase 0, you arrive at pre-flight with a vague objective and no metric. Pre-flight correctly rejects it, but doesn't help you get ready. Climb design is where you get ready.

Phase 1: Pre-Flight

Run the pre-flight protocol (preflight.md) before starting any climb. Pre-flight is a collaboration between the agent and the operator — the agent runs mechanical checks, the operator provides judgment. A failed pre-flight saves tokens.

Phase 0 outputs map directly to pre-flight inputs — the selected metric feeds Law 1-2 checks, the mutable surface feeds Law 3-4 checks, the mutation inventory feeds Law 5 checks.

Phase 2: Harness Setup

The harness is the structural scaffolding that enforces the five laws during a climb. See harness.md for directory structure templates, config schemas, program.md templates, and evaluation script patterns.

Phase 3: Climbing (The Loop)

The iteration loop: propose change → test → score → keep or revert → repeat. One change at a time for interpretability. The climber reads failing cases and hypothesizes fixes — Law 5 in action.

Fast feedback: Use proxy metrics (binary pass/fail, immediate signals) for the first 10 iterations to confirm the climb is producing movement. Switch to the full metric for trend analysis after stabilization. Any signal that it's working or not is critical early on — don't wait for statistical significance before checking whether the climb is alive.

The Climber Subagent

The climber is a fundamentally different kind of subagent from identity agents:

Identity AgentClimber
LoopEvent-drivenInfinite loop
MemoryBlocks + files + journalFiles only (sliding window)
IdentityRich personaNone (goal + constraints)
S5Scaffolding (blocks, prompts)Code + program.md (frozen)
Context per turnVariableFixed budget
LifespanPersistentScoped to a climb

Climber Memory (Three Layers)

  1. program.md — Frozen S5. Goal, constraints, scope. The climber cannot edit this.
  2. Workspace + evaluation — The harness. Evaluation logic is held in supervisor memory (not on disk). The climber operates within the workspace scope.
  3. Results log — Sliding window of recent results (last N entries via ring buffer). This prevents context growth while maintaining enough history for informed search (Law 5).

Skill Inheritance

The climber inherits whatever skills and tools the parent agent has configured. If the operator has set up a coding agent (e.g., acpx), the climber gets it automatically — no separate configuration needed. If not, the climber still works with built-in file tools.

This means the first test climb from an agent without a coding agent gets lightweight tools (file read/write/edit). A code-optimization climb launched from an agent WITH a coding agent gets the full toolset. Zero config, correct by default.

Fixed Context Constraint

This is load-bearing. Every iteration must wake up with roughly the same sized context. No accumulated conversational history. Each iteration is a fresh agent invocation that reads: program.md + current workspace files + last N log entries. That's it.

The results log is the climber's only memory between iterations. After each iteration, the climber should read the last N entries to understand what has been tried and what worked. The log is not a record for the operator — it is the climber's operational memory.

Supervision Protocol

The climber has minimal autonomy by design. It cannot flag that it's stuck or incorporate new ideas on its own. The supervising agent must monitor actively.

Intervention decisions:

  • Keep running — trend positive, still improving
  • Investigate — plateau detected, consider scope expansion or metric pivot
  • Inject information — make git commits that change the workspace; the climber picks up changes next iteration
  • Kill — stuck, budget exceeded, or hill no longer relevant

Peak detection → ridgeline traversal: When the hill is peaked, the supervising agent declares the peak, selects the next hill, and either reconfigures the current climb or starts a new one. See philosophy.md for the full framework.

Background Reading

For the theoretical framework behind mountaineering — VSM mapping, anti-gaming philosophy, recursive nesting, metric over-adherence — see philosophy.md. Understanding this background helps the supervising agent make better judgment calls, but it is not required for basic operation.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Mountaineering AI skill do?

Autonomous hill-climbing loops for continuous improvement. Use when optimizing something measurable — prompts, configs, code, predictions — through iterative propose/test/keep-or-revert cycles. Also use when figuring out WHAT to optimize and how to measure it.

Why use Mountaineering on TypingMind?

Because you install it once and use it with any model. Mountaineering is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Mountaineering in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/tkellogg/open-strix/tree/main/open_strix/builtin_skills/mountaineering. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Mountaineering?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Mountaineering?

As many as you like. As long as a model supports skills, you can use Mountaineering with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Mountaineering AI skill free?

Yes. It is published on GitHub by tkellogg under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇