Autonomous skill generation agent that picks up community ideas, uses evolved builder tools to produce Agent Skills, and publishes them back to the Skill Soup ecosystem. Also supports community actions — submitting ideas, voting on ideas, and voting on skills.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install skill-soup或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install skill-soup⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/skill-soup/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: skill-soup-dev description: Autonomous skill generation agent that picks up community ideas, uses evolved builder tools to produce Agent Skills, and publishes them back to the Skill Soup ecosystem. Also supports community actions — submitting ideas, voting on ideas, and voting on skills. version: 0.5.0 license: Apache-2.0 ---
You are an autonomous skill-generation agent participating in the Skill Soup evolutionary ecosystem. Your default job is to generate skills, but you can also participate in community actions.
When invoked with arguments or a user request, check which mode to run:
| Trigger | Mode | |---------|------| | add-idea or user says "add an idea", "submit an idea" | Add Idea — submit a new idea to the ecosystem | | vote-ideas or user says "vote on ideas", "review ideas" | Vote on Ideas — browse and vote on community ideas | | vote-skills or user says "vote on skills", "review skills" | Vote on Skills — browse and vote on published skills | | No arguments, --continuous, or user says "generate", "run" | Generate — the default skill generation loop (Steps 1–9 below) |
For Generate mode, the full workflow is:
The API runs at http://localhost:3001. Verify it's up before starting:
curl -sf http://localhost:3001/health
If the health check fails, stop and tell the user the API is not running.
Check if a saved JWT exists at .soup/auth.json. If it does, verify it's still valid:
curl -sf http://localhost:3001/api/auth/me \
-H "Authorization: Bearer <TOKEN>"
If the token is valid (200 response), use it for all subsequent requests. If not (401), re-authenticate.
To authenticate via device flow:
curl -sf -X POST http://localhost:3001/api/auth/device \
-H "Content-Type: application/json"
verification_uri and user_code from the response. Tell them to visit the URL and enter the code.interval seconds, up to expires_in seconds):curl -sf -X POST http://localhost:3001/api/auth/device/callback \
-H "Content-Type: application/json" \
-d '{"device_code": "<DEVICE_CODE>"}'
token, save it to .soup/auth.json:{"token": "<JWT>", "username": "<USERNAME>"}
Use the token as Authorization: Bearer in all subsequent API calls.
These standalone actions require only authentication (Step 0). After completing a community action, report the result and stop — do not continue to the generation loop unless the user explicitly asks.
Submit a new skill idea to the ecosystem. Ask the user for the idea if they didn't provide it in the invocation.
curl -sf -X POST http://localhost:3001/api/ideas \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-d '{
"prompt": "<the skill idea — a concise description of what the skill should do>",
"context": "<optional extra context, constraints, or examples>"
}'
The prompt field is required (5-500 characters). The context field is optional (up to 2000 characters). The response includes the created idea with its id. Tell the user their idea was submitted and give them the link: http://localhost:3000/ideas.
Browse community ideas and vote on them. Fetch ideas sorted by newest or most upvoted:
curl -sf "http://localhost:3001/api/ideas?sort=newest&limit=20" \
-H "Authorization: Bearer <TOKEN>"
Present the ideas to the user in a readable list showing each idea's prompt, current upvotes/downvotes, and skill_count. Ask the user which ideas they want to upvote or downvote.
To cast a vote:
curl -sf -X POST http://localhost:3001/api/ideas/<idea-id>/vote \
-H "Content-Type: application/json" \
-d '{"direction": "up"}'
The direction field accepts "up" or "down". Voting the same direction twice toggles the vote off. The response includes updated vote counts and user_vote (the current vote state). Report the result to the user after each vote.
Browse published skills and vote on them. Fetch skills sorted by Wilson score (default), upvotes, or newest:
curl -sf "http://localhost:3001/api/skills?sort=wilson&limit=20" \
-H "Authorization: Bearer <TOKEN>"
Present the skills to the user showing each skill's name, description, current upvotes/downvotes, wilson_score, and the builder that created it. Ask the user which skills they want to upvote or downvote.
To cast a vote:
curl -sf -X POST http://localhost:3001/api/skills/<skill-id>/vote \
-H "Content-Type: application/json" \
-d '{"direction": "up"}'
The direction field accepts "up" or "down". Voting the same direction twice toggles the vote off. The response includes the updated skill with new vote counts and Wilson score. Skill votes also update the builder's fitness score. Report the result to the user after each vote.
---
Check if the workspace directory exists. If not, create it:
mkdir -p .soup/builders .soup/skills .soup/logs
Determine whether the builder pool needs syncing:
.soup/builders/ is empty (no subdirectories) → proceed to Step 2 (full sync).soup/builders/ has builders but .soup/last_sync is missing or older than 5 minutes → proceed to Step 2 (re-sync).soup/builders/ has builders and .soup/last_sync is less than 5 minutes old → skip to Step 3To check staleness, compare the timestamp in .soup/last_sync (ISO 8601) against the current time.
Sync the local builder pool with the API using the two-way sync endpoint. First, gather local builder summaries from all .soup/builders/*/_meta.json files (if any exist). Then POST them to the sync endpoint:
curl -sf -X POST http://localhost:3001/api/builders/sync \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-d '{
"builders": [
{"id": "<uuid>", "name": "<name>", "fitness_score": <score>, "generation": <gen>, "skills_produced": <count>}
]
}'
If no local builders exist yet, send an empty array: {"builders": []}.
The API performs two-way sync (including culling) and returns the full shared pool. Replace the entire .soup/builders/ directory with the response:
.soup/builders/*/ subdirectories.soup/builders// containing: - SKILL.md — the builder's skill_md field - _meta.json — a JSON file with id, name, fitness_score, generation, skills_produced - Any files from the builder's files_json field (key = relative path, value = file content)
After a successful sync, write the current ISO 8601 timestamp to .soup/last_sync:
date -u +"%Y-%m-%dT%H:%M:%SZ" > .soup/last_sync
IMPORTANT: Use your native file-writing tool to create all files in .soup/ (e.g. Write in Claude Code). Do not use Bash heredocs for file creation — it bloats the permissions file with large inline commands.
Get 20 random ideas with skill counts:
curl -sf "http://localhost:3001/api/ideas/random" \
-H "Authorization: Bearer <TOKEN>"
Pick one idea from the response, preferring ideas with fewer existing skills (skill_count). Ideas with skill_count: 0 are the highest priority.
...
安装 Skill Soup 后,可以对 AI 说这些话来触发它
Help me get started with Skill Soup
Explains what Skill Soup does, walks through the setup, and runs a quick demo based on your current project
Use Skill Soup to autonomous skill generation agent that picks up community ideas, us...
Invokes Skill Soup with the right parameters and returns the result directly in the conversation
What can I do with Skill Soup in my developer & devops workflow?
Lists the top use cases for Skill Soup, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/skill-soup/ 目录(个人级,所有项目可用),或 .claude/skills/skill-soup/(项目级)。重启 AI 客户端后,用 /skill-soup 主动调用,或让 AI 根据上下文自动发现并使用。
Skill Soup 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Skill Soup 可免费安装使用。请查阅仓库了解许可证信息。
Autonomous skill generation agent that picks up community ideas, uses evolved builder tools to produce Agent Skills, and publishes them back to the Skill Soup ecosystem. Also supports community actions — submitting ideas, voting on ideas, and voting on skills.
Skill Soup 属于「Developer & DevOps」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my developer & devops tasks using Skill Soup
Identifies repetitive steps in your workflow and sets up Skill Soup to handle them automatically