framework/memex/skills/flowai-skill-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-skill-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-skill-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-skill-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-skill-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-skill-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.development
Use when the user asks to add TypeScript strict-mode code-style rules to AGENTS.md for a TypeScript project using strict mode. Do NOT trigger for Deno projects (use setup-agent-code-style-deno) or non-strict TS configurations.
development
Use when the user asks to add Deno/TypeScript code-style rules to AGENTS.md, or during initial Deno project setup when code-style guidelines need to be established. Do NOT trigger for non-Deno TypeScript projects (use setup-agent-code-style-strict), or for runtime-agnostic style advice.
testing
Use when the user provides a source (URL, file path, or free text) to save into the project's memex — a long-term knowledge bank for AI agents. Stores the raw source, extracts entities into cross-linked pages, runs a backlink audit, and updates the index and activity log. Do NOT trigger on casual reads; only when the intent is to persist a source into the memex.
development
Use when the user asks to audit a memex (long-term knowledge bank for AI agents) for orphans, dead SALP REFs, missing sections, contradictions, or index drift. Runs a deterministic structural check, layers LLM-judgement findings, optionally auto-fixes trivial issues with `--fix`. Do NOT trigger on general code linting.