npx claudepluginhub chkim-su/forge-editor --plugin forge-editorManages AI Agent Skills on prompts.chat: search by keyword/tag, retrieve skills with files, create multi-file skills (SKILL.md required), add/update/remove files for Claude Code.
Manages AI prompt library on prompts.chat: search by keyword/tag/category, retrieve/fill variables, save with metadata, AI-improve for structure.
Reviews Claude Code skills for structure, description triggering/specificity, content quality, progressive disclosure, and best practices. Provides targeted improvements. Trigger proactively after skill creation/modification.
Identifies patterns that should be extracted into reusable components.
"If you do it 3 times, script it. If it needs reasoning, agentize it."
Detect repeated patterns and recommend appropriate extraction:
Is this pattern repeated 3+ times?
├─ No → Don't extract (premature abstraction)
└─ Yes → Does it require LLM reasoning?
├─ Yes → Is it a workflow (multi-step)?
│ ├─ Yes → Extract as AGENT
│ └─ No → Is it knowledge/guidance?
│ ├─ Yes → Extract as SKILL
│ └─ No → Extract as AGENT (single-task)
└─ No → Is it deterministic?
├─ Yes → Extract as SCRIPT
└─ No → Is it configuration-driven?
├─ Yes → Extract as TEMPLATE
└─ No → Manual case-by-case
Indicators:
- Same bash commands repeated in multiple places
- File manipulation with consistent pattern
- Validation logic duplicated
- Build/test steps repeated
Examples:
- "rm -rf __pycache__ && rm -rf .pytest_cache"
- "python3 scripts/validate_all.py --json"
- "git add . && git commit -m ..."
Detection:
- Grep for repeated command sequences
- Look for copy-paste patterns
- Check for hardcoded paths repeated
Indicators:
- Complex analysis requiring reasoning
- Multi-step decision making
- Code review/quality assessment
- Architectural analysis
Examples:
- "Analyze this PR for issues"
- "Review code for security vulnerabilities"
- "Determine appropriate hook type"
Detection:
- Look for analysis-heavy instructions
- Find multi-step reasoning patterns
- Check for quality judgment tasks
Indicators:
- Referenced knowledge blocks
- Repeated prompt patterns
- Domain-specific guidance
- Best practices documentation
Examples:
- "When working with MCP, always..."
- "The correct pattern for hooks is..."
- "Progressive disclosure means..."
Detection:
- Look for repeated "best practices" text
- Find duplicated guidance sections
- Check for domain knowledge blocks
Scan for repeated patterns:
# Conceptual detection logic
patterns_found = []
# 1. Command sequences
bash_patterns = find_repeated_commands(threshold=3)
# 2. Analysis instructions
analysis_patterns = find_reasoning_tasks(threshold=2)
# 3. Knowledge blocks
knowledge_patterns = find_guidance_text(threshold=2)
patterns_found = bash_patterns + analysis_patterns + knowledge_patterns
For each pattern found:
| Question | Yes → | No → |
|---|---|---|
| Requires LLM? | Agent/Skill | Script |
| Multi-step workflow? | Agent | Skill (if guidance) |
| Deterministic? | Script | Agent |
| Configuration-driven? | Template | Case-by-case |
For each extraction candidate:
## Extraction Analysis
**Files Scanned:** {count}
**Patterns Found:** {count}
**Extraction Candidates:** {count}
### Summary
| Type | Candidates | Estimated Effort |
|------|------------|------------------|
| Script | {n} | {total hours} |
| Agent | {n} | {total hours} |
| Skill | {n} | {total hours} |
### Script Extraction Candidates
#### Candidate: {name}
**Pattern Found:**
\`\`\`bash
{repeated_command_sequence}
\`\`\`
**Occurrences:** {count} times in {files}
**Recommended Extraction:**
\`\`\`bash
#!/bin/bash
# scripts/{name}.sh
# Extracted from: {source_files}
{generated_script}
\`\`\`
**Usage After Extraction:**
\`\`\`bash
bash scripts/{name}.sh
\`\`\`
**Effort:** {low|medium|high}
---
### Agent Extraction Candidates
#### Candidate: {name}
**Pattern Found:**
{analysis_task_description}
**Occurrences:** {count} times
**Recommended Extraction:**
\`\`\`yaml
# agents/{name}.md
---
name: {name}
description: {extracted_from_pattern}
tools: [{recommended_tools}]
model: {recommended_model}
---
{generated_agent_structure}
\`\`\`
**Effort:** {low|medium|high}
---
### Skill Extraction Candidates
#### Candidate: {name}
**Pattern Found:**
{knowledge_block}
**Occurrences:** {count} times in {files}
**Recommended Extraction:**
\`\`\`yaml
# skills/{name}/SKILL.md
---
name: {name}
description: {extracted_description}
allowed-tools: [{recommended_tools}]
---
{generated_skill_structure}
\`\`\`
**Effort:** {low|medium|high}
---
### Not Recommended for Extraction
| Pattern | Reason | Occurrences |
|---------|--------|-------------|
| {pattern} | Only {n} times (<3) | {n} |
| {pattern} | Too context-specific | {n} |
### Prioritized Actions
| Priority | Type | Pattern | Action |
|----------|------|---------|--------|
| HIGH | Script | {pattern} | Extract to scripts/{name}.sh |
| MEDIUM | Agent | {pattern} | Create agents/{name}.md |
| LOW | Skill | {pattern} | Create skills/{name}/ |
#!/bin/bash
# {name}.sh - Extracted pattern
#
# Source: {original_locations}
# Purpose: {what_it_does}
# Usage: bash scripts/{name}.sh [args]
set -e
# Configuration
{extracted_config}
# Main logic
{extracted_logic}
# Output
echo "{completion_message}"
---
name: {name}
description: {purpose}
tools: [{tools}]
skills: {related_skills}
model: {model}
---
# {Name}
{brief_description}
## Process
### Phase 1: {first_step}
{extracted_logic}
### Phase 2: {second_step}
{extracted_logic}
## Output Format
{format}
## Success Criteria
{criteria}
---
name: {name}
description: {purpose}
allowed-tools: [{tools}]
---
# {Name}
{brief_description}
## When to Use
- {trigger_1}
- {trigger_2}
## How to Use
{extracted_guidance}
## References
- [Detail 1](references/{ref1}.md)