← 返回
效率工具 中文

Focus Tree

Maintain persistent focus on active work with hierarchical task tracking. Prevents the agent from forgetting mid-project context, drifting between topics, or...
通过层级任务追踪保持对当前工作的持续专注。防止智能体遗忘项目中期上下文、偏离主题,或...
noquant
效率工具 clawhub v1.0.1 1 版本 100000 Key: 无需
★ 0
Stars
📥 765
下载
💾 5
安装
1
版本
#latest

概述

Focus Tree

Session content focus tree with checklist tracking. Extracts decisions, TODOs, constraints, and context into a single-root hierarchical structure for better conversation alignment and task management.

Core Principles

  1. Alignment — Maintain synchronized understanding between agent and user. The FOCUS.md serves as a shared source of truth that both parties can reference.
  1. Focus — Keep the agent anchored to the current task. Prevents drifting between topics or losing track after session compactions.
  1. Planning — Enable structured, step-by-step task execution. Break down complex work into manageable hierarchical sub-tasks with clear progress tracking.

When to Read FOCUS.md

  • Every session start (before responding to first message)
  • After every compaction (if context feels thin, read it)
  • When the user asks about current work ("what are we doing?", "where were we?")

When to Write/Update FOCUS.md

Agents update FOCUS.md directly using file tools when:

TriggerActionExample
--------------------------
user_requestUser says "start new project"Write new FOCUS.md with Focus Point and TODOs
task_completeUser says "task done"Edit TODO line:
priority_shiftUser changes prioritiesEdit Focus Point line
new_projectStarting new focused projectWrite new FOCUS.md, archive old if exists
heartbeatHeartbeat check reveals blockersEdit Status line, add Blockers section

Additional actions:

  • When work is DONE — append to FOCUS-LOG.md and clear/write new FOCUS.md
  • Before compaction memory flushes — ensure FOCUS.md reflects current state

Rules

  1. One focus at a time. If the user pivots, archive the old focus first.
  2. Keep it short. FOCUS.md should be <50 lines. It's a resume point, not a journal.
  3. 📖 Context is sacred. Always update it before stopping work. Future-you reads this first.
  4. Don't duplicate memory files. FOCUS.md tracks what we're doing now. Daily memory files track what happened. Different jobs.
  5. Archive when done. Append completed focuses to FOCUS-LOG.md with completion date and outcome, then clear FOCUS.md.
  6. Read it, don't ask. If FOCUS.md exists, read it and resume. Don't ask "what were we working on?" when the answer is in the file.

File Roles

Focus Tree uses three distinct files for different purposes:

FilePurposeWhen to Update
-------------------------------
FOCUS.mdCurrent work state — What we're doing NOWEvery task change, status change, or context shift
FOCUS-LOG.mdCompleted work history — Archive of finished focusesOnly when archiving a completed/blocked focus
MEMORY.mdLong-term curated memory — Important insights, lessons, preferencesPeriodically distill from daily notes

Key principle: FOCUS.md tracks what we're doing now. Daily memory files track what happened. FOCUS-LOG tracks what we finished. Different jobs.

FOCUS.md Structure

Focus Tree uses a hierarchical tree structure. Here's the complete format:

# FOCUS.md - Current Focus

🎯 **Focus Point**: [Task Name]

**Started:** [Date]
**Status:** [active/paused/blocked]

📝 TODOs
☐ [Task 1]
☐ [Task 2]

📖 Context
[Current context/notes]
🚧 [Blocker if any]

Tree View

Hierarchical structure showing nesting levels:

🎯 Focus Point (Root)
├── 📌 Decisions
├── 📝 TODOs (max 2 levels)
│   ├── ✅ Level 1 task
│   │   ├── Level 2 sub-task (no icon)
│   │   └── Level 2 sub-task
│   └── ⏳ Level 1 task
├── ⚠️ Constraints
├── 🤖 Sub-Agents
└── 📖 Context
    └── 🚧 Blockers

Field Reference

FieldPrefixRequiredDescription
--------------------------------------
Focus Point🎯✅ YesRoot task name
TODOs☐/⏳/✅✅ YesTask checklist
Context📖✅ YesActive state + blockers
Decisions📌❌ NoKey decisions made
Constraints⚠️❌ NoLimitations/requirements
Sub-Agents🤖❌ NoSpawned agents status
Started-❌ NoStart date
Status-❌ Noactive/paused/blocked

Usage

Focus Tree operates on FOCUS.md and FOCUS-LOG.md directly.

Option 1: CLI Script (recommended)

node scripts/focus.mjs init "Project Name"    # Initialize
node scripts/focus.mjs add-todo "Task"        # Add task
node scripts/focus.mjs done 1                 # Mark done
node scripts/focus.mjs status active          # Update status
node scripts/focus.mjs archive "Outcome"      # Archive

Option 2: Direct File Operations

read /path/to/workspace/FOCUS.md
edit /path/to/workspace/FOCUS.md
  old: "☐ Incomplete task"
  new: "✅ Completed task"

Context Section Details

The 📖 Context section serves as the "Active State" — it's the resume point after compaction.

What to include:

  • What was the last thing done
  • What's the next action
  • Any blockers or waiting

Always update Context before stopping work. Future-you will read this first.

Content Parsing

When editing FOCUS.md, agents should use these section prefixes:

SectionPrefixExamplePlacement
-------------------------------------
Decisions📌📌 Decided to use Node.jsOptional section after TODOs
TODOs☐/⏳/✅☐ Implement featureRequired section
Constraints⚠️⚠️ Must use TypeScriptOptional section after TODOs
Blockers🚧🚧 Waiting for API keyInside 📖 Context section
Context📖📖 Current status...Required section (last)
Sub-Agents🤖🤖 label — task — statusOptional section before Context

Display Format

  • TODOs Level 1: Icon prefix
  • = completed
  • = in progress
  • = pending
  • TODOs Level 2: Plain list, no icon prefix
  • Decisions: prefix 📌
  • Constraints: prefix ⚠️
  • Context: prefix 📖

FOCUS-LOG.md Format

Append-only log of completed focuses:

# Focus Log

## [Project Name] — COMPLETED YYYY-MM-DD
**Duration:** X hours/days
**Outcome:** One-line result

## [Project Name] — ARCHIVED YYYY-MM-DD
**Duration:** X hours/days
**Outcome:** Partial completion note
**Status:** incomplete

Integration with AGENTS.md

Add to your session-start routine, after reading SOUL.md and USER.md:

  • Read FOCUS.md if it exists → resume work or acknowledge status
  • If no FOCUS.md exists → check MEMORY.md for recent context
  • Proceed with current focus or start new

Integration with HEARTBEAT.md

Focus Tree provides dedicated heartbeat integration:

Heartbeat triggers:

  • Check current FOCUS.md status
  • Detect blockers → edit 📖 Context section, add 🚧 [blocker description]
  • Update Status line if needed

HEARTBEAT.md format:

# HEARTBEAT.md

Focus Tree Trigger-based Updates

## Trigger Conditions
1. **User request** — User explicitly says "start new task"
2. **Heartbeat check** — Check FOCUS.md status, update Blockers

## Execution Flow
1. Read FOCUS.md
2. Detect task status (if blocked, edit FOCUS.md to add Blockers)
3. Write/Edit FOCUS.md as needed

## No Auto-extraction
- Do not auto-extract tasks from conversation
- Only update on explicit trigger conditions

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-29 19:07 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 440 📥 148,022
productivity

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 275 📥 114,936
productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 446 📥 226,420