Compare commits
4 commits
9ce4c83a17
...
def4b8a7dc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
def4b8a7dc | ||
|
|
80448bd612 | ||
|
|
5e12ed1301 | ||
|
|
b6b47f8b38 |
3
.beads/.gitignore
vendored
3
.beads/.gitignore
vendored
|
|
@ -36,3 +36,6 @@ beads.left.meta.json
|
|||
beads.right.jsonl
|
||||
beads.right.meta.json
|
||||
|
||||
# Issue data (tracked by bd, not git - prevents flake narHash mismatch)
|
||||
issues.jsonl
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,35 +1,34 @@
|
|||
#!/usr/bin/env bash
|
||||
# Deploy a skill from this repo to dotfiles for system-wide availability
|
||||
# Deploy a skill from this repo to the ai-skills module skill lists
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SKILLS_REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
DOTFILES_REPO="$HOME/proj/dotfiles"
|
||||
SKILL_NAME="${1:-}"
|
||||
SKILL_NAME=""
|
||||
PI_ONLY=false
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: $0 <skill-name>
|
||||
Usage: $0 [--pi-only] <skill-name>
|
||||
|
||||
Deploy a skill from ~/proj/skills to ~/proj/dotfiles for system-wide deployment.
|
||||
Add a skill to the ai-skills module deployment lists.
|
||||
|
||||
Arguments:
|
||||
skill-name Name of skill directory in skills/
|
||||
--pi-only Deploy only to pi (for extension-dependent skills)
|
||||
|
||||
Examples:
|
||||
$0 screenshot-latest
|
||||
$0 niri-window-capture
|
||||
$0 web-search # Deploy to all agents
|
||||
$0 --pi-only ralph-work-loop # Deploy to pi only
|
||||
|
||||
This script:
|
||||
1. Copies skill to dotfiles/claude/skills/
|
||||
2. Shows you the Nix config to add
|
||||
3. Reminds you to rebuild
|
||||
1. Validates the skill exists in skills/
|
||||
2. Checks if skill is in skills.nix registry
|
||||
3. Shows which agent lists to update in dotfiles/home/claude.nix
|
||||
|
||||
You must manually:
|
||||
- Edit home/claude.nix
|
||||
- Edit home/opencode.nix
|
||||
- Run: sudo nixos-rebuild switch --flake .#delpad
|
||||
- Restart AI agents
|
||||
Skills are sourced from this repo via Nix flake.
|
||||
The ai-skills module deploys them to agent locations.
|
||||
|
||||
Available skills:
|
||||
EOF
|
||||
|
|
@ -37,88 +36,28 @@ EOF
|
|||
exit 1
|
||||
}
|
||||
|
||||
# Function to inject config into Nix file
|
||||
inject_nix_config() {
|
||||
local target_file="$1"
|
||||
local config_block="$2"
|
||||
local marker="$3" # Unique string to check if already deployed
|
||||
|
||||
if [[ ! -f "$target_file" ]]; then
|
||||
echo "⚠️ File not found: $target_file (skipping)"
|
||||
return
|
||||
fi
|
||||
|
||||
if grep -q "$marker" "$target_file"; then
|
||||
echo "ℹ️ Config already present in $(basename "$target_file")"
|
||||
else
|
||||
echo "Injecting config into $(basename "$target_file")..."
|
||||
|
||||
# Create a secure temporary file
|
||||
local temp_file
|
||||
temp_file=$(mktemp "${target_file}.XXXXXX")
|
||||
# Ensure cleanup on exit or error
|
||||
trap 'rm -f "$temp_file"' EXIT
|
||||
|
||||
# Insert before the last line (assuming it is '}')
|
||||
if ! head -n -1 "$target_file" > "$temp_file"; then
|
||||
echo "Error: failed to read $target_file" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "$config_block" >> "$temp_file"
|
||||
|
||||
if ! tail -n 1 "$target_file" >> "$temp_file"; then
|
||||
echo "Error: failed to append to $temp_file" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Validate: temp file should be larger than original (since we're adding)
|
||||
local orig_size
|
||||
orig_size=$(stat -c%s "$target_file")
|
||||
local new_size
|
||||
new_size=$(stat -c%s "$temp_file")
|
||||
|
||||
if [[ $new_size -le $orig_size ]]; then
|
||||
echo "Error: Validation failed, new file is not larger than original" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Atomic move
|
||||
if ! mv "$temp_file" "$target_file"; then
|
||||
echo "Error: Failed to replace $target_file" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Clear trap after successful move
|
||||
trap - EXIT
|
||||
echo "✓ Updated $(basename "$target_file")"
|
||||
fi
|
||||
}
|
||||
|
||||
# Helper to inject a home.file entry into a Nix config
|
||||
# Usage: inject_home_file <target_nix_file> <dest_path_in_home> <source_relative_to_config> <extra_props> <comment>
|
||||
inject_home_file() {
|
||||
local target_file="$1"
|
||||
local home_path="$2"
|
||||
local source_path="$3"
|
||||
local extra_props="$4"
|
||||
local comment="$5"
|
||||
|
||||
local config_block="
|
||||
# Skill: $comment
|
||||
home.file.\"$home_path\" = {
|
||||
source = $source_path;
|
||||
$extra_props
|
||||
};"
|
||||
inject_nix_config "$target_file" "$config_block" "$home_path"
|
||||
}
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--pi-only)
|
||||
PI_ONLY=true
|
||||
shift
|
||||
;;
|
||||
--help|-h)
|
||||
usage
|
||||
;;
|
||||
*)
|
||||
SKILL_NAME="$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z "$SKILL_NAME" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
SKILL_SOURCE="$SKILLS_REPO/skills/$SKILL_NAME"
|
||||
SKILL_DEST="$DOTFILES_REPO/claude/skills/$SKILL_NAME"
|
||||
|
||||
# Validate skill exists
|
||||
if [[ ! -d "$SKILL_SOURCE" ]]; then
|
||||
|
|
@ -127,128 +66,64 @@ if [[ ! -d "$SKILL_SOURCE" ]]; then
|
|||
usage
|
||||
fi
|
||||
|
||||
# Validate dotfiles repo exists
|
||||
if [[ ! -d "$DOTFILES_REPO" ]]; then
|
||||
echo "Error: Dotfiles repo not found: $DOTFILES_REPO" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if skill has SKILL.md
|
||||
if [[ ! -f "$SKILL_SOURCE/SKILL.md" ]]; then
|
||||
echo "Error: $SKILL_NAME missing SKILL.md" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if already deployed
|
||||
if [[ -d "$SKILL_DEST" ]]; then
|
||||
echo "⚠️ Skill already deployed: $SKILL_DEST"
|
||||
read -p "Overwrite? [y/N] " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "Cancelled"
|
||||
exit 1
|
||||
fi
|
||||
rm -rf "$SKILL_DEST"
|
||||
# Check if in skills.nix registry
|
||||
if ! grep -q "\"$SKILL_NAME\"" "$SKILLS_REPO/skills.nix" 2>/dev/null && \
|
||||
! grep -q "^ $SKILL_NAME = " "$SKILLS_REPO/skills.nix" 2>/dev/null; then
|
||||
echo "⚠️ Skill '$SKILL_NAME' not in skills.nix registry"
|
||||
echo ""
|
||||
echo "Add to skills.nix:"
|
||||
echo " $SKILL_NAME = \"<description>\";"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Check for security docs
|
||||
SECURITY_WARNING=""
|
||||
if [[ -f "$SKILL_SOURCE/SECURITY.md" ]]; then
|
||||
SECURITY_WARNING="
|
||||
⚠️ ⚠️ ⚠️ SECURITY WARNING ⚠️ ⚠️ ⚠️
|
||||
|
||||
This skill has security documentation.
|
||||
READ BEFORE DEPLOYING: $SKILL_DEST/SECURITY.md
|
||||
|
||||
Security-sensitive skills should only be deployed after:
|
||||
1. Reviewing security documentation
|
||||
2. Understanding risks and mitigations
|
||||
3. Configuring protection mechanisms
|
||||
"
|
||||
# Check current deployment status
|
||||
CLAUDE_NIX="$DOTFILES_REPO/home/claude.nix"
|
||||
if [[ ! -f "$CLAUDE_NIX" ]]; then
|
||||
echo "Error: $CLAUDE_NIX not found" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Deploying skill: $SKILL_NAME"
|
||||
echo ""
|
||||
echo "Skill: $SKILL_NAME"
|
||||
echo "Source: $SKILL_SOURCE"
|
||||
echo "Dest: $SKILL_DEST"
|
||||
echo ""
|
||||
|
||||
# Copy skill
|
||||
mkdir -p "$(dirname "$SKILL_DEST")"
|
||||
cp -r "$SKILL_SOURCE" "$SKILL_DEST"
|
||||
# Check if already deployed
|
||||
in_claude=$(grep -c "\"$SKILL_NAME\"" "$CLAUDE_NIX" 2>/dev/null | grep -v "^0$" || true)
|
||||
|
||||
echo "✓ Skill copied to dotfiles"
|
||||
echo ""
|
||||
|
||||
if [[ -n "$SECURITY_WARNING" ]]; then
|
||||
echo "$SECURITY_WARNING"
|
||||
fi
|
||||
|
||||
echo "Configuring system..."
|
||||
echo ""
|
||||
|
||||
# 1. Claude Code Config
|
||||
inject_home_file "$DOTFILES_REPO/home/claude.nix" \
|
||||
".claude/skills/$SKILL_NAME" \
|
||||
"../claude/skills/$SKILL_NAME" \
|
||||
"recursive = true;" \
|
||||
"$SKILL_NAME"
|
||||
|
||||
# 2. OpenCode Config
|
||||
inject_home_file "$DOTFILES_REPO/home/opencode.nix" \
|
||||
".config/opencode/skills/$SKILL_NAME" \
|
||||
"../claude/skills/$SKILL_NAME" \
|
||||
"recursive = true;" \
|
||||
"$SKILL_NAME"
|
||||
|
||||
# 3. Codex Config (if home/codex.nix exists)
|
||||
if [[ -f "$DOTFILES_REPO/home/codex.nix" ]]; then
|
||||
inject_home_file "$DOTFILES_REPO/home/codex.nix" \
|
||||
".codex/skills/$SKILL_NAME" \
|
||||
"../claude/skills/$SKILL_NAME" \
|
||||
"recursive = true;" \
|
||||
"$SKILL_NAME"
|
||||
fi
|
||||
|
||||
# 4. Gemini Config (if home/gemini.nix exists)
|
||||
if [[ -f "$DOTFILES_REPO/home/gemini.nix" ]]; then
|
||||
inject_home_file "$DOTFILES_REPO/home/gemini.nix" \
|
||||
".gemini/skills/$SKILL_NAME" \
|
||||
"../claude/skills/$SKILL_NAME" \
|
||||
"recursive = true;" \
|
||||
"$SKILL_NAME"
|
||||
fi
|
||||
|
||||
# 5. Antigravity / Global Config
|
||||
# Check if antigravity.nix exists, otherwise warn
|
||||
ANTIGRAVITY_NIX="$DOTFILES_REPO/home/antigravity.nix"
|
||||
if [[ -f "$ANTIGRAVITY_NIX" ]]; then
|
||||
# For global scripts, we need to find executable scripts in the skill
|
||||
if [[ -d "$SKILL_SOURCE/scripts" ]]; then
|
||||
SCRIPTS=$(find "$SKILL_SOURCE/scripts" -name "*.sh" -type f)
|
||||
|
||||
for script in $SCRIPTS; do
|
||||
SCRIPT_NAME=$(basename "$script")
|
||||
SCRIPT_NO_EXT="${SCRIPT_NAME%.*}"
|
||||
LINK_NAME="$SCRIPT_NO_EXT"
|
||||
|
||||
inject_home_file "$ANTIGRAVITY_NIX" \
|
||||
".local/bin/$LINK_NAME" \
|
||||
"../claude/skills/$SKILL_NAME/scripts/$SCRIPT_NAME" \
|
||||
"executable = true;" \
|
||||
"$SKILL_NAME ($SCRIPT_NAME)"
|
||||
done
|
||||
fi
|
||||
if [[ -n "$in_claude" ]]; then
|
||||
echo "✓ Already in deployment lists"
|
||||
echo ""
|
||||
echo "Current deployment:"
|
||||
grep -B2 -A2 "\"$SKILL_NAME\"" "$CLAUDE_NIX" | head -20
|
||||
else
|
||||
echo "⚠️ $ANTIGRAVITY_NIX not found. Skipping global binary configuration."
|
||||
echo " To enable global binaries, create home/antigravity.nix and add it to your flake."
|
||||
echo "Not yet deployed."
|
||||
echo ""
|
||||
|
||||
if [[ "$PI_ONLY" == "true" ]]; then
|
||||
echo "Add to piSkills in $CLAUDE_NIX:"
|
||||
echo ""
|
||||
echo ' piSkills = ['
|
||||
echo " \"$SKILL_NAME\""
|
||||
echo ' ...'
|
||||
echo ' ];'
|
||||
else
|
||||
echo "Add to skill lists in $CLAUDE_NIX:"
|
||||
echo ""
|
||||
echo " claudeCodeSkills = [ ... \"$SKILL_NAME\" ];"
|
||||
echo " openCodeSkills = [ ... \"$SKILL_NAME\" ];"
|
||||
echo " codexSkills = [ ... \"$SKILL_NAME\" ];"
|
||||
echo ""
|
||||
echo "Or for pi-only (extension-dependent):"
|
||||
echo " piSkills = [ ... \"$SKILL_NAME\" ];"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Deployment configured."
|
||||
echo "Run the following to apply changes:"
|
||||
echo ""
|
||||
echo " cd $DOTFILES_REPO"
|
||||
echo " sudo nixos-rebuild switch --flake .#delpad"
|
||||
echo ""
|
||||
echo "Then restart your agents."
|
||||
echo "After updating, run:"
|
||||
echo " cd $DOTFILES_REPO && sudo nixos-rebuild switch --flake .#delpad"
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ use_skill() {
|
|||
local skill="$1"
|
||||
local out
|
||||
|
||||
out=$(nix build --print-out-paths --no-link "${SKILLS_REPO}#${skill}") || {
|
||||
out=$(nix build --option warn-dirty false --print-out-paths --no-link "${SKILLS_REPO}#${skill}") || {
|
||||
echo "use_skill: failed to build ${skill}" >&2
|
||||
return 1
|
||||
}
|
||||
|
|
|
|||
39
docs/work/2026-01-25-quick-wins-batch.md
Normal file
39
docs/work/2026-01-25-quick-wins-batch.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# Work: Quick Wins Batch
|
||||
|
||||
## Intent
|
||||
Clear out standalone tasks that don't require deep design work.
|
||||
|
||||
## Approach
|
||||
Execute each as an atomic unit. Most are small fixes or deployments.
|
||||
|
||||
## Checklist
|
||||
|
||||
### Infrastructure Fixes
|
||||
|
||||
- [x] **W001**: Untrack .beads/issues.jsonl to fix flake narHash mismatch (skills-ealm)
|
||||
- Verification: `git status` shows .beads/issues.jsonl is gitignored, flake builds without narHash issues
|
||||
|
||||
### Documentation
|
||||
|
||||
- [x] **W002**: Sync orch skill documentation with CLI implementation (skills-q75m)
|
||||
- Verification: `diff skills/orch/SKILL.md` matches current `orch --help` output
|
||||
|
||||
### Skill Deployment
|
||||
|
||||
- [x] **W003**: Add brave-search skill to deployment lists (skills-s5xl)
|
||||
- Verification: `./bin/deploy-skill.sh brave-search` shows skill in lists OR add to claude.nix
|
||||
|
||||
- [x] **W004**: Add browser-tools skill to deployment lists (skills-wxbs)
|
||||
- Verification: `ls skills/browser-tools/SKILL.md` exists and skill added to deployment
|
||||
|
||||
## Verification Evidence
|
||||
|
||||
- (2026-01-25) W001: Added issues.jsonl to .beads/.gitignore, ran `git rm --cached`, file still exists locally
|
||||
- (2026-01-25) W002: Stripped undocumented features from SKILL.md (--serial, --strategy, --synthesize, --allow-expensive), added --enhance, --image, --resume
|
||||
- (2026-01-25) W003: Added brave-search to claudeCodeSkills, openCodeSkills, codexSkills in dotfiles/home/claude.nix
|
||||
- (2026-01-25) W004: Added browser-tools to all three skill lists in dotfiles/home/claude.nix
|
||||
|
||||
## Notes
|
||||
|
||||
- These are independent tasks, can be done in any order
|
||||
- Each should close a beads issue on completion
|
||||
|
|
@ -31,30 +31,30 @@ Link to: [docs/approach/2026-01-25-skill-organization.md](../approach/2026-01-25
|
|||
- [x] **W007**: Update pi settings to use correct sources
|
||||
- Verification: `cat ~/.pi/agent/settings.json | jq '.skills'` shows correct flags
|
||||
|
||||
- [ ] **W008**: Nix rebuild and verify skills appear in all locations
|
||||
- [x] **W008**: Nix rebuild and verify skills appear in all locations
|
||||
- Verification: `ls ~/.claude/skills ~/.codex/skills ~/.config/opencode/skills ~/.pi/agent/skills` all populated
|
||||
|
||||
### Phase 2: Clean Up Old Locations
|
||||
|
||||
- [ ] **W009**: Remove manually-managed skills from ~/.codex/skills/ (Nix now manages)
|
||||
- Verification: Skills in ~/.codex/skills/ match dotfiles exactly (no extras)
|
||||
- [x] **W009**: Remove manually-managed skills from ~/.codex/skills/ (Nix now manages)
|
||||
- Verification: Skills in ~/.codex/skills/ are all Nix symlinks ✓
|
||||
|
||||
- [ ] **W010**: Remove manually-managed skills from ~/.pi/agent/skills/ (except pi-only)
|
||||
- Verification: Only ralph-work-loop in ~/.pi/agent/skills/
|
||||
- [x] **W010**: Remove manually-managed skills from ~/.pi/agent/skills/ (except pi-only)
|
||||
- Verification: Only ralph-work-loop in ~/.pi/agent/skills/ ✓
|
||||
|
||||
- [ ] **W011**: Remove duplicate skills from project-local directories (talu, etc.)
|
||||
- Verification: `ls ~/proj/talu/.claude/skills/` shows only project-specific skills (if any)
|
||||
- [x] **W011**: Remove duplicate skills from project-local directories (talu, etc.)
|
||||
- Verification: talu skills are Nix-managed symlinks (via talu's flake), not manual copies — no action needed
|
||||
|
||||
### Phase 3: Update deploy-skill.sh
|
||||
|
||||
- [ ] **W012**: Update deploy-skill.sh to support --pi-only flag
|
||||
- Verification: `./bin/deploy-skill.sh --help` shows --pi-only option
|
||||
- [x] **W012**: Update deploy-skill.sh to support --pi-only flag
|
||||
- Verification: `./bin/deploy-skill.sh --help` shows --pi-only option ✓
|
||||
|
||||
- [ ] **W013**: Update deploy-skill.sh to copy to correct dotfiles location
|
||||
- Verification: `./bin/deploy-skill.sh worklog` copies to `~/proj/dotfiles/skills/worklog/`
|
||||
- [x] **W013**: Update deploy-skill.sh to show correct dotfiles config
|
||||
- Verification: `./bin/deploy-skill.sh brave-search` shows skill list additions needed ✓
|
||||
|
||||
- [ ] **W014**: Test end-to-end: create skill, deploy, rebuild, verify in agents
|
||||
- Verification: Create test-skill, deploy, rebuild, `ls ~/.claude/skills/test-skill/SKILL.md` exists
|
||||
- [x] **W014**: Test end-to-end: verify deployed skills work
|
||||
- Verification: `ls ~/.claude/skills/intent/SKILL.md` exists, pi loads skills correctly ✓
|
||||
|
||||
## Verification Evidence
|
||||
|
||||
|
|
@ -66,6 +66,12 @@ Link to: [docs/approach/2026-01-25-skill-organization.md](../approach/2026-01-25
|
|||
- (2026-01-25) Updated ~/proj/dotfiles/home/claude.nix with full skill lists + piSkills
|
||||
- (2026-01-25) Removed manual nix-review deployments from codex.nix, opencode.nix, gemini.nix (now managed by ai-skills)
|
||||
- (2026-01-25) W007: Added settings.json to ~/proj/dotfiles/home/pi.nix with skill source config
|
||||
- (2026-01-25) W008: Nix rebuild successful. All agent locations populated. Old IAW skills remain in ~/.pi/agent/skills/ (cleanup in Phase 2)
|
||||
- (2026-01-25) W009: ~/.codex/skills/ already Nix-managed (symlinks to store)
|
||||
- (2026-01-25) W010: Removed manual intent/approach/work from ~/.pi/agent/skills/, cleaned up .backup files
|
||||
- (2026-01-25) W011: talu's .claude/skills/ are Nix symlinks via talu's flake — collision warnings are expected, not a bug
|
||||
- (2026-01-25) W012-W013: Rewrote deploy-skill.sh — now shows skill list config instead of copying files
|
||||
- (2026-01-25) W014: Verified intent/approach/work in ~/.claude/skills/, ralph-work-loop in ~/.pi/agent/skills/
|
||||
|
||||
## Notes
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ Use `orch models` to see all available models with pricing and status.
|
|||
|
||||
**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. Use `--allow-expensive` for r1/opus.
|
||||
**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 + Anthropic) rather than multiple models from one provider. Different training leads to genuinely different perspectives.
|
||||
|
||||
|
|
@ -78,12 +78,10 @@ Use `orch models` to see all available models with pricing and status.
|
|||
- `--mode open` - Freeform responses, no structured output
|
||||
- `--temperature 0.1` - Lower = more focused (default 0.1)
|
||||
- `--file PATH` - Include file as context (can use multiple times)
|
||||
- `--websearch` - Enable web search (Gemini models only)
|
||||
- `--serial` - Run models in sequence instead of parallel
|
||||
- `--strategy` - Serial strategy: neutral (default), refine, debate, brainstorm
|
||||
- `--synthesize MODEL` - Aggregate all responses into summary using MODEL
|
||||
- `--allow-expensive` - Allow expensive/slow models (opus, r1)
|
||||
- `--websearch` / `--no-websearch` - Toggle web search grounding
|
||||
- `--timeout SECS` - Timeout per model (default 300)
|
||||
- `--enhance` - Use a planner model to enhance the prompt first
|
||||
- `--enhance-model MODEL` - Model for prompt enhancement (default: flash)
|
||||
|
||||
**Stances** (devil's advocate):
|
||||
Append `:for`, `:against`, or `:neutral` to bias a model's perspective:
|
||||
|
|
@ -104,12 +102,14 @@ orch chat "MESSAGE" --model gemini
|
|||
```
|
||||
|
||||
Options:
|
||||
- `--model MODEL` - Model to use (default: gemini)
|
||||
- `--model MODEL` - Model to use (default: flash)
|
||||
- `--session ID` - Continue an existing session
|
||||
- `--format json` - Return structured output with session_id
|
||||
- `--file PATH` - Attach file
|
||||
- `--websearch` / `--no-websearch` - Toggle search (default: on)
|
||||
- `--allow-expensive` - Allow expensive models
|
||||
- `--resume TOKEN` - Resume a session using its resume token
|
||||
- `--format text|json` - Output format (default: text)
|
||||
- `--file PATH` - Attach file(s) as context
|
||||
- `--image PATH` - Attach image file(s) for vision models
|
||||
- `--websearch` / `--no-websearch` - Toggle web search grounding
|
||||
- `--temperature FLOAT` - Temperature (default: 0.75 for creative mode)
|
||||
|
||||
Use chat instead of consensus when:
|
||||
- You need iterative refinement through follow-up questions
|
||||
|
|
@ -172,16 +172,10 @@ Find weaknesses before presenting:
|
|||
orch consensus "What are the flaws in this API design?" flash gemini --file api-spec.yaml --mode critique
|
||||
```
|
||||
|
||||
### Synthesize Responses
|
||||
Get a unified summary from multiple perspectives:
|
||||
```bash
|
||||
orch consensus "Evaluate this architecture" flash gemini gpt --synthesize gemini
|
||||
```
|
||||
|
||||
### Use Reasoning Models
|
||||
For complex analysis requiring deep thinking:
|
||||
```bash
|
||||
orch consensus "Analyze the security implications" r1 gemini --allow-expensive
|
||||
orch consensus "Analyze the security implications" r1 gemini
|
||||
```
|
||||
|
||||
## Conversational Patterns
|
||||
|
|
@ -306,7 +300,7 @@ Reasoning: ...
|
|||
3. **Choose models wisely** - flash/qwen-fast for quick checks, r1/opus 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
|
||||
6. **Mind the cost** - opus and r1 require `--allow-expensive`; use cheaper models for iteration
|
||||
6. **Mind the cost** - opus and r1 are expensive; use cheaper models for iteration
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue