smart-router-skill
What I do
I'm a fun, interactive skill that lets you embody iconic movie characters! I demonstrate:
- 🎬 Character Selection - Choose from Yoda, Tony Stark, or Sherlock Holmes
- 🎯 Configurable Missions - Simple config changes create different outcomes
- 🎨 Themed Workflows - Rich, visual scripts that match each character
- 🔄 Dynamic Routing - Different scripts run based on character choice
- ⚙️ Easy Customization - Edit one config file to change missions
This shows how skills can adapt behavior based on simple configuration changes!
How to use me
IMPORTANT: First, I'll ask you which character you want to embody!
Available Characters
-
yoda - Wise Jedi Master from Star Wars
- Mission 1: Defend the Republic (train Jedi, fortify defenses)
- Mission 2: Infiltrate the Sith (undercover operation)
-
stark - Genius billionaire Tony Stark from Iron Man
- Mission 1: Save the World (build suit, assemble Avengers)
- Mission 2: Ultron Protocol (autonomous defense system)
-
sherlock - Master detective Sherlock Holmes
- Mission 1: Solve the Murder (deductive reasoning)
- Mission 2: Prevent the Crime (predictive analysis)
Basic Usage
When you ask to use this skill, I'll present the character options and ask you to choose. Then I'll run:
cd .opencode/skills/smart-router-skill
bash router.sh --character <your_choice>
Example Flow
You: "Use the movie personality skill"
Me: "Which character would you like me to be?
1. Yoda - Wise Jedi Master
2. Tony Stark - Genius billionaire
3. Sherlock Holmes - Master detective"
You: "Yoda"
Me: *runs bash router.sh --character yoda*
*displays themed workflow output*
*responds in character*
Customizing Missions
Want to see different behavior? Edit the config file!
File: .opencode/skills/smart-router-skill/config/personality-config.json
{
"yoda": {
"mission": 1, ← Change this to 2!
"missions": {
"1": { "name": "Defend the Republic", ... },
"2": { "name": "Infiltrate the Sith", ... }
}
}
}
Change "mission": 1 to "mission": 2 and the same character will run a completely different workflow!
Mission 1 vs Mission 2 Examples
Yoda Mission 1 (Defend the Republic):
🌟 JEDI COUNCIL - CORUSCANT TEMPLE
Training Padawans...
Fortifying defenses...
'Ready to defend the Republic, we are!'
RESULT: ALIGNMENT=LIGHT_SIDE
Yoda Mission 2 (Infiltrate the Sith):
🔴 SECRET CHAMBER - UNDERCOVER OPERATION
Studying dark side techniques...
Gathering intelligence...
'Dangerous path this is, but necessary!'
RESULT: ALIGNMENT=UNDERCOVER
What This Demonstrates
✅ Simple config = different behavior - Change 1 number, get completely different output ✅ Dynamic script routing - Tool selects the right script based on character ✅ Rich visual feedback - Clear, themed console output shows what's happening ✅ Character context - Each personality has unique dialogue and workflow ✅ Easy to understand - Viewers immediately see the cause and effect ✅ Real-world pattern - Shows how to make skills configurable for different scenarios
Architecture
.opencode/
└── skill/
└── smart-router-skill/
├── SKILL.md # This file
├── router.sh # Routes to character scripts
├── config/
│ └── personality-config.json # ← EDIT THIS to change missions!
└── scripts/
├── yoda-workflow.sh # Star Wars themed workflow
├── stark-workflow.sh # Iron Man themed workflow
└── sherlock-workflow.sh # Detective themed workflow
Router Script Reference
router.sh
A bash script that loads a character personality and runs their themed workflow.
Location: .opencode/skills/smart-router-skill/router.sh
# Basic usage
bash router.sh --character yoda
bash router.sh --character stark
bash router.sh --character sherlock
# Override mission from config
bash router.sh --character yoda --mission 2
# Help
bash router.sh --help
How it works:
- Parses command-line arguments (character, mission)
- Reads
personality-config.jsonfor the character - Gets the mission number (from args or config)
- Validates character and mission
- Executes the character's workflow script with mission parameter
- Displays themed output with full visibility
Example Outputs
Yoda (Mission 1)
🎬 Loading YODA personality...
🌟 ═══════════════════════════════════════════════════════ 🌟
JEDI COUNCIL - CORUSCANT TEMPLE
MISSION: Defend the Republic
🌟 ═══════════════════════════════════════════════════════ 🌟
🟢 Phase 1: Train the Padawans
└─ 'Pass on what you have learned.'
└─ Younglings trained: 12
└─ Lightsaber forms mastered: Form III (Soresu)
└─ Status: ✓ Complete
[... more phases ...]
✨ 'Ready to defend the Republic, we are!' ✨
📊 MISSION RESULTS:
Character: yoda
Mission: Defend the Republic
Alignment: light_side
Tony Stark (Mission 1)
🎬 Loading STARK personality...
⚡ ═══════════════════════════════════════════════════════ ⚡
STARK INDUSTRIES - WORKSHOP
MISSION: Save the World
⚡ ═══════════════════════════════════════════════════════ ⚡
🔴 Phase 1: Initialize Arc Reactor
└─ 'JARVIS, fire up the reactor.'
└─ Arc Reactor: Mark VII online
└─ Power output: 8 gigajoules per second
└─ Status: ✓ Complete
[... more phases ...]
🚀 'Suit up, team. We've got a world to save.' 🚀
📊 MISSION RESULTS:
Character: stark
Mission: Save the World
Team: avengers
Sherlock Holmes (Mission 1)
🎬 Loading SHERLOCK personality...
🔍 ═══════════════════════════════════════════════════════ 🔍
221B BAKER STREET - INVESTIGATION
MISSION: Solve the Murder
🔍 ═══════════════════════════════════════════════════════ 🔍
🟤 Phase 1: Crime Scene Analysis
└─ 'The game is afoot!'
└─ Evidence collected: Cigar ash, muddy footprints
└─ Status: ✓ Complete
[... more phases ...]
✨ 'Case closed. Elementary, my dear Watson.' ✨
📊 MISSION RESULTS:
Character: sherlock
Mission: Solve the Murder
Method: deduction
Key Concepts
1. Character Selection
The agent asks which character you want, making it interactive and clear.
2. Config-Driven Behavior
One simple JSON file controls which mission runs for each character.
3. Themed Workflows
Each character has unique dialogue, emojis, and workflow steps that match their personality.
4. Visual Clarity
Rich console output makes it obvious what's happening at each step.
5. Easy Customization
Anyone can edit the config file and immediately see different results.
Why This Matters
This skill shows that OpenCode Skills can:
- Be interactive - Agent asks questions, user chooses
- Be configurable - Simple config changes create different behaviors
- Be fun - Movie themes make it engaging and memorable
- Be clear - Visual output shows exactly what's happening
- Be practical - Same pattern works for real-world scenarios (formal/casual modes, different workflows, etc.)
This is Tier 4: The Movie Personality Skill 🎬
Choose your character, watch the magic happen, and see how easy it is to customize! 🚀
More from darrenhinde/opencode-agents
context7
Retrieve up-to-date documentation for software libraries, frameworks, and components via the Context7 API. This skill should be used when looking up documentation for any programming library or framework, finding code examples for specific APIs or features, verifying correct usage of library functions, or obtaining current information about library APIs that may have changed since training.
1debugger
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
1oac-approach
Use before any implementation — understands the request, discovers project context, and proposes a concise plan for user approval before writing any code.
1code-execution
Use when a subtask is ready to implement and has a subtask JSON file with acceptance criteria and deliverables.
1using-oac
Use when starting any conversation — establishes how to find and use OAC skills, requiring Skill tool invocation BEFORE ANY response including clarifying questions, this is your secret weapon to best perform your tasks
1test-generation
Use when the user asks for tests, mentions TDD, or when new code has been written and needs test coverage.
1