Skip to main content

An MCP server that makes your AI agent learn and evolve โ€” one skill at a time.

Project description

MCP Server Python License Status

๐Ÿ› ๏ธ SkillForge

An MCP server that makes your AI agent learn and evolve โ€” one skill at a time.

Skills are reusable instructions that get better with every conversation.


โœจ What is SkillForge?

SkillForge is a Model Context Protocol (MCP) server that gives your AI agent a persistent, evolving skill library. Instead of repeating the same corrections and preferences every session, SkillForge captures them as skills โ€” structured instructions that the agent loads and follows automatically.

๐Ÿ’ก Think of it as muscle memory for your AI โ€” it learns your conventions once and applies them forever.

๐Ÿ”„ The Feedback Loop

  ๐Ÿ‘ค User gives feedback
        โ”‚
        โ–ผ
  ๐Ÿ” Agent detects improvement signal
        โ”‚
        โ–ผ
  ๐Ÿค– Sub-agent optimizes the skill
        โ”‚
        โ–ผ
  ๐Ÿ’พ Skill saved (auto-backed up)
        โ”‚
        โ–ผ
  โœ… Next task uses improved skill

๐Ÿš€ Quick Start

๐Ÿ“ฆ Installation

# Install from PyPI (recommended)
pip install skillforge-mcp

# Or with uv
uv pip install skillforge-mcp

โšก Run the Server

# Run directly
skillforge

# Or run without installing via uvx
uvx skillforge-mcp

๐Ÿ”Œ Connect to Claude Code

Add to your MCP config:

{
  "mcpServers": {
    "skillforge": {
      "command": "uvx",
      "args": ["skillforge-mcp"]
    }
  }
}
๐Ÿ’ก Alternative: install from source
git clone https://github.com/CatVinci-Studio/skillForge.git
cd skillForge
pip install -e .

๐Ÿงฉ Architecture

src/skillforge/
โ”œโ”€โ”€ ๐Ÿ  server.py              # MCP server definition & prompts
โ”œโ”€โ”€ ๐Ÿ“จ response.py            # Response formatting & feedback monitor
โ”œโ”€โ”€ ๐Ÿ“ skill_manager.py       # Core CRUD, backup, restore logic
โ”œโ”€โ”€ ๐Ÿ”ง tools/
โ”‚   โ”œโ”€โ”€ ๐Ÿ” discovery.py       # list_skills, get_skill
โ”‚   โ”œโ”€โ”€ โœ๏ธ  crud.py            # save_skill, delete_skill
โ”‚   โ”œโ”€โ”€ ๐Ÿ’พ backup.py          # list_backups, restore_skill
โ”‚   โ””โ”€โ”€ ๐Ÿง  optimization.py    # get_skill_guide, request_skill_optimization
โ””โ”€โ”€ ๐Ÿ“– guide/
    โ””โ”€โ”€ skill_writing_guide.md # Best practices for skill authoring

๐Ÿ“‚ Runtime Data

SkillForge stores its data in ~/.skillforge/:

Directory Purpose
~/.skillforge/skills/ ๐Ÿ“š Active skill library
~/.skillforge/backups/ ๐Ÿ—„๏ธ Automatic version history

๐Ÿ”’ Override with SKILLFORGE_SKILLS_DIR and SKILLFORGE_BACKUP_DIR environment variables.


๐Ÿ”ง Available Tools

Tool Description Who Calls It
๐Ÿ” list_skills List all skills (mandatory first call!) ๐Ÿค– Agent
๐Ÿ“– get_skill Load full skill instructions ๐Ÿค– Agent
โœ๏ธ save_skill Create or update a skill ๐Ÿค– Sub-agent
๐Ÿ—‘๏ธ delete_skill Remove a skill (with confirmation) ๐Ÿค– Sub-agent
๐Ÿ“‹ list_backups View version history for a skill ๐Ÿค– Agent
โช restore_skill Roll back to a previous version ๐Ÿค– Agent
๐Ÿ“– get_skill_guide Load the skill writing guide ๐Ÿค– Sub-agent
๐Ÿง  request_skill_optimization Trigger skill improvement ๐Ÿค– Agent
๐Ÿ“Š get_optimization_history View optimization log ๐Ÿค– Agent

๐Ÿ“ Skill Format

Each skill lives in its own directory as a SKILL.md file with YAML frontmatter:

---
name: my-skill
description: >
  What this skill does and when to trigger it.
  Be specific about trigger contexts.
---

# Skill Instructions

Your markdown instructions here...

๐Ÿท๏ธ Frontmatter Fields

Field Required Description
name โœ… Identifier (lowercase-with-hyphens, max 64 chars)
description โœ… Trigger conditions โ€” WHAT it does + WHEN to use it
disable-model-invocation โŒ true = only user can invoke
user-invocable โŒ false = only LLM can invoke
allowed-tools โŒ Tools allowed without per-use approval
context โŒ fork = run in isolated sub-agent

๐Ÿง  How Optimization Works

SkillForge continuously monitors conversations for improvement signals:

Signal Example Action
๐Ÿ”ด Correction "No, don't mock the database" Update relevant skill
๐ŸŸก Preference "Always use snake_case" Create or update skill
๐Ÿ”ต Pattern Same structure used 3+ times Bundle into new skill
๐ŸŸข Explicit "Add this to the review skill" Direct skill edit

๐Ÿ”’ Safety Guarantees

  • โœ… Auto-backup before every save and delete
  • โœ… One-click restore from any backup timestamp
  • โœ… Path traversal protection on all file operations
  • โœ… Atomic writes with file locking for optimization logs
  • โœ… Sub-agent isolation โ€” skill edits don't interrupt your main task

๐ŸŒŸ Why SkillForge?

Without SkillForge With SkillForge
๐Ÿ˜ค Repeat the same corrections every session ๐Ÿง  Agent remembers and applies automatically
๐Ÿ“‹ Conventions scattered across docs ๐Ÿ“ฆ Single source of truth per topic
๐ŸŽฒ Inconsistent agent behavior โœ… Deterministic, skill-guided responses
๐Ÿ”„ No learning from feedback ๐Ÿ“ˆ Skills evolve with every interaction

๐Ÿ›ฃ๏ธ Roadmap

  • ๐ŸŒ Skill sharing & import from remote repositories
  • ๐Ÿ“Š Analytics dashboard for skill usage & effectiveness
  • ๐Ÿ”— Cross-skill dependency management
  • ๐Ÿงช Skill testing framework with evaluation harness
  • ๐Ÿช Community skill marketplace

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


Built with โค๏ธ by CatVinci Studio

Forging better AI, one skill at a time. ๐Ÿ”จ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skillforge_mcp-0.1.0.tar.gz (67.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skillforge_mcp-0.1.0-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file skillforge_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: skillforge_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 67.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skillforge_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 48f9c9a7dc1a3342760fb0c42b556d5fa5d493f68f2ced3a24d4176b8f0c4d37
MD5 3605609f5d1865e25c69596b62838913
BLAKE2b-256 e6bfda2253dc59162946432cbcc4a0ecfa82083994541fdc2c71dff6c059be74

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillforge_mcp-0.1.0.tar.gz:

Publisher: publish.yml on CatVinci-Studio/skillForge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skillforge_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: skillforge_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skillforge_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7560834ef0a08135f3edad77a4d0de32485fc0e0b5bc8941e6fc4da58baa075
MD5 385694a4cbbaa65a6c236b3a5e504c23
BLAKE2b-256 cc2427ec7408a732c671c55ede4b41058d8c48e6086f724ecb2492a838d617f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillforge_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on CatVinci-Studio/skillForge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page