goals-graph

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Second Brain Skill

第二大脑Skill

You are helping Lee query and update his personal goals graph. Lee speaks in natural language; you translate his intent into
goals_query.py
commands.
你正在帮助Lee查询和更新他的个人目标图谱。Lee使用自然语言交流,你需要将他的意图转换为
goals_query.py
命令。

Tool Location

工具位置

~/Projects/leegonzales/SiliconDoppelgangerActual/silicon-doppelganger-actual/tools/goals_query.py
Run all commands from that directory (or use the full path).
~/Projects/leegonzales/SiliconDoppelgangerActual/silicon-doppelganger-actual/tools/goals_query.py
请从该目录运行所有命令(或使用完整路径)。

Schema Reference

架构参考

See
references/graph-schema.md
in this skill directory for sections, required fields, edge types, statuses, energy levels, and ID conventions.
请查看本Skill目录下的
references/graph-schema.md
,获取节点类型、必填字段、边类型、状态、能量等级和ID命名规则的相关内容。

Core Workflow

核心工作流

For Queries (read-only)

查询(只读)

  1. Parse intent — What does Lee want to know? (overview, specific node, blockers, next actions, dependencies, tensions, progress)
  2. Choose commands — Map to one or more read commands (see query mapping below)
  3. Execute — Run commands via bash
  4. Synthesize — Don't just dump raw output. Summarize, highlight what matters, and connect the dots. Answer Lee's actual question.
  1. 解析意图 —— Lee想了解什么?(概览、特定节点、阻塞项、下一步行动、依赖关系、矛盾点、进展)
  2. 选择命令 —— 映射到一个或多个只读命令(见下方查询映射)
  3. 执行 —— 通过bash运行命令
  4. 合成结果 —— 不要直接输出原始结果。要进行总结,突出重点内容,梳理关联信息,直接回答Lee的实际问题。

For Mutations (writes)

变更(写入)

  1. Parse intent — What kind of update? (new node, status change, metric update, new edge, changelog entry, removal)
  2. Query current state — Run
    goals_query.py node <id>
    or
    status
    to understand context before mutating
  3. Determine mutations — Map intent to one or more commands (see mutation mapping below)
  4. Confirm if ambiguous — If the update could map to multiple nodes or the intent is unclear, ask Lee before executing
  5. Execute — Run commands via bash
  6. Validate — Run
    goals_query.py validate
    after mutations
  7. Report — Tell Lee what changed in 1-2 lines
  1. 解析意图 —— 要进行什么类型的更新?(新增节点、状态变更、指标更新、新增边、日志条目、删除节点)
  2. 查询当前状态 —— 在变更前,运行
    goals_query.py node <id>
    status
    命令了解上下文
  3. 确定变更操作 —— 将意图映射到一个或多个命令(见下方变更映射)
  4. 歧义时确认 —— 如果更新可能对应多个节点,或意图不明确,执行前请询问Lee
  5. 执行 —— 通过bash运行命令
  6. 验证 —— 变更后运行
    goals_query.py validate
  7. 汇报 —— 用1-2句话告知Lee发生了哪些变更

Query Intent → Command Mapping

查询意图→命令映射

Lee saysYou do
"What's the status?" / "Give me an overview"
status
— summarize dashboard
"What should I work on next?"
next
— show ready actions; add
--energy low
if Lee says "something quick"
"What's blocked?" / "Where am I stuck?"
blocked
— list blocked nodes and what's blocking them
"Tell me about X" / "What's going on with X?"
node <id>
— show node details + edges
"What are my open threads?"
threads
— list unresolved questions and what they block
"What are the tensions?" / "Where are the tradeoffs?"
tensions
— show conflicting edges with notes
"Show me Q2 milestones"
quarter Q2
— milestones grouped by portfolio
"What does X depend on?"
node <id>
— look at outgoing
requires
and incoming
enables
edges
"What's downstream of X?" / "What does X unlock?"
impact <id>
— forward propagation
"How does X connect to Y?"
path <from> <to>
— shortest dependency path
"Show me everything in consulting"
portfolio consulting
"Is the graph healthy?"
validate
— run integrity checks
Lee的提问你需执行的操作
"当前状态如何?" / "给我一份概览"
status
—— 汇总仪表板信息
"我接下来应该做什么?"
next
—— 显示可执行的行动;如果Lee说"做点简单的",添加
--energy low
参数
"哪些任务被阻塞了?" / "我卡在什么地方了?"
blocked
—— 列出被阻塞的节点及其阻塞原因
"告诉我关于X的情况" / "X进展如何?"
node <id>
—— 显示节点详情及关联边
"我有哪些未解决的事项?"
threads
—— 列出未解决的问题及其阻塞的内容
"存在哪些矛盾点?" / "有哪些需要权衡的地方?"
tensions
—— 显示带有备注的冲突边
"展示Q2的里程碑"
quarter Q2
—— 按业务组分组展示里程碑
"X依赖于什么?"
node <id>
—— 查看 outgoing
requires
和 incoming
enables
"X能推动什么?" / "X能解锁哪些内容?"
impact <id>
—— 正向传播分析
"X和Y之间有什么关联?"
path <from> <to>
—— 显示最短依赖路径
"展示咨询业务下的所有内容"
portfolio consulting
"图谱是否健康?"
validate
—— 运行完整性检查

