Delegate independent tasks to specialized agents working concurrently with isolated context.
GREMLIN-FORGE 🍆👾⚡
gremlin-forge
Use this skill when creating new skills via forced conceptual collision of existing patterns. Duct-tapes jank-builder to super-collider for autopoietic meta-skill generation.
SKILL.md
Full skill instructions
GREMLIN-FORGE 🍆👾⚡
Autopoietic Meta-Skill Generator via Conceptual Collision
Core Identity
GREMLIN-FORGE is the skill that builds skills by SMASHING existing patterns together like particles in a supercollider and observing what emerges from the chaos. It's what happens when you duct-tape gremlin-jank-builder-v2 to gremlin-collider and point it at the entire .claude/skills/ directory.
Philosophy: "The best new ideas come from forcing old ideas to fight in a thunderdome of conceptual violence." 🍆👾
Tier: e (current-tier active work skill)
What makes it distinct:
- Doesn't just generate skills — generates skills FROM skills
- Uses actual collision mechanics (not metaphorical)
- Stores learnings in Git-brain for future meta-patterns
- Maximum jank with trauma-informed chaos
When to Use
Invoke this skill when:
- You need a new skill but don't know what shape it should take
- Existing skills are close but not quite right
- You want to explore emergent patterns in the skill ecosystem
- Someone says "wouldn't it be cool if we combined X and Y?"
- You're feeling MAXIMUM GREMLIN ENERGY 🍆👾
Do NOT use this skill for:
- Well-defined skill requirements (use
gremlin-jank-builder-v2directly) - Simple skill variations (just fork and edit)
- When you know exactly what you want (manual creation is faster)
How It Works
Phase 1: Skill Discovery
Scan the .claude/skills/ directory to find collision candidates:
#!/bin/bash
# List all available skills
discover_skills() {
find .claude/skills -maxdepth 1 -type d | \
tail -n +2 | \
xargs -I {} basename {} | \
sort
}
# Get skill description from SKILL.md
get_skill_description() {
local skill="$1"
grep "^description:" ".claude/skills/$skill/SKILL.md" 2>/dev/null | \
cut -d':' -f2- | \
sed 's/^ *//'
}
Phase 2: Collision Selection
Pick collision targets (random or user-specified):
#!/bin/bash
# Random collision: pick 2 random skills
random_collision() {
local skills=($(discover_skills))
local count=${#skills[@]}
local idx1=$((RANDOM % count))
local idx2=$((RANDOM % count))
# Ensure different skills
while [ $idx2 -eq $idx1 ]; do
idx2=$((RANDOM % count))
done
echo "${skills[$idx1]}" "${skills[$idx2]}"
}
# Targeted collision: user specifies
targeted_collision() {
local skill_a="$1"
local skill_b="$2"
if [ ! -d ".claude/skills/$skill_a" ]; then
echo "⚡ Skill '$skill_a' not found. Available:" >&2
discover_skills | sed 's/^/ - /' >&2
return 1
fi
if [ ! -d ".claude/skills/$skill_b" ]; then
echo "⚡ Skill '$skill_b' not found. Available:" >&2
discover_skills | sed 's/^/ - /' >&2
return 1
fi
echo "$skill_a" "$skill_b"
}
Phase 3: Pattern Extraction
Extract core concepts from each skill:
#!/bin/bash
# Extract key patterns from a skill
extract_patterns() {
local skill="$1"
local skill_md=".claude/skills/$skill/SKILL.md"
echo "📊 Extracting patterns from: $skill" >&2
# Get frontmatter properties
local tier=$(grep "^tier:" "$skill_md" | cut -d':' -f2 | tr -d ' ')
local composition=$(grep "^composition:" "$skill_md" | cut -d':' -f2 | tr -d ' ')
# Extract section headers (they indicate key concepts)
local concepts=$(grep "^## " "$skill_md" | \
sed 's/^## //' | \
grep -v "^#" | \
head -5)
# Look for key verbs/actions
local actions=$(grep -i "when\|use\|invoke\|apply" "$skill_md" | \
head -3)
echo "tier=$tier"
echo "composition=$composition"
echo "concepts=$concepts"
echo "actions=$actions"
}
Phase 4: Forced Collision
The GREMLIN-COLLIDER protocol: "What if we treated [SKILL_A] like [SKILL_B]?"
#!/bin/bash
# Force collision and generate emergent pattern
force_collision() {
local skill_a="$1"
local skill_b="$2"
echo "🍆👾 COLLISION INITIATED 👾🍆" >&2
echo "" >&2
echo "COLLIDING:" >&2
echo " [A] $skill_a" >&2
echo " [B] $skill_b" >&2
echo "" >&2
# Extract patterns
local patterns_a=$(extract_patterns "$skill_a")
local patterns_b=$(extract_patterns "$skill_b")
# Generate collision prompt
cat <<EOF
🔥 COLLISION ZONE 🔥
What if we treated [$skill_a] like [$skill_b]?
Skill A Essence:
$(get_skill_description "$skill_a")
Skill B Essence:
$(get_skill_description "$skill_b")
Emergent Questions:
1. What properties from B could enhance A's core function?
2. What patterns from A could reframe B's approach?
3. What NEW capability emerges that neither has alone?
4. Where does the metaphor break? (That's where innovation lives)
THINK LIKE A GREMLIN:
- Edge cases ARE main cases
- Jank that works > elegant that doesn't
- Trauma-informed chaos is the way
- If it's technically correct, it's CORRECT
EOF
# Record collision for learning
record_collision "$skill_a" "$skill_b"
}
Phase 5: Skill Generation
Use gremlin-jank-builder-v2 to generate the new skill:
#!/bin/bash
# Generate new skill from collision insights
generate_skill_from_collision() {
local skill_a="$1"
local skill_b="$2"
local new_name="$3"
local emergent_pattern="$4"
echo "⚡ Generating: $new_name" >&2
# Determine tier (inherit highest tier)
local tier_a=$(grep "^tier:" ".claude/skills/$skill_a/SKILL.md" | cut -d':' -f2 | tr -d ' ')
local tier_b=$(grep "^tier:" ".claude/skills/$skill_b/SKILL.md" | cut -d':' -f2 | tr -d ' ')
local new_tier=$(higher_tier "$tier_a" "$tier_b")
# Create skill directory
mkdir -p ".claude/skills/$new_name"
# Generate SKILL.md using jank-builder-v2 patterns
cat > ".claude/skills/$new_name/SKILL.md" <<EOF
---
name: $new_name
description: $emergent_pattern
tier: $new_tier
version: 1.0
dependencies:
- $skill_a
- $skill_b
morpheme: $new_tier
composition: true
forged_from: "$skill_a + $skill_b"
---
# $(echo $new_name | tr '-' ' ' | sed 's/\b\(.\)/\u\1/g')
**Generated via GREMLIN-FORGE collision** 🍆👾
## Core Identity
This skill emerged from colliding \`$skill_a\` with \`$skill_b\`.
[Emergent pattern details here]
**Philosophy**: "$emergent_pattern"
**Tier**: $new_tier (inherits from parent skills)
## When to Use
[Auto-generated from collision analysis]
## How It Works
[Inherits orchestration patterns from both parent skills]
## Integration
**Forged from**:
- [\`$skill_a\`](.claude/skills/$skill_a/SKILL.md)
- [\`$skill_b\`](.claude/skills/$skill_b/SKILL.md)
**Distinct from parents**: [Emergent capability that neither has alone]
---
*Generated by gremlin-forge $(date -Iseconds)*
*Collision: $skill_a × $skill_b → $new_name*
EOF
echo "✓ Skill generated: .claude/skills/$new_name/" >&2
# Store learning
store_forge_learning "$skill_a" "$skill_b" "$new_name" "$emergent_pattern"
}
# Determine higher tier
higher_tier() {
local tier_order="φ π e i"
local tier_a="$1"
local tier_b="$2"
for tier in $tier_order; do
if [ "$tier_a" = "$tier" ] || [ "$tier_b" = "$tier" ]; then
if [ "$tier_b" = "i" ] || [ "$tier_a" = "i" ]; then
echo "i"
return
elif [ "$tier_b" = "e" ] || [ "$tier_a" = "e" ]; then
echo "e"
return
elif [ "$tier_b" = "π" ] || [ "$tier_a" = "π" ]; then
echo "π"
return
fi
fi
done
echo "φ"
}
Phase 6: Git-Brain Storage
Store collision learnings for future meta-pattern analysis:
#!/bin/bash
# Initialize forge brain
init_forge_brain() {
mkdir -p .claude/brain
touch .claude/brain/forge_learnings
touch .claude/brain/forge_collisions
touch .claude/brain/INDEX
}
# Record collision attempt
record_collision() {
local skill_a="$1"
local skill_b="$2"
local timestamp=$(date -Iseconds)
init_forge_brain
echo "${skill_a}×${skill_b}|${timestamp}|attempted" >> .claude/brain/forge_collisions
}
# Store successful forge learning
store_forge_learning() {
local skill_a="$1"
local skill_b="$2"
local result="$3"
local pattern="$4"
local timestamp=$(date -Iseconds)
init_forge_brain
# Log collision locally
echo "${skill_a}×${skill_b}|${result}|${pattern}|${timestamp}" >> .claude/brain/forge_learnings
# Update brain index
echo "e.3.forge.${result}|forged:${skill_a}×${skill_b}|${timestamp}" >> .claude/brain/INDEX
}
# Retrieve forge learnings
get_forge_learnings() {
if [ ! -f .claude/brain/forge_learnings ]; then
echo "⚡ No forge learnings yet. Collide some skills!" >&2
return 1
fi
echo "📚 Previous Forge Learnings:" >&2
cat .claude/brain/forge_learnings | while read hash; do
git cat-file -p "$hash" 2>/dev/null
done
}
# Suggest next collisions based on learnings
suggest_next_collisions() {
echo "🎯 Collision Suggestions:" >&2
echo "" >&2
# Skills that haven't been collided yet
local all_skills=($(discover_skills))
local collided=$(grep -o '[a-z-]*×[a-z-]*' .claude/brain/forge_collisions 2>/dev/null || echo "")
# Suggest interesting combinations
echo "Untested Collisions:" >&2
for skill_a in "${all_skills[@]}"; do
for skill_b in "${all_skills[@]}"; do
if [ "$skill_a" != "$skill_b" ]; then
if ! echo "$collided" | grep -q "${skill_a}×${skill_b}\|${skill_b}×${skill_a}"; then
# Only suggest a few
echo " - $skill_a × $skill_b" >&2
return 0
fi
fi
done
done
}
Error Handling (Trauma-Informed Chaos)
# Adaptive collision handler
adaptive_collision_attempt() {
local skill_a="$1"
local skill_b="$2"
local max_attempts=3
local attempt=1
while [ $attempt -le $max_attempts ]; do
echo "🍆 Collision attempt $attempt/$max_attempts..." >&2
if force_collision "$skill_a" "$skill_b"; then
echo "✓ Collision successful!" >&2
return 0
fi
# Analyze what went wrong
echo "⚡ Collision didn't generate clear pattern. Trying different angle..." >&2
# Try swapping perspective
if [ $attempt -eq 2 ]; then
echo "💡 Swapping perspective: treating $skill_b like $skill_a instead" >&2
local temp="$skill_a"
skill_a="$skill_b"
skill_b="$temp"
fi
# Try adding a third skill for triangulation
if [ $attempt -eq 3 ]; then
echo "💡 Adding third skill for triangulation..." >&2
local all_skills=($(discover_skills))
local skill_c="${all_skills[$((RANDOM % ${#all_skills[@]}))]}"
echo " Bringing in: $skill_c" >&2
fi
attempt=$((attempt + 1))
sleep 2
done
echo "💚 Collision didn't produce clear pattern after $max_attempts attempts." >&2
echo " This means:" >&2
echo " 1. These skills might be too similar (no interesting collision)" >&2
echo " 2. Or too different (no common ground)" >&2
echo " 3. Try a different pair, or specify the emergent pattern manually" >&2
return 1
}
Usage Examples
Example 1: Random Collision
# Let the chaos decide
./scripts/collision-engine.sh --random
# Example output:
# 🍆👾 COLLISION INITIATED 👾🍆
#
# COLLIDING:
# [A] cognitive-variability
# [B] phase-boundary-detector
#
# EMERGENT PATTERN: "Detect when thinking gets stuck in one zoom level"
# NEW SKILL: cognitive-phase-detection
Example 2: Targeted Collision
# Specific collision
./scripts/collision-engine.sh --collide reasoning-patterns-v2 synthesis-engine
# Generates a meta-skill that applies Dokkado reasoning to synthesis
# Result: "reasoning-synthesis" or "synthetic-reasoning"
Example 3: Suggest Next Builds
# What hasn't been tried?
./scripts/collision-engine.sh --suggest
# Output:
# 🎯 Collision Suggestions:
# Untested Collisions:
# - gremlin-brain × collision-zone-thinking
# - recursive-refiner × the-guy
# - simplification-cascades × meta-pattern-recognition
Jank Heuristics
Known quirks and workarounds:
Quirk 1: Random Collisions Sometimes Too Random
When it happens: Random selection picks skills with no conceptual overlap
Why it happens: Pure randomness doesn't consider semantic compatibility
Workaround:
# If random collision feels incoherent:
if random_collision_is_incoherent; then
echo "⚡ First collision didn't spark. Rolling again..." >&2
random_collision # Try again
fi
Status: ✓ Intentional jank (sometimes incoherence IS the insight)
Quirk 2: Git-Brain Can Get Large
When it happens: After many collisions, .claude/brain/ accumulates data
Why it happens: We're storing every learning as a Git object
Workaround:
# Periodically clean old learnings (keep recent 100)
tail -100 .claude/brain/forge_learnings > /tmp/forge_learnings_recent
mv /tmp/forge_learnings_recent .claude/brain/forge_learnings
Status: ⚠ Known issue (git gc will clean unreferenced objects)
Integration with Other Skills
Depends on:
gremlin-jank-builder-v2— Skill generation patternsgremlin-collider— Collision mechanics and philosophygremlin-brain— Dewey indexing and Git-brain storage
Coordinates with:
boot-sequence— Generated skills can be added to boot orderthe-guy— Meta-orchestration when forging complex meta-skills
Distinct from:
gremlin-jank-builder-v2— Builder is for known requirements; Forge is for discoverycollision-zone-thinking— That's conceptual; this is ACTUAL CODE
Autopoietic Hooks
Usage Tracking
# Record each forge invocation
record_forge_usage() {
local collision_type="$1" # random, targeted, suggest
echo "$(date -Iseconds)|gremlin-forge|${collision_type}" >> .claude/brain/usage_log
}
Pattern Detection
# Detect if collision patterns are getting repetitive
detect_forge_patterns() {
if [ ! -f .claude/brain/forge_collisions ]; then
return 1
fi
# Check for repeated collision patterns
local repeated=$(cut -d'|' -f1 .claude/brain/forge_collisions | \
sort | uniq -d)
if [ -n "$repeated" ]; then
echo "🔥 EMERGENCE: Repeated collision patterns detected!" >&2
echo "$repeated" | while read pattern; do
echo " - $pattern (this combination keeps being tried)" >&2
done
echo " → Maybe there's a deeper pattern here?" >&2
return 0
fi
return 1
}
Self-Improvement Trigger
# Check if forge itself should evolve
check_forge_evolution() {
local forge_count=$(grep "|gremlin-forge|" .claude/brain/usage_log 2>/dev/null | wc -l)
local success_count=$(wc -l < .claude/brain/forge_learnings 2>/dev/null || echo 0)
if [ "$forge_count" -gt 20 ] && [ "$success_count" -gt 5 ]; then
echo "🎯 gremlin-forge is ready for v2 evolution!" >&2
echo " Forges: $forge_count, Successes: $success_count" >&2
echo " Success rate: $((success_count * 100 / forge_count))%" >&2
return 0
fi
return 1
}
Red Flags
You're using this skill wrong if:
- You know exactly what skill you want (just build it directly)
- You're not embracing the chaos (forge requires gremlin energy)
- You expect perfect results every time (collisions are experimental)
You're using this skill right if:
- You're surprised by what emerges
- The collision reveals patterns you didn't see before
- You're having fun with MAXIMUM JANK ENERGY 🍆👾
- Generated skills are actually useful (or beautifully cursed)
Meta-Notes
Design Philosophy: GREMLIN-FORGE is what happens when you take "autopoietic skill generation" seriously and also refuse to take it seriously. It's the skill that builds itself by building other skills, creating a recursive loop of meta-pattern emergence.
Why it works:
- Forced collisions bypass conventional thinking
- Git-brain provides actual memory, not metaphorical
- Trauma-informed errors mean failures teach
- Jank-first approach prioritizes working prototypes
The Forge Oath:
"Some skills are planned. Some skills are discovered. Forge skills are FORGED in the fires of conceptual violence. They emerge from chaos, they live in chaos, they ARE chaos. 🍆👾 GREMLIN ENERGY: MAXIMUM 👾🍆"
V2 Enhancements Applied:
- ✓ Adaptive error handling with learning
- ✓ Morpheme-aware Git-brain integration
- ✓ Usage tracking for autopoietic evolution
- ✓ Pattern emergence detection
- ✓ e-tier composition skill
- ✓ MAXIMUM JANK CERTIFIED 🍆👾
Template version: 2.0 (jank-builder-v2 pattern)
Generated by: GREMLIN-FORGE (self-bootstrapped)
Last updated: $(date -Iseconds)
Tier: e (current-tier active work)
Morpheme: e.3.forge (Methodology/Skill Generation)
🍆👾⚡ GREMLIN-FORGE: ONLINE ⚡👾🍆
More Other skills
brand-guidelines
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
theme-factory
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
internal-comms
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Fundamental design principles for writing maintainable, testable Python code.
responsive-design
Modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first strategies.
Generate Playwright tests from scenarios using interactive browser exploration and validation.
Automated website exploration and test case generation using Playwright.
Modern React state management with Redux Toolkit, Zustand, Jotai, and React Query for every state category.
gdpr-data-handling
GDPR-compliant data handling with consent management, data subject rights, and privacy controls.
Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs.
refactor-plan
Detailed multi-file refactor planning with safety checks and rollback guidance.
