forage-solutions
О программе
Этот навык использует оптимизацию методом муравьиной колонии для параллельного исследования нескольких путей решения, усиливая перспективные подходы и своевременно отказываясь от тупиковых ветвей. Он идеально подходит для отладки сложных проблем без явной первопричины или когда первоначальные решения неоптимальны. Разработчикам следует применять его для систематической проверки конкурирующих гипотез и избегания преждевременной сходимости на слабом решении.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/forage-solutionsСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
Forage Solutions
Explore solution space via ant colony opt — deploy indep hypotheses as scouts, reinforce promising via evidence, detect diminishing returns, know when abandon strategy + explore elsewhere.
Use When
- Problem w/ multiple plausible approaches, no clear winner
- First approach not working but alts unclear
- Debug w/ no obvious root cause — multiple hypotheses need parallel
- Search codebase for behavior source, location unknown
- Previous attempts converged prematurely suboptimal
- Complement
build-coherencewhen space must be explored before decision
In
- Required: Problem/goal (what foraging for?)
- Required: Current knowledge state (what already known?)
- Optional: Previous approaches + outcomes
- Optional: Exploration constraints (time, tool availability)
- Optional: Urgency (affects explore-exploit balance)
Do
Step 1: Map Landscape
Before deploying, characterize shape.
Solution Distribution Types:
┌────────────────────┬──────────────────────────────────────────────────┐
│ Type │ Characteristics and Strategy │
├────────────────────┼──────────────────────────────────────────────────┤
│ Concentrated │ One correct answer exists (bug fix, syntax │
│ (one right fix) │ error). Deploy many scouts quickly to locate │
│ │ it. Exploit immediately when found │
├────────────────────┼──────────────────────────────────────────────────┤
│ Distributed │ Multiple valid approaches (architecture choice, │
│ (many valid paths) │ implementation strategy). Scouts assess quality │
│ │ of each. Use `build-coherence` to choose │
├────────────────────┼──────────────────────────────────────────────────┤
│ Ephemeral │ Solutions depend on timing or sequence (race │
│ (time-sensitive) │ conditions, order-dependent bugs). Fast scouting │
│ │ with immediate exploitation. Cannot revisit │
├────────────────────┼──────────────────────────────────────────────────┤
│ Nested │ Solving the surface problem reveals a deeper one │
│ (layers of cause) │ (config issue masking an architecture problem). │
│ │ Scout at each layer before committing to depth │
└────────────────────┴──────────────────────────────────────────────────┘
Classify. Distribution type → how many scouts + how fast switch exploration → exploitation.
→ Clear characterization informs scouting. Feels accurate not forced.
If err: completely unknown → itself = classification. Treat as potentially distributed + deploy broad scouts. First round reveals character.
Step 2: Deploy Scout Hypotheses
Gen indep hypotheses as scouts. Each probes diff direction.
- Gen 3-5 indep hypotheses about problem/solution
- Each → 1 cheap test (single file read, 1 grep, 1 check)
- Rate initial promise on evidence (not gut)
- Deploy indep: no let A influence test of B
Scout Deployment Template:
┌───────┬──────────────────────┬──────────────────────┬──────────┐
│ Scout │ Hypothesis │ Test (one action) │ Promise │
├───────┼──────────────────────┼──────────────────────┼──────────┤
│ 1 │ │ │ High/Med/│
│ 2 │ │ │ Low │
│ 3 │ │ │ │
│ 4 │ │ │ │
│ 5 │ │ │ │
└───────┴──────────────────────┴──────────────────────┴──────────┘
Key: scouts assess not exploit. Quick signal each, not deep investigation first promising.
→ 3-5 indep hypotheses + cheap tests. None deeply explored yet — breadth-first pass.
If err: <3 hypotheses → (a) very constrained (concentrated — good, scout aggressive) or (b) understanding too shallow (read more context). Hypotheses not indep (variations same) → too narrow, force ≥1 contradicting others.
Step 3: Trail Reinforcement — Follow Evidence
After scout results, reinforce promising, let weak decay.
- Review results: which found supporting evidence?
- Strong evidence → reinforce: invest more investigation
- No evidence → decay: don't investigate w/o new signals
- Contradicting → inhibition: actively avoid
- Monitor premature convergence: all effort to first reinforced → force 1 scout into unexplored
Trail Reinforcement Decision:
┌───────────────────────────┬──────────────────────────────────────┐
│ Scout Result │ Action │
├───────────────────────────┼──────────────────────────────────────┤
│ Strong supporting evidence│ REINFORCE — deepen investigation │
│ Weak supporting evidence │ HOLD — one more cheap test before │
│ │ committing │
│ No evidence │ DECAY — deprioritize, scout elsewhere│
│ Contradicting evidence │ INHIBIT — mark as dead end │
│ Ambiguous result │ REFINE — hypothesis was too vague, │
│ │ sharpen and re-scout │
└───────────────────────────┴──────────────────────────────────────┘
→ Clear prioritization on evidence not preference. Strongest gets most but ≥1 alt alive.
If err: all empty → hypotheses wrong, not approach. Reframe: "What assumptions could be wrong?" Gen new from diff angle. All strong → distributed (multiple valid) → build-coherence for selection.
Step 4: Marginal Value Theorem — Know When Leave
Monitor yield. Info per effort drops below avg across all → switch.
Marginal Value Assessment:
┌────────────────────────┬──────────────────────────────────────────┐
│ Signal │ Action │
├────────────────────────┼──────────────────────────────────────────┤
│ New information per │ CONTINUE — this trail is productive │
│ action is high │ │
├────────────────────────┼──────────────────────────────────────────┤
│ New information per │ PREPARE TO SWITCH — squeeze remaining │
│ action is declining │ value, begin scouting alternatives │
├────────────────────────┼──────────────────────────────────────────┤
│ Last 2-3 actions │ SWITCH — the trail is depleted. The cost │
│ yielded nothing new │ of staying exceeds the cost of switching │
├────────────────────────┼──────────────────────────────────────────┤
│ Information contradicts│ SWITCH IMMEDIATELY — not just depleted │
│ earlier findings │ but misleading. Cut losses │
└────────────────────────┴──────────────────────────────────────────┘
Important: factor switching cost. Moving to new hypothesis = loading new context = cost. Don't switch marginal gains → only when clearly depleted.
→ Deliberate continue or switch on yield assessment, not habit/frustration. Switches evidence-based not impulse.
If err: switching too frequent (oscillation) → switching cost undervalued. Commit to current N more actions before reassess. Never switching (stuck despite declining) → hard cap: after N unproductive, switch regardless sunk cost.
Step 5: Adapt Strategy
Based on results → select next phase.
- Most empty, one weak → misframed. Step back + reframe: what question?
- One strong, others empty → concentrated. Exploit strong w/ full attention
- Multiple competing → distributed.
build-coherenceto select - Clear winner emerging → explore → exploit. Reduce scouting budget 10-20% (keep 1 scout active alts), commit primary effort to winning
- All exhausted → solution may not exist in current space. Expand: diff tools, diff assumptions, ask user
→ Strategic decision next phase follows logically from results. Feels like conclusion not guess.
If err: no strategy feels right → foraging revealed genuine uncertainty, valid outcome. Communicate to user: "Explored N, found X. Most promising Y because Z. Pursue or additional context?"
Check
- Landscape characterized before scouting
- ≥3 indep hypotheses gen + tested
- Tests cheap (1 action each) + indep
- Reinforcement on evidence not preference
- Marginal value assessed before deep investigation
- Strategy adapted to results not fixed plan
Traps
- Premature exploitation: Dive deep first showing any promise w/o scouting alts. Most common — first good idea often not best.
- Perpetual scouting: Gen hypotheses endless never commit. Set budget: after N scouts, commit best regardless.
- Non-indep hypotheses: "Maybe in file A" + "maybe in file B imported by A" = not indep, share assumptions. Force genuine diversity.
- Ignore inhibition: Evidence contradicts → let go. Continue investing contradicted because effort spent = sunk cost fallacy.
- Scout w/o record: Not recorded → later scouts repeat. Briefly note each scout finding before moving.
→
forage-resources— multi-agent foraging model this adapts to single-agentbuild-coherence— foraging reveals multiple valid needing evalcoordinate-reasoning— manages info flow between scout hypotheses + exploitationawareness— monitors premature convergence + tunnel vision during foraging
GitHub репозиторий
Похожие навыки
evaluating-llms-harness
ТестированиеЭтот навык Claude запускает lm-evaluation-harness для тестирования LLM на более чем 60 стандартизированных академических задачах, таких как MMLU и GSM8K. Он предназначен для разработчиков, чтобы сравнивать качество моделей, отслеживать прогресс обучения или сообщать академические результаты. Инструмент поддерживает различные бэкенды, включая модели HuggingFace и vLLM.
cloudflare-cron-triggers
ТестированиеЭтот навык предоставляет обширные знания по реализации Cloudflare Cron Triggers для планирования запуска Workers с помощью cron-выражений. Он охватывает настройку периодических задач, заданий технического обслуживания и автоматизированных рабочих процессов, а также решение распространенных проблем, таких как неверные cron-выражения и ошибки часовых поясов. Разработчики могут использовать его для настройки планировщиков обработчиков, тестирования cron-триггеров и интеграции с Workflows и Green Compute.
webapp-testing
ТестированиеЭтот навык Claude предоставляет инструментарий на базе Playwright для тестирования локальных веб-приложений с помощью Python-скриптов. Он позволяет проводить проверку фронтенда, отладку интерфейса, создание скриншотов и просмотр логов, одновременно управляя жизненным циклом сервера. Используйте его для задач автоматизации браузера, но запускайте скрипты напрямую, вместо чтения их исходного кода, чтобы избежать загрязнения контекста.
finishing-a-development-branch
ТестированиеЭтот навык помогает разработчикам завершать готовую работу, проверяя прохождение тестов и предлагая структурированные варианты интеграции. Он направляет рабочий процесс по слиянию, созданию пул-реквестов или очистке веток после завершения реализации. Используйте его, когда ваш код готов и протестирован, чтобы систематически завершать процесс разработки.