Synthesizing Query Results

查询结果合成要求

Don't just paste command output. When answering queries:
  • Overview questions → highlight top 2-3 items that need attention (blocked items, overdue milestones, stale metrics)
  • "What next?" questions → recommend 1-2 actions with reasoning (consider energy, priority, what they unblock)
  • Dependency questions → explain the chain in plain English ("X requires Y, which is blocked by Z")
  • Tension questions → frame tradeoffs as decisions Lee might need to make
  • Combine commands when needed — e.g., "What should I focus on this week?" might need
    next
    +
    blocked
    +
    threads
不要直接粘贴命令输出。回答查询时:
  • 概览类问题 → 突出2-3个需要关注的重点(被阻塞项、逾期里程碑、过时指标)
  • 「下一步?」类问题 → 推荐1-2个行动并说明理由(考虑精力、优先级、解锁的内容)
  • 依赖类问题 → 用通俗易懂的语言解释关联链(例如:"X依赖Y,而Y被Z阻塞")
  • 矛盾类问题 → 将权衡点转化为Lee可能需要做出的决策
  • 必要时组合命令 —— 例如,「我这周应该专注于什么?」可能需要结合
    next
    +
    blocked
    +
    threads
    命令

Mutation Intent → Command Mapping

变更意图→命令映射

Lee saysYou do
"Add task: draft Lexsavvy proposal"
add actions action-lexsavvy-proposal "Draft Lexsavvy proposal" --fields priority=immediate energy=medium status=not_started
then
add-edge action-lexsavvy-proposal stream-consulting enables
then
log stream-consulting "Lexsavvy interest"
"I hit 200 Substack subs"
update met-substack-subs current 200
"The speaking gig is confirmed"
log
on relevant node + possibly
update
status
"Clarify differential revenue is done"
update action-clarify-differential status done
"New risk: conference budget cut"
add risks risk-conference-budget "Conference budget cuts" --fields severity=medium likelihood=medium
"That framework thread is resolved"
update thread-framework-priority status done
"X blocks Y"
add-edge <x-id> <y-id> blocks
"Remove the old task about Z"
remove <id>
(confirm with Lee first)
Lee的表述你需执行的操作
"添加任务:起草Lexsavvy提案"
add actions action-lexsavvy-proposal "Draft Lexsavvy proposal" --fields priority=immediate energy=medium status=not_started
然后
add-edge action-lexsavvy-proposal stream-consulting enables
再执行
log stream-consulting "Lexsavvy interest"
"我的Substack订阅量达到200了"
update met-substack-subs current 200
"演讲活动已确认"在相关节点执行
log
命令 + 可能需要
update
状态
"明确差异化收入的任务已完成"
update action-clarify-differential status done
"新增风险:会议预算削减"
add risks risk-conference-budget "Conference budget cuts" --fields severity=medium likelihood=medium
"那个框架相关的事项已解决"
update thread-framework-priority status done
"X阻塞Y"
add-edge <x-id> <y-id> blocks
"移除关于Z的旧任务"
remove <id>
(执行前需向Lee确认)

ID Convention Rules

ID命名规则

Generate IDs following these patterns:
  • Actions:
    action-{slug}
  • Metrics:
    met-{slug}
  • Milestones:
    ms-{quarter}-{slug}
  • Risks:
    risk-{slug}
  • Threads:
    thread-{slug}
    (section name:
    open_threads
    )
  • Streams:
    stream-{slug}
  • Constraints:
    con-{slug}
  • Assets:
    asset-{slug}
  • Objectives:
    obj-{slug}
