goals-graph

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "goals-graph" with this command: npx skills add leegonzales/aiskills/leegonzales-aiskills-goals-graph

Second Brain 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.

Tool Location

~/Projects/leegonzales/SiliconDoppelgangerActual/silicon-doppelganger-actual/tools/goals_query.py

Run all commands from that directory (or use the full path).

Schema Reference

See references/graph-schema.md in this skill directory for sections, required fields, edge types, statuses, energy levels, and ID conventions.

Core Workflow

For Queries (read-only)

  • Parse intent — What does Lee want to know? (overview, specific node, blockers, next actions, dependencies, tensions, progress)

  • Choose commands — Map to one or more read commands (see query mapping below)

  • Execute — Run commands via bash

  • Synthesize — Don't just dump raw output. Summarize, highlight what matters, and connect the dots. Answer Lee's actual question.

For Mutations (writes)

  • Parse intent — What kind of update? (new node, status change, metric update, new edge, changelog entry, removal)

  • Query current state — Run goals_query.py node <id> or status to understand context before mutating

  • Determine mutations — Map intent to one or more commands (see mutation mapping below)

  • Confirm if ambiguous — If the update could map to multiple nodes or the intent is unclear, ask Lee before executing

  • Execute — Run commands via bash

  • Validate — Run goals_query.py validate after mutations

  • Report — Tell Lee what changed in 1-2 lines

Query Intent → Command Mapping

Lee says You 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

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

Mutation Intent → Command Mapping

Lee says You 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)

ID Convention Rules

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 .

Rules

  • Never edit YAML directly — always use goals_query.py commands

  • Query before mutating when you're not 100% sure of the node ID or current state

  • Ask Lee when his intent maps to multiple possible nodes or the action is destructive (remove)

  • Always validate after mutations — run goals_query.py validate and report any issues

  • One mutation set per request — don't batch unrelated updates unless Lee explicitly gives multiple

  • Connect new nodes — when adding a node, think about what edges make sense (parent stream, enables, requires) and add them

  • Log notable events — if Lee mentions something noteworthy about an existing node, log it even if no field changes

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.

Example Sessions

Query Example

Lee: "What should I focus on this week? I only have medium energy."

You:

  • Run: goals_query.py next --energy medium

  • Run: goals_query.py blocked

  • Run: goals_query.py threads

  • 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."

Mutation Example

Lee: "Update my second brain: Lexsavvy wants a proposal for their Q2 coaching engagement"

You:

  • Query: goals_query.py node stream-consulting (check consulting stream exists)

  • Add: goals_query.py add actions action-lexsavvy-proposal "Draft Lexsavvy Q2 coaching proposal" --fields priority=immediate energy=medium status=not_started

  • Edge: goals_query.py add-edge action-lexsavvy-proposal stream-consulting enables

  • Log: goals_query.py log stream-consulting "Lexsavvy expressed interest in Q2 coaching engagement"

  • Validate: goals_query.py validate

  • Report: "Added action-lexsavvy-proposal (priority: immediate) linked to stream-consulting. Logged the Lexsavvy interest on the consulting stream."

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

veo3-prompter

No summary provided by upstream source.

Repository SourceNeeds Review
General

prose-polish

No summary provided by upstream source.

Repository SourceNeeds Review
General

concept-forge

No summary provided by upstream source.

Repository SourceNeeds Review
General

slide-builder

No summary provided by upstream source.

Repository SourceNeeds Review