GearCore
One skill to rule them all.
๐ Project website
GearCore is a unified skill and MCP hub that aggregates all your AI tools behind a single, progressively-disclosed interface. Instead of copying the same MCP server configs into Claude, Codex, Kimi, and every new project, you register everything once in GearCore and expose it as one native skill that every AI CLI tool discovers automatically.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ BEFORE: Context window bloat โ
โ โ
โ Claude: 12 MCP servers ร 200 tokens each = 2,400 tokens โ
โ Kimi: Same 12 configs, copied again โ
โ Codex: Same 12 configs, copied again โ
โ Every project: repeat โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AFTER: GearCore โ
โ โ
โ Claude โ gearcore skill โ request_skill("web-research") โ
โ Kimi โ gearcore skill โ request_skill("filesystem") โ
โ Codex โ gearcore skill โ request_skill("memory") โ
โ โ
โ Tools hidden until needed. Context window stays lean. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The numbers above are illustrative, not measured. The structural claim โ one config instead of N copies per tool per project โ is what matters; exact token costs depend on each client's MCP schema serialization.
Features
- ๐ญ Appears as a native skill โ AI tools invoke
gearcoredirectly via their skill discovery. No MCP config duplication. - ๐ Progressive disclosure โ Tools stay hidden until you explicitly unlock a skill via
request_skill. Your context window stays clean. - ๐ Project scoping โ Each project can allowlist only the skills it needs via
.gearcore/config.yaml. - ๐ง Core reasoning discipline โ Auto-activated zero-tool skills (like
first-principles-scientific-mindset) set default reasoning norms without adding tool noise. - โช Level-0 skills โ
disclosure.core_skillsmarks skills revealed by default:list-skillsprints their full instructions andsyncembeds them into the self-skill. - โ๏ธ Conflict resolution โ When multiple MCP servers expose the same tool name, GearCore deduplicates, namespaces, or unifies them automatically.
- ๐ One sync to all tools โ
gearcore syncinstalls the self-skill into Claude, Codex, Kimi, and OpenCode in one command.
Client support
Verified end-to-end on 2026-08-25: gearcore sync installs the self-skill into each client's
skill-discovery directory (symlink to a canonical copy), the link resolves, and the skill loads.
The MCP hub handshake was verified with a live stdio client (verify_hub.py).
| Client | Install target | Discovery | Hub handshake |
|---|---|---|---|
| Claude Code | ~/.claude/skills/gearcore |
โ | โ |
| Codex CLI | ~/.codex/skills/gearcore |
โ | โ |
| Kimi CLI | ~/.kimi/skills/gearcore |
โ | โ |
| OpenCode | ~/.config/opencode/skills/gearcore |
โ | โ |
Installation
Requires Python 3.13+ and uv.
# Install from a local clone (primary path today; no public release yet)
git clone https://github.com/BlinkVoid/GearCore.git && cd GearCore
uv tool install .
# Install the self-skill into Claude, Codex, Kimi, OpenCode
gearcore sync
Quick Start
1. Check your setup
gearcore status
2. Register an MCP server
# Filesystem access
gearcore add-mcp --id filesystem --type stdio \
--command npx --args -y @modelcontextprotocol/server-filesystem /home/user/workspace
# Web research via Playwright
gearcore add-mcp --id playwright --type stdio \
--command npx --args -y @playwright/mcp
3. Register a skill bundle
# A skill is just a directory with SKILL.md + manifest.json
gearcore add-skill /path/to/my-skill
4. Or onboard a whole core package
gearcore onboard /path/to/core
Discovers skills/*/SKILL.md and MCP scripts in pyproject.toml, then registers what is found.
5. Updating resources
# Update everything (MCP servers, skills, superpowers, self-skill sync)
gearcore update
# Update a single MCP server or skill
gearcore update mcp promptcore
gearcore update skill memory
# Preview changes without applying
gearcore update --dry-run
6. See what's available
gearcore list-skills
# GearCore skills (global context):
# web-research โ Web browsing and research via Playwright
# filesystem โ Secure filesystem access
# memory โ Persistent memory via MemCore
7. AI tools use it
Once synced, Kimi/Claude/Codex/OpenCode loads GearCore as a skill and follows this flow:
AI: gearcore list-skills
โ sees: web-research, filesystem, memory
AI: gearcore request-skill web-research
โ SKILL.md injected into context
โ Playwright tools unlocked: browser_navigate, browser_click, ...
AI: gearcore call playwright browser_navigate '{"url": "https://example.com"}'
โ result returned
How It Works
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ Claude Code โ โ Codex CLI โ โ Kimi CLI โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ โ
โโโโโโโโโโโฌโโโโโโโโดโโโโโโโโโโฌโโโโโโโโ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ~/.config/agents/skills/ โ
โ gearcore/SKILL.md โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ GearCore CLI โ
โ โโโโโโโโโโโโโโโโโโโ โ
โ โ Config Loader โ โ โ global + project layers
โ โ Skill Manager โ โ โ visibility gating
โ โ Process Manager โ โ โ shared MCP backends
โ โConflict Resolverโ โ โ dedup / namespace
โ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โfilesystemโ โplaywrightโ โ memcore โ
โ (stdio) โ โ (stdio) โ โ (sse) โ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
Progressive Disclosure Flow
gearcore serve starts
โ
list_tools โ returns only: list_skills, request_skill (bootstrap)
โ
AI calls list_skills โ sees available skills
โ
AI calls request_skill("web-research") โ SKILL.md injected, tools unlocked
โ
list_tools โ now includes browser_navigate, browser_click, ...
Layered Configuration
~/.config/gearcore/
config.yaml โ global: all MCPs, all skills, disclosure rules
skills/ โ global skill bundles
<project>/.gearcore/
config.yaml โ project: allowlist subset, project-local MCP defs, overrides, context name
skills/ โ project-local skills (always visible in project)
Resolution order: built-in defaults โ global โ project. Projects narrow global scope via allowlists. Project-local definitions (.gearcore/skills/ and project registry.mcp_servers) are always visible in that project, never outside it; a project MCP def overrides a global one with the same id.
CLI Reference
| Command | Description |
|---|---|
gearcore list-skills |
List available skills in current context |
gearcore request-skill <name> |
Unlock a skill and expose its tools |
gearcore call <server> <tool> '<json>' |
One-shot tool invocation on an MCP backend |
gearcore status |
Show effective config and running context |
gearcore serve |
Run the MCP hub (used automatically by AI tools) |
gearcore add-mcp |
Register a new MCP server (--scope project for a project-local def, add --allowlist to allowlist an existing global server instead) |
gearcore add-skill <path> |
Register a skill bundle |
gearcore onboard <core-path> |
Discover and register MCP servers and/or skills from a core package |
gearcore add-cli <program> |
Wrap a CLI program into a skill |
gearcore remove mcp|skill <name> |
Remove an MCP or skill |
gearcore sync |
Install self-skill to Claude / Codex / Kimi / OpenCode |
gearcore update [mcp|skill|superpowers] [name] |
Version-aware refresh of registered resources, then re-sync |
All commands accept --project <path> for project-scoped context and -v for verbose output.
Writing a Skill
A skill bundle is just a directory with two files:
my-skill/
SKILL.md โ instructions for the AI (markdown + YAML frontmatter)
manifest.json โ metadata: name, description, MCP server mappings
SKILL.md:
---
name: my-skill
description: What this skill does
---
# My Skill
When the user asks about X, do Y.
## Tools
Use `gearcore call my-server <tool> '<args>'` to invoke tools.
manifest.json:
{
"name": "my-skill",
"version": "1.0.0",
"description": "What this skill does",
"category": "general",
"mcp_servers": [
{
"server_id": "my-server",
"tools": ["tool_a", "tool_b"]
}
]
}
See SKILL_SCHEMA.md for the full specification.
Documentation
- ARCHITECTURE.md โ system design and data flow
- CONFIG_SCHEMA.md โ config file specification
- SKILL_SCHEMA.md โ skill bundle format
- CONFLICT_RESOLUTION.md โ deduplication strategy
- DESIGN_RATIONALE.md โ why skill-first, not MCP-first
Development
# Clone
git clone https://github.com/BlinkVoid/GearCore.git
cd GearCore
# Install in editable mode
uv pip install -e ".[dev]"
# Run integration tests
uv run python verify_hub.py
uv run python verify_skills.py
# Run the hub manually
uv run gearcore serve
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gearcore-2.2.0.tar.gz.
File metadata
- Download URL: gearcore-2.2.0.tar.gz
- Upload date:
- Size: 271.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a8af3b1d758742217f61dc52c63e71e96b9d72abcb7deb53c0e1010607ab895
|
|
| MD5 |
1261071930c48cf5c75fe463187feecd
|
|
| BLAKE2b-256 |
1a1c52f227a523faa0b81b503769d61b0fbc26e47cef64f91531e9b999766fff
|
Provenance
The following attestation bundles were made for gearcore-2.2.0.tar.gz:
Publisher:
publish-pypi.yml on BlinkVoid/GearCore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gearcore-2.2.0.tar.gz -
Subject digest:
1a8af3b1d758742217f61dc52c63e71e96b9d72abcb7deb53c0e1010607ab895 - Sigstore transparency entry: 2583717713
- Sigstore integration time:
-
Permalink:
BlinkVoid/GearCore@984b70085147abe51f7ace0e2dc9578599462cfc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/BlinkVoid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@984b70085147abe51f7ace0e2dc9578599462cfc -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gearcore-2.2.0-py3-none-any.whl.
File metadata
- Download URL: gearcore-2.2.0-py3-none-any.whl
- Upload date:
- Size: 204.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0790226ccef7cd19e539f6124e321d9ce3559795cbc550c8b6b2018ab60e4644
|
|
| MD5 |
5e316d948d6ee17352ba316415f1c69b
|
|
| BLAKE2b-256 |
1f8106e827f872d77c218538cf4773022adc776691ac8430415b7c5c0cbcee57
|
Provenance
The following attestation bundles were made for gearcore-2.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on BlinkVoid/GearCore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gearcore-2.2.0-py3-none-any.whl -
Subject digest:
0790226ccef7cd19e539f6124e321d9ce3559795cbc550c8b6b2018ab60e4644 - Sigstore transparency entry: 2583717817
- Sigstore integration time:
-
Permalink:
BlinkVoid/GearCore@984b70085147abe51f7ace0e2dc9578599462cfc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/BlinkVoid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@984b70085147abe51f7ace0e2dc9578599462cfc -
Trigger Event:
workflow_dispatch
-
Statement type: