开源Open source

Skill Base

跨角色的 AI Agent Skill 私有化知识库
无论是写需求、撸代码还是周报,让 AI 秒变懂公司业务的老员工
Private AI Agent Skill knowledge base for every role
From PRDs to code to weekly reports—make the AI sound like a veteran who knows your business

告别四处复制粘贴"提示词"和"背景设定"。让你的 Cursor、Claude、ChatGPT 瞬间掌握团队专属的业务黑话、产品模板与代码规范,零依赖,一行命令在内网启动。 Stop copy-pasting prompts and context every time. Give Cursor, Claude, and ChatGPT your team jargon, templates, and standards—zero extra stack, one command on your intranet.

Terminal

把团队的「潜规则」变成 AI 的「出厂设置」Turn team “tribal knowledge” into AI defaults

无论是产品、研发还是测试,告别每次对话都要重新教 AI 做事的烦恼 PM, engineering, QA—stop re-teaching the AI on every new chat

没有 Skill:通用教科书代码
"帮我写个用户登录接口"
// ❌ 不懂公司统一鉴权与 Redis 封装
import jwt from 'jsonwebtoken';
export const login = async (req, res) => {
  const token = jwt.sign({ id }, 'secret');
  return res.json({ token });
}
注入 Skill 后:秒变老员工
"帮我写个用户登录接口"
// ✅ 自动引入内部 SSO 组件与合规日志
import { ssoClient } from '@company/sso';
import { auditLogger } from '@core/logger';
export const login = async (req, res) => {
  const user = await ssoClient.verify(req.body);
  auditLogger.info('USER_LOGIN', user.id);
  return SuccessResponse(user);
}
Without Skill: generic textbook code
"Write a user login API for me"
// ❌ No idea about your SSO stack or Redis helpers
import jwt from 'jsonwebtoken';
export const login = async (req, res) => {
  const token = jwt.sign({ id }, 'secret');
  return res.json({ token });
}
With Skill: feels like a senior on day one
"Write a user login API for me"
// ✅ Pulls in internal SSO + audit logging automatically
import { ssoClient } from '@company/sso';
import { auditLogger } from '@core/logger';
export const login = async (req, res) => {
  const user = await ssoClient.verify(req.body);
  auditLogger.info('USER_LOGIN', user.id);
  return SuccessResponse(user);
}
没有 Skill:啰嗦且无重点
"写一个积分抽奖的 PRD"
一、背景
这是一个为了提升活跃度的活动。
二、功能描述
1. 用户点击抽奖按钮。
2. 扣除积分。
3. 获得奖品。
(❌ 缺乏埋点要求、异常流、UI规范)
注入 Skill 后:标准大厂规范
"写一个积分抽奖的 PRD"
【需求编号】ACT-2024
【目标受众】V3及以上高价值用户(基于业务词典)
【异常流程】
- 并发防资损:调用 @Promo/Lock 接口拦截
【数据埋点要求】
- 事件名:btn_lottery_click
- 携带参数:user_id, source_type
(✅ 自动套用公司 PRD 模板与埋点规范)
Without Skill: long-winded, no signal
"Write a PRD for a points lottery"
1. Background
An activity to boost engagement.
2. Features
1) User taps lottery.
2) Deduct points.
3) Win a prize.
(❌ Missing analytics, edge cases, UI rules)
With Skill: big-tech style structure
"Write a PRD for a points lottery"
[ID] ACT-2024
[Audience] V3+ high-value users (from business glossary)
[Edge cases]
- Concurrency: call @Promo/Lock to prevent losses
[Analytics]
- Event: btn_lottery_click
- Params: user_id, source_type
(✅ Uses your PRD template + tracking rules)
没有 Skill:凭空捏造测试
"为购物车接口写测试脚本"
// ❌ 使用了公司没在用的测试框架,且不知道测试账号
import axios from 'axios';
test('add to cart', async () => {
  const res = await axios.post('http://api/cart');
  expect(res.status).toBe(200);
});
注入 Skill 后:精准贴合基建
"为购物车接口写测试脚本"
// ✅ 自动使用公司的 Playwright 封装与测试网关
import { apiTest, getMockUser } from '@qa/core';
apiTest('购物车-正常添加', async ({ request }) => {
  const user = await getMockUser('VIP'); // 自动获取环境数据
  const res = await request.post('/gw/api/v2/cart');
  expect(res).toHaveCode('SUCCESS');
});
Without Skill: made-up tests
"Write tests for the cart API"
// ❌ Wrong framework; no idea about test accounts
import axios from 'axios';
test('add to cart', async () => {
  const res = await axios.post('http://api/cart');
  expect(res.status).toBe(200);
});
With Skill: matches your test stack
"Write tests for the cart API"
// ✅ Uses your Playwright helpers and test gateway
import { apiTest, getMockUser } from '@qa/core';
apiTest('cart — happy path', async ({ request }) => {
  const user = await getMockUser('VIP'); // env-aware fixtures
  const res = await request.post('/gw/api/v2/cart');
  expect(res).toHaveCode('SUCCESS');
});
没有 Skill:流水账式汇报
"根据这几天的记录帮我写个周报"
本周工作总结:
1. 周一开了个会,讨论了首页改版。
2. 周二写了接口。
3. 周三修复了几个bug。
4. 下周计划继续做项目。
注入 Skill 后:结构化向上管理
"根据这几天的记录帮我写个周报"
🎯 【OKR 对齐进展】
- 首页改版(O1-KR2):完成核心接口,进度 60%,符合预期。

