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.
Analyze session work and automatically convert reusable patterns into Claude Code skills.
$ npx skills add sangrokjung/claude-forge --skill skill-factory -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sangrokjung/claude-forge skill-factory --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/sangrokjung/claude-forge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skill-factory .claude/skills/skill-factory && 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-factory" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory into .claude/skills/skill-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-factory", 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/sangrokjung/claude-forge/tree/main/skills/skill-factoryType 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 sangrokjung/claude-forge --skill skill-factory -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sangrokjung/claude-forge skill-factory --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skill-factory .agents/skills/skill-factory && 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-factory" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory into .agents/skills/skill-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-factory", 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 sangrokjung/claude-forge --skill skill-factory -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sangrokjung/claude-forge skill-factory --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skill-factory .cursor/skills/skill-factory && 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-factory" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory into .cursor/skills/skill-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-factory", 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/sangrokjung/claude-forge.git --path skills/skill-factory--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 sangrokjung/claude-forge --skill skill-factory -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sangrokjung/claude-forge skill-factory --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skill-factory .gemini/skills/skill-factory && 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-factory" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory into .gemini/skills/skill-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-factory", 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 sangrokjung/claude-forge skill-factoryInstalls 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 sangrokjung/claude-forge --skill skill-factory -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skill-factory .github/skills/skill-factory && 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-factory" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory into .github/skills/skill-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-factory", 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 sangrokjung/claude-forge --skill skill-factory -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sangrokjung/claude-forge skill-factory --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skill-factory .opencode/skills/skill-factory && 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-factory" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory into .opencode/skills/skill-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-factory", 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-factoryAnalyze session work and automatically convert reusable patterns into Claude Code skills.
Skill Factory is an agent skill from sangrokjung/claude-forge. Analyze session work and automatically convert reusable patterns into Claude Code skills. Use when: "세션을 스킬로", "스킬 만들어", "이거 스킬로", "skill factory", "이 작업 자동화해", "스킬 추출", "make this a skill", "extract skill", "convert to skill", "스킬 팩토리", "자동 스킬 생성". Differs from skill-creator (archived) and manage-skills (drift detection): this skill actively analyzes sessions, checks for duplicates, and creates skills via Agent Teams.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `references/decision-tree.md`, `references/skill-templates.md` and `references/team-composition.md`).
It sits in Agent Workflows, covering Skill management, GitOps and Skill authoring. The repository describes itself as: oh-my-zsh for Claude Code — 16 agents, 35 commands, 32 skills, 21 safety hooks in one install. v4.0 adds an adversarial review loop: a second agent that never sees the first… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 34d881d. 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/ (Shell and Python), which the agent can run.
Shell commands in SKILL.md call:
gitbashpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Factory loads about 2.7k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 109 tokens; SKILL.md has 659 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 found no risky patterns in SKILL.md.
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 sangrokjung/claude-forge at commit 34d881d, republished under its MIT licence (© sangrokjung). 659 words, ~2,652 tokens.
.claude/skills/skill-factory/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Automated pipeline: session analysis -> duplicate check -> skill creation.
Requires: Python 3.8+, bash, git. Agent Teams path requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
| Existing Skill | Role | skill-factory Difference |
|---|---|---|
| skill-creator (archived) | Manual 6-step guide | Automated pipeline |
| manage-skills | Drift detection (verify-* skills) | Proactive skill generation (manage-skills verifies existing; skill-factory creates new) |
| continuous-learning | Passive pattern extraction | On-demand + team execution |
Parse $ARGUMENTS for flags:
| Flag | Default | Description |
|---|---|---|
--dry-run | false | Analyze and report only, no file creation |
--no-team | false | Run sequentially without Agent Teams |
--target | (auto) | Specific pattern name to extract |
--scope | global | global (~/. claude/skills/) or project (.claude/skills/) |
If no arguments, run full auto-detection pipeline.
Collect what happened in this session:
# Uncommitted changes
git diff HEAD --name-only 2>/dev/null
# Recent commits on current branch
git log --oneline -20 2>/dev/null
# Branch diff from main
git diff main...HEAD --name-only 2>/dev/nullFrom collected changes, identify candidate patterns - repeatable workflows that appeared:
If --target is specified, focus analysis on that named pattern only.
For each candidate, produce a JSON entry (internal, not shown to user):
{
"name": "pattern-name",
"description": "What was done repeatedly",
"files": ["path/a.ts", "path/b.ts"],
"steps": ["Step1", "Step2", "Step3"],
"step_count": 3
}Present findings to user:
Session Analysis Complete
Candidate Patterns Found: N
1. [pattern-name] - "Description of what was done repeatedly"
Files: path/a.ts, path/b.ts (N files)
Steps: Step1 -> Step2 -> Step3
2. [pattern-name] - "Description"
...
Which patterns should become skills? (select or 'all')Wait for user selection before proceeding.
For each selected pattern, check against existing inventory.
Step 1: Scan inventory
bash $HOME/.claude/skills/skill-factory/scripts/scan-inventory.sh --scope all > /tmp/sf-manifest.jsonStep 2: Score similarity
python3 $HOME/.claude/skills/skill-factory/scripts/similarity-scorer.py \
--candidate "<pattern description>" \
--candidate-name "<pattern-name>" \
--manifest /tmp/sf-manifest.json \
--top 3Step 3: Apply decision logic (see references/decision-tree.md)
Present results to user:
Similarity Check Results
Pattern: "pdf-batch-edit"
Top match: nano-pdf (score: 0.72) -> MERGE
Recommendation: Extend nano-pdf with batch operations
Pattern: "config-updater"
Top match: init-project (score: 0.45) -> UPDATE
Recommendation: Add config-update subsection to init-project
Pattern: "api-load-test"
Top match: e2e (score: 0.24) -> CREATE
Recommendation: Create new skill
Action for each pattern? (CREATE / UPDATE / MERGE / SKIP)Wait for user decision per pattern.
For each CREATE/UPDATE/MERGE decision, design the skill structure.
Select template type from references/skill-templates.md:
Generate blueprint:
Blueprint: api-load-test
Type: Workflow
Scope: global (~/.claude/skills/)
Structure:
api-load-test/
├── SKILL.md (~200 lines)
│ ├── Frontmatter: name, description with triggers
│ ├── Overview
│ ├── Prerequisites
│ ├── Workflow (4 steps)
│ └── Output Format
└── scripts/
└── run-load-test.sh
Key sections:
1. Target URL configuration
2. Load profile definition
3. Test execution
4. Results analysis
Approve this blueprint? (y/n/edit)Wait for user approval.
For UPDATE verdicts (score 0.3-0.6), plan a lightweight addition to the existing skill:
UPDATE Blueprint: config-updater -> init-project
Target skill: ~/.claude/skills/init-project/SKILL.md
Action: Add subsection "## Config Update" with steps
Estimated diff: +20-40 lines in existing SKILL.mdFor MERGE verdicts (score 0.6-0.8), plan a significant extension of the existing skill:
MERGE Blueprint: pdf-batch-edit -> nano-pdf
Target skill: ~/.claude/skills/nano-pdf/SKILL.md
Sections to add: "## Batch Operations" (new workflow section)
Scripts to add: scripts/batch-process.sh
Estimated diff: +60-100 lines in SKILL.md, +1 scriptTwo paths based on --no-team flag and Agent Teams availability.
Check Agent Teams availability:
[ "${CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS:-0}" = "1" ] && echo "teams" || echo "no-team"If --no-team is set or env var is missing/0, use Path B automatically.
Read references/team-composition.md for full team details.
Team: 3 teammates (tami, jiwon, duri)
TeamCreate -> "skill-factory-run"
TaskCreate -> tami's analysis tasks (T1-T6)
TaskCreate -> jiwon's creation tasks (T7-T12, blocked by T6)
TaskCreate -> duri's validation tasks (T13-T18, blocked by T12)
Task -> tami (Explore, sonnet, blue)
"Analyze session, run scan-inventory.sh, run similarity-scorer.py, report findings"
Task -> jiwon (general-purpose, sonnet, green)
"For CREATE: read skill-templates.md, create SKILL.md + resources based on blueprint"
"For UPDATE/MERGE: read target skill, apply diff from blueprint, add new sections/scripts"
Task -> duri (general-purpose, sonnet, yellow)
"Run validate-skill.sh, verify triggers, register skill"Pipeline:
Execute the same phases inline without Agent Teams:
scan-inventory.sh and similarity-scorer.py directlyvalidate-skill.sh to verifyStop after Phase 3 (blueprint). Print the blueprint and exit without creating files:
DRY RUN COMPLETE
Patterns analyzed: N
Decisions: X CREATE, Y MERGE, Z SKIP
Blueprints generated: X
No files were created. Remove --dry-run to execute.After validation passes:
Log creation - Append to ~/.claude/skill-factory.log:
[2026-02-18T14:30:00] CREATED api-load-test (global) from session patterns
[2026-02-18T14:30:00] MERGED batch-operations into nano-pdfScope placement:
--scope global: ~/.claude/skills/<name>/--scope project: .claude/skills/<name>/Optional CLAUDE.md update: If project-scoped, offer to add skill reference to project CLAUDE.md.
Final report after all patterns are processed:
Skill Factory Report
Session: <branch-name or "main">
Patterns found: N
Patterns processed: M
Results:
CREATED: api-load-test (global) - 4 files, 180 lines
MERGED: batch-ops into nano-pdf - 2 sections added
SKIPPED: data-transform (0.85 match with data-research)
Files created/modified:
~/.claude/skills/api-load-test/SKILL.md
~/.claude/skills/api-load-test/scripts/run-load-test.sh
~/.claude/skills/nano-pdf/SKILL.md (updated)
Validation: ALL PASS
Log: ~/.claude/skill-factory.log
Next steps:
Test the new skill: /api-load-test
Review: cat ~/.claude/skills/api-load-test/SKILL.md| Situation | Action |
|---|---|
| No git history | Analyze only staged/unstaged changes |
| No patterns found | "No reusable patterns detected. Try after a more complex session." |
| scan-inventory.sh fails | Fall back to manual inventory (glob SKILL.md files) |
| similarity-scorer.py fails | Skip similarity check, default to CREATE |
| Agent Teams unavailable | Auto-fallback to --no-team mode |
| validate-skill.sh fails | Show errors, let user fix or cancel |
| User cancels at checkpoint | Abort gracefully, no partial files left |
| File | Purpose | When to Read |
|---|---|---|
| scripts/scan-inventory.sh | Scan all skills/commands/agents to JSON | Phase 2 - always |
| scripts/similarity-scorer.py | 4-dim similarity scoring | Phase 2 - per pattern |
| scripts/validate-skill.sh | Validate created skill structure | Phase 5 - after creation |
| references/decision-tree.md | CREATE/UPDATE/MERGE/SKIP logic | Phase 2 - for decisions |
| references/team-composition.md | tami/jiwon/duri team setup | Phase 4 - Agent Teams path |
| references/skill-templates.md | Skill type templates | Phase 3 - blueprint design |
© sangrokjung, 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 6 other files (scripts, references) in skills/skill-factory of sangrokjung/claude-forge.
Open the folder on GitHubat commit 34d881d
Skill Factory 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 Factory this skillsangrokjung/claude-forge | 852 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Darwin Skill Optimizeralchaincyf/darwin-skill | 6.2k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Skill Creatorzhayujie/CowAgent | 47k | — | ~4.7k | Automated safety check: Notes | 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 |
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.
zhayujie/CowAgent
Guides creating, installing and updating agent skills in a workspace: SKILL.md frontmatter, bundled scripts and references, with scripts to scaffold, validate and package.
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.
authcrunch/authcrunch.github.io
Create, port, revise, or audit repo-local skills and their metadata, engineering contracts, and task routes.
sangrokjung/claude-forge
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack.
sangrokjung/claude-forge
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing.
sangrokjung/claude-forge
A skill your agent uses when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development.
sangrokjung/claude-forge
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.
sangrokjung/claude-forge
Measure and shrink the always-loaded context of a Claude Code harness (CLAUDE.md + rules without paths frontmatter) back under budget — migrate narrative to reference files, convert rules to…
sangrokjung/claude-forge
A skill your agent uses when wrapping up a session before ending.
Categories
Analyze session work and automatically convert reusable patterns into Claude Code skills. Skill Factory is an agent skill from sangrokjung/claude-forge. Analyze session work and automatically convert reusable patterns into Claude Code skills.
Skill Factory fits situations like: make this a skill; convert to skill.
Run `npx skills add sangrokjung/claude-forge --skill skill-factory -a claude-code`. Or copy the skill folder (skills/skill-factory in sangrokjung/claude-forge) into .claude/skills/skill-factory in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sangrokjung/claude-forge --skill skill-factory -a codex`. Or copy the skill folder (skills/skill-factory in sangrokjung/claude-forge) into .agents/skills/skill-factory 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 sangrokjung/claude-forge --skill skill-factory -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-factory, .gemini/skills/skill-factory, .github/skills/skill-factory and .opencode/skills/skill-factory in your project.
Going by SKILL.md and its folder, Skill Factory needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (git, bash and python3). Our summary lists: Python 3; A Bash shell.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. 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 Factory is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Skill Factory: Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars), Skill Creator (zhayujie/CowAgent, 47k stars), Open-Science Skill Creator (aipoch/open-science, 5.5k stars) and Skill Quality Reviewer (Galaxy-Dawn/claude-scholar, 5.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sangrokjung (a GitHub user) maintains it in sangrokjung/claude-forge, which has 852 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on September 3, 2026.
Source: sangrokjung/claude-forge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.