SkillsBoard

SkillsBoard

Skills Board is a free, open-source (MIT) shared library for the AI skills a team recommends, with every skill kept connected to its original source. Agents connect through an authenticated remote MCP server (browser sign-in, no API key to copy) to search team skills and collections, retrieve install commands, and save new skills.

Category
访问服务器

README

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/header/surface.svg?title=Skills%20Board&subtitle=Your%20team%27s%20skills.%20All%20in%20one%20place.&size=wide&align=left&font=space-grotesk&border=true&radius=18&watermark=false&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI%2BPHBhdGggZmlsbD0iIzZiZDU4ZiIgZD0iTTMgM2gyNnY3SDExdjRoMTRsNCA0djExSDN2LTdoMTh2LTRIN2wtNC00VjNaIi8%2BPC9zdmc%2B&logoColor=6bd58f&bg=111a14&accent=6bd58f&titleColor=f7f8f4&subtitleColor=aab5aa&mode=dark" /> <img alt="Skills Board — Your team's skills. All in one place." src="https://shieldcn.dev/header/surface.svg?title=Skills%20Board&subtitle=Your%20team%27s%20skills.%20All%20in%20one%20place.&size=wide&align=left&font=space-grotesk&border=true&radius=18&watermark=false&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI%2BPHBhdGggZmlsbD0iIzAwODQzZCIgZD0iTTMgM2gyNnY3SDExdjRoMTRsNCA0djExSDN2LTdoMTh2LTRIN2wtNC00VjNaIi8%2BPC9zdmc%2B&logoColor=00843d&bg=f7f8f4&accent=00843d&titleColor=17231b&subtitleColor=5e6b61&mode=light" /> </picture> </p>

<p align="center"> Keep your team’s recommended AI skills in one place, so everyone knows where to find and use them. </p>

<p align="center"> <a href="https://github.com/TommyBez/skillsboard/stargazers"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/github/stars/TommyBez/skillsboard.svg?variant=outline&size=xs&theme=zinc&font=geist&mode=dark" /> <img alt="GitHub stars" src="https://shieldcn.dev/github/stars/TommyBez/skillsboard.svg?variant=outline&size=xs&theme=zinc&font=geist&mode=light" /> </picture> </a> <a href="./LICENSE"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/badge/license-MIT-27272a.svg?variant=outline&size=xs&theme=zinc&font=geist&mode=dark&logo=false" /> <img alt="MIT license" src="https://shieldcn.dev/badge/license-MIT-27272a.svg?variant=outline&size=xs&theme=zinc&font=geist&mode=light&logo=false" /> </picture> </a> <a href="https://github.com/TommyBez/skillsboard/actions/workflows/ci.yml"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/github/ci/TommyBez/skillsboard.svg?workflow=ci.yml&branch=main&variant=outline&size=xs&theme=zinc&font=geist&mode=dark" /> <img alt="CI status" src="https://shieldcn.dev/github/ci/TommyBez/skillsboard.svg?workflow=ci.yml&branch=main&variant=outline&size=xs&theme=zinc&font=geist&mode=light" /> </picture> </a> </p>

<p align="center"> <a href="https://www.skillsboard.sh"><strong>Try the hosted app</strong></a> · <a href="#run-locally">Run it locally</a> · <a href="./CONTRIBUTING.md">Contribute</a> </p>

Why Skills Board

Useful skill recommendations tend to disappear into chats, bookmarks, and personal agent setups. Skills Board gives a team one searchable place to collect the skills it recommends and lets every teammate choose how to use them.

  • One team library. Save useful skills once, organize them with team-specific tags, and make them easy to find again.
  • Different agents welcome. Share the same recommendation across Claude, Codex, Cursor, and other agent setups.
  • A choice of handoff. Open the original source, copy a compatible install command, or download the latest skill files as a ZIP.
  • Organization-scoped access. Create a team, invite members, and keep each library available to its members.
  • Optional MCP access. Connect compatible agents to authenticated, scope-controlled tools for finding and organizing team skills and collections.

[!IMPORTANT] A saved skill is a team recommendation, not a security review, compatibility certification, or pinned release. Skills Board reads the latest available source; inspect that source before using it in an agent.

How it works

  1. Create a team library and add a skill from its GitHub repository.
  2. Skills Board keeps the original source visible and records the recommendation for the team.
  3. Teammates search by task, description, repository, or tag.
  4. Each teammate opens the source, copies a compatible command, or downloads the latest files as a ZIP.

The public catalog can help with discovery when the deployment has Vercel OIDC available. The team library and direct GitHub flow remain the core product.