🔥 【核心产出与价值】
- 修复支付链路 3 个 P2 缺陷,预计降低客诉率 5%。

🚧 【风险与求助】
- UI 走查延迟,可能影响下周三的发版,需协调资源。
(✅ 自动套用团队 OKR 汇报模板与结构)
Without Skill: flat status dump
"Turn my notes into a weekly update"
This week:
1. Monday: meeting about the homepage.
2. Tuesday: wrote APIs.
3. Wednesday: fixed bugs.
4. Next week: keep going.
With Skill: structured for leadership
"Turn my notes into a weekly update"
🎯 OKR alignment
- Homepage redesign (O1-KR2): core APIs done, ~60% on track.

🔥 Outcomes
- Fixed 3 P2 issues in payments; ~5% fewer support tickets expected.

🚧 Risks / asks
- UI review slipped; may hit Wed release—need help.
(✅ Uses your OKR update template)

业务知识黑话库Business context & jargon

告诉 AI 公司的专有名词、业务背景、产品线划分。无论哪个岗位的同事在写 Prompt,AI 都能瞬间 Get 到业务上下文。Teach the model your terms, domains, and product map—so every role gets consistent context in prompts.

工程与基建规范Engineering standards

从代码目录结构、组件封装、到自动化测试的断言写法,把高手的最佳实践沉淀下来,让 AI 严格遵守。Layout, components, test assertions—capture how your best people work and make the AI follow it.

全职能工作流模板Cross-functional templates

管理产品 PRD 模板、Git Commit 格式、Code Review 重点、甚至汇报 PPT 结构,一键下发到团队每个人的 IDE 或浏览器中。PRDs, commit format, review checklists, slide outlines—ship them to every IDE or browser with one flow.

为什么需要 Skill Base?Why Skill Base?

三个痛点,一个解决方案Three pains, one fix

痛点 01Pain 01

公共平台不适合存放私有业务Public hubs are wrong for private IP

公司的编码规范、内部 API 文档、业务逻辑不能上传到公共平台,但又需要让 AI 理解这些内容。Standards, internal APIs, and domain rules cannot live on a public registry—but models still need them.

私有化部署,数据完全掌控Self-host and keep control
痛点 02Pain 02

告别四处复制粘贴Stop copy-pasting prompts

每次换项目、带新人,都要把长长的"系统提示词"和"业务背景"重新发一遍,版本混乱。New project or new hire means resending giant system prompts—versions drift and nobody wins.

像 npm 一样安装和更新团队知识Install and update team knowledge like npm
痛点 03Pain 03

拒绝重型架构No heavy platform tax

不想为了管理几个提示词文件就部署复杂的基础设施,K8s、Docker Compose 太重了。You should not need a full platform just to manage a handful of prompt files.

一行 npx 命令即可启动Start with one npx command

核心特性Features

为开发者精心打造的每一个细节Details that respect your time

零配置启动Zero-config start

一行命令启动服务,SQLite 自动初始化,开箱即用One command, SQLite bootstraps itself—ready to go

npm 般的体验npm-like workflow

search / install / publish,熟悉的工作流,零学习成本search / install / publish—the muscle memory you already have

私有化安全Private by default

完全部署在你的内网,敏感规范不外泄Runs on your network—sensitive rules stay inside

版本控制Versioning

每次发布自动生成版本号,支持版本回溯和对比Every publish gets a version—diff and roll back when needed

推荐阅读Recommended Reading

7 篇文章带你系统了解 Agent Skills:从概念到实战,从搭建到避坑 7 articles to master Agent Skills—from concepts to production, from setup to pitfalls

