关于 skill-context-detection
skill-context-detection 是 Codex CLI 的内部技能,用于判断任务属于开发还是知识工作。它结合提示词和项目线索,遵循显式模式设置,并帮助工作流技能调整重点、输出和建议。
主要功能
- 01判断开发或知识工作场景
- 02结合提示词与项目线索
- 03遵循显式模式设置
- 04调整工作流重点与输出
- 05推荐相关工作流技能
适用场景
- 01为任务选择研究方式
- 02根据项目场景调整构建产物
- 03应用手动指定的工作模式
- 04为调试或研究推荐技能
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nyldn/ claude-octopus --skill skill-context-detection安装后在 Claude Code 中输入/skill-context-detection确认已加载。
附带文件agents/openai.yaml
详细介绍
宿主:Codex CLI — 此技能专为 Claude Code 设计,并适配了 Codex。 交叉引用命令在 Codex 中使用已安装的技能名称,而非
/octo:*斜杠命令。 使用当前活动的 Codex shell 和子 Agent 工具。在当前会话尚未提供相关能力之前,不要声称有可用的提供商、模型或宿主子 Agent。 宿主工具的对应项请参阅skills/blocks/codex-host-adapter.md。
上下文检测 - 内部技能
用途
此技能可自动检测上下文,判断用户是在开发上下文(以代码为中心)还是知识上下文(以研究/策略为中心)中工作。它通过智能自动检测取代手动切换 /octo:km。
检测算法
工作流技能启动时,使用以下信号检测上下文:
步骤 1:检查是否有明确的覆盖设置
如果用户通过 /octo:km on 或 /octo:km off 明确设置了模式,则遵循该设置。
# Check if knowledge mode is explicitly set
if [[ -f ~/.claude-octopus/config/knowledge-mode ]]; then
EXPLICIT_MODE=$(cat ~/.claude-octopus/config/knowledge-mode)
if [[ "$EXPLICIT_MODE" == "on" ]]; then
echo "knowledge"
exit 0
elif [[ "$EXPLICIT_MODE" == "off" ]]; then
echo "dev"
exit 0
fi
fi
# If "auto" or not set, proceed with auto-detection
步骤 2:分析提示词内容(最强信号)
知识上下文指标(检查提示词是否包含以下术语):
- 商业/策略:“市场”、“ROI”、“利益相关者”、“策略”、“商业论证”、“竞争”
- 研究:“文献”、“综合分析”、“学术”、“论文”、“研究问题”
- UX:“用户画像”、“用户研究”、“用户旅程图”、“痛点”、“访谈”
- 交付成果:“演示文稿”、“报告”、“PRD”、“提案”、“执行摘要”
开发上下文指标(检查提示词是否包含以下术语):
- 技术:“API”、“端点”、“数据库”、“函数”、“类”、“模块”
- 操作:“实现”、“调试”、“重构”、“测试”、“部署”、“构建”
- 产物:“代码”、“测试”、“迁移”、“架构”、“控制器”
评分:
- 统计提示词中的知识指标数量
- 统计提示词中的开发指标数量
- 数量较多的一方胜出
- 如果数量相同,则检查项目上下文(步骤 3)
步骤 3:分析项目上下文(次要信号)
开发项目指标:
- 存在
package.json、Cargo.toml、go.mod、pyproject.toml、pom.xml - 存在包含代码文件的
src/、lib/、app/目录 - 最近的文件扩展名为
.ts、.js、.py、.go、.rs、.java
知识项目指标:
- 存在
docs/、research/、strategy/、reports/目录 - 大多数文件为
.md、.docx、.pdf、.pptx - 未检测到代码包管理器
步骤 4:默认回退
如果信号不明确或相同:
- 在包含代码文件的 git 仓库中 → 默认为开发上下文
- 未检测到代码文件 → 默认为知识上下文
上下文输出格式
以结构化对象的形式返回检测到的上下文,供工作流技能使用:
{
"context": "dev" | "knowledge",
"confidence": "high" | "medium" | "low",
"signals": {
"prompt_indicators": ["API", "endpoint", "database"],
"project_type": "node_typescript",
"explicit_override": false
}
}
工作流技能如何使用上下文
flow-discover(研究)
| 方面 | 开发上下文 | 知识上下文 |
|---|---|---|
| 研究重点 | 技术实现、库对比、代码模式 | 市场分析、学术综合分析、竞争研究 |
| 主要 Agent | Codex(实现)、Antigravity(生态系统) | Antigravity(分析)、research-synthesizer |
| 输出格式 | 代码示例、API 对比、技术建议 | 报告、框架、策略建议 |
| 视觉横幅 | 🔍 [Dev] Discover Phase: Technical research | 🔍 [Knowledge] Discover Phase: Strategic research |
flow-develop(构建)
| 方面 | 开发上下文 | 知识上下文 |
|---|---|---|
| 构建重点 | 代码生成、实现、架构 | PRD、策略文档、演示文稿 |
| 主要 Agent | Codex(代码)、backend-architect、tdd-orchestrator | product-writer、strategy-analyst、exec-communicator |
| 输出格式 | 源文件、测试、迁移 | 文档、框架、行动计划 |
| 视觉横幅 | 🛠️ [Dev] Develop Phase: Building code | 🛠️ [Knowledge] Develop Phase: Building deliverables |
flow-deliver(评审)
| 方面 | 开发上下文 | 知识上下文 |
|---|---|---|
| 评审重点 | 代码质量、安全性、性能 | 文档质量、论据强度、完整性 |
| 主要 Agent | code-reviewer、security-auditor | exec-communicator、strategy-analyst |
| 质量门槛 | OWASP、测试覆盖率、可维护性 | 证据质量、清晰度、可执行性 |
| 视觉横幅 | ✅ [Dev] Deliver Phase: Code review | ✅ [Knowledge] Deliver Phase: Document review |
视觉指示器更新
检测到上下文时,更新视觉横幅以显示上下文:
开发上下文:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider research mode
🔍 [Dev] Discover Phase: Researching OAuth implementation patterns
Providers:
🔴 Codex CLI - Technical implementation analysis
🟡 Antigravity CLI - Ecosystem and library comparison
🔵 Claude - Strategic synthesis
知识上下文:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider research mode
🔍 [Knowledge] Discover Phase: Researching market entry strategies
Providers:
🔴 Codex CLI - Data analysis and modeling
🟡 Antigravity CLI - Market and competitive research
🔵 Claude - Strategic synthesis
在工作流技能中的实现
每个流程技能都应:
- 执行工作流前,运行上下文检测
- 在视觉横幅中显示检测到的上下文
- 根据上下文调整行为:
- Agent 选择
- 面向外部 CLI 的提示词措辞
- 输出格式预期
- 质量门槛标准
集成示例(伪代码)
When this skill activates:
1. **Detect context**
- Analyze user's prompt for knowledge vs dev indicators
- Check project type (code repo vs doc-heavy)
- Check for explicit override (~/.claude-octopus/config/knowledge-mode)
- Determine: "dev" or "knowledge" with confidence level
2. **Show context-aware banner**
🐙 CLAUDE OCTOPUS ACTIVATED - Multi-provider [research|implementation|validation] mode [Phase Emoji] [Context] [Phase Name]: [Description]
Detected Context: [Dev|Knowledge] (confidence: [high|medium|low])
3. **Execute workflow with context-appropriate behavior**
- Frame prompts for external providers based on context
- Select appropriate synthesis approach
- Apply context-specific quality gates
覆盖机制
用户仍可在自动检测有误时显式设置上下文:
# Force knowledge mode
/octo:km on
# Force dev mode
/octo:km off
# Return to auto-detection
/octo:km auto
设置显式覆盖后,上下文检测会遵循该设置,直到用户将其重置为 "auto"。
置信度等级
- 高:提示词和项目上下文中的强信号一致
- 中:信号仅出现在提示词或项目上下文中(而非两者都有)
- 低:信号含糊不清,使用回退默认值
置信度为“低”时,可考虑简短告知用户检测到的上下文:
“我检测到这是一个 [dev/knowledge] 任务。如果判断有误,你可以使用
/octo:km覆盖设置。”
测试上下文检测
验证上下文检测是否正常工作:
- 在代码仓库中,提问“octo research caching patterns” → 应检测为开发上下文
- 在同一仓库中,提问“octo research market opportunities” → 应检测为知识上下文
- 设置
/octo:km on后,提问“octo research API patterns” → 应使用知识上下文(显式覆盖)
主动技能建议
检测到用户所处的工作阶段时,提供相关命令建议:
| 检测到的上下文 | 建议 |
|---|---|
| 构思 / 探索想法 | 可使用 /octo:brainstorm 进行结构化构思 |
| 评审计划或策略 | 可使用 /octo:plan 进行战略规划 |
| 调试错误或故障 | 可使用 /octo:debug 进行系统化调查 |
| 编写或运行测试 | 可使用 /octo:tdd 实践测试驱动开发 |
| 合并前的代码评审 | 普通评审可使用 Claude 原生 /review;多 AI 升级评审可考虑 /octo:review |
| 准备部署或发布 | 可使用 /octo:deliver 进行质量门槛把控的交付 |
| 研究某个主题 | 可使用 /octo:research 综合多个来源 |
| 处理安全工作 | 普通安全评审可使用 Claude 原生 /security-review;升级进行 OWASP 或对抗性审计可考虑 /octo:security |
建议格式
建议应避免打扰,以简短备注的形式附加:
💡 Tip: You appear to be debugging — `/octo:debug` provides systematic investigation with multi-AI support.
持久停用
- 如果用户说“stop suggesting”或“no more tips”:在
.claude-octopus/preferences.json中设置OCTO_PROACTIVE_SUGGESTIONS=off - 如果用户说“be proactive”或“turn on tips”:设置
OCTO_PROACTIVE_SUGGESTIONS=on - 在提供建议时检查偏好设置——用户选择停用后,绝不提供建议
- 遵循当前模式:开发模式与知识工作模式的建议有所不同
重新启用建议
之前选择停用建议的用户可以随时重新启用:
- 说“be proactive”“turn on tips”或“enable suggestions”
- 手动编辑
~/.claude-octopus/preferences.json,并将OCTO_PROACTIVE_SUGGESTIONS设为on - 默认状态(未设置偏好)为启用建议
检测信号
通过以下信息检测工作阶段:
- 最近的工具使用情况(大量 Bash 调用 = 可能正在实现或调试)
- 正在编辑的文件类型(.test.ts = 测试,.md = 文档)
- 最近输出中的错误模式(堆栈跟踪 = 调试)
- Git 状态(有未提交的更改 = 正在实现,工作区干净 = 可以审查或发布)