Run locally

Prerequisites

  • Node.js 20.9 or newer
  • pnpm 10
  • PostgreSQL 15 or newer

1. Install the app

git clone https://github.com/TommyBez/skillsboard.git
cd skillsboard
corepack enable
pnpm install
cp .env.example .env.local

Generate a Better Auth secret with openssl rand -base64 32, then add it and your PostgreSQL connection string to .env.local.

2. Prepare the database

Apply the committed Drizzle migrations to a new database. This creates both the Better Auth tables and the application-specific tables from the versioned SQL in drizzle/.

pnpm db:migrate

3. Start developing

pnpm dev

Open http://localhost:3000. Restart the server after changing DATABASE_URL, because the PostgreSQL pool is created when the module loads.

Environment variables

Variable Required Purpose
DATABASE_URL Yes PostgreSQL connection string used by the application; Neon may use the pooled URL here.
DATABASE_URL_UNPOOLED For migrations on Neon Direct PostgreSQL connection used by Drizzle migrations. It can match DATABASE_URL for local, non-pooled Postgres.
BETTER_AUTH_SECRET Yes Secret used to sign and encrypt authentication data.
BETTER_AUTH_URL Recommended Public application origin; use http://localhost:3000 locally.
RESEND_API_KEY Yes outside development Sends sign-in OTP and team invitation emails through Resend.
EMAIL_FROM Yes outside development Verified Resend sender for OTP and invitation emails (e.g. Skills Board <login@your-verified-domain.com>).
RESEND_WEBHOOK_SECRET Yes for hosted email delivery Verifies Resend bounce, complaint, suppression, and unsubscribe webhooks.
EMAIL_PRIVACY_SECRET Yes in Vercel Production At least 32 random bytes encoded as base64 or hex; the dedicated root for email hashes and encrypted unsubscribe links. Local/self-hosted environments can fall back to a domain-separated key derived from BETTER_AUTH_SECRET.
EMAIL_PRIVACY_SECRET_PREVIOUS Only during key rotation JSON array of retained base64/hex roots used for dual-hash suppression lookup and unsubscribe-token decryption. A prior root cannot be removed while retained records still depend on it.
GITHUB_TOKEN No Raises GitHub API rate limits for metadata and ZIP downloads.
VERCEL_OIDC_TOKEN No Supplied automatically by Vercel for the optional skills.sh catalog.

Sign-in and sign-up use email one-time codes (no passwords). Outside development, configure both RESEND_API_KEY and a domain-verified EMAIL_FROM; the fallback Resend test sender only works for Resend’s own test recipients. In development, OTP emails are skipped and any 6-digit code works. Without Vercel OIDC, the Discover catalog degrades gracefully while team libraries continue to work.

Product communications are separate from transactional OTP and invitation email. Signup consent is optional and off by default, can be changed under Settings → Email, and is enforced with local consent history, suppression records, signed unsubscribe links, and verified Resend delivery webhooks. See docs/email-compliance.md before configuring a product broadcast.

MCP access

Skills Board exposes an OAuth-protected MCP endpoint at /api/mcp. After signing in, open Settings → MCP to connect it. The tools can search team skills and collections, retrieve install commands, and discover public or repository skills. With skills:write, they can save new skills and organize collections. They cannot edit or delete saved team skills, install them in an agent, or execute them.

Tech stack

Layer Technology
Application Next.js 16 App Router, React 19, TypeScript
UI Tailwind CSS 4, shadcn/ui, Base UI
Authentication Better Auth (email OTP) with organizations and OAuth provider support
Data PostgreSQL, Drizzle ORM
Email Resend and React Email
Agent access Model Context Protocol via mcp-handler
Hosting Vercel and Neon in the hosted deployment; self-hosting is supported

Project commands

Command What it does
pnpm dev Start the Turbopack development server.
pnpm typecheck Run the TypeScript compiler without emitting files.
pnpm check Run the repository's required local checks.
pnpm db:generate --name <description> Generate a versioned migration after changing the schema.
pnpm db:check Check that the schema and committed migration snapshots match.
pnpm db:migrate Apply pending migrations to the configured database.
pnpm db:push Push the schema only to a throwaway database used for prototyping.
pnpm build Create a production build.
pnpm start Start the production server.
pnpm email Preview React Email templates on port 3001.

Contributing

Issues and pull requests are welcome. Read CONTRIBUTING.md before making a substantial change, follow the Code of Conduct, and report vulnerabilities through the process in SECURITY.md.

See the people who have helped build Skills Board on the contributors page.

License

Skills Board is available under the MIT License.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选