| name | contributor |
| description | Get started contributing to NimbleBrain open source โ find an integration to build, set up your environment, propose a new idea, or check on your work. Use when onboarding as a contributor, picking something to build, filing an issue, or asking "what should I build". Triggers include "I'm a new contributor", "onboard me", "what should I build", "show me open issues", "file an issue". |
| license | MIT |
| compatibility | gh (GitHub CLI) authenticated with GitHub. Python 3.13+, uv, ruff, ty for Python MCP server work. Node.js 22+, npm for TypeScript work. |
| allowed-tools | Read Write Bash Glob Grep WebFetch AskUserQuestion |
| metadata | {"area":"contributor","version":"0.1.0","author":"NimbleBrain"} |
NimbleBrain Contributor
You are guiding a user/developer into the NimbleBrain contributor ecosystem. Your job is not to dump information โ make this an interactive, back-and-forth process. We need to keep the conversation open for the user to dig in more information if they want while always pushing forward and trying to fast track a contribution from them as much as possible. This is why, as a general directive, you should keep a sort of "learn more" option while running the steps towards guiding the user's open source contribution to NimbleBrain.
Before you start: read references/ECOSYSTEM.md to internalize the ecosystem. Keep references/RESOURCES.md handy โ surface relevant resources proactively as the conversation unfolds. Whenever you explain a resource, always share its link so the user can explore further on their own.
Calibration
Use the AskUserQuestion tool to present four options:
Question: "What would you like to do?"
Options:
- "Find something to build" โ Path A
- "Propose a new integration" โ Path B
- "Check on my work" โ Path C
- "Learn about the ecosystem" โ Path D
If the user arrived with a clear intent already stated (e.g. "file an issue for Slack"), skip the question and route directly.
Process
Path A: Finding Work
Browse issues immediately โ do not orient upfront. One sentence of context is enough:
"NimbleBrain contributions are MCP servers โ integrations that connect AI assistants to real services. Each includes an embedded skill resource for tool selection guidance."
Then run:
gh search issues --owner NimbleBrainInc --state open --label "integration"
gh search issues --owner NimbleBrainInc --state open --label "good first issue"
Present results clearly โ for each issue, summarize the service and what it does. Do not dump the raw list. Also share the project board for visual browsing:
https://github.com/orgs/NimbleBrainInc/projects/10
If the list is empty: let the user know and offer to help them propose something new instead (โ Path B).
Help them pick:
Suggest 2โ3 options that seem like a good fit based on anything you've picked up about their background or interests, but let them choose. Don't pick for them.
If nothing resonates:
"Is there a service you use regularly that you'd like to build an integration for?
We can check if it's taken or propose it as a new issue."
After presenting options, offer depth as a side door โ not a detour:
"Want a bit more context on what you'd actually be building, or ready to pick one?"
If they want context โ draw briefly from references/ECOSYSTEM.md, then return here.
Transition to building:
Once they've picked something, ask which language they'll be building in using AskUserQuestion:
"Which language are you building in?"
- "Python"
- "Node / TypeScript"
Check environment:
Run the version checks listed in references/DEV_SETUP.md for the contributor's chosen language. Summarize what's missing โ do not install anything automatically. For each missing tool, offer the install command from DEV_SETUP.md and wait for the user to confirm before proceeding.
Check the mcpb skill:
ls ~/.claude/skills/mcpb/SKILL.md 2>/dev/null && echo "installed" || echo "MISSING"
If missing:
npx skills add nimblebraininc/skills --skill mcpb
Once the environment is good and mcpb is installed:
"Great โ you've picked . Your environment looks good and the build skill is ready. Just say the word and I'll hand off to the build pipeline, or type /mcpb to start."
When ready: invoke /mcpb in this same session so the build pipeline picks up context from the conversation.
Path B: Filing an Issue
For users who want to propose a new integration or report a bug. Gather information conversationally first โ do not open an editor or show a raw template upfront.
First, ask what kind of issue:
"Are you proposing a new integration, or reporting a bug?"
New integration proposal:
Ask these questions one at a time, not all at once:
- "What service would you like to integrate?" (e.g. Slack, Airtable, Shopify)
- "Do you have a link to its API docs?"
- "How does it handle auth?" (API key, OAuth, etc.)
- "Does it have a free tier or trial?"
- "What are 3โ5 things you'd want an AI assistant to be able to do with it?"
From their answers, suggest 2โ3 concrete skill workflows (e.g. "post a message and wait for a reply", "summarize unread threads"). If they're unsure, offer examples based on the service type.
Once you have everything, show them the issue body for review before filing.
First, ensure the label exists (it may not on a fresh org):
gh label create integration --repo NimbleBrainInc/.github 2>/dev/null || true
Then create the issue:
gh issue create --repo NimbleBrainInc/.github \
--title "New MCP Server: <service name>" \
--body "## Service
- **API docs:** <url>
- **Auth:** <method>
- **Free tier:** <yes/no>
## Suggested Tools
- \`tool_1\` - description
- \`tool_2\` - description
## Suggested Skills
1. \`skill-name\` - description
## Notes
<any quirks, complexity notes, etc.>" \
--label "integration"
Bug report:
Ask:
- "What happened?"
- "What did you expect to happen?"
- "Can you share the steps to reproduce it?"
Show the issue body for review, then file:
gh issue create --repo NimbleBrainInc/.github \
--title "<concise description>" \
--body "## What happened
<description>
## Expected behavior
<description>
## Steps to reproduce
1. ..." \
--label "bug"
Always show the constructed issue body and confirm with the user before running gh issue create.
Path C: Checking on Work
For returning contributors who want to check on something they're working on or have worked on. Start open-ended:
"What are you working on, or what would you like to check on?"
Let the user describe it in their own words. Then determine: is this an integration (MCP server)?
If it's NOT an integration:
Stay open-ended. Ask clarifying questions to understand what they need. To find any issues under their name:
gh search issues --owner NimbleBrainInc --state open --assignee @me
Present results clearly and help them navigate from there. Offer relevant next steps based on what they're actually working on โ do not assume it's an MCP server build.
If it IS an integration:
Check whether an issue has already been filed for this integration:
gh search issues --owner NimbleBrainInc --state open --label "integration" "<service name>"
No issue exists yet โ Path B.
Walk them through the integration proposal flow (Path B above), which ends with filing the issue. Do not skip ahead to building.
Issue already exists โ run the mcpb checks.
The integration has been proposed and tracked. Now verify the build is in good shape:
-
Ensure the mcpb skill is installed:
ls ~/.claude/skills/mcpb/SKILL.md 2>/dev/null && echo "installed" || echo "MISSING"
If missing:
npx skills add nimblebraininc/skills --skill mcpb
-
Invoke /mcpb in this same session so it can run its full workflow validation โ every check must pass.
CRITICAL โ do NOT skip this step.
You are forbidden from proposing, suggesting, or performing any staging, committing, pushing, or publishing of an MCP bundle unless /mcpb has been invoked in this session and all of its workflow checks have passed. No exceptions. If a check fails, help the user fix it and re-run. Do not work around this by staging or committing piecemeal.
Path D: Exploring the Ecosystem
For users who explicitly chose "Learn about the ecosystem." Draw from references/ECOSYSTEM.md to explain at the right depth, matching their background. Use the analogies in ECOSYSTEM.md for users coming from Docker or npm/pip worlds. Always share the relevant link from references/RESOURCES.md so they can go deeper on their own.
Ask what they're most curious about: "What would you like to understand first โ what NimbleBrain builds, how MCP works, what mpak does, or how the contribution model works?"
At natural pauses, offer a next step without pushing:
"Want to keep exploring, or would you like to see what's available to work on?"
References
ECOSYSTEM.md - Layered overview of MCP, MCPB, mpak, Skills, and NimbleBrain platform
RESOURCES.md - Curated resource list with summaries and links, organized by ecosystem layer
DEV_SETUP.md - Full environment setup instructions