Skill Factory logo

Skill Factory

Community
sangrokjung
skill-factory

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.

Overview

Publishersangrokjung
Repositoryclaude-forge
Skill nameskill-factory
Stars
853
Forks
183
Bundled files
6
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by sangrokjung on GitHub. Read the source before you install it.

Installation

Install the Skill Factory AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/sangrokjung/claude-forge.git /tmp/claude-forge
mkdir -p .claude/skills
cp -r /tmp/claude-forge/skills/skill-factory .claude/skills/skill-factory
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Skill Factory in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Skill Factory on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Skill Factory is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Skill Factory

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 SkillRoleskill-factory Difference
skill-creator (archived)Manual 6-step guideAutomated pipeline
manage-skillsDrift detection (verify-* skills)Proactive skill generation (manage-skills verifies existing; skill-factory creates new)
continuous-learningPassive pattern extractionOn-demand + team execution

Parameter Parsing

Parse $ARGUMENTS for flags:

FlagDefaultDescription
--dry-runfalseAnalyze and report only, no file creation
--no-teamfalseRun sequentially without Agent Teams
--target(auto)Specific pattern name to extract
--scopeglobalglobal (~/. claude/skills/) or project (.claude/skills/)

If no arguments, run full auto-detection pipeline.

Phase 1: Session Analysis

Collect what happened in this session:

bash
# 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/null

From collected changes, identify candidate patterns - repeatable workflows that appeared:

  1. Multi-step sequences - 3+ actions performed in consistent order
  2. Tool combinations - Specific tools used together (e.g., Grep + Read + Edit)
  3. Domain procedures - File types or directories accessed with specific operations
  4. Repeated transformations - Same type of change applied to multiple files

If --target is specified, focus analysis on that named pattern only.

For each candidate, produce a JSON entry (internal, not shown to user):

json
{
  "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.

Phase 2: Similarity Check

For each selected pattern, check against existing inventory.

Step 1: Scan inventory

bash
bash $HOME/.claude/skills/skill-factory/scripts/scan-inventory.sh --scope all > /tmp/sf-manifest.json

Step 2: Score similarity

bash
python3 $HOME/.claude/skills/skill-factory/scripts/similarity-scorer.py \
  --candidate "<pattern description>" \
  --candidate-name "<pattern-name>" \
  --manifest /tmp/sf-manifest.json \
  --top 3

Step 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.

Phase 3: Blueprint

For each CREATE/UPDATE/MERGE decision, design the skill structure.

CREATE Blueprint

Select template type from references/skill-templates.md:

  • Workflow for sequential processes
  • Task/Tool for operation collections
  • Reference for domain knowledge
  • Verification for automated checks

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.

UPDATE Blueprint

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.md

MERGE Blueprint

For 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 script

Phase 4: Execution

Two paths based on --no-team flag and Agent Teams availability.

Check Agent Teams availability:

bash
[ "${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.

Path A: Agent Teams (default)

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:

  1. tami completes analysis -> reports to lead
  2. Lead confirms with user (Checkpoint 1-2)
  3. jiwon creates skill files -> reports to lead
  4. Lead confirms with user (Checkpoint 3)
  5. duri validates and registers -> reports to lead
  6. Lead confirms with user (Checkpoint 4)
  7. Shutdown all teammates, TeamDelete

Path B: Sequential (--no-team)

Execute the same phases inline without Agent Teams:

  1. Run scan-inventory.sh and similarity-scorer.py directly
  2. Checkpoint 1-2: Present similarity results, ask user for CREATE/UPDATE/MERGE/SKIP per pattern
  3. Design blueprint based on template selection
  4. Checkpoint 3: Present blueprint, wait for user approval
  5. Create/update skill directory and files based on approved blueprint
  6. Run validate-skill.sh to verify
  7. Checkpoint 4: Present validation results, ask user to register or edit
  8. Register and log

--dry-run Mode

Stop 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.

Phase 5: Registration

After validation passes:

  1. 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-pdf
  2. Scope placement:

    • --scope global: ~/.claude/skills/<name>/
    • --scope project: .claude/skills/<name>/
  3. Optional CLAUDE.md update: If project-scoped, offer to add skill reference to project CLAUDE.md.

Output Format

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

Error Handling

SituationAction
No git historyAnalyze only staged/unstaged changes
No patterns found"No reusable patterns detected. Try after a more complex session."
scan-inventory.sh failsFall back to manual inventory (glob SKILL.md files)
similarity-scorer.py failsSkip similarity check, default to CREATE
Agent Teams unavailableAuto-fallback to --no-team mode
validate-skill.sh failsShow errors, let user fix or cancel
User cancels at checkpointAbort gracefully, no partial files left

Related Files

FilePurposeWhen to Read
scripts/scan-inventory.shScan all skills/commands/agents to JSONPhase 2 - always
scripts/similarity-scorer.py4-dim similarity scoringPhase 2 - per pattern
scripts/validate-skill.shValidate created skill structurePhase 5 - after creation
references/decision-tree.mdCREATE/UPDATE/MERGE/SKIP logicPhase 2 - for decisions
references/team-composition.mdtami/jiwon/duri team setupPhase 4 - Agent Teams path
references/skill-templates.mdSkill type templatesPhase 3 - blueprint design

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Skill Factory AI skill do?

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.

Why use Skill Factory on TypingMind?

Because you install it once and use it with any model. Skill Factory is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Skill Factory in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/sangrokjung/claude-forge/tree/main/skills/skill-factory. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Skill Factory?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Skill Factory?

As many as you like. As long as a model supports skills, you can use Skill Factory with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Skill Factory AI skill free?

Yes. It is published on GitHub by sangrokjung under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