Install
$ agentstack add skill-sangrokjung-claude-forge-skill-factory ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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 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 |
Parameter Parsing
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.
Phase 1: Session Analysis
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/null
From collected changes, identify candidate patterns - repeatable workflows that appeared:
- Multi-step sequences - 3+ actions performed in consistent order
- Tool combinations - Specific tools used together (e.g., Grep + Read + Edit)
- Domain procedures - File types or directories accessed with specific operations
- 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):
{
"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 $HOME/.claude/skills/skill-factory/scripts/scan-inventory.sh --scope all > /tmp/sf-manifest.json
Step 2: Score similarity
python3 $HOME/.claude/skills/skill-factory/scripts/similarity-scorer.py \
--candidate "" \
--candidate-name "" \
--manifest /tmp/sf-manifest.json \
--top 3
Step 3: Apply decision logic (see [references/decision-tree.md](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](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:
[ "${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](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:
- tami completes analysis -> reports to lead
- Lead confirms with user (Checkpoint 1-2)
- jiwon creates skill files -> reports to lead
- Lead confirms with user (Checkpoint 3)
- duri validates and registers -> reports to lead
- Lead confirms with user (Checkpoint 4)
- Shutdown all teammates, TeamDelete
Path B: Sequential (--no-team)
Execute the same phases inline without Agent Teams:
- Run
scan-inventory.shandsimilarity-scorer.pydirectly - Checkpoint 1-2: Present similarity results, ask user for CREATE/UPDATE/MERGE/SKIP per pattern
- Design blueprint based on template selection
- Checkpoint 3: Present blueprint, wait for user approval
- Create/update skill directory and files based on approved blueprint
- Run
validate-skill.shto verify - Checkpoint 4: Present validation results, ask user to register or edit
- 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:
- 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 ``
- Scope placement:
--scope global:~/.claude/skills//--scope project:.claude/skills//
- 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:
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
| 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 |
Related Files
| File | Purpose | When to Read | |------|---------|--------------| | [scripts/scan-inventory.sh](scripts/scan-inventory.sh) | Scan all skills/commands/agents to JSON | Phase 2 - always | | [scripts/similarity-scorer.py](scripts/similarity-scorer.py) | 4-dim similarity scoring | Phase 2 - per pattern | | [scripts/validate-skill.sh](scripts/validate-skill.sh) | Validate created skill structure | Phase 5 - after creation | | [references/decision-tree.md](references/decision-tree.md) | CREATE/UPDATE/MERGE/SKIP logic | Phase 2 - for decisions | | [references/team-composition.md](references/team-composition.md) | tami/jiwon/duri team setup | Phase 4 - Agent Teams path | | [references/skill-templates.md](references/skill-templates.md) | Skill type templates | Phase 3 - blueprint design |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: sangrokjung
- Source: sangrokjung/claude-forge
- License: MIT
- Homepage: https://sangrokjung.github.io/claude-forge
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.