diff --git a/skills/orch/README.md b/skills/orch/README.md index 27c33b3..5f8b830 100644 --- a/skills/orch/README.md +++ b/skills/orch/README.md @@ -15,13 +15,13 @@ Enables agents to query multiple AI models simultaneously and aggregate their pe ```bash # Get consensus on a decision -orch consensus "Should we use SQLite or PostgreSQL for this use case?" flash gemini claude +cd ~/proj/orch && uv run orch consensus "Should we use SQLite or PostgreSQL for this use case?" flash gemini claude # Devil's advocate -orch consensus "Should we adopt microservices?" gpt5:for claude:against flash:neutral +cd ~/proj/orch && uv run orch consensus "Should we adopt microservices?" gpt5:for claude:against flash:neutral # Code review with file context -orch consensus "Is this approach correct?" flash gemini --file src/handler.py --mode critique +cd ~/proj/orch && uv run orch consensus "Is this approach correct?" flash gemini --file src/handler.py --mode critique ``` ## Files diff --git a/skills/orch/SKILL.md b/skills/orch/SKILL.md index 69dc7cd..c4976ce 100644 --- a/skills/orch/SKILL.md +++ b/skills/orch/SKILL.md @@ -20,6 +20,16 @@ Invoke this skill when: - You want to stress-test an approach with opposing viewpoints - Complex tradeoffs where different perspectives would help +## Invocation + +The `orch` CLI must be run from its project directory: + +```bash +cd ~/proj/orch && uv run orch [args...] +``` + +All examples below use this pattern. + ## Commands ### orch consensus @@ -27,18 +37,30 @@ Invoke this skill when: Query multiple models for their verdict on a question. ```bash -orch consensus "PROMPT" MODEL1 MODEL2 [MODEL3...] +cd ~/proj/orch && uv run orch consensus "PROMPT" MODEL1 MODEL2 [MODEL3...] ``` **Model Aliases** (use these): -- `flash` → gemini-2.5-flash (fast, cheap) +- `flash` → gemini-2.5-flash-preview (fast, cheap) - `gemini` → gemini-3-pro-preview (strong reasoning) -- `claude` → claude-sonnet-4.5 (balanced) -- `haiku` → claude-haiku-4.5 (fast, cheap) -- `opus` → claude-opus-4.1 (strongest) -- `gpt` / `gpt5` → gpt-5 (strong reasoning) +- `qwen` → qwen3-8b (fast, cheap) +- `deepseek` → deepseek-v3 (balanced) +- `r1` → deepseek-r1 (strongest reasoning) +- `gpt` / `gpt5` → gpt-5.1 (strong reasoning) - `gpt4` → gpt-4o (legacy) +## Model Selection + +**Quick sanity check**: Use `flash qwen` for fast, cheap validation. Good for "am I missing something obvious?" checks. + +**Standard consensus**: Use `flash gemini deepseek` for balanced perspectives across providers. Default for most decisions. + +**Deep analysis**: Include `r1` or `gpt` when stakes are high or reasoning is complex. These models think longer but cost more. + +**Diverse viewpoints**: Mix providers (Google + DeepSeek + OpenAI) rather than multiple models from one provider. Different training leads to genuinely different perspectives. + +**Cost-conscious**: `flash` and `qwen` are 10-20x cheaper than premium models. Start cheap, escalate if needed. + **Options**: - `--mode vote` (default) - Models give Support/Oppose/Neutral verdict - `--mode brainstorm` - Generate ideas without judgment @@ -51,14 +73,14 @@ orch consensus "PROMPT" MODEL1 MODEL2 [MODEL3...] **Stances** (devil's advocate): Append `:for`, `:against`, or `:neutral` to bias a model's perspective: ```bash -orch consensus "Should we rewrite in Rust?" gpt5:for claude:against gemini:neutral +cd ~/proj/orch && uv run orch consensus "Should we rewrite in Rust?" gpt5:for deepseek:against gemini:neutral ``` ### orch chat Single-model conversation (when you don't need consensus): ```bash -orch chat "MESSAGE" --model gemini +cd ~/proj/orch && uv run orch chat "MESSAGE" --model gemini ``` ## Usage Patterns @@ -66,37 +88,37 @@ orch chat "MESSAGE" --model gemini ### Quick Second Opinion When you've reasoned through something and want validation: ```bash -orch consensus "I think we should use SQLite for this because [reasons]. Is this sound?" flash gemini +cd ~/proj/orch && uv run orch consensus "I think we should use SQLite for this because [reasons]. Is this sound?" flash gemini ``` ### Architecture Decision When facing a tradeoff: ```bash -orch consensus "Microservices vs monolith for a 3-person team building an e-commerce site?" flash gemini claude --mode vote +cd ~/proj/orch && uv run orch consensus "Microservices vs monolith for a 3-person team building an e-commerce site?" flash gemini deepseek --mode vote ``` ### Code Review Include the code as context: ```bash -orch consensus "Is this error handling approach correct and complete?" flash gemini --file src/handler.py +cd ~/proj/orch && uv run orch consensus "Is this error handling approach correct and complete?" flash gemini --file src/handler.py ``` ### Devil's Advocate Get opposing viewpoints deliberately: ```bash -orch consensus "Should we adopt Kubernetes?" gpt5:for claude:against flash:neutral +cd ~/proj/orch && uv run orch consensus "Should we adopt Kubernetes?" gpt5:for deepseek:against flash:neutral ``` ### Brainstorm Generate diverse ideas: ```bash -orch consensus "How could we improve the CI/CD pipeline?" flash gemini claude --mode brainstorm +cd ~/proj/orch && uv run orch consensus "How could we improve the CI/CD pipeline?" flash gemini deepseek --mode brainstorm ``` ### Critique Your Work Find weaknesses before presenting: ```bash -orch consensus "What are the flaws in this API design?" flash gemini --file api-spec.yaml --mode critique +cd ~/proj/orch && uv run orch consensus "What are the flaws in this API design?" flash gemini --file api-spec.yaml --mode critique ``` ## Output Format @@ -114,7 +136,7 @@ Reasoning: ... [gemini] gemini-3-pro-preview - SUPPORT Reasoning: ... -[claude] claude-sonnet-4.5 - OPPOSE +[deepseek] deepseek-v3 - OPPOSE Reasoning: ... ``` @@ -122,15 +144,14 @@ Reasoning: ... 1. **Use for genuine uncertainty** - Don't use orch for trivial decisions or to avoid thinking 2. **Provide context** - Better prompts get better consensus; use `--file` when relevant -3. **Choose models wisely** - flash/haiku for quick checks, opus/gpt5 for complex reasoning +3. **Choose models wisely** - flash/qwen for quick checks, r1/gpt for complex reasoning 4. **Consider stances** - Devil's advocate is powerful for stress-testing ideas 5. **Parse the reasoning** - The verdict matters less than understanding the reasoning ## Requirements -- `orch` CLI installed and in PATH (from ~/proj/orch) -- API keys configured for llm library (ANTHROPIC_API_KEY, GOOGLE_API_KEY, OPENAI_API_KEY) -- Run via: `cd ~/proj/orch && uv run orch ...` if not globally installed +- `orch` CLI source at ~/proj/orch +- API keys configured for llm library (OPENROUTER_KEY, GOOGLE_API_KEY, OPENAI_API_KEY) ## Examples