SKILLS & AGENTS/Skill 与 Agent·MCP-SERVER
EliasOulkadi/shokunin
職人 Shokunin 62 AI agent skills for OpenCode, Claude Code, Cursor, Windsurf. ChromaDB memory, MCP servers, declarative self-updates. Multi-model, open source, zero cost.
怎么装:Install: npm install -g opencode
02 / 现在的位置02 / Why now
首次发现FIRST SEEN
03 OCT 202603 OCT 2026
增长GROWTH
+0.9%+0.9%
112 → 113 stars · 2 个快照112 → 113 stars · 2 snapshots
状态STATUS
持续活跃Active
03 / 它能帮你做什么03 / What it helps you do
04 / 安装04 / Install
$ Node 用户的安装方式。The install route for Node users.
$ Node 用户的安装方式。The install route for Node users.
两种装法选一个即可 —— 上面那条给命令行用户,下面那条给写代码的用户。Pick one of the two — the first is for command-line users, the second for people writing code.
05 / 限制与风险05 / Limits and risk
风险不是警告,是可信度的一部分。以下结论只基于文档静态扫描,我们不会执行项目里的任何代码。Risk here is evidence, not an alarm. These findings come from static scanning of the docs; we never execute a project’s code.
限制LIMITS
存在风险Risk found
静态扫描STATIC SCAN
01执行远程脚本Runs a remote scriptreadme
irm https://raw.githubusercontent.com/EliasOulkadi/shokunin/master/install.ps1 | iex
02执行远程脚本Runs a remote script.pack/skills/agent-tools/SKILL.md
curl -fsSL https://cli.inference.sh | sh
03需要系统权限Needs system permissionsreadme
| `cron` daemon | Required for automated weekly maintenance (optional). | `sudo systemctl enable --now cron` |
04控制浏览器Controls a browserreadme
| **System** | memory, chromadb, shokunin-update, init, efficient-coding, senior-engineer, plan, playwright, neon-postgres, web-security | v
05控制浏览器Controls a browser.pack/skills/agent-browser/SKILL.md
Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with
06执行 Shell 命令Runs shell commands.pack/skills/agent-tools/SKILL.md
allowed-tools: Bash(infsh
07执行 Shell 命令Runs shell commands.pack/skills/ci-cd/SKILL.md
allowed-tools: Bash
08读写本地文件Reads and writes local files.pack/skills/ci-cd/SKILL.md
allowed-tools: Write
09读写本地文件Reads and writes local files.pack/skills/component-forge/SKILL.md
allowed-tools: Write
10读取 API KeyReads an API key.pack/skills/memory/SKILL.md
| Storing secrets or tokens in memory entries | Plaintext memory is readable by any process with filesystem access | Never store API keys, p
11读取 API KeyReads an API key.pack/skills/portfolio-auto/SKILL.md
headers = {"Authorization": f"token {os.environ['GITHUB_TOKEN']}"}12需要系统权限Needs system permissions.pack/skills/ui-ux-pro-max/SKILL.md
sudo apt update && sudo apt install python3
这里只做静态扫描:读 README、SKILL.md 和依赖清单,不执行代码。没有命中不代表安全。This is static scanning only: we read the README, SKILL.md and dependency list, and never execute code. No findings does not mean safe.
{
"agents": [
{
"agent": "claude-code",
"evidence": "readme: …| .ps1 + .sh | Built-in | | **Claude Code** | Reads SKILL.md | Via MCP…"
},
{
"agent": "cursor",
"evidence": "readme: …rsor:** Configure MCP servers in Cursor Settings > MCP using `.pack/t…"
},
{
"agent": "windsurf",
"evidence": "readme: …sh | Copy to .continue/ | | **Windsurf** | Reads SKILL.md | Via rule…"
},
{
"agent": "cline",
"evidence": "readme: …1 + .sh | Copy template | | **Cline** (VS Code) | Reads SKILL.md…"
},
{
"agent": "vscode",
"evidence": "readme: …## Ecosystem ``` OpenCode + VS Code + WezTerm 62 skills + super…"
},
{
"agent": "opencode",
"evidence": "readme: …com/EliasOulkadi/shokunin) [ + Ollama (local fallback) Update system: decla",
"skillMdTotal": 62,
"skillMdErrors": [
{
"path": ".pack/skills/agent-browser/SKILL.md",
"error": "Unexpected scalar at node end at line 26, column 19:"
},
{
"path": ".pack/skills/communication/SKILL.md",
"error": "Unexpected scalar at node end at line 27, column 23:"
},
{
"path": ".pack/skills/emil-design-eng/SKILL.md",
"error": "Unexpected scalar at node end at line 23, column 23:"
},
{
"path": ".pack/skills/impeccable/SKILL.md",
"error": "Unexpected scalar at node end at line 18, column 25:"
},
{
"path": ".pack/skills/kagen/SKILL.md",
"error": "Unexpected scalar at node end at line 20, column 27:"
},
{
"path": ".pack/skills/kami/SKILL.md",
"error": "Unexpected scalar at node end at line 22, column 21:"
},
{
"path": ".pack/skills/playwright/SKILL.md",
"error": "Unexpected scalar at node end at line 21, column 22:"
},
{
"path": ".pack/skills/taste-minimalist/SKILL.md",
"error": "Unexpected scalar at node end at line 21, column 29:"
},
{
"path": ".pack/skills/taste-soft/SKILL.md",
"error": "Unexpected scalar at node end at line 20, column 29:"
},
{
"path": ".pack/skills/taste/SKILL.md",
"error": "Unexpected scalar at node end at line 17, column 29:"
}
],
"treeTruncated": false,
"categoryScores": {
"data": 0,
"agent": 0,
"media": 0,
"design": 3,
"browser": 0,
"devtool": 0,
"security": 1,
"marketing": 0,
"productivity": 0
},
"classification": [
{
"signal": "50 SKILL.md with name + description",
"weight": 0.95
},
{
"signal": "README describes a Claude / Agent Skill",
"weight": 0.7
},
{
"signal": "MCP topic + README",
"weight": 0.6
},
{
"signal": "description mentions AI",
"weight": 0.2
}
],
"scannedSources": [
"readme",
".pack/skills/aesthetic-web/SKILL.md",
".pack/skills/agent-browser/SKILL.md",
".pack/skills/agent-tools/SKILL.md",
".pack/skills/api-forge/SKILL.md",
".pack/skills/auth-architect/SKILL.md",
".pack/skills/brand-design/SKILL.md",
".pack/skills/business-proposals/SKILL.md",
".pack/skills/chromadb/SKILL.md",
".pack/skills/ci-cd/SKILL.md",
".pack/skills/code-review/SKILL.md",
".pack/skills/communication/SKILL.md",
".pack/skills/component-forge/SKILL.md",
".pack/skills/comprehensive-review/SKILL.md",
".pack/skills/content-marketing/SKILL.md",
".pack/skills/cross-review/SKILL.md",
".pack/skills/db-admin/SKILL.md",
".pack/skills/db-sculptor/SKILL.md",
".pack/skills/docker/SKILL.md",
".pack/skills/documentation/SKILL.md",
".pack/skills/efficient-coding/SKILL.md",
".pack/skills/emil-design-eng/SKILL.md",
".pack/skills/error-handler/SKILL.md",
".pack/skills/finance/SKILL.md",
".pack/skills/find-skills/SKILL.md",
".pack/skills/flutter/SKILL.md",
".pack/skills/git-workflow/SKILL.md",
".pack/skills/humanize/SKILL.md",
".pack/skills/impeccable/SKILL.md",
".pack/skills/init/SKILL.md",
".pack/skills/kagen/SKILL.md",
".pack/skills/kami/SKILL.md",
".pack/skills/kubernetes/SKILL.md",
".pack/skills/landing-craft/SKILL.md",
".pack/skills/legal-counsel/SKILL.md",
".pack/skills/memory/SKILL.md",
".pack/skills/motion-craft/SKILL.md",
".pack/skills/neon-postgres/SKILL.md",
".pack/skills/performance-profiler/SKILL.md",
".pack/skills/plan/SKILL.md",
".pack/skills/playwright/SKILL.md",
".pack/skills/portfolio-auto/SKILL.md",
".pack/skills/react-native/SKILL.md",
".pack/skills/research/SKILL.md",
".pack/skills/responsive-engine/SKILL.md",
".pack/skills/runbook-gen/SKILL.md",
".pack/skills/senior-engineer/SKILL.md",
".pack/skills/seo-geo/SKILL.md",
".pack/skills/shokunin-update/SKILL.md",
".pack/skills/skill-creator/SKILL.md",
".pack/skills/strategy/SKILL.md",
".pack/skills/taste-minimalist/SKILL.md",
".pack/skills/taste-soft/SKILL.md",
".pack/skills/taste/SKILL.md",
".pack/skills/terraform/SKILL.md",
".pack/skills/test-commander/SKILL.md",
".pack/skills/translate-craft/SKILL.md",
".pack/skills/ui-ux-pro-max/SKILL.md",
".pack/skills/web-security/SKILL.md",
".pack/skills/whendone-plus/SKILL.md",
".pack/skills/windows-powershell/SKILL.md"
],
"skillMdFetched": 60
}