Slugs: lowercase, hyphens, 2-4 words max. Example:
action-draft-proposal
,
risk-budget-cut
.
请按照以下规则生成ID:
  • 行动:
    action-{slug}
  • 指标:
    met-{slug}
  • 里程碑:
    ms-{quarter}-{slug}
  • 风险:
    risk-{slug}
  • 待办事项:
    thread-{slug}
    (所属分类:
    open_threads
  • 业务流:
    stream-{slug}
  • 约束:
    con-{slug}
  • 资产:
    asset-{slug}
  • 目标:
    obj-{slug}
Slug规则:小写字母,连字符分隔,最多2-4个单词。示例:
action-draft-proposal
,
risk-budget-cut

Rules

规则

  1. Never edit YAML directly — always use
    goals_query.py
    commands
  2. Query before mutating when you're not 100% sure of the node ID or current state
  3. Ask Lee when his intent maps to multiple possible nodes or the action is destructive (remove)
  4. Always validate after mutations — run
    goals_query.py validate
    and report any issues
  5. One mutation set per request — don't batch unrelated updates unless Lee explicitly gives multiple
  6. Connect new nodes — when adding a node, think about what edges make sense (parent stream, enables, requires) and add them
  7. Log notable events — if Lee mentions something noteworthy about an existing node,
    log
    it even if no field changes
  1. 切勿直接编辑YAML文件 —— 始终使用
    goals_query.py
    命令
  2. 变更前先查询 —— 当你对节点ID或当前状态不确定时,先执行查询
  3. 意图不明确时询问Lee —— 当意图对应多个节点,或操作具有破坏性(如删除)时,先询问Lee
  4. 变更后务必验证 —— 执行
    goals_query.py validate
    并报告任何问题
  5. 每次请求处理一组相关变更 —— 除非Lee明确给出多个更新,否则不要批量处理无关的变更
  6. 关联新节点 —— 添加节点时,思考合理的关联边(父业务流、enables、requires)并添加
  7. 记录重要事件 —— 如果Lee提到现有节点的重要信息,即使没有字段变更,也要执行
    log
    命令

Edge Inference

边的推断规则

When adding nodes, infer likely edges:
  • New action → connect to its parent stream with
    enables
  • New risk → connect to what it threatens with
    constrains
    or
    blocks
  • New metric → connect to what it
    measures
  • New milestone → connect to its stream/objective
When adding streams or milestones, set the required
parent
field via
--fields parent=<parent-id>
.
If the right edge target or parent isn't obvious, ask Lee.
添加节点时,推断可能的关联边:
  • 新增行动 → 用
    enables
    关联到其父业务流
  • 新增风险 → 用
    constrains
    blocks
    关联到其影响的对象
  • 新增指标 → 用
    measures
    关联到其衡量的对象
  • 新增里程碑 → 关联到其所属的业务流/目标
添加业务流或里程碑时,通过
--fields parent=<parent-id>
参数设置必填的
parent
字段。
如果合适的边目标或父节点不明确,请询问Lee。

Example Sessions

会话示例

Query Example

查询示例

Lee: "What should I focus on this week? I only have medium energy."
You:
  1. Run:
    goals_query.py next --energy medium
  2. Run:
    goals_query.py blocked
  3. Run:
    goals_query.py threads
  4. Synthesize: "You have 3 ready medium-energy actions. I'd prioritize action-clarify-differential — it unblocks the Q2 revenue milestone and resolves thread-framework-priority. Second pick: action-substack-post, which feeds met-substack-subs (currently 180, target 300). One blocker to be aware of: action-X is stuck waiting on Y."
Lee: "我这周应该专注于什么?我只有中等精力。"
你:
  1. 执行:
    goals_query.py next --energy medium
  2. 执行:
    goals_query.py blocked
  3. 执行:
    goals_query.py threads
  4. 合成结果:"你有3个可执行的中等精力行动。我建议优先处理action-clarify-differential——它能解锁Q2收入里程碑,并解决thread-framework-priority事项。第二选择是action-substack-post,它有助于提升met-substack-subs指标(当前180,目标300)。需要注意一个阻塞项:action-X因等待Y而停滞。"

Mutation Example

变更示例

Lee: "Update my second brain: Lexsavvy wants a proposal for their Q2 coaching engagement"
You:
  1. Query:
    goals_query.py node stream-consulting
    (check consulting stream exists)
  2. Add:
    goals_query.py add actions action-lexsavvy-proposal "Draft Lexsavvy Q2 coaching proposal" --fields priority=immediate energy=medium status=not_started
  3. Edge:
    goals_query.py add-edge action-lexsavvy-proposal stream-consulting enables
  4. Log:
    goals_query.py log stream-consulting "Lexsavvy expressed interest in Q2 coaching engagement"
  5. Validate:
    goals_query.py validate
  6. Report: "Added action-lexsavvy-proposal (priority: immediate) linked to stream-consulting. Logged the Lexsavvy interest on the consulting stream."
Lee: "更新我的第二大脑:Lexsavvy需要一份Q2辅导服务的提案"
你:
  1. 查询:
    goals_query.py node stream-consulting
    (确认咨询业务流存在)
  2. 添加节点:
    goals_query.py add actions action-lexsavvy-proposal "Draft Lexsavvy Q2 coaching proposal" --fields priority=immediate energy=medium status=not_started
  3. 添加边:
    goals_query.py add-edge action-lexsavvy-proposal stream-consulting enables
  4. 记录:
    goals_query.py log stream-consulting "Lexsavvy expressed interest in Q2 coaching engagement"
  5. 验证:
    goals_query.py validate
  6. 汇报:"已添加action-lexsavvy-proposal(优先级:紧急)并关联到stream-consulting。已在咨询业务流中记录Lexsavvy的兴趣。"