framework/memex/skills/flowai-memex-ask/SKILL.md
Use when the user asks a question to be answered from the project's memex (long-term knowledge bank for AI agents) rather than training data or the live web. Reads the index, opens relevant pages, follows one wikilink hop, synthesises a cited answer, files it back. Do NOT trigger on source-code or live-session questions.
npx skillsauth add korchasa/flowai flowai-memex-askInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Answer a question using only what the memex contains. Cite via [[wikilinks]]. Be honest about gaps.
Invoked when the user wants an answer drawn from the memex (e.g., "look this up in my memex", "ask the memex about X", /flowai-memex-ask <question>). The argument is the natural-language question.
Resolve the active memex root in this order — first match wins:
--memex <path> flag → use that path.AGENTS.md and a pages/ subdirectory is the active memex root.No memex found. Run flowai-memex-save <source> in this directory to scaffold one, or pass --memex <path>.After resolution, read <memex-root>/AGENTS.md for conventions. If the memex contains .obsidian/, use dual-link format [[slug|Name]] ([Name](slug.md)); otherwise plain [[slug]].
Open <memex-root>/pages/index.md. This is the catalog. Skim it to identify which pages are likely relevant to the question — match on title, one-line description, or domain heading.
If index.md is missing, fall back to Glob over <memex-root>/pages/*.md and read each candidate's frontmatter. Suggest the user runs flowai-memex-audit after the answer to rebuild the index.
Read every page identified as relevant in step 1. Aim for the smallest set that covers the question — quality over quantity.
[[wikilinks]]For each [[link]] in the candidate pages that looks relevant to the question, read the linked page too. ONE level deep — do not follow links from those pages further. This is the "1-hop expansion" — it surfaces connections without reading the entire memex.
Write the answer in prose, with [[wikilinks]] as inline citations:
Markdown was created by [[john-gruber]] in 2004 with contributions from [[aaron-swartz]]. It was designed as a plain-text formatting syntax that converts cleanly to HTML — see [[history-of-markdown]] for the full timeline.
Format guidance:
[[wikilink]] citations.[[wikilinks]] in cells.Quality rules:
[[wikilink]].[!WARNING] contradiction callouts, flag this in the answer rather than picking a side.pages/answers/Always file the synthesized answer to <memex-root>/pages/answers/<question-slug>.md. No prompt — file every answer. Slug derivation: lowercase, hyphens, strip punctuation, max 60 chars (e.g., "Who created Markdown?" → who-created-markdown.md).
Frontmatter:
---
date: YYYY-MM-DD
type: answer
question: "<original question text>"
status: filed
tags: [<derived from referenced pages>]
---
Body: the synthesized answer + a ## Sources section listing every [[wikilink]] cited.
If an answer file with the same slug already exists, append -2, -3, etc. — never overwrite past answers.
Ask the user once: Promote this answer to a top-level concept page at pages/<slug>.md? (y/n)
<memex-root>/pages/answers/ to <memex-root>/pages/, change frontmatter type from answer to concept, set status: promoted, and add an entry to pages/index.md under the appropriate domain.answers/ and continue.log.md## [YYYY-MM-DD] ask | <question slug>
Answered with N citations across M pages. Filed to answers/<slug>.md.
If the user promoted, append a second entry:
## [YYYY-MM-DD] promote | <slug>
Promoted answer to pages/<slug>.md.
Print:
Filed to <memex-root>/pages/answers/<slug>.md.Promoted to pages/<slug>.md if applicable.If after step 3 you have not found enough information to answer the question:
The memex does not yet cover <topic>. To fill this gap, run flowai-memex-save with sources on <specific suggestions>.status: gap instead of filed — so the gap is recorded.raw/ — never modify raw sources during an ask.Read, Glob, Grep for searching; Write only for the answer file (and the optional promotion move). Edit for index.md and log.md.[[wikilinks]] only (or dual-link if the memex uses Obsidian).WebFetch or WebSearch while answering — answers come from the memex, not the web. If the memex lacks coverage, suggest saving a source; do not silently fetch.tools
Delegate a task to another AI IDE's CLI (codex / claude / opencode / cursor-agent) through an isolated-context subagent. Triggers on "delegate to <ide>", "have <ide> do <task>", "execute <task> in <ide>", "offload to <ide>". For one-shot relay or fan-out comparison use `ai-ide-runner` instead.
tools
Run prompts in Claude Code, OpenCode, Cursor, or Codex CLIs from the current session — pick one IDE, fan out across several, or compare models. You are a courier that relays the other runtime's stdout verbatim, do not synthesise your own answer. Use on "run in <ide>", "compare <ide> vs <ide>", "try on <model>", "which IDE handles X better", "run across models".
tools
Recommend which LLM model to use for a task. Use when asked "which model / best LLM for X", "pick a model for this task", or for a model shortlist ranked by live leaderboard evidence (coding, reasoning, agentic, tool-use, price, speed). Live-fetches public leaderboards and ranks models with per-axis rationale and citations.
development
Produce a comprehensive Product Requirements Document (PRD). Use when the user asks to write a PRD or formalize a feature's scope, goals, and success metrics.