agentleFS
runxhqrunxhq/runx/skills/answer-from-docs/SKILL.md

answer-from-docs

Skill97 starsChanged 32 days agoApache-2.0View on GitHub

Answer one question strictly from a small, caller-supplied documentation corpus, with exact supporting quotations or an explicit account of what the corpus cannot answer.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 7 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the source material is already in hand and the operator needs one answer that can be checked against it.

    line 8
  2. Distinctive:

    Keep only material relevant to the question in the corpus.

    line 28
  3. Distinctive:

    Read the question literally.

    line 41
  4. Distinctive:

    Treat the supplied sources as exhaustive for this run.

    line 43
  5. Very specific:

    Use unsupported when the evidence is absent or too weak.

    line 48
  6. Very specific:

    Use conflicted when supplied sources materially disagree.

    line 50
  7. Distinctive:

    Stop when the question is missing, the corpus is malformed, a cited quotation is not present in its named source, or the evidence cannot …

    line 78
  8. Distinctive:

    Do not weaken the wording, invent a citation, or silently answer from memory.

    line 80
  9. Very specific:

    Every citation contains only source_id and quote.

    line 95
  10. Very specific:

    When the corpus cannot answer the question, set decision to unsupported.

    line 98
  11. Distinctive:

    Do not retrieve, use outside knowledge as evidence, manufacture source ids, paraphrase quotations, claim external effects, or include …

    line 104

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Answer From Docs

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 stable id, a human-readable title, and non-empty text.

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

  1. Read the question literally. Do not broaden it to a nearby question the corpus happens to answer.
  2. Treat the supplied sources as exhaustive for this run. Outside knowledge can help interpret language, but it cannot support a claim.
  3. Find the smallest set of passages that directly supports the answer.
  4. Draft a concise answer. Every material statement needs a citation with the source id and an exact quotation copied from that source's text.
  5. Use unsupported when the evidence is absent or too weak. Name the missing policy, limit, procedure, or source in kb_gaps.
  6. Use conflicted when supplied sources materially disagree. Record the conflict and the evidence needed to resolve it.
  7. 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, or conflicted.
  • grounded: true only for a validated answered result.
  • 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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.