01

让 AI 从「能跑」到「符合团队约定」From "it works" to "it follows team rules"

Skill 是什么、适合什么问题、如何选题与撰写,以及碎片化与团队分发。What a Skill is, when to use it, how to choose topics, and team distribution.

02

SKILL.md、渐进式披露与最小范例SKILL.md, progressive disclosure & minimal examples

运行时分层加载、技能目录结构,以及一份可照抄的最小 SKILL.md 模板。Runtime layering, directory layout, and a copy-paste minimal SKILL.md template.

03

小团队,如何 5 分钟搭建 AI Skill 库?Build an AI Skill library in 5 minutes

用 skill-base / skb 像 npm 一样发布、搜索、安装与更新团队 Skill。Use skill-base / skb to publish, search, install and update team Skills like npm.

04

少打三轮字,把「你每次都要纠正 AI 的话」固化成 SkillStop repeating yourself: turn corrections into Skills

重复、稳定、可执行三条标准判断什么值得写成 Skill,附场景清单与反例。Three criteria—repeatable, stable, executable—to decide what deserves a Skill.

05

管理后台查询页案例:把“隐性规范”变成可执行 SkillAdmin query page: turning implicit rules into executable Skills

把分页映射、时间范围校验、查询折叠、机构权限沉淀为项目 Skill 的真实改造案例。A real-world case study: pagination, date validation, permissions as Skills.

06

上线后怎么管——触发、冲突与版本的运维手册Operating playbook: triggers, conflicts & versioning

收窄 description、分层组织 SKILL.md/references、用 checklist 和版本策略稳住长期质量。Tighten descriptions, organize references, and use checklists and versioning.

07

碎片化困局:一场关于 Agent 互操作性的灾难正在上演The fragmentation trap: an interoperability disaster

多工具、多 Skill 并存时的真相源、触发排序与 frontmatter 方言。Truth sources, trigger ordering and frontmatter dialects across tools.

快速开始Quick start

从安装到使用,只需几分钟From install to daily use in minutes

# 一行命令启动服务(推荐指定数据目录) npx skill-base -d ./skill-data -p 8000 # 访问 Web 管理后台 打开浏览器访问 http://localhost:8000 # 首次访问将引导设置管理员账号 # 通过 Web 界面即可浏览、搜索、下载和发布 Skill# Start the server (set a data dir) npx skill-base -d ./skill-data -p 8000 # Open the web console http://localhost:8000 # First visit sets up the admin account # Browse, search, download, and publish Skills
# 在包含 Dockerfile 的目录构建镜像 docker build -t skill-base . # 运行:持久化挂载到 ./skill-data(不要用仓库内 data/,避免 SQLite 污染工作区) docker run -d -p 8000:8000 -v "$(pwd)/skill-data:/data" --name skill-base-server skill-base # 访问 Web 管理后台 http://localhost:8000 # 可选:部署前缀(与 npx skill-base --base-path 相同,环境变量 APP_BASE_PATH) docker run -d -p 8000:8000 -v "$(pwd)/skill-data:/data" -e APP_BASE_PATH=/skills/ --name skill-base-server skill-base # 访问 http://localhost:8000/skills/ ;反代时对外 URL 前缀须与 APP_BASE_PATH 一致# Build image in the repo root docker build -t skill-base . # Run with volume ./skill-data (avoid repo ./data/ for SQLite) docker run -d -p 8000:8000 -v "$(pwd)/skill-data:/data" --name skill-base-server skill-base # Web console http://localhost:8000 # Optional: base path (same as npx skill-base --base-path, env APP_BASE_PATH) docker run -d -p 8000:8000 -v "$(pwd)/skill-data:/data" -e APP_BASE_PATH=/skills/ --name skill-base-server skill-base # Open http://localhost:8000/skills/ — reverse proxy must match APP_BASE_PATH
# 全局安装 CLI 工具 npm install -g skill-base-cli # 配置你的 Skill Base 服务器地址 skb init -s http://your-server # 登录 skb login# Install CLI globally npm install -g skill-base-cli # Point skb at your Skill Base skb init -s http://your-server # Sign in skb login
# 创建一个新的 Skill 目录 mkdir my-team-skill && cd my-team-skill # 创建 SKILL.md 文件(必需) cat > SKILL.md << 'EOF' # My Team Coding Standards 这是我们团队的编码规范... ## 命名规范 - 使用 camelCase 命名变量 - 使用 PascalCase 命名组件 EOF # 发布到 Skill Base skb publish ✓ Published my-team-skill@v20240320.150000# New Skill folder mkdir my-team-skill && cd my-team-skill # SKILL.md is required cat > SKILL.md << 'EOF' # My Team Coding Standards Team coding standards... ## Naming - camelCase for variables - PascalCase for components EOF # Publish to Skill Base skb publish ✓ Published my-team-skill@v20240320.150000
# 安装 Skill 到 Cursor skb install my-skill --ide cursor ✓ Installed to .cursor/skills/my-skill/ # 安装到 Qoder skb install my-skill --ide qoder ✓ Installed to .qoder/skills/my-skill/ # 支持的 IDE: cursor, qoder, windsurf, copilot, claude-code, opencode# Install into Cursor skb install my-skill --ide cursor ✓ Installed to .cursor/skills/my-skill/ # Qoder skb install my-skill --ide qoder ✓ Installed to .qoder/skills/my-skill/ # IDEs: cursor, qoder, windsurf, copilot, claude-code, opencode

