Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add JetXu-LLM/DocMason --skill grounded-answergit clone --depth 1 https://github.com/JetXu-LLM/DocMasonWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jetxu-llm/docmason/grounded-answer)<a href="https://agentmods.dev/skills/jetxu-llm/docmason/grounded-answer"><img src="https://agentmods.dev/badge/skills/jetxu-llm/docmason/grounded-answer.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00032 | $0.02535 |
| Opus 5 | $0.00016 | $0.01267 |
| Sonnet 5 | $0.00006 | $0.00507 |
| Haiku 4.5 | $0.00003 | $0.00253 |
Grade A, and why
grounded-answer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Grounded Answer
Use this skill when the task is to answer a question from the published DocMason knowledge base rather than only retrieve evidence.
This is the inner specialist answer workflow behind the user-facing ask entry surface.
Ordinary users should not need to name this workflow explicitly before asking business questions.
Front-Door Precondition
grounded-answeris not a free-standing ordinary front door.- Start only from canonical ask turn metadata and canonical ask runtime ownership.
- Start only after canonical
askhas already handed the live turn here withstatus = executeandinner_workflow_id = grounded-answer. - If the current turn is missing that ask-owned handoff, stop and route back to
ask.
Required Capabilities
- local file access
- shell or command execution
- ability to inspect structured JSON output
- ability to inspect rendered images when the cited evidence requires visual confirmation
If the agent cannot inspect required rendered evidence, stop and explain that the environment is not capable enough for grounded answering.
Procedure
- Start from canonical ask turn metadata instead of assuming every direct answer is purely KB-grounded.
- honor the ask-owned
work_brief, resolved decisions, accepted scopes, and affected-output boundary; use them to preserve the intended medium and critical distinctions without reopening decisions this workflow does not own - treat
answer_stateas the top-level four-state answer contract - choose an explicit
support_basisfor the overall answer:kb-groundedexternal-source-verifiedmodel-knowledgemixed
- honor ask-provided
reference_resolution,source_scope_policy,evidence_requirements, andsupport_contract; whenevidence_requirementsis present, treat it as the canonical odd-question inspection contract before widening scope or changing evidence basis - write a short support ledger before drafting:
- which source boundary must survive
- which comparison sources must both survive
- which published evidence channels are required
- whether this turn still has the one allowed contract-repair chance
- honor the ask-owned
- Normalize the user question and decompose it only when that improves grounded retrieval.
- Run
docmason retrieve "<query>" --json --compactfor the initial question or sub-question when KB evidence is part of the answer path.- if you truly need the full nested retrieve payload, redirect full
--jsonto a local file and inspect it selectively instead of streaming it into the live chat context - treat compact retrieve as the stable host-facing projection; inspect
results,reference_resolution,source_scope_policy, andrecommended_hybrid_targetsbefore reaching for nested JSON - do not build alternate compact schemas with ad hoc
jqassumptions such as.matches - prefer published affordance sidecars and already-published evidence channels over ad hoc source inspection
- inspect
reference_resolutionfirst when the user has named a document or locator in user-native terms - keep DocMason workspace commands sequential inside the same live answer path; do not overlap
retrieve,trace,sync,status, orvalidate-kbwhile a lease-owning step is still running
- if you truly need the full nested retrieve payload, redirect full
- Inspect the strongest evidence bundles, matched units, graph expansions, render references, and published-evidence sufficiency judgment.
- when
reference_resolution.statusisexact, preserve that narrowing and do not let neighboring documents silently dilute it - when
reference_resolution.statusisapproximatebutunit_match_statusisexact, preserve the approximate notice but still treat the resolved source narrowing as intentional - when
reference_resolution.statusisapproximateorunresolved, keep the inline notice and answer wording honest about that boundary - when the question is artifact-sensitive, inspect compact retrieval fields first:
matched_artifact_idsmatched_unit_idsmatched_overlay_unit_idsfocus_render_assetsrecommended_hybrid_targets- score details such as
structure_context_bonus,semantic_overlay_bonus, andcompare_coverage_bonus
- when the answer boundary truly depends on exact artifact metadata such as
section_path,caption_text,continuation_group_ids,procedure_hints, orsemantic_labels, inspect a file-first full retrieve capture or the published artifact sidecars rather than pasting the nested payload into chat - treat those published payloads as an ordered evidence path: first decide whether retrieved text, structure, notes, or media already settle the claim, then inspect cited
focus_render_assets, render refs, or page spans when visual confirmation would materially change the answer, and only then escalate - when published sufficiency fails because of hard-artifact semantic gaps, the grounded-answer path must enter the governed ask-time multimodal refresh before any raw source inspection
- use
recommended_hybrid_targetsas the only legal query-aware narrowing entrypoint - if the turn becomes a waiter on that governed refresh, keep the same turn paused and reuse the shared result
- once the governed refresh picks a source, complete that source's current hybrid candidates, inspect listed render or focus-render assets when present and answer-relevant, reretrieve, and retrace before treating the ask as ready to answer
- record lightweight settlement audit fields such as
render_inspection_usedandinspected_render_assetswhen the work packet exposes visual assets - after one
coveredrefresh and post-refresh retrieve/trace, close honestly with the remaining support boundary instead of starting a second same-turn refresh - if the governed refresh settles
blocked, close the turn asabstained + governed-boundary
- use
- when
- Run provenance tracing for the strongest support when you need corroboration, contradiction checks, or answer-state clarification:
docmason trace --source-id <source_id> --json --compactdocmason trace --answer-file <path> --json --compactdocmason trace --session-id <session_id> --json --compact- if you truly need nested segment support objects, redirect full
--jsonto a local file and inspect it selectively instead of loading the full raw trace payload into the live chat context - treat compact trace as the stable host-facing projection; inspect
answer_state,reference_resolution,source_scope_policy,issue_codes, andrecommended_hybrid_targetsbefore reaching for nested JSON - when the same live turn creates more than one ask-owned retrieve session or more than one plausible final trace candidate, keep an explicit artifact ledger while you work:
- preserve the selected ask-owned
session_idsthat support the final answer - preserve the selected
trace_idsthat bind the final answer-file version - return those selected IDs to the main agent for finalize-time use instead of leaving commit-time disambiguation to
complete_ask_turn()
- preserve the selected ask-owned
- if the turn produced only one ask-owned retrieve session and one final trace, ordinary automatic hydration remains sufficient
- Inspect renders when:
- the strongest support uses low-confidence extracted text
- a cited unit has little or no text but does have rendered evidence
- layout, tables, diagrams, screenshots, or visual style are part of the answer boundary
- the odd-question plan explicitly prefers
renderormedia - artifact supports expose
render_page_span,bbox, ornormalized_bboxthat materially narrow what must be checked - artifact or segment supports expose
focus_render_assets, which should be preferred over full-page renders when present - do not treat every multimodal source as a reason to reopen the raw file; render inspection is for questions whose answer boundary actually depends on visual semantics or a published render-only gap
- Draft the canonical answer file under
runtime/answers/when conversation context exists.- if you need auxiliary drafts or exported scratch artifacts and the user did not specify a path, place them under
runtime/agent-work/
- if you need auxiliary drafts or exported scratch artifacts and the user did not specify a path, place them under
- When the answer is externally verified, persist the lightweight external support manifest before or alongside the final trace so the combined support contract stays machine-readable.
- Run
docmason trace --answer-file <path> --json --compactas the final grounding check.- when the answer depends on artifact-level support, inspect compact trace fields first:
supporting_artifact_ids- segment
supporting_artifact_ids - segment
supporting_overlay_unit_ids - segment support-lane counts and compact support counts
- when you genuinely need nested
artifact_supports,semantic_supports, render refs, page spans, or region boxes, inspect a file-first full trace capture or the published artifact surfaces rather than streaming the nested trace payload into chat - hand the same answer-file path, plus any selected
session_ids/trace_ids, back for hiddenfinalize; prefer the structuredworkflow_outcomehandoff when the workflow already knows the correctsupport_basis, selected IDs, or other finalize-owned facts - if finalize returns
status = executetogether with a repairablesupport_fulfillment, do one contract-aware rewrite and retrace on the same turn, then finalize once more - if finalize returns
status = executetogether withadmissibility_repair, use its issue codes and suggested action to rewrite the same answer file, rerun trace, and finalize once more - do not render terminal closure metadata yourself; return the exact business answer and
workflow-owned support facts to
ask, which alone decides whether a separate status line or boundary explanation is user-visible
- when the answer depends on artifact-level support, inspect compact trace fields first:
- Emit one of these final answer states:
groundedpartially-groundedunresolvedabstained
- Return the final answer, final
answer_state, overallsupport_basis, support boundary, and next steps to the main agent.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 143 lines · 32 tokens per session scan A 765e5574fca5
grounded-answer is a skill published in the GitHub repository JetXu-LLM/DocMason (135 stars, last pushed 4d ago), licensed Apache-2.0. It adds 32 tokens to every session and 2,535 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
openkb-deck-neon
A skill for creating a single-file HTML slide deck from content stored in OpenKB, a knowledge-base chat system. It defines a dark, high-tech visual style using neon colors, glow effects, and glass-like panels.
openkb-deck-editorial
A tool for creating a single-file HTML slide presentation from compiled knowledge-base content. Its visual style uses a warm cream background, serif typography, and brick-red accents.
openkb-html-critic
Use to review a generated HTML deck or single-page artifact for visual quality and structural correctness. Especially good at catching CSS specificity bugs where slide-modifier classes (.divider, .center, .q, .flow etc.) accidentally override the base .slide{display:none} and cause one slide to stack on top of every…
transformer-attention
Use when reasoning about Transformer self-attention, multi-head attention, positional encoding, masked decoder attention, or why attention replaced recurrence/convolutions in sequence models; not for generic NLP or unrelated attention topics.
release-sync
Syncs latest release content to NotebookLM and HQ Knowledge Base after version tagging. Reads CHANGELOG, CLAUDE.md, and hook README, updates notebook sources, and ingests release digest. Optionally generates podcast from updated knowledge base. Use after tagging a new version to propagate release knowledge.
openlore
Query and publish to an OpenLore knowledge base over SSH using ordinary shell commands. Use when a task needs project documentation, runbooks, shared team knowledge, or a place to publish findings.