ruvnet/ruflo/tree/main/plugins/ruflo-goals
ruflo-goals
장기 목표 계획, 심층 연구 오케스트레이션, 적응형 재계획을 제공하는 Claude Code 플러그인입니다. 스킬, 에이전트, function-hook mod(쓰기 가드, dossier ID 검사, 로컬 /goals-mod 명령)를 포함합니다.
이 mod 소개
ruflo-goals는 ruvnet/ruflo marketplace의 Claude Code 플러그인으로 장기 목표 계획, 심층 연구 오케스트레이션, 적응형 재계획을 제공합니다. deep-research, goal-plan, horizon-track, research-synthesize, dossier-collect 스킬과 goal-planner, deep-researcher, horizon-tracker, dossier-investigator 에이전트, /goals 명령을 포함하며 function-hook mod(0.4.2)도 제공합니다. mod에는 Claude Code 2.1.287 이상이 필요합니다. goals/horizons/research/dossier 네임스페이스에 쓰기 가드와 dossier ID 검사를 적용하고 /goals-mod status|scan|horizons에는 모델 턴 없이 로컬에서 응답합니다. guard와 personal은 userConfig로 설정할 수 있습니다. 검증: bash plugins/ruflo-goals/scripts/smoke.sh 및 claude plugin test plugins/ruflo-goals.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add ruvnet/ruflo claude plugin install ruflo-goals
원문 / README
ruflo-goals
Long-horizon goal planning, deep research orchestration, and adaptive replanning.
Install
/plugin marketplace add ruvnet/ruflo
/plugin install ruflo-goals@ruflo
Features
- Goal planning: GOAP-based action planning with precondition analysis and cost optimization
- Deep research: Multi-source research orchestration (web, memory, codebase, patterns)
- Horizon tracking: Persistent objectives across sessions with milestone checkpoints
- Research synthesis: Evidence-graded reports with contradiction resolution
- Dossier investigation: Recursive parallel fan-out across all ruflo sources for seed-driven investigation (ADR-099)
Commands
/goals-- List active horizons, check progress, view research
Skills
deep-research-- Orchestrate multi-phase research campaignsgoal-plan-- Create and execute GOAP action planshorizon-track-- Track objectives across sessions with drift detectionresearch-synthesize-- Synthesize findings into structured reportsdossier-collect-- Recursive parallel investigation building a graph-structured dossier on a seed entity
Agents
goal-planner-- GOAP specialist with A* planning and trajectory learningdeep-researcher-- Multi-source research with evidence grading (linear, question-driven)horizon-tracker-- Cross-session objective tracking with drift detectiondossier-investigator-- Recursive parallel multi-source investigator (seed-driven, graph output)
Selection guide
| You have | Use |
|---|---|
| A question | deep-researcher / deep-research |
| A seed entity to expand outward | dossier-investigator / dossier-collect |
| A multi-step objective | goal-planner / goal-plan |
| A long-running objective | horizon-tracker / horizon-track |
Compatibility
- CLI: pinned to
@claude-flow/cliv3.6 major+minor. - Verification:
bash plugins/ruflo-goals/scripts/smoke.shis the contract.
Namespace coordination
This plugin uses six AgentDB namespaces. They predate the namespace convention from ruflo-agentdb ADR-0001. ADR-0001 documents the legacy-vs-canonical mapping and the forward path:
| Legacy (current) | Canonical (forward) | Status |
|------------------|---------------------|--------|
| adr | adr-patterns (owned by ruflo-adr) | Defer to canonical owner — don't write here from this plugin |
| dossier | dossier | Documented base-name exception (cf. federation) |
| research | goals-research | Legacy reads + new writes pending data-portability ADR |
| research-sources | goals-research-sources | Legacy reads + new writes pending |
| horizons | goals-horizons | Legacy reads + new writes pending |
| horizon-sessions | goals-horizon-sessions | Legacy reads + new writes pending |
New writes from this plugin SHOULD use the canonical kebab-case form. Reads check both. A future ADR will propose the rename + migration once existing-data-portability is designed.
Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.
Deep research: cap, screening, record (ADR-438)
/ruflo-goals:deep-research "<topic>" --cap-usd 2 --depth standard (or the deep-researcher agent):
- Cap and depth.
--cap-usd(default 2) is a per-run limit on top of the shared cost-tracker budget;--depthisquick|standard|deep. At the cap the run stops and the record saystruncated. - Screened. Fetched text goes through AIDefence (
aidefence_scan) before it is stored or quoted. - Run marker.
.claude-flow/research-active.jsonexists only while a run is active (stale after 2 hours); theruflo-modsguard reads it. - Consent. The record is written to namespace
research(research-<slug>-<yyyymmddhhmm>) only after you accept the report. - Listing.
node scripts/research-list.mjs --limit 10prints{version:1,records:[...]}; test:node scripts/test-research-list.mjs.
Works with no console installed. Contract: ADR-438.
Dossier-investigator (ADR-099)
The dossier-investigator agent + dossier-collect skill implement ADR-099 — recursive parallel multi-source investigation that fans out across web, memory, knowledge-graph, codebase, and ADR index, building a graph-structured dossier with budget caps, de-duplication, and provenance per claim.
Key invariants per ADR-099:
- Seed-driven (entity, not question)
- Graph output (not linear report)
- Budget caps (hop-count, token, time)
- Provenance per claim (every fact carries source attribution)
Verification
bash plugins/ruflo-goals/scripts/smoke.sh
# Expected: "12 passed, 0 failed"
As a mod (0.4.2)
A function-hook mod ships beside the skills (ADR-445 pattern). Needs a Claude Code with mods (2.1.287+); older builds ignore it. No network, no process spawning: it only tightens calls to this plugin's own tools and reads through tools already connected.
| Piece | Default | What it does |
|---|---|---|
| Write guard | on | Refuses a write to the goals, horizons, research or dossier namespaces (memory_store, agentdb_*-store, hooks_intelligence_pattern-store) or a task_create that holds a key, token or password. |
| Dossier ID screen | on | Refuses a dossier or research note that holds a government ID number (SSN shape). |
| /goals-mod | — | status, scan <text>, horizons (reads the horizons namespace through the connected memory tool); answered locally, no model call. |
| Status file | — | .claude-flow/goals-mod/status.json (version, updatedMs, mode flags and counters); written at session start and when a counter changes. |
Options (userConfig): guard on|off, personal on|off. Refusals never echo the value they matched.
claude plugin test plugins/ruflo-goals # 10 tests