framework/memex/skills/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 SALP-REF hop, synthesises a cited answer, files it back. Do NOT trigger on source-code or live-session questions.
npx skillsauth add korchasa/flowai 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 SALP references ([REF:mx-<type>:<slug>]). 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", /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 save <source> in this directory to scaffold one, or pass --memex <path>.After resolution, read <memex-root>/AGENTS.md for conventions. Cross-references use SALP — [REF:mx-<type>:<slug>] for bare references or [REF:mx-<type>:<slug> | <display>] when readable display text is helpful. [[wikilinks]] are no longer recognised by the audit script or the skills.
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 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.
For each [REF:mx-<type>:<slug>] in the candidate pages that looks relevant to the question, read the linked page too. ONE level deep — do not follow REFs from those pages further. This is the "1-hop expansion" — it surfaces connections without reading the entire memex.
Write the answer in prose, with SALP REFs as inline citations. Example body:
Markdown was created by [REF:mx-person:john-gruber | John Gruber] in 2004 with contributions from [REF:mx-person:aaron-swartz | Aaron Swartz]. It was designed as a plain-text formatting syntax that converts cleanly to HTML — see [REF:mx-concept:history-of-markdown | the full timeline].
Format guidance:
[REF:mx-<type>:<slug> | display] citations.Quality rules:
[!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 SALP REF cited.
Place the page's own anchor directly below the H1 title: # <Question as title> [ANC:mx-answer:<slug>].
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, change the page's own anchor namespace from [ANC:mx-answer:<slug>] to [ANC:mx-concept:<slug>], 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 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]] for internal references — SALP REFs only.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.