Answer From Docs
SkillDocs & knowledgeAnswer one question strictly from a small, caller-supplied documentation corpus, with exact supporting quotations or an explicit account of what the corpus cannot answer.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Answer From Docs skill
What this skill tells your AI
The instructions your AI receives, as published by runxhq/runx in skills/answer-from-docs/SKILL.md and read by ahel’s review.
Use this skill when the source material is already in hand and the operator needs one answer that can be checked against it. The corpus is the complete evidence boundary for the run. The skill does not search the web, fetch current documentation, consult private state, or fill gaps from the agent's general knowledge.
The useful result is not merely fluent text. A grounded result binds the corpus through a native digest, names the source for every citation, and preserves an exact quotation that the deterministic finalizer can find in that source. An unsupported result is also useful: it says what evidence is absent instead of turning a plausible guess into product documentation.
Evidence boundary
Supply:
question: one concrete question.corpus: a small, bounded array of source objects. Every source needs a stableid, a human-readabletitle, and non-emptytext.
Keep only material relevant to the question in the corpus. Runner inputs are
control data, not a document store. Admit large immutable files with Runx's
artifact tools, retrieve the necessary bounded pages, and then call this skill
with the resulting small source packet. Use extract first when the material
must be cleaned or structured. Use knowledge-router, research, or
deep-research when the sources still need to be found.
Source order is not authority. Prefer direct, specific language over a vague summary. If two sources disagree, preserve the conflict and refuse a single unqualified answer unless the corpus itself establishes precedence.
Decision procedure
- Read the question literally. Do not broaden it to a nearby question the corpus happens to answer.
- Treat the supplied sources as exhaustive for this run. Outside knowledge can help interpret language, but it cannot support a claim.
- Find the smallest set of passages that directly supports the answer.
- Draft a concise answer. Every material statement needs a citation with the
source
idand an exact quotation copied from that source'stext. - Use
unsupportedwhen the evidence is absent or too weak. Name the missing policy, limit, procedure, or source inkb_gaps. - Use
conflictedwhen supplied sources materially disagree. Record the conflict and the evidence needed to resolve it. - Let the deterministic finalizer verify corpus shape, source membership, exact quotations, the native corpus digest, and terminal result shape. Invalid evidence cannot seal as a grounded answer.
Lexical overlap is not proof. A sentence that repeats words from the question but addresses a different rule, product, time period, or actor does not support the answer.
Result contract
The terminal grounded_answer contains:
decision:answered,unsupported, orconflicted.grounded: true only for a validatedansweredresult.answer.text: the supported answer, empty for a refusal.answer.citations: canonical source ids, titles, and exact quotations.kb_gaps: evidence needed before the question can be answered.conflicts: material disagreements in the supplied corpus.corpus_digest: the native digest of the exact corpus used for the run.validation: pass or fail with deterministic findings.
A sealed refusal proves the lane completed honestly. It does not mean the product lacks the requested capability; it means this corpus did not prove it.
Stop and recovery
Stop when the question is missing, the corpus is malformed, a cited quotation is not present in its named source, or the evidence cannot support the answer. Do not weaken the wording, invent a citation, or silently answer from memory.
Recover by narrowing the question, correcting malformed source objects, adding the missing authoritative material, or routing source discovery to the appropriate research skill. Rerun from the complete corrected corpus so the new digest represents the whole evidence boundary.
Agent task contract
answer-from-docs-synthesize
Return exactly one answer_draft object.
For a supported answer, set decision to answered; provide non-empty
answer.text, one or more citations, and empty kb_gaps and conflicts.
Every citation contains only source_id and quote. Copy quote verbatim
from the text of the named supplied source.
When the corpus cannot answer the question, set decision to unsupported;
leave answer.text empty, provide no citations, and name at least one specific
gap in kb_gaps. When sources materially disagree, use conflicted, leave the
answer empty, provide no citations, and describe the disagreement in
conflicts.
Do not retrieve, use outside knowledge as evidence, manufacture source ids, paraphrase quotations, claim external effects, or include fields outside the contract.
Signals
- GitHub stars
- 87
- Forks
- 101
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
answer-from-docs- Source
- github.com/runxhq/runx