From forge
Reviews and curates Forge library of agents, skills, templates. Detects duplicates, staleness, quality issues, orphans; produces reports with merge, archive, promote recommendations. For library audits, cleanup, stats.
npx claudepluginhub jdforsythe/forge --plugin forgeThis skill uses the workspace's default tool permissions.
The curation and maintenance engine for the Forge library. Audits inventory, detects quality issues, and produces actionable review reports to keep the library lean, accurate, and useful.
Documents orchestrator subsystems for automatic learning integration, performance recording, validation, interactive suggestions, gitignore management, and workspace health monitoring.
Performs 12-Factor Agents compliance analysis on codebases for agent architecture evaluation, LLM-powered systems review, and agentic app audits.
Analyzes Agent Alchemy plugin ecosystem for dependency issues, broken paths, orphaned components, and documentation drift. Produces interactive severity-ranked health reports.
Share bugs, ideas, or general feedback.
The curation and maintenance engine for the Forge library. Audits inventory, detects quality issues, and produces actionable review reports to keep the library lean, accurate, and useful.
Deduplication & Similarity: deduplication, semantic similarity, tag overlap, merge candidate, near-duplicate detection, Jaccard coefficient, synonym clustering Lifecycle & Quality: quality promotion, lifecycle stage, quality tier, curation, retention policy, staleness threshold, maturation criteria Inventory & Structure: orphan detection, dependency graph, index integrity, catalog maintenance, inventory audit, library hygiene, reference traversal Usage & Telemetry: usage frequency, usage telemetry, usage decay, access recency, impact-weighted frequency, archive candidate
roles array references agent names that do not exist in index.json agents. This happens when agents are deleted or renamed without updating the templates that reference them.Read library/index.json for the current catalog.
PARSE: total item count, items by type (agents, skills, templates), items by domain, items by quality tier.
IF index is empty or missing: Report "Library is empty. Nothing to review." and STOP.
OUTPUT: Inventory summary object.
Read library/usage-log.jsonl for usage data.
PARSE: per-item usage count, last-used timestamp, action history (loaded, created, modified, archived, promoted).
IF usage log is empty or missing: Note "No usage data available. Staleness and promotion checks will be limited to metadata only."
OUTPUT: Usage data map keyed by item path.
Deduplication check. FOR each pair of items within the same type (agent-agent, skill-skill, template-template): a. Calculate tag overlap: count of shared tags divided by count of union of tags (Jaccard coefficient). b. IF tag overlap > 0.70: Flag as merge candidate. c. IF tag overlap > 0.50 AND same domain: Flag as potential merge candidate (review manually). d. Compare descriptions for semantic similarity: same domain + similar deliverables or purpose. OUTPUT: List of merge candidate pairs with overlap scores.
Staleness check. FOR each item in the index: a. Find most recent usage log entry (any action type). b. Calculate days since last activity. c. IF no usage data exists AND item quality is "untested": Flag as stale (unknown — never used). d. IF last activity > 90 days (default threshold): Flag as stale. e. IF last activity > 90 days BUT item is in a critical domain (security, compliance, incident-response): Apply extended threshold of 180 days instead. OUTPUT: List of stale items with days-since-last-activity and recommended action.
Quality promotion check. FOR each item with a quality tier: a. Count total "loaded" actions in usage log. b. Check for any "modified" actions in usage log. c. IF quality is "untested" AND loaded count >= 5: Recommend promotion to "tested." d. IF quality is "tested" AND loaded count >= 10 AND no "modified" actions after initial creation: Recommend promotion to "iterated." e. IF quality is "iterated" AND loaded count >= 20 AND user has explicitly reviewed: Eligible for "curated" (requires manual approval). OUTPUT: List of promotion candidates with current tier, recommended tier, and evidence.
Orphan detection.
FOR each template in index:
a. Read the template's roles array.
b. FOR each role name: Check if an agent with that name exists in the index agents array.
c. IF agent not found: Flag as orphaned reference.
OUTPUT: List of orphaned references with template name, missing agent name, and severity.
Core overlap check. FOR each library item: a. Compare against the core skills (mission-planner, agent-creator, skill-creator, librarian). b. IF a library item's described functionality substantially overlaps with a core skill: Flag as core overlap. OUTPUT: List of items that may duplicate core skill functionality.
Compile review report. Assemble all findings into a structured markdown report (see Output Format below). Include:
Present report and WAIT for user approval. Do NOT modify any files until the user explicitly approves. IF user approves all recommendations: Proceed to Phase 4. IF user approves selectively: Execute only the approved changes. IF user rejects: STOP. No changes made.
Execute approved changes.
FOR each approved merge:
a. Remove the lower-quality item from index.json.
b. Optionally: copy unique tags from the removed item to the kept item.
c. Delete or archive the removed item's file.
FOR each approved archive:
a. Remove the item from index.json.
b. Move the item's file to library/archive/ (create directory if needed).
FOR each approved promotion:
a. Update the item's quality field in index.json.
FOR each approved orphan fix:
a. Update the template's roles array in index.json as directed.
Update index.json updated timestamp.
Log all changes. FOR each change executed: Append a usage-log.jsonl entry with:
ts: current ISO 8601 timestampitem: path of the affected itemtype: item type (agent, skill, template)action: "archived" for removals, "promoted" for promotions, "modified" for merges and orphan fixescontext: "librarian"The review report uses structured markdown:
# Library Review Report
**Date:** [ISO 8601 date]
**Total items:** [count] ([agents] agents, [skills] skills, [templates] templates)
## Summary Statistics
| Domain | Agents | Skills | Templates | Total |
|--------|--------|--------|-----------|-------|
| [domain] | [n] | [n] | [n] | [n] |
| ... | ... | ... | ... | ... |
### Quality Distribution
| Tier | Count | Percentage |
|------|-------|------------|
| Curated | [n] | [%] |
| Iterated | [n] | [%] |
| Tested | [n] | [%] |
| Untested | [n] | [%] |
## Merge Candidates
### [Item A] + [Item B]
- **Tag overlap:** [%]
- **Recommendation:** Keep [Item A] (reason: higher quality tier / more recent / more used)
- **Action required:** Merge and remove [Item B]
## Archive Candidates
### [Item Name]
- **Last activity:** [date] ([N] days ago)
- **Total uses:** [count]
- **Reason:** [Unused for >90 days / Never used / Duplicates core skill]
- **Action required:** Archive to library/archive/
## Quality Promotions
### [Item Name]
- **Current tier:** [tier]
- **Recommended tier:** [tier]
- **Evidence:** [N] uses, [N] days at current tier, [modified/unmodified]
## Orphaned References
### Template: [template-name]
- **Missing agent:** [agent-name]
- **Options:** Create agent / Remove from template / Replace with [alternative]
## No Issues
[Only shown if all checks pass]
Library is clean. No merge candidates, stale items, promotions, or orphans detected.
Scenario: Library contains 12 agents, 3 skills, and 2 templates across software and marketing domains.
Review report output:
# Library Review Report
**Date:** 2026-03-28T12:00:00Z
**Total items:** 17 (12 agents, 3 skills, 2 templates)
## Summary Statistics
| Domain | Agents | Skills | Templates | Total |
|--------|--------|--------|-----------|-------|
| software | 8 | 2 | 1 | 11 |
| marketing | 4 | 1 | 1 | 6 |
### Quality Distribution
| Tier | Count | Percentage |
|------|-------|------------|
| Curated | 0 | 0% |
| Iterated | 1 | 8% |
| Tested | 3 | 25% |
| Untested | 8 | 67% |
## Merge Candidates
### api-developer + backend-engineer
- **Tag overlap:** 78% (shared: api, rest, backend, nodejs, database, testing; unique to api-developer: openapi; unique to backend-engineer: microservices)
- **Recommendation:** Keep backend-engineer (reason: higher quality tier — tested vs untested)
- **Action required:** Merge tags and remove api-developer
### content-writer + copywriter
- **Tag overlap:** 72% (shared: writing, content, marketing, seo, editing; unique to content-writer: blog, longform; unique to copywriter: ads, conversion)
- **Recommendation:** Keep content-writer (reason: more total uses — 8 vs 3)
- **Action required:** Merge tags and remove copywriter
## Archive Candidates
### seo-analyst
- **Last activity:** 2025-11-28 (120 days ago)
- **Total uses:** 1
- **Reason:** Unused for >90 days, low total usage
- **Action required:** Archive to library/archive/
## Quality Promotions
### product-manager
- **Current tier:** untested
- **Recommended tier:** tested
- **Evidence:** 7 uses over 45 days, no modifications
### frontend-developer
- **Current tier:** untested
- **Recommended tier:** tested
- **Evidence:** 5 uses over 30 days, no modifications
### qa-engineer
- **Current tier:** tested
- **Recommended tier:** iterated
- **Evidence:** 12 uses over 60 days, unmodified since creation
## Orphaned References
### Template: marketing-campaign
- **Missing agent:** brand-strategist
- **Options:** Create brand-strategist agent / Remove from template / Replace with content-writer
Scenario: Library contains 6 agents, 1 skill, and 1 template. All items are actively used, no duplicates, no orphans.
Review report output:
# Library Review Report
**Date:** 2026-03-28T12:00:00Z
**Total items:** 8 (6 agents, 1 skill, 1 template)
## Summary Statistics
| Domain | Agents | Skills | Templates | Total |
|--------|--------|--------|-----------|-------|
| software | 4 | 1 | 1 | 6 |
| marketing | 2 | 0 | 0 | 2 |
### Quality Distribution
| Tier | Count | Percentage |
|------|-------|------------|
| Curated | 1 | 17% |
| Iterated | 2 | 33% |
| Tested | 2 | 33% |
| Untested | 1 | 17% |
## No Issues
Library is clean. No merge candidates, stale items, promotions, or orphans detected.
All items have been used within the last 90 days. Quality tiers are up to date. All template references resolve to existing agents.
library/index.json, library/usage-log.jsonl, and item files under library/.library/archive/, deleting merged duplicates.library/archive/ directory on first archive operation if it does not exist.This skill activates when the user asks any of the following (or variations):
./references/review-criteria.md — Scoring rubrics, threshold definitions, and merge strategy details./schemas/index-schema.json — Library index format specification./schemas/usage-log-schema.json — Usage log entry format specification