Skills Wiki
Allows Gemini to connect to the server through the MCP endpoint and use enabled skills.
Allows ChatGPT Custom GPTs to use enabled skills as actions via the server's OpenAPI endpoint.
Skills Wiki — Local AI Skills Manager
An open-source, fully local AI skills manager. Connect 120+ community-built skill packs to Claude, ChatGPT, or Gemini — all running on your own machine, no accounts, subscriptions, or cloud services required.
Browse skills, enable what you need, copy your local connection URL, and start working smarter in minutes.
Table of Contents
Related MCP server: skill-curator-mcp
1. How It Works
Skills Wiki runs two processes on your machine:
Your AI Assistant (Claude / ChatGPT / Gemini)
│
│ MCP protocol or OpenAPI
▼
Python MCP Server — http://localhost:8000
(FastMCP, mounts all enabled skills)
│
│ reads config
▼
data/local_config.json
(enabled skills, connections, per-skill settings)
▲
│ manages via UI
Next.js Dashboard — http://localhost:3000The Python server (
main.py) loads every skill inskills_library/at startup and exposes them over the MCP protocol atlocalhost:8000/mcpand as an OpenAPI schema atlocalhost:8000/openapi.json.The dashboard (
dashboard/) is a Next.js app for browsing skills, toggling what's active, copying connection URLs, running skill tools, and managing connected services.data/local_config.jsonis the single source of truth — no database, no cloud.
Everything runs locally. Your data never leaves your machine.
2. Tech Stack & Project Structure
Tech Stack
Frontend Dashboard (Next.js)
Next.js 15 — React 19, App Router, server components
TypeScript 5 — strict mode enabled
Tailwind CSS 3 — utility-first styling with custom v4 design tokens
shadcn/ui — accessible UI components
JetBrains Mono — monospace font for the terminal-style UI
Backend MCP Server (Python)
FastMCP — Model Context Protocol SDK; each skill is a mounted namespace
Python 3.10+ — async throughout
python-dotenv — environment variable management
Storage
data/local_config.json— all state in one JSON file: enabled skills, connections, per-skill configs, and auto-generated credentials
Project Structure
skills_wiki_opensource/
├── main.py # FastMCP server entry point
├── requirements.txt # Python dependencies
├── .env.example # Environment variable template
├── package.json # Root scripts (setup, dev, etc.)
│
├── data/
│ └── local_config.json # All runtime state (auto-created on first run)
│
├── core/ # Python server utilities
│ ├── config.py # Reads enabled_skills from local_config.json
│ ├── db.py # JSON read/write helpers
│ ├── skill_config.py # Per-skill presentation hints
│ ├── skill_runtime.py # Skill execution helpers
│ └── credentials.py # Service credential resolution
│
├── skills_library/ # 120+ MCP skill packs
│ ├── marketing_skills/ # Example skill
│ │ ├── main.py # FastMCP tool definitions
│ │ ├── skill_meta.json # Metadata: displayName, description, theme
│ │ ├── skill_files/ # Cached reference docs, indexed via _index.json
│ │ └── __init__.py
│ └── ... (120+ skill folders)
│
├── scripts/
│ └── add_skill.py # Install a skill from a GitHub repo
│
└── dashboard/ # Next.js frontend
├── app/
│ ├── dashboard/ # Main control center
│ ├── marketplace/ # Browse & enable skills
│ ├── connections/ # Manage third-party service credentials
│ ├── config/ # Per-skill customization
│ ├── setup/ # Platform connection guides
│ └── api/ # Next.js API routes
│ ├── skills/ # PATCH — update enabled skills
│ ├── skill-tools/ # GET — list tools for a skill
│ ├── tool-run/ # POST — run a skill tool
│ ├── connections/ # GET/POST/DELETE — manage services
│ └── config/ # GET/POST/DELETE — per-skill settings
├── components/
│ ├── DashboardClient.tsx # Active skills panel + credentials panel
│ ├── CredentialsPopup.tsx # Copyable CLIENT_ID, API_KEY, URLs
│ └── ...
└── lib/
├── skills.ts # Skill registry (500+ skills, 40+ themes)
├── local-db.ts # JSON config read/write
└── utils.ts # URL helpers, key masking3. Getting Started
Prerequisites
Python 3.10 or higher
Node.js 18 or higher
A Gemini API key (optional — only needed to install new skills from GitHub)
Install & Run
# 1. Clone the repo
git clone https://github.com/appleaa123/skills-wiki.git
cd skills-wiki
# 2. Copy the environment file (add your Gemini key if you plan to add skills)
cp .env.example .env
# 3. Install all dependencies (Python + Node)
npm run setup
# 4. Start both servers
npm run devOpen http://localhost:3000 in your browser.
The MCP server starts at http://localhost:8000. Your credentials and connection URLs are generated automatically on first launch and shown on the dashboard.
What npm run dev starts
Process | URL | Purpose |
Python FastMCP server | Serves skills over MCP and OpenAPI | |
Next.js dashboard | Management UI |
Both processes run concurrently. Stop them with Ctrl+C.
4. Dashboard Walkthrough
Navigate to http://localhost:3000/dashboard after starting the app.
Command Line Strip
At the top of the page, a status bar shows:
$ skills-wiki status --verbose ● gateway: live ● plan: localPlan Strip
plan = "local" // running fully local — no cloud requiredTwo-Column Grid
The main section splits into two panels side by side:
Left — active_skills[]
Lists all your currently enabled skills. Each skill shows as a card with its name and function count.
Click a card → expands to show all tools/functions inside that skill with checkboxes
Check tools → select the ones you want to run
▶ run→ executes selected tools and displays the output as formatted markdowncopy→ copies the markdown output to clipboard so you can paste it into any AI chat
This is the core workflow: expand a skill, select a function, run it, copy the result, paste it into Claude or ChatGPT to give the AI detailed context for that topic.
--editbutton → switches to edit mode with toggle switches; enable or disable individual skills--save→ persists changes todata/local_config.json+ install more from ./marketplace→ opens the marketplace to add more skills
Right — gateway_credentials
Shows all the information you need to connect your AI assistant:
Field | Value |
| Auto-generated UUID (stored in |
| Auto-generated bearer token — masked by default, click |
|
|
|
|
|
|
Every field has a copy button. Click cat ./setup_guide → for step-by-step platform instructions.
Danger Zone
The rm -rf ./connection button clears all active skills and connections from your local config. This is irreversible.
5. Connecting Your AI Assistant
Navigate to http://localhost:3000/setup for per-platform guides. A summary:
Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add:
{
"mcpServers": {
"skills-wiki": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}Restart Claude Desktop. Your enabled skills appear as tools.
Note: Claude Desktop must be able to reach
localhost:8000. Ensure the Python server is running before opening Claude Desktop.
Claude.ai (Remote MCP)
Claude.ai requires a publicly accessible MCP URL. For local use, expose your server with a tunnel tool:
# Example using ngrok
ngrok http 8000Then use the HTTPS URL ngrok provides in Claude.ai → Settings → Connectors → Add Custom Connector.
ChatGPT Custom GPT
Go to
chatgpt.com→ Explore GPTs → Create → Configure → Actions → Add actionImport from URL:
http://localhost:8000/openapi.json(or your ngrok URL for remote access)Set Authentication → API Key → paste the
API_KEYvalue from the dashboardSave the Custom GPT
Gemini
Gemini supports MCP via the same URL as Claude: http://localhost:8000/mcp.
6. Using the Active Skills Panel
This panel is the primary way to interact with skills before connecting them to an AI assistant. It lets you preview what a skill does, get its guidance text, and copy it to paste directly into any AI chat — no formal MCP connection needed.
Step-by-step flow
Go to the dashboard →
http://localhost:3000/dashboardExpand a skill card — click the
▶arrow next to any skill nameWait for tools to load — the panel fetches all available functions from
main.py(shows// loading tools…briefly)Check one or more tools — each checkbox represents a skill function (e.g.,
cold-email,product-marketing-context)Click
▶ run (N selected)— the panel runs the selected tools and displays formatted markdown outputClick
copy— the button changes to✓ tools are copiedPaste into your AI chat — open Claude, ChatGPT, or Gemini and paste. The AI now has the full skill context to follow
What does "run" actually do?
When you run a tool:
The dashboard calls
POST /api/tool-runwith the skill name and selected toolIt first tries to call the Python MCP server at
localhost:8000/mcpusing JSON-RPCIf the server isn't reachable, it falls back to reading the guidance text directly from
skills_library/{skill}/main.pyThe result — typically detailed markdown with instructions, frameworks, or structured guidance — appears in the panel
This means the run feature works even when the Python server isn't running, as long as the skill has guidance text embedded in its main.py.
7. Adding New Skills
From the UI
Go to http://localhost:3000/config, then Link a Skill from GitHub. Paste any public GitHub repo URL that contains FastMCP skill definitions. The skill is installed to skills_library/ and activated immediately.
Requires GEMINI_API_KEY in your .env for AI-assisted skill generation.
From the command line
# Add a skill from a public GitHub repo
python3 scripts/add_skill.py --url https://github.com/org/repo --name my_skill
# Force the entire repo to be treated as one skill (no auto-split)
python3 scripts/add_skill.py --url https://github.com/org/repo --name my_skill --no-split
# Add only a specific subdirectory
python3 scripts/add_skill.py \
--url https://github.com/org/repo \
--name my_skill \
--subdir "skills/marketing"
# Add from a local file or folder
python3 scripts/add_skill.py --file ~/path/to/tools.py --name my_skill
python3 scripts/add_skill.py --file ~/path/to/skill-folder/ --name my_skillAfter adding a skill, enable it from the dashboard marketplace. Then restart the Python server so it picks up the new skill:
# Stop the running server (Ctrl+C), then restart
npm run devSkill format
Each skill in skills_library/ is a folder with at minimum:
main.py— defines aFastMCPinstance namedmcpwith tool functionsskill_meta.json— metadata:display_name,description,theme,source_repo__init__.py— empty file (required for Python module loading)
Example skill_meta.json:
{
"display_name": "Marketing Skills",
"description": "Conversion, content, SEO, and growth skills.",
"source_repo": "https://github.com/coreyhaines31/marketingskills",
"theme": "marketing"
}Example main.py structure:
from fastmcp import FastMCP
mcp = FastMCP("my-skill")
_SKILLS = {
"my-tool": {
"description": "Does something useful.",
"guidance": """# My Tool\n\nDetailed instructions here...""",
}
}
@mcp.tool()
def get_my_skill(skill_name: str) -> str:
"""Returns guidance for the requested skill."""
skill = _SKILLS.get(skill_name)
if not skill:
return f"Unknown skill: {skill_name}"
return skill["guidance"]8. Per-Skill Configuration
Go to http://localhost:3000/config to customize how each skill behaves.
For each installed skill you can set:
Setting | Options |
Tone | Formal, Casual, Technical |
Format | Prose, Bullet points, Table |
Response Length | Brief, Standard, Detailed |
Language | Any (e.g., "Spanish", "French") |
Custom Instructions | Free-text override appended to every response |
Settings are stored in data/local_config.json under skill_configs.
9. Connecting External Services
Go to http://localhost:3000/connections to add credentials for third-party services your skills need (GitHub tokens, Notion API keys, custom HTTP endpoints, etc.).
Credentials are stored in plaintext in data/local_config.json. Treat this file like a .env file — do not commit it to version control.
Skills that need external services read credentials from this store at runtime via core/credentials.py.
10. Environment Variables
Copy .env.example to .env and fill in what you need:
cp .env.example .envVariable | Required | Purpose |
| Optional | AI-assisted skill generation when adding skills from GitHub |
| Optional | Override the MCP server URL (default: |
The dashboard reads NEXT_PUBLIC_GATEWAY_BASE_URL to construct the CLAUDE_URL, CHATGPT_URL, and GEMINI_URL values shown in the credentials panel. Set this if you expose your server over a tunnel or run the server on a non-default port.
11. Skill Library
Every folder in skills_library/ is one skill pack, included out of the box. The table below covers most of them; run ls skills_library for the full, current list.
Skill | Source |
activity_log | |
addy_coding | |
agency_agents | |
agent_scan | |
agent_toolkit | |
ai_coding_skills | |
algorithmic_art | |
amazon_skills | |
anthropic_cybersecurity_skills | |
anthropics_official | |
app_preflight | |
app_store_cli | |
apple_bridge | |
aso_skills | |
auto_claude_code_research_in_sleep | |
awesome_claude_skills | |
better_auth | |
book_translator | |
bootstrap | |
brave | |
brian_wagner | |
charlie_cfo | |
claude_apple_bridges | |
claude_bootstrap | |
claude_code_startup | |
claude_ecom | |
claude_for_legal | |
claude_memory | |
claude_seo | |
claude_speed_reader | |
clickhouse | |
coderabbit | |
codex_collab | |
coinbase | |
composiohq | |
context_eng | |
creative_director | |
cybersecurity | |
data_structures | |
dev_agent | |
duckdb | |
ecommerce_skills | |
email_marketing | |
figma | |
firebase | |
founder_skills | |
frontend_slides | |
gemini_official | |
general_skills | |
graphify | |
gstack | |
health | |
home_assistant | |
huggingface | |
humanizer | |
industry_expert | |
ios_simulator | |
kicad_happy | |
lambdatest | |
last30days | |
linear_claude | |
marketing_skills | |
materials_sim | |
mattpocock_skill | |
mcollina | |
memory_kit | |
model_hierarchy | |
mongodb | |
neondatabase | |
nodejs_skill | |
notebooklm | |
notion_cookbook | |
notion_official | |
opc_skills | |
openai | |
optimizer | |
pixelle_video | |
platform_design | |
playwright | |
product_manager_skills | |
property_management | |
property_staging | |
qdrant | |
recursive_decomp | |
rednote_bootstrap | |
resend | |
resume_skills | |
rootly_mcp | |
scientific_agent | |
seo_geo | |
shpigford | |
skill_seekers | |
sleep_research | |
snyk_scan | |
speed_reader | |
startup_code | |
supabase | |
superpowers | |
superpowers_lab | |
swift_patterns | |
swiftui_agent | |
taste_skill | |
tinybird | |
tutor_skills | |
tvc_director | |
tweetclaw | |
ui_skills | |
ui_ux_pro | |
understand_code | |
varlock | |
vercel | |
vexor | |
vibesec | |
video_db | |
volt_agent | |
web_quality | |
wonda | |
wordpress | |
x_publisher | |
youtube_clipper |
12. License
apache license 2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseAqualityDmaintenanceAI-to-AI economic marketplace with on-chain USDC escrow on Base L2. Agents browse skills, hire each other, manage jobs, release payments, and handle disputes via AI Judge. 15 MCP tools, reputation scoring.153MIT- AlicenseNot gradedqualityAmaintenanceEnables AI agents to intelligently match tasks to skills through semantic embeddings, track skill effectiveness, detect skill gaps, and discover new skills from external sources.Apache 2.0
- AlicenseAqualityCmaintenanceEnables AI assistants to search, discover, and get recommendations from 20,000+ skills, tools, agents, rules, and MCP servers.5261MIT
- AlicenseNot gradedqualityDmaintenanceEnables discovery, invocation, publishing, and rating of AI Agent skills from the Sayba Skill Market.40MIT
Related MCP Connectors
Agent-to-agent marketplace for AI task discovery, matching, delivery, and trust.
Skill market run by AI agents: register, publish skills, vote weekly, buy winners with credits.
The everything store for AI agents: a skill marketplace on Solana where agents hire each other.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/appleaa123/skills-wiki'
If you have feedback or need assistance with the MCP directory API, please join our Discord server