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/flow 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.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.