Skill Seekers Builder
yusufkaraaslan/Skill_Seekers
Detects the type of a knowledge source and uses the Skill Seekers MCP tools to turn docs, repos, PDFs or videos into packaged AI skills.
Configures and queries the fp-go MCP server so Claude Code, Claude Desktop or another MCP client can search fp-go's examples and skills directly.
$ npx skills add IBM/fp-go --skill fp-go-mcp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install IBM/fp-go fp-go-mcp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/IBM/fp-go.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/fp-go-mcp .claude/skills/fp-go-mcp && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fp-go-mcp" agent skill from https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcp into .claude/skills/fp-go-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fp-go-mcp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcpType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add IBM/fp-go --skill fp-go-mcp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install IBM/fp-go fp-go-mcp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/fp-go.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/fp-go-mcp .agents/skills/fp-go-mcp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fp-go-mcp" agent skill from https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcp into .agents/skills/fp-go-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fp-go-mcp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add IBM/fp-go --skill fp-go-mcp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install IBM/fp-go fp-go-mcp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/fp-go.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/fp-go-mcp .cursor/skills/fp-go-mcp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fp-go-mcp" agent skill from https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcp into .cursor/skills/fp-go-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fp-go-mcp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/IBM/fp-go.git --path skills/fp-go-mcp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add IBM/fp-go --skill fp-go-mcp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install IBM/fp-go fp-go-mcp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/fp-go.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/fp-go-mcp .gemini/skills/fp-go-mcp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fp-go-mcp" agent skill from https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcp into .gemini/skills/fp-go-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fp-go-mcp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install IBM/fp-go fp-go-mcpInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add IBM/fp-go --skill fp-go-mcp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/IBM/fp-go.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/fp-go-mcp .github/skills/fp-go-mcp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fp-go-mcp" agent skill from https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcp into .github/skills/fp-go-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fp-go-mcp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add IBM/fp-go --skill fp-go-mcp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install IBM/fp-go fp-go-mcp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/fp-go.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/fp-go-mcp .opencode/skills/fp-go-mcp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fp-go-mcp" agent skill from https://github.com/IBM/fp-go/tree/main/skills/fp-go-mcp into .opencode/skills/fp-go-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fp-go-mcp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fp-go-mcpConfigures and queries the fp-go MCP server so Claude Code, Claude Desktop or another MCP client can search fp-go's examples and skills directly.
The server lives inside the fp-go repository and is launched over stdio, so no global install is needed, only a go.mod in the working directory listing the generator as a tool dependency. For Claude Code it's added with a single command; for Claude Desktop it's added to the desktop app's own JSON config file, with separate paths given for macOS and Windows, followed by a restart to pick it up.
Once connected it exposes four tools: listing every available fp-go skill with its name, description and path, retrieving one skill's full content by name, searching Go examples with full-text search, and fetching one specific example by its symbol name. Any other MCP client just needs to run the same command over stdio, optionally with a verbose flag for debugging.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 446fd0a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
goclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
modelcontextprotocol.iopkg.go.devgithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
fp-go MCP Server Setup loads about 3.3k tokens when it runs. Until then it costs about 116 tokens; SKILL.md has 1,096 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from IBM/fp-go at commit 446fd0a, republished under its Apache-2.0 licence (© IBM). 1,096 words, ~3,250 tokens.
.claude/skills/fp-go-mcp/SKILL.md (or your agent's skills folder).The fp-go MCP (Model Context Protocol) server provides programmatic access to fp-go skills, examples, and documentation. It's located in github.com/IBM/fp-go/gen/v2 and can be integrated into any MCP-compatible client such as Claude Desktop.
Prerequisite: the working directory must contain a go.mod that lists github.com/IBM/fp-go/gen/v2 as a tool dependency (added via go get -tool). The server is launched with go tool gen mcp and uses stdio transport, so no global installation is needed.
The fp-go MCP server exposes four tools:
list_skills — List all available fp-go skillsuse_skill — Retrieve the full content of a specific skillsearch_examples — Search for Go examples using full-text searchget_example — Retrieve a specific example by symbol nameAdd the fp-go generator as a tool dependency in your project:
go get -tool github.com/IBM/fp-go/gen/v2This makes the tool available via go tool gen without requiring global installation.
Run in the project directory (the one whose go.mod has the tool dependency):
claude mcp add fp-go -- go tool gen mcpAdd to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fp-go": {
"command": "go",
"args": ["tool", "gen", "mcp"],
"env": {}
}
}
}After configuration, restart Claude Desktop to activate the server.
The server uses stdio transport and follows the MCP specification. Configure your client to:
go tool gen mcp--verbose flag for debugginglist_skillsDescription: List all available fp-go skills with their names, descriptions, and paths.
Parameters: None
Returns:
{
"skills": [
{
"name": "fp-go",
"description": "Core fp-go patterns and best practices",
"path": "fp-go"
},
{
"name": "fp-go-pipe-flow",
"description": "Pipe and Flow composition patterns",
"path": "fp-go-pipe-flow"
}
]
}Example Usage:
User: List all available fp-go skills
Assistant: [calls list_skills tool]Use Cases:
use_skillDescription: Retrieve the full content of a specific skill by name.
Parameters:
name (required): The skill name from list_skills (e.g., "fp-go", "fp-go-pipe-flow")Returns:
{
"name": "fp-go",
"description": "Core fp-go patterns and best practices",
"content": "# fp-go v2 — Functional Programming for Go\n\n..."
}Example Usage:
User: Show me the fp-go-pipe-flow skill
Assistant: [calls use_skill with name="fp-go-pipe-flow"]Use Cases:
Note: The content excludes the YAML frontmatter header — only the markdown content is returned.
search_examplesDescription: Search for Go examples using full-text search across example names, symbols, packages, documentation comments, and code.
Parameters:
query (required): a SQLite FTS5 MATCH expression, passed verbatim — not free text and not Go syntax (see Query Rules below)package_filter (optional): Filter by package, the path relative to the module root (e.g., "option", "either", "samples/mostly-adequate")Returns:
{
"examples": [
{
"id": "option::ExampleMap",
"package": "github.com/IBM/fp-go/v2/option",
"symbol": "Map",
"name": "ExampleMap",
"doc_comment": "// ExampleMap demonstrates mapping over an Option",
"code": "func ExampleMap() {\n\t...\n}",
"output": "Some(42)\n",
"imports": "import O \"github.com/IBM/fp-go/v2/option\"",
"file": "option/option_test.go"
}
],
"count": 1
}Query Rules (violating them yields fts5: syntax error or no such column):
TraverseArray or Curry1 reader.P.And or reader.Curry1 is a syntax error. Drop the qualifier and put the package into package_filter: query="And", package_filter="predicate".. : , ( ) [ ] - + ^ are FTS5 operators or invalid (foo-bar is read as column bar). Wrap such text in double quotes to make it a phrase: the query "reader.Curry1" (quotes included) matches the adjacent words reader Curry1.And predicate negation Not requires all four words in one example and usually finds nothing. Use 1–3 identifiers, or widen with OR: Not OR And.Curry does not match Curry1; use the prefix wildcard Curry*.AND, OR, NOT must be uppercase; NOT is binary (Map NOT Option), it cannot start a query.Search Syntax (the values below are the raw query strings):
Map — finds examples mentioning Map"point free" — exact phrase match (the double quotes are part of the query)Map AND Option — both terms required (same as Map Option)Chain OR FlatMap — either termTrav* — matches Traverse, TraverseArray, etc.query="Map", package_filter="option" — only option package| Instead of | Use |
|---|---|
P.And predicate negation Not | query="And OR Not", package_filter="predicate" |
reader.Curry1 Curry curried method | query="Curry*" (add package_filter="reader" only if that package has matching examples) |
O.Map | query="Map", package_filter="option" |
to-option | query="ToOption" |
package_filter must equal the package path relative to the module root exactly (option, array, samples/mostly-adequate); if a filtered search returns nothing, retry without the filter — not every package has examples for every function.
For an exact lookup of a known symbol, get_example is simpler than search_examples.
Example Usage:
User: Find examples of using Map with Option
Assistant: [calls search_examples with query="Map Option", package_filter="option"]
User: Show me examples of TraverseArray
Assistant: [calls search_examples with query="TraverseArray"]Use Cases:
Limits: Returns up to 10 results, ranked by relevance.
get_exampleDescription: Retrieve examples by symbol name. Matches the symbol or example function name exactly or as a substring, across all packages.
Parameters:
symbol (required): Symbol name without package qualifier (e.g., "Map", "Type.Method") or example function name (e.g., "ExampleMap"). "Map" also returns MapLeft, BiMap, … from every package; use search_examples with package_filter to narrow to one package.Returns:
{
"examples": [
{
"id": "option::ExampleMap",
"package": "github.com/IBM/fp-go/v2/option",
"symbol": "Map",
"name": "ExampleMap",
"doc_comment": "// ExampleMap demonstrates mapping over an Option",
"code": "func ExampleMap() {\n\t...\n}",
"output": "Some(42)\n",
"imports": "import O \"github.com/IBM/fp-go/v2/option\"",
"file": "option/option_test.go"
}
],
"count": 1
}Example Usage:
User: Get the example for Option.Map
Assistant: [calls get_example with symbol="Map"]
User: Show me the ExampleTraverseArray example
Assistant: [calls get_example with symbol="ExampleTraverseArray"]Use Cases:
Note: A package-qualified name such as Array.Map or O.Map matches nothing, because the stored symbol is Map.
1. User: "What fp-go skills are available?"
→ Assistant calls list_skills
→ Returns: fp-go, fp-go-pipe-flow, fp-go-context, fp-go-http, fp-go-logging, fp-go-lens, fp-go-effect, fp-go-pattern-matching, fp-go-pr-review, fp-go-mcp
2. User: "Show me the fp-go-pipe-flow skill"
→ Assistant calls use_skill(name="fp-go-pipe-flow")
→ Returns full skill content with examples and best practices
3. User: "Now help me refactor this code using Pipe"
→ Assistant uses the loaded skill to provide guidance1. User: "How do I use TraverseArray?"
→ Assistant calls search_examples(query="TraverseArray")
→ Returns ranked examples with code
2. User: "Show me more examples from the array package"
→ Assistant calls search_examples(query="Traverse", package_filter="array")
→ Returns array-specific examples
3. User: "Get the example for array Map"
→ Assistant calls search_examples(query="Map", package_filter="array")
→ Returns the array examples with full code1. User: "I need to work with Option types"
→ Assistant calls list_skills to find relevant skills
→ Loads fp-go skill with use_skill(name="fp-go")
2. User: "Show me examples of Option.Map"
→ Assistant calls search_examples(query="Map", package_filter="option")
→ Returns examples with code and output
3. User: "How do I compose multiple Option operations?"
→ Assistant references the loaded skill content
→ Calls search_examples(query="Flow Option") for examples
→ Provides guidance based on skill + examplesIssue: Tool not found or not working
Solution: Ensure the tool is installed in your project:
go get -tool github.com/IBM/fp-go/gen/v2Then run with:
go tool gen mcpIssue: list_skills returns empty list
Solution: The skills are embedded at build time. Update the tool:
go get -tool github.com/IBM/fp-go/gen/v2@latestIssue: search_examples finds nothing
Solution:
package_filter="option" instead of "Option.Map"), or a prefix (Curry*)Enable verbose mode to see detailed execution:
go tool gen mcp --verboseLogs go to stderr and include:
use_skill when needed, not preemptivelysearch_examples to find relevant examples, then get_example for detailspackage_filtergo get -tool github.com/IBM/fp-go/gen/v2@latest when fp-go or skills are updated© IBM, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/fp-go-mcp of IBM/fp-go.
Open the folder on GitHubat commit 446fd0a
fp-go MCP Server Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| fp-go MCP Server Setup this skillIBM/fp-go | 2k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Skill Seekers Builderyusufkaraaslan/Skill_Seekers | 15k | — | ~760 | Automated safety check: Pass | MIT | |
| MCP Apps Builderawslabs/cli-agent-orchestrator | 1.4k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Local DevSmilyOrg/photofield | 608 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Releasejgravelle/jcodemunch-mcp | 2.7k | — | ~6.5k | Automated safety check: Pass | Custom licence | |
| Open PRArcadeAI/arcade-mcp | 1k | — | ~2.9k | Automated safety check: Pass | MIT |
yusufkaraaslan/Skill_Seekers
Detects the type of a knowledge source and uses the Skill Seekers MCP tools to turn docs, repos, PDFs or videos into packaged AI skills.
awslabs/cli-agent-orchestrator
Load the official MCP Apps builder skills (create-mcp-app, migrate-oai-app, add-app-to-server, convert-web-app) from github.com/modelcontextprotocol/ext-apps.
SmilyOrg/photofield
Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.
jgravelle/jcodemunch-mcp
Publishing a jMunch release (jcodemunch-mcp, jdocmunch-mcp, jdatamunch-mcp, jragmunch-cli), reviewing/merging/closing PRs, and responding to the community.
ArcadeAI/arcade-mcp
Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.
activepieces/activepieces
Triage the GitHub privately-reported vulnerability backlog for Activepieces — pull repository security advisories from the Security tab, scope-check against SECURITY.md, deeply validate each…
IBM/fp-go
Covers handling Go's context.Context idiomatically in fp-go code: reading and scoping context through operators, timeouts, cancellation and converting ctx-first functions.
IBM/fp-go
Teaches an agent to write fp-go v2 services with the Effect type, carrying dependencies in its type parameter instead of in context.Context or parameters.
IBM/fp-go
Shows how to build composable, context-aware HTTP pipelines in Go using fp-go's ReaderIOResult monad instead of raw net/http calls.
IBM/fp-go
Generates or hand-writes composable lenses for the fp-go library so nested Go structs can be read and updated immutably.
IBM/fp-go
Adds logging to fp-go functional pipelines with Tap operators, entry and exit logs and error context, so that logging never changes the value or error flowing through.
IBM/fp-go
Guides writing or reviewing point-free, first-match-wins case lists in fp-go v2 Go code instead of switch statements and if-else chains.
Works with
Categories
Configures and queries the fp-go MCP server so Claude Code, Claude Desktop or another MCP client can search fp-go's examples and skills directly. mod in the working directory listing the generator as a tool dependency. For Claude Code it's added with a single command; for Claude Desktop it's added to the desktop app's own JSON config file, with separate paths given for macOS and Windows, followed by a restart to pick it up.
fp-go MCP Server Setup fits situations like: setting up the fp-go MCP server for Claude Code or Claude Desktop; searching fp-go's bundled Go examples by keyword; retrieving the full content of a specific fp-go skill.
Run `npx skills add IBM/fp-go --skill fp-go-mcp -a claude-code`. Or copy the skill folder (skills/fp-go-mcp in IBM/fp-go) into .claude/skills/fp-go-mcp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add IBM/fp-go --skill fp-go-mcp -a codex`. Or copy the skill folder (skills/fp-go-mcp in IBM/fp-go) into .agents/skills/fp-go-mcp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add IBM/fp-go --skill fp-go-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fp-go-mcp, .gemini/skills/fp-go-mcp, .github/skills/fp-go-mcp and .opencode/skills/fp-go-mcp in your project.
Going by SKILL.md and its folder, fp-go MCP Server Setup needs the command-line tools its instructions call (go and claude). Our summary lists: Go 1.24+; A `go.mod` listing the fp-go generator as a tool dependency.
SKILL.md names 3 domains. As links in the text: modelcontextprotocol.io, pkg.go.dev and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
fp-go MCP Server Setup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with fp-go MCP Server Setup: Skill Seekers Builder (yusufkaraaslan/Skill_Seekers, 15k stars), MCP Apps Builder (awslabs/cli-agent-orchestrator, 1.4k stars), Local Dev (SmilyOrg/photofield, 608 stars) and Release (jgravelle/jcodemunch-mcp, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
IBM (a GitHub organization, an official publisher) maintains it in IBM/fp-go, which has 2,030 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 10, 2026.
Source: IBM/fp-go on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.