/graph-query
Use when the user asks a question about how things in the codebase or wiki relate — what connects two things, how something works end to end, what depends on what, or what a concept means in this repo. Answers from the knowledge graph in graphify-out/graph.json, with
$ npx -y skills add alirezarezvani/gaios --skill graph-query --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/graph-query
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user asks a question about how things in the codebase or wiki relate — what connects two things, how something works end to end, what depends on what, or what a concept means in this repo. Answers from the knowledge graph in graphify-out/graph.json, with
SKILL.md
graph-query.SKILL.mdname: graph-query
description: Use when the user asks a question about how things in the codebase or wiki relate — what connects two things, how something works end to end, what depends on what, or what a concept means in this repo. Answers from the knowledge graph in graphify-out/graph.json, with source-location citations. Trigger on "/graph-query", "ask the graph", "what connects X to Y", "trace how X works", "explain <concept> from the graph", "shortest path between".
Graph Query
Ask the knowledge graph a relationship question and get a **cited answer grounded in the graph** — not a guess. The graph is built by `/graph` (graphify) over code + the committed `wiki/`. This skill only reads it.
When to run
- `graphify-out/graph.json` exists, and the user has a question about how things relate:
- "what connects the intake flow to the billing module?"
- "trace how a `/wiki` capture becomes a committed entry."
- "explain the WAT execution model from the graph."
- "shortest path between `wiki_lint.py` and the commit gate."
- Use this for *relationships and explanations*. To (re)build or refresh the graph, run `/graph`.
The output (always this shape)
## Graph answer — <the question>
**Answer** — the relationship/explanation, in plain sentences, grounded only in graph edges.
**Path / nodes used**
- <node A> —[<relation>]→ <node B> (EXTRACTED · src: <path:line>)
- <node B> —[<relation>]→ <node C> (INFERRED — not literal in source)
**Citations** — source_location for each EXTRACTED edge (path:line).
**Gaps** — anything the question asked that the graph does NOT contain (say so plainly).
Every claim traces to an edge. If the graph doesn't have it, the answer says so — it never fills the gap from memory.
Process
1. **Check the graph exists.** If `graphify-out/graph.json` is missing, stop and tell the user: "No graph yet — run `/graph` first to build it." Don't answer from training data or by re-reading files. 2. **Pick the query that fits the question** (graphify, read-only):
- Broad / "what relates to X" / "what connects X to Y" → `graphify query "<question>"` (BFS, broad neighborhood).
- Trace a chain / "how does X flow to Y" / "trace how X works" → `graphify query "<question>" --dfs` (follows a path; `--budget N` to bound it).
- "shortest path between A and B" → `graphify path "A" "B"`.
- "explain <concept/node>" → `graphify explain "X"` (the node + its neighbors).
For richer interactive exploration, the graphify MCP server may be wired (`python3 -m graphify.serve graphify-out/graph.json` → `query_graph`, `get_node`, `get_neighbors`, `shortest_path`, `god_nodes`, `graph_stats`); use it when the question needs several hops or node lookups. Otherwise the CLI is enough. 3. **Answer using ONLY what the graph returns.** Quote the `source_location` (path:line) for each edge you rely on. Fill the output shape above. Two hard rules:
- **Never invent edges.** If the query returns nothing for part of the ask, list it under **Gaps**
and say the graph doesn't cover it — do not bridge it with a guess or by reading the file yourself.
- **Honor the honesty trail.** graphify labels every edge `EXTRACTED` (literal in source),
`INFERRED` (graphify's inference), or `AMBIGUOUS` (uncertain). Present only `EXTRACTED` as fact. Tag `INFERRED`/`AMBIGUOUS` edges as such inline — never pass them off as established.
Autonomy
**L1 — read-only.** Suggests/answers from the graph; the human decides. Builds nothing, sends nothing, writes no files. (To rebuild the graph, that's `/graph`, not this skill.)
Guardrails (from CLAUDE.md)
- **Cite, don't invent** (Guardrail #6). Every claim cites a graph edge's `source_location`;
unsupported parts of the ask are flagged as gaps, never fabricated.
- **Respect the honesty audit trail.** `EXTRACTED` = fact; `INFERRED`/`AMBIGUOUS` are flagged as such,
not stated as truth.
- The graph covers **code + the committed (de-identified) `wiki/` only** — by design it excludes `raw/`,
`.env`, `.tmp/`, and secrets. If asked about something outside that scope, say it isn't in the graph.
- Read-only: no commits, no external sends, no file writes from this skill.
Read more
name: graph-query description: Use when the user asks a question about how things in the codebase or wiki relate — what connects two things, how something works end to end, what depends on what, or what a concept means in this repo. Answers from the knowledge graph in graphify-out/graph.json, with source-location citations. Trigger on "/graph-query", "ask the graph", "what connects X to Y", "trace how X works", "explain <concept> from the graph", "shortest path between".
Graph Query
Ask the knowledge graph a relationship question and get a **cited answer grounded in the graph** — not a guess. The graph is built by `/graph` (graphify) over code + the committed `wiki/`. This skill only reads it.
When to run
- `graphify-out/graph.json` exists, and the user has a question about how things relate:
- "what connects the intake flow to the billing module?"
- "trace how a `/wiki` capture becomes a committed entry."
- "explain the WAT execution model from the graph."
- "shortest path between `wiki_lint.py` and the commit gate."
- Use this for *relationships and explanations*. To (re)build or refresh the graph, run `/graph`.
The output (always this shape)
## Graph answer — <the question> **Answer** — the relationship/explanation, in plain sentences, grounded only in graph edges. **Path / nodes used** - <node A> —[<relation>]→ <node B> (EXTRACTED · src: <path:line>) - <node B> —[<relation>]→ <node C> (INFERRED — not literal in source) **Citations** — source_location for each EXTRACTED edge (path:line). **Gaps** — anything the question asked that the graph does NOT contain (say so plainly).
Every claim traces to an edge. If the graph doesn't have it, the answer says so — it never fills the gap from memory.
Process
1. **Check the graph exists.** If `graphify-out/graph.json` is missing, stop and tell the user: "No graph yet — run `/graph` first to build it." Don't answer from training data or by re-reading files. 2. **Pick the query that fits the question** (graphify, read-only):
- Broad / "what relates to X" / "what connects X to Y" → `graphify query "<question>"` (BFS, broad neighborhood).
- Trace a chain / "how does X flow to Y" / "trace how X works" → `graphify query "<question>" --dfs` (follows a path; `--budget N` to bound it).
- "shortest path between A and B" → `graphify path "A" "B"`.
- "explain <concept/node>" → `graphify explain "X"` (the node + its neighbors).
For richer interactive exploration, the graphify MCP server may be wired (`python3 -m graphify.serve graphify-out/graph.json` → `query_graph`, `get_node`, `get_neighbors`, `shortest_path`, `god_nodes`, `graph_stats`); use it when the question needs several hops or node lookups. Otherwise the CLI is enough. 3. **Answer using ONLY what the graph returns.** Quote the `source_location` (path:line) for each edge you rely on. Fill the output shape above. Two hard rules:
- **Never invent edges.** If the query returns nothing for part of the ask, list it under **Gaps**
and say the graph doesn't cover it — do not bridge it with a guess or by reading the file yourself.
- **Honor the honesty trail.** graphify labels every edge `EXTRACTED` (literal in source),
`INFERRED` (graphify's inference), or `AMBIGUOUS` (uncertain). Present only `EXTRACTED` as fact. Tag `INFERRED`/`AMBIGUOUS` edges as such inline — never pass them off as established.
Autonomy
**L1 — read-only.** Suggests/answers from the graph; the human decides. Builds nothing, sends nothing, writes no files. (To rebuild the graph, that's `/graph`, not this skill.)
Guardrails (from CLAUDE.md)
- **Cite, don't invent** (Guardrail #6). Every claim cites a graph edge's `source_location`;
unsupported parts of the ask are flagged as gaps, never fabricated.
- **Respect the honesty audit trail.** `EXTRACTED` = fact; `INFERRED`/`AMBIGUOUS` are flagged as such,
not stated as truth.
- The graph covers **code + the committed (de-identified) `wiki/` only** — by design it excludes `raw/`,
`.env`, `.tmp/`, and secrets. If asked about something outside that scope, say it isn't in the graph.
- Read-only: no commits, no external sends, no file writes from this skill.
Clone it, run /setup, and it becomes yours in Claude Code or Codex — a second brain + Chief of Staff that holds your context, structures your work, drafts in your voice, and runs reliable workflows.
Other skills on gaios.
- /audit
Use when someone asks for an AIOS audit, asks to score their setup against the Four Cs, or says "is my AIOS working" / "audit my setup" / "find gaps in my AIOS". Produces a Four-Cs scoreboard with top-3 fixes ranked by leverage.
Open skill - /daily
Use at the start of a working day (or when the user asks "what should I focus on today / give me my brief / daily standup"). Produces a one-screen daily brief — today's top 3, open loops that need a nudge, what's slipping, and a suggested focus order. Trigger on "/daily", "daily
Open skill - /decide
Use when the user faces a real decision with stakes and wants it framed cleanly — options, ranked criteria, a recommendation, the falsifier, and reversibility — then logged to decisions/log.md. Trigger on "/decide", "help me decide", "should I X or Y", "frame this decision",
Open skill - /exec-cockpit
Template skill for a leadership-transition / executive cockpit — when someone steps into or covers a leadership role and needs to not drop anything. Produces a handoff doc + decision-rights map, an "open loops" tracker, a team-comms cadence, and a recurring report/update
Open skill - /experiment
Use to run an autoresearch-style experiment loop — improve a measurable artifact by trying changes, measuring against one objective metric, keeping if better and reverting if not, on an isolated git branch with a logged trail. Trigger on "/experiment", "run an experiment loop",
Open skill - /graph-ingest
Use when the user brings an external source worth keeping — a URL, a paper, a tweet/thread, a blog post, a docs page — and wants it pulled into the second brain. Fetches the source into the git-ignored capture inbox, admits it to the committed wiki through the admission policy,
Open skill

