mcpField
S
smart-router-skill

smart-router-skill

github.com/darrenhinde创意与媒体5.0k40 次安装1 周前更新
代码仓库

关于 smart-router-skill

一个用于 OpenCode Skills 的互动式电影角色路由示例,支持选择 Yoda、Tony Stark 或 Sherlock Holmes,并运行对应的主题工作流。角色任务可通过配置文件或命令行参数切换,适合演示配置驱动的技能行为。

主要功能

  1. 01选择三种电影角色
  2. 02按角色路由到对应脚本
  3. 03通过 JSON 配置切换任务
  4. 04支持命令行覆盖任务编号
  5. 05输出主题化工作流内容

适用场景

  1. 01演示交互式角色选择
  2. 02展示配置如何改变技能行为
  3. 03测试按参数路由脚本
  4. 04自定义不同角色的任务流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/darrenhinde/openagentscontrol --skill smart-router-skill

安装后在 Claude Code 中输入/smart-router-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

router.sh
config/
personality-config.json
scripts/
sherlock-workflow.sh
stark-workflow.sh
yoda-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

工作原理:

  1. 解析命令行参数(角色、任务)
  2. 读取 personality-config.json 中对应角色的配置
  3. 获取任务编号(来自参数或配置)
  4. 验证角色和任务
  5. 使用任务参数执行角色的工作流脚本
  6. 显示主题化输出,清晰呈现全部过程

输出示例

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 级:电影角色技能 🎬

选择你的角色,见证奇妙效果,看看自定义有多简单! 🚀

评论

支持 Markdown