如何在 OpenClaw 类产品使用 Skill Base?Using Skill Base with OpenClaw-class products

把下面的话直接发给助手即可(按你的环境替换服务器地址与验证码) Send these lines to your assistant—substitute your server URL and verification code

从 ClawHub 安装 skill-base-cliInstall skill-base-cli from ClawHub
(对接已有站点)(connect to an existing site)
到 ClawHub 拉取 skill-base-cli,并安装到你的 skills 目录Pull skill-base-cli from ClawHub and install it into your skills directory.

日常用 skb 搜索、安装、发版、对接团队已部署的 Skill Base 时用;不必为了用 CLI 再装服务端部署 Skill。Use when searching, installing, publishing with skb, or connecting to your team’s Skill Base—you do not need to deploy the server again just for the CLI.

从 ClawHub 安装 skill-base-web-deployInstall skill-base-web-deploy from ClawHub
(部署或运维服务端)(run or operate the server)
到 ClawHub 拉取 skill-base-web-deploy,并安装到你的 skills 目录Pull skill-base-web-deploy from ClawHub and install it into your skills directory.

仅当需要助手在本机或服务器上起服务、Docker、数据目录与备份等服务端工作时再装。Install only when you need the assistant to run the service, Docker, data paths, backups, and other server-side tasks.

配置 CLI 指向服务端Point the CLI at your server
建立与环境的链接Link your environment
帮我配置 Skill Base,服务器地址是 https://skill-base-serverHelp me configure Skill Base; the server URL is https://skill-base-server.

换成你的实际站点 BASE URL。Use your real site base URL.

搜索 SkillSearch for a Skill
在仓库里查找Find what you need
用 skb 搜索 some-skillUse skb to search for some-skill.

一般不需要登录。Usually no login required.

安装 SkillInstall a Skill
下载到本地或 IDEInstall into your project or IDE
用 skb 安装 some-skillUse skb to install some-skill.

可用 skill_id@版本 指定版本。一般不需要登录。Pin a version with skill_id@version. Usually no login required.

更新 SkillUpdate a Skill
同步到最新版本Stay up to date
用 skb 更新 some-skillUse skb to update some-skill.

一般不需要登录。Usually no login required.

完成登录Sign in
身份验证Authentication
帮我 skb login,验证码是 xxxx-xxxxHelp me run skb login; the verification code is xxxx-xxxx.

验证码需在浏览器打开 https://<主机>/cli-code 获取,五分钟有效期。Obtain the code by opening https://<host>/cli-code in your browser; it expires in five minutes.

发布Publish
提交与上线Ship your Skill
调用 skb,发布刚写的 skillUse skb to publish the skill I just wrote.

发布 skill 必须先登录。可让助手写 changelog 文案。 You must sign in before publishing a skill.Ask for --changelog copy when you need release notes.

设计哲学Philosophy

Stay Out of the Way — 极简与无侵入Stay Out of the Way — minimal and invisible

纯粹的搬运工Just a courier

Skill Base 只做一件事:把 Skill 从服务器搬到你的项目里。不做解析,不做转换,原封不动。One job: move Skills from the server to your project. No parsing, no transforms—byte-for-byte.

极简优先Radical simplicity

能用一个文件搞定的,绝不引入两个。SQLite 单文件部署,就是这么任性。If one file can do it, we do not add a second. SQLite in a single file—deploy and forget.

本地优先Local first

所有数据都在你本地。不想用云?内网也能跑。不想升级?永不更新也能用。Your data stays local. No cloud? Run on the intranet. No upgrades? It still works.