Darwin Skill Optimizer
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
Guides creating, installing and updating agent skills in a workspace: SKILL.md frontmatter, bundled scripts and references, with scripts to scaffold, validate and package.
$ npx skills add zhayujie/CowAgent --skill skill-creator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zhayujie/CowAgent skill-creator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/zhayujie/CowAgent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skill-creator .claude/skills/skill-creator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skill-creator" agent skill from https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creator into .claude/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add zhayujie/CowAgent --skill skill-creator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zhayujie/CowAgent skill-creator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zhayujie/CowAgent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skill-creator .agents/skills/skill-creator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-creator" agent skill from https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creator into .agents/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zhayujie/CowAgent --skill skill-creator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zhayujie/CowAgent skill-creator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zhayujie/CowAgent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skill-creator .cursor/skills/skill-creator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-creator" agent skill from https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creator into .cursor/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/zhayujie/CowAgent.git --path skills/skill-creator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add zhayujie/CowAgent --skill skill-creator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zhayujie/CowAgent skill-creator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zhayujie/CowAgent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skill-creator .gemini/skills/skill-creator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-creator" agent skill from https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creator into .gemini/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install zhayujie/CowAgent skill-creatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add zhayujie/CowAgent --skill skill-creator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zhayujie/CowAgent.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skill-creator .github/skills/skill-creator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-creator" agent skill from https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creator into .github/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zhayujie/CowAgent --skill skill-creator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zhayujie/CowAgent skill-creator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zhayujie/CowAgent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skill-creator .opencode/skills/skill-creator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-creator" agent skill from https://github.com/zhayujie/CowAgent/tree/master/skills/skill-creator into .opencode/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-creatorGuides creating, installing and updating agent skills in a workspace: SKILL.md frontmatter, bundled scripts and references, with scripts to scaffold, validate and package.
The skill explains what a skill is, a modular package of specialized workflows, tool integrations, domain expertise and bundled resources, and sets one core principle: be concise and add only context the agent does not already have, asking whether each piece justifies its token cost. A skill is a required SKILL.md with YAML frontmatter and a markdown body, plus optional resources.
The frontmatter needs a hyphen-case name and a description that acts as the main trigger. It should say what the skill does and when to use it, with scenarios and keywords, and all when-to-use information belongs there rather than in the body, which loads only after triggering. Scripts are for code that is rewritten repeatedly or needs deterministic execution, and must be tested first. References are only for documentation too large for SKILL.md, over 500 lines, such as schemas or API specs, and not for tutorials or usage examples.
Three Python scripts support the work: init_skill.py scaffolds a skill, quick_validate.py checks it and package_skill.py packages it. The description also covers installing a skill from a URL or remote source.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0152064. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
service.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SERVICE_API_KEYMYAPI_KEYOPENAI_API_KEYLINKAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Creator loads about 4.7k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 2,186 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
3. Or manually add to `~/cow/.env`: `SERVICE_API_KEY=your-key`Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from zhayujie/CowAgent at commit 0152064, republished under its MIT licence (© zhayujie). 2,186 words, ~4,662 tokens.
.claude/skills/skill-creator/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This skill provides guidance for creating effective skills using the existing tool system.
Skills are modular, self-contained packages that extend the agent's capabilities by providing specialized knowledge, workflows, and tools. They transform a general-purpose agent into a specialized agent equipped with procedural knowledge.
Concise is Key: Only add context the agent doesn't already have. Challenge each piece of information: "Does this justify its token cost?" Prefer concise examples over verbose explanations.
Every skill consists of a required SKILL.md file and optional bundled resources:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation intended to be loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts, etc.)Frontmatter (YAML) - Required fields:
weather-api, pdf-editor)"PDF document processing with rotation, merging, splitting, and text extraction. Use when user needs to: (1) Rotate PDF pages, (2) Merge multiple PDFs, (3) Split PDF files, (4) Extract text from PDFs."Body (Markdown) - Loaded after skill triggers:
scripts/ - When to include:
references/ - When to include:
assets/ - When to include:
Important: Most skills don't need all three. Choose based on actual needs.
Do NOT create auxiliary documentation files:
Critical Rule: Only create files that the agent will actually execute (scripts) or that are too large for SKILL.md (references). Documentation, examples, and guides ALL belong in SKILL.md.
Install target directory: <workspace>/skills/<name>/ (the <workspace> is from the "Workspace" section).
| Source | Action |
|---|---|
| URL (single file) | Fetch content via curl or web_fetch |
| URL (zip/archive) | Download and extract to a temp directory |
| Local file (SKILL.md) | Read directly |
| Local archive (zip) | Extract to a temp directory |
name from YAML frontmatterreferences/, scripts/, assets/, etc.) into <workspace>/skills/<name>/<workspace>/skills/<name>/plan-mode).gh-address-comments, linear-address-issue).Skip this step only when the skill's usage patterns are already clearly understood. It remains valuable even when working with an existing skill.
To create an effective skill, clearly understand concrete examples of how the skill will be used. This understanding can come from either direct user examples or generated examples that are validated with user feedback.
For example, when building an image-editor skill, relevant questions include:
To avoid overwhelming users, avoid asking too many questions in a single message. Start with the most important questions and follow up as needed for better effectiveness.
Conclude this step when there is a clear sense of the functionality the skill should support.
To turn concrete examples into an effective skill, analyze each example by:
Planning Checklist:
Example: When building a pdf-editor skill to handle queries like "Help me rotate this PDF," the analysis shows:
scripts/rotate_pdf.py script would be helpful to store in the skillreferences/api-docs.md - put API info in SKILL.md insteadExample: When designing a frontend-webapp-builder skill for queries like "Build me a todo app" or "Build me a dashboard to track my steps," the analysis shows:
assets/hello-world/ template containing the boilerplate HTML/React project files would be helpful to store in the skillreferences/usage-examples.md - put examples in SKILL.md insteadExample: When building a big-query skill to handle queries like "How many users have logged in today?" the analysis shows:
references/schema.md file documenting the table schemas would be helpful to store in the skill (ONLY because schemas are very large)references/query-examples.md - put examples in SKILL.md insteadTo establish the skill's contents, analyze each concrete example to create a list of the reusable resources to include: scripts, references, and assets. Default to putting everything in SKILL.md unless there's a compelling reason to separate it.
At this point, it is time to actually create the skill.
Skip this step only if the skill being developed already exists, and iteration is needed. In this case, continue to the next step.
When creating a new skill from scratch, always run the init_skill.py script. The script conveniently generates a new template skill directory that automatically includes everything a skill requires, making the skill creation process much more efficient and reliable.
Usage:
scripts/init_skill.py <skill-name> --path <output-directory> [--resources scripts,references,assets] [--examples]Examples:
scripts/init_skill.py my-skill --path <workspace>/skills
scripts/init_skill.py my-skill --path <workspace>/skills --resources scripts,references
scripts/init_skill.py my-skill --path <workspace>/skills --resources scripts --examplesWhere <workspace> is your workspace directory shown in the "Workspace" section of the system prompt.
The script:
--resources--examples is setAfter initialization, customize the SKILL.md and add resources as needed. If you used --examples, replace or delete placeholder files.
Important: Always create skills in workspace skills directory (<workspace>/skills), NOT in project directory. Check the "Workspace" section for the actual workspace path.
When editing the (newly-generated or existing) skill, remember that the skill is being created for another instance of the agent to use. Include information that would be beneficial and non-obvious to the agent. Consider what procedural knowledge, domain-specific details, or reusable assets would help another agent instance execute these tasks more effectively.
Workflow patterns — For complex tasks, break operations into sequential steps or conditional branches:
# Sequential: list numbered steps with scripts
1. Analyze the form (run analyze_form.py)
2. Create field mapping (edit fields.json)
3. Fill the form (run fill_form.py)
# Conditional: guide through decision points
1. Determine the modification type:
**Creating new content?** → Follow "Creation workflow"
**Editing existing content?** → Follow "Editing workflow"Output patterns — When consistent output format matters, provide a template or input/output examples in SKILL.md so the agent can follow the desired style.
To begin implementation, start with the reusable resources identified above: scripts/, references/, and assets/ files. Note that this step may require user input. For example, when implementing a brand-guidelines skill, the user may need to provide brand assets or templates to store in assets/, or documentation to store in references/.
Available Base Tools:
The agent has access to these core tools that you can leverage in your skill:
Minimize Dependencies:
Important Guidelines:
Added scripts must be tested by actually running them to ensure there are no bugs and that the output matches what is expected. If there are many similar scripts, only a representative sample needs to be tested to ensure confidence that they all work while balancing time to completion.
If you used --examples, delete any placeholder files that are not needed for the skill. Only create resource directories that are actually required.
Writing Guidelines: Always use imperative/infinitive form.
Write the YAML frontmatter with name, description, and optional metadata:
name: The skill namedescription: This is the primary triggering mechanism for your skill, and helps the agent understand when to use the skill.docx skill: "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. Use when the agent needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks"metadata: (Optional) Specify requirements and configurationrequires.bins: Required binaries (e.g., ["curl", "jq"])requires.env: Required environment variables — all must be set (e.g., ["MYAPI_KEY"])requires.anyEnv: Alternative environment variables — at least one must be set (e.g., ["OPENAI_API_KEY", "LINKAI_API_KEY"])requires.anyBins: Alternative binaries — at least one must be presentalways: Set to true to always load regardless of requirementsemoji: Skill icon (optional)category — it defaults to skill and is managed by the systemAPI Key Requirements:
If your skill needs a single API key, declare it in requires.env:
---
name: my-search
description: Search using MyAPI
metadata:
requires:
bins: ["curl"]
env: ["MYAPI_KEY"]
---If your skill supports multiple API key providers (e.g., OpenAI or LinkAI), use requires.anyEnv:
---
name: my-vision
description: Analyze images using Vision API
metadata:
requires:
bins: ["curl"]
anyEnv: ["OPENAI_API_KEY", "LINKAI_API_KEY"]
---Auto-enable rule: Skills are automatically enabled when required environment variables are set, and automatically disabled when missing. No manual configuration needed.
Write instructions for using the skill and its bundled resources.
If your skill requires an API key, include setup instructions in the body:
## Setup
This skill requires an API key from [Service Name].
1. Visit https://service.com to get an API key
2. Configure it using: `env_config(action="set", key="SERVICE_API_KEY", value="your-key")`
3. Or manually add to `~/cow/.env`: `SERVICE_API_KEY=your-key`
4. Restart the agent for changes to take effect
## Usage
...The bash script should check for the key and provide helpful error messages:
#!/usr/bin/env bash
if [ -z "${SERVICE_API_KEY:-}" ]; then
echo "Error: SERVICE_API_KEY not set"
echo "Please configure your API key first (see SKILL.md)"
exit 1
fi
curl -H "Authorization: Bearer $SERVICE_API_KEY" ...Script Path Convention:
When writing SKILL.md instructions, remember that:
<available_skills> with a <base_dir> path<base_dir>/scripts/script_name.shExample instruction in SKILL.md:
## Usage
Scripts are in this skill's base directory (shown in skill listing).
bash "<base_dir>/scripts/my_script.sh" <args>Validate skill format:
scripts/quick_validate.py <path/to/skill-folder>Example:
scripts/quick_validate.py <workspace>/skills/weather-apiValidation checks:
Note: Validation is optional in COW. Mainly useful for troubleshooting format issues.
Improve based on real usage:
Skills use three-level loading:
Best practices:
references/ filesPattern: For skills with multiple variants/frameworks:
Example:
cloud-deploy/
├── SKILL.md (workflow + provider selection)
└── references/
├── aws.md
├── gcp.md
└── azure.mdWhen user chooses AWS, agent only reads aws.md.
© zhayujie, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in skills/skill-creator of zhayujie/CowAgent.
Open the folder on GitHubat commit 0152064
Skill Creator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skill Creator this skillzhayujie/CowAgent | 47k | — | ~4.7k | Automated safety check: Notes | MIT | |
| Darwin Skill Optimizeralchaincyf/darwin-skill | 6.2k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Open-Science Skill Creatoraipoch/open-science | 5.5k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Skill Quality ReviewerGalaxy-Dawn/claude-scholar | 5.7k | 1 repos | ~3k | Automated safety check: Pass | MIT | |
| Prismer Skill CreatorPrismer-AI/PrismerCloud | 1.6k | — | ~2.6k | Automated safety check: Notes | MIT | |
| Skill Factorysangrokjung/claude-forge | 852 | — | ~2.7k | Automated safety check: Pass | MIT |
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
aipoch/open-science
Creates, revises, evaluates and publishes skills in the Open-Science app through its native host.skills composer, with optional test prompts and benchmarks.
Galaxy-Dawn/claude-scholar
Scores a skill across description, content organization, writing style and structure, then produces letter grades and a prioritized improvement plan.
Prismer-AI/PrismerCloud
Walks an agent through creating, importing, editing, validating, testing and publishing Prismer Skills with a fixed workflow and bundled scripts.
sangrokjung/claude-forge
Analyze session work and automatically convert reusable patterns into Claude Code skills.
authcrunch/authcrunch.github.io
Create, port, revise, or audit repo-local skills and their metadata, engineering contracts, and task routes.
zhayujie/CowAgent
Generates or edits images from text prompts through a Python script that picks an image backend based on which API keys are configured.
zhayujie/CowAgent
Maintains a structured Markdown knowledge base in a knowledge/ folder by ingesting shared articles, synthesizing conversations and answering questions from it.
Categories
Guides creating, installing and updating agent skills in a workspace: SKILL.md frontmatter, bundled scripts and references, with scripts to scaffold, validate and package. The skill explains what a skill is, a modular package of specialized workflows, tool integrations, domain expertise and bundled resources, and sets one core principle: be concise and add only context the agent does not already have, asking whether each piece justifies its token cost.md with YAML frontmatter and a markdown body, plus optional resources.
Skill Creator fits situations like: creating a new skill from scratch; installing a skill from a URL or remote source; restructuring or updating an existing skill; deciding what belongs in SKILL.md versus scripts and references.
Run `npx skills add zhayujie/CowAgent --skill skill-creator -a claude-code`. Or copy the skill folder (skills/skill-creator in zhayujie/CowAgent) into .claude/skills/skill-creator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zhayujie/CowAgent --skill skill-creator -a codex`. Or copy the skill folder (skills/skill-creator in zhayujie/CowAgent) into .agents/skills/skill-creator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zhayujie/CowAgent --skill skill-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-creator, .gemini/skills/skill-creator, .github/skills/skill-creator and .opencode/skills/skill-creator in your project.
Going by SKILL.md and its folder, Skill Creator needs Python for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named SERVICE_API_KEY, MYAPI_KEY, OPENAI_API_KEY and LINKAI_API_KEY. Our summary lists: Python, for the scaffold, validate and package scripts.
SKILL.md names 1 domain. In commands or code: service.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Skill Creator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Skill Creator: Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars), Open-Science Skill Creator (aipoch/open-science, 5.5k stars), Skill Quality Reviewer (Galaxy-Dawn/claude-scholar, 5.7k stars) and Prismer Skill Creator (Prismer-AI/PrismerCloud, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
zhayujie (a GitHub user) maintains it in zhayujie/CowAgent, which has 47,294 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 9, 2026.
Source: zhayujie/CowAgent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.