Ingot: versioning and review for agent skills

Ingot

A local MCP server that stores skills as versions and lets improved variants go live only after a human review

  • 51 ★ on the repository
  • Last commit
  • Apache-2.0
MCP serverOfficial

Extended access

Why this level

  • The server hands the agent its instructions, and `skills/` contents shape agent behavior with no review
  • Connectors write session prompts, responses and tool calls to Langfuse
All reasons and checks

slanchaai/ingot

Install

Manual install

git clone https://github.com/SlanchaAI/ingot.git && cd ingot

Then `cp .env.example .env` and a value for `API_KEY` or `BASE_URL` for Ollama or vLLM.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The server hands the agent its instructions, and `skills/` contents shape agent behavior with no review
  • Connectors write session prompts, responses and tool calls to Langfuse

This is third-party code. Review the repository files before installing.

What it does

Ingot is a local library and MCP server for agent skills. Every file in a skill folder gets a hash, so a version in a trace, in an evaluation report and on disk can be matched. The agent calls `route_and_load` at the start of a request: the server picks a skill by embeddings on the CPU, no GPU, and returns the current instructions. Improved variants go through quarantine. The SkillOpt integration takes real agent traces, trains bounded instruction edits and compares the old and new version on held-out tasks. The result is a proposal with per-case scores and token cost. Only a human can replace the live skill, by confirming the promotion in the UI. The previous version is kept, and rollback is available from the UI and the command line. The `docker compose up` command starts the router on port 8000, the UI on 8080 and a bundled Langfuse on 3100 for traces. Models go through OpenRouter or an OpenAI-compatible Ollama or vLLM endpoint. Claude Code and Codex have the `./scripts/claude_setup.sh` and `./scripts/codex_setup.sh` scripts.

Who it is for. Developers who keep their own skill library for Claude Code or Codex and want to test instruction edits on held-out tasks before they go live.

Good fit when

  • A Tailwind skill went stale and you want to run the fix on held-out tasks first
  • Several agents take skills from one place and you want a single server with versions
  • A new skill version made answers worse and you need to roll back to a snapshot
  • Decisions about instruction changes should leave a local log
  • You want Langfuse to show which skill and which version loaded for a request

Not a fit when

  • There are few skills and they change by hand once a month: a multi-container stack will not pay off
  • The server is meant for a team on a shared network: Ingot is built for one operator, and wider access has a separate hardened-setup guide
  • Sessions contain data that must not be stored in Langfuse: the connectors write prompts, responses and tool calls there
  • Docker is unavailable: the stack runs through Docker Compose 2.24.4 or newer

Example request

How do I merge several PDFs into one and add page numbers?

MCP

Transport
http
Authentication
not required

Environment variables

API_KEY secret
OpenRouter key for hosted models; `BASE_URL` can be set instead
BASE_URL
Address of an OpenAI-compatible Ollama or vLLM endpoint
AUTH_PASSWORD secret
Password of the review UI; change the default
INGOT_MCP_URL
MCP server address when it is not on localhost

Limitations

Docker, Docker Compose 2.24.4 or newer and free ports 8000, 8080 and 3100 are required. Models need an OpenRouter key or the address of a compatible Ollama or vLLM endpoint. The MCP endpoint has no built-in authentication, and the UI is protected by a default password that you should change through `AUTH_PASSWORD`. Files copied into `skills/` directly bypass quarantine and go live at once. The decision log is local and not tamper-proof.

How to disable. Run `claude mcp remove ingot` and stop the stack with `docker compose down` in the project directory.

FAQ

How do I connect Ingot to Claude Code?

Start the stack with `docker compose up -d`, then run `./scripts/claude_setup.sh`. The script adds the `ingot` MCP server at `http://localhost:8000/mcp` at user level and installs the Langfuse connector. The `--doctor` flag checks the setup without changing anything.

Why does the agent not call Ingot by itself?

Connecting the server only gives access to the tool. Add a standing rule to `CLAUDE.md` or `AGENTS.md`: call `ingot.route_and_load` at the start of a request and follow the returned `skill_body`.

Can SkillOpt replace a skill on its own?

No, it only proposes an edit. The variant lands in `runs/pending/` and waits for a decision, and only a human can replace the live skill after reviewing scores on held-out tasks.

Which models work?

OpenRouter with a key in `API_KEY`, or Ollama and vLLM at the address in `BASE_URL`. OpenRouter calls use zero-data-retention routing, enforced on every request.

Do I need a separate Langfuse?

No, `docker compose up` starts its own Langfuse on port 3100. For Langfuse Cloud or your own project use `docker-compose.external-langfuse.yml` and set the `LANGFUSE_*` variables.

Discussion

No questions or reviews yet.

A CLI and MCP server for Agent Skills: spec validation, installs from GitHub and on-demand loading of the right skill

CLIExtended access421Repository stars

Meta Skill (ms)

Meta Skill

Meta Skill (ms) keeps skills locally in SQLite and Git, searches them with a hybrid index and serves agents over MCP

CLIExtended access210Repository stars

A skill with 25 commands to audit and improve the prompts, tools and agent designs of a project in Cursor, Claude Code and Codex

SkillExtended access592Repository stars

An MCP server with vector search: the agent describes a task and gets matching skills from the Anthropic and K-Dense collections

MCP serverExtended access411Repository stars

A command-line skill manager: installs skills from a marketplace, GitHub, private Git and npm into 45 agents' folders and scans them first

CLIExtended access194Repository stars

A CLI and MCP server that turns doc sites, repos, PDFs and videos into skills and RAG-ready data

CLIExtended access15.3KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Ingot: versioning and review for agent skills (this card)yesnot required51
Agent Skill Managerno966finds and installs third-party skills with a pre-install check, while this one versions your own skills and reviews automatic edits
Langfuse Skillsyes333Langfuse skills teach an agent to set up tracing, while Ingot itself uses Langfuse for traces and manages skill versions

README in short

Ingot targets a single trusted operator and local development. The docs walk the full loop on a stale Tailwind skill: finding failing traces, optimizing, reviewing, promoting a version and rolling back. Network and security details sit in separate guides.

README badge

Report a problem

Foxx AIIngot: versioning and review for agent skills
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.