关于 smart-router-skill
一个用于 OpenCode Skills 的互动式电影角色路由示例,支持选择 Yoda、Tony Stark 或 Sherlock Holmes,并运行对应的主题工作流。角色任务可通过配置文件或命令行参数切换,适合演示配置驱动的技能行为。
主要功能
- 01选择三种电影角色
- 02按角色路由到对应脚本
- 03通过 JSON 配置切换任务
- 04支持命令行覆盖任务编号
- 05输出主题化工作流内容
适用场景
- 01演示交互式角色选择
- 02展示配置如何改变技能行为
- 03测试按参数路由脚本
- 04自定义不同角色的任务流程
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ darrenhinde/ openagentscontrol --skill smart-router-skill安装后在 Claude Code 中输入/smart-router-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
router.shconfig/personality-config.jsonscripts/sherlock-workflow.shstark-workflow.shyoda-workflow.sh详细介绍
我能做什么
我是一个有趣且可交互的技能,可以让你化身为经典电影角色!我会展示:
- 🎬 角色选择 - 从 Yoda、Tony Stark 或 Sherlock Holmes 中选择
- 🎯 可配置的任务 - 简单修改配置即可产生不同结果
- 🎨 主题工作流 - 丰富的可视化脚本,与各角色相匹配
- 🔄 动态路由 - 根据角色选择运行不同脚本
- ⚙️ 轻松自定义 - 编辑一个配置文件即可更改任务
这展示了技能如何根据简单的配置更改来调整行为!
如何使用我
重要:首先,我会询问你想化身为哪个角色!
可选角色
-
yoda - 来自 Star Wars 的睿智绝地大师
- 任务 1:保卫共和国(训练绝地武士、加强防御)
- 任务 2:潜入西斯组织(卧底行动)
-
stark - 来自 Iron Man 的天才亿万富翁 Tony Stark
- 任务 1:拯救世界(打造战甲、集结复仇者)
- 任务 2:奥创协议(自主防御系统)
-
sherlock - 神探 Sherlock Holmes
- 任务 1:侦破谋杀案(演绎推理)
- 任务 2:预防犯罪(预测分析)
基本用法
当你要求使用这项技能时,我会介绍角色选项并请你选择。然后我会运行:
cd .opencode/skills/smart-router-skill
bash router.sh --character <your_choice>
示例流程
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*
自定义任务
想看看不同的行为?编辑配置文件即可!
文件: .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", ... }
}
}
}
将 "mission": 1 更改为 "mission": 2,同一个角色就会运行完全不同的工作流!
任务 1 与任务 2 示例
Yoda 任务 1(保卫共和国):
🌟 JEDI COUNCIL - CORUSCANT TEMPLE
Training Padawans...
Fortifying defenses...
'Ready to defend the Republic, we are!'
RESULT: ALIGNMENT=LIGHT_SIDE
Yoda 任务 2(潜入西斯组织):
🔴 SECRET CHAMBER - UNDERCOVER OPERATION
Studying dark side techniques...
Gathering intelligence...
'Dangerous path this is, but necessary!'
RESULT: ALIGNMENT=UNDERCOVER
这展示了什么
✅ 简单配置 = 不同行为 - 更改 1 个数字,即可获得完全不同的输出 ✅ 动态脚本路由 - 工具根据角色选择合适的脚本 ✅ 丰富的可视化反馈 - 清晰且符合主题的控制台输出展示当前进度 ✅ 角色背景 - 每种性格都有独特的对话和工作流 ✅ 易于理解 - 读者能立刻看出原因和结果 ✅ 实际应用模式 - 展示如何让技能可配置,以适应不同场景
架构
.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.sh
一个加载角色性格并运行其主题工作流的 bash 脚本。
位置: .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
工作原理:
- 解析命令行参数(角色、任务)
- 读取
personality-config.json中对应角色的配置 - 获取任务编号(来自参数或配置)
- 验证角色和任务
- 使用任务参数执行角色的工作流脚本
- 显示主题化输出,清晰呈现全部过程
输出示例
Yoda(任务 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(任务 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(任务 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
核心概念
1. 角色选择
Agent 会询问你想选择哪个角色,让交互过程清晰明了。
2. 配置驱动的行为
一个简单的 JSON 文件即可控制每个角色运行哪个任务。
3. 主题工作流
每个角色都有符合其性格的独特对话、表情符号和工作流步骤。
4. 可视化清晰度
丰富的控制台输出让每个步骤的进展一目了然。
5. 轻松自定义
任何人都可以编辑配置文件,立即看到不同的结果。
这为什么重要
此技能展示了 OpenCode Skills 可以:
- 具有交互性——Agent 提出问题,用户进行选择
- 可配置——简单的配置更改即可产生不同的行为
- 有趣——电影主题让它引人入胜、令人难忘
- 清晰直观——可视化输出会准确显示正在发生的事情
- 实用——同样的模式适用于现实场景(正式 / 随意模式、不同的工作流等)
这是第 4 级:电影角色技能 🎬
选择你的角色,见证奇妙效果,看看自定义有多简单! 🚀