ground-claim
SkillFiles & storageGrounds capability claims with file-read evidence. Default mode answers meta-capability questions ('what does X enable') with path:line citations. Pass mode: runtime-wiring with a claims list to trace actual runtime execution paths, call sites, DI registration, middleware, and get CONFIRMED/UNVERIFIED/REFUTED verdicts per claim. Blocks sign-off on any non-CONFIRMED claim.
Use ground-claim in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add ground-claim and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the ground-claim skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by griffinwork40/agent-framework in skills/ground-claim/SKILL.md and read by Ahel’s review.
Trigger
Mode: capability (default) — Self-referential meta-capability questions about the current repository, framework, or system:
- "What does this repo enable?"
- "What are the orchestration patterns available?"
- "List the available skills."
- "What capabilities does the plugin provide?"
Mode: runtime-wiring — Claims that require tracing actual execution paths, not static structure:
- "Verify that middleware Y intercepts all requests."
- "Confirm plugin Z is loaded on startup."
- "Validate that feature X is active in production."
Skip both modes for: usage questions ("how do I use X?"), bug reports, feature requests.
Mode: capability (default)
Procedure
-
Extract capability nouns. From the user's question, identify 2–5 concrete capability categories (e.g., skills, hooks, agents, orchestration patterns, CLI commands, verification methods). Write them down.
-
Locate and read evidence. For each capability noun:
- Use Glob or Grep to locate source files (e.g.,
skills/*/SKILL.mdfor skills,hooks/for hooks,agents/for agents). - Read at least one concrete source file per capability. Record the file path and specific line numbers.
- Do not rely on training data, model recall, or session-listing attachments. Evidence must come from Read tool output.
- Use Glob or Grep to locate source files (e.g.,
-
Build the answer inline. Embed citations within claims, not in a separate appendix. Format:
path/to/file.md:line—<claim context>. -
Tag ungrounded claims. If a capability claim cannot be traced to a file read, prefix it with
[UNVERIFIED: what would be needed to verify this]. Never present an unverified claim without the tag. -
Declare sources read. Explicitly name which files you read in the response.
Hard rules
- Do not answer from model recall alone.
- Do not answer from session-listing attachments without reading the underlying SKILL.md or manifest files.
- Every capability claim must point to a source. Do not summarize without citation.
- Do not bury unverified claims. Use the
[UNVERIFIED]prefix and state the evidence gap. - At least one
path:linecitation per named capability.
Exit criteria
- Response contains ≥1
path:linecitation per capability mentioned. - Every unverified claim is explicitly tagged with
[UNVERIFIED: …]. - Response explicitly lists which files were read.
- No claims rest on model recall or default knowledge.
Mode: runtime-wiring
Activated when the caller provides a claims: list and mode: runtime-wiring. Validates capability claims by tracing actual runtime wiring — call sites, DI registration, middleware registration, config manifests — not type signatures or import presence.
Inputs
mode: runtime-wiring
claims: string[] # natural-language claims to verify (≤20 per batch; see batching)
entrypoints: string[] # known runtime entry files (e.g. main.ts, server.ts)
max_depth: number # max call-graph hops per chain (default: 8)
Pre-flight gate: If entrypoints is empty, abort immediately with entrypoints_required — do not dispatch any sub-agents. If claims exceeds 20 items, split into batches of 10 and run sequentially; the Qualifier aggregates across batches.
WireTracer sub-agent (one per claim, run in parallel)
For each claim:
- Identify the claimed behavior's implementation symbol (function, class, middleware, plugin).
- Search for registration or injection sites — not import statements. Targets: DI container bindings,
app.use(...),router.register(...), config manifests, plugin loaders, factory calls. - Trace forward from the entrypoint, documenting each hop:
{ file, line, symbol, role }. - If a hop is missing or conditional on an env var / feature flag, record the condition and stop the chain.
- Return:
chain: ordered{ file, line, symbol, role }listlast_confirmed: deepest confirmed hopgap: missing-link description, ornullif completeverdict:CONFIRMED|UNVERIFIED|REFUTED
Prohibited reasoning — these are NOT evidence of runtime wiring:
- "The type implements the interface, therefore it is active."
- "The import exists, therefore it is called."
- "The function is exported, therefore it is used."
If no chain can be constructed, return UNVERIFIED with gap: "no_entry_found". Max 3 retries per claim (narrowing search scope each time) before final escalation to UNVERIFIED.
Qualifier sub-agent
Reviews all WireTracer reports. Applies:
- CONFIRMED — unbroken chain from entrypoint to invocation site; no conditional gaps left unresolved.
- UNVERIFIED — chain breaks at an identifiable gap; return gap location and a resolution hint.
- REFUTED — positive evidence the symbol is excluded, overridden, or dead-code eliminated at runtime.
If Qualifier verdict disagrees with WireTracer verdict, Qualifier wins; discrepancy is logged.
Emits a machine-readable verdict table:
| Claim | Verdict | Last Confirmed Hop | Gap / Evidence |
|-------|---------|-------------------|----------------|
| ... | ... | ... | ... |
Sign-off gate
Any UNVERIFIED or REFUTED verdict blocks downstream review sign-off and is returned to the caller with the gap location. Only an all-CONFIRMED table clears sign-off.
Orchestration flow
entrypoints_required check → abort if empty
│
claims (batched ≤10 if >20)
│
▼
[WireTracer × N] ── parallel, one per claim
(≤3 retries per claim, narrowing scope)
│
▼
[Qualifier] ── reviews all reports, assigns verdicts
│
┌────┴────────┐
CONFIRMED UNVERIFIED / REFUTED
│ │
sign-off OK return gaps, block sign-off
Out of scope
- Usage questions ("how do I use library X?") → normal research.
- Bug reports →
/diagnose. - Building new capability →
/mint. - Verification of sub-agent findings →
/shadow-verify.
Signals
- GitHub stars
- 23
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
ground-claim- Source
- github.com/griffinwork40/agent-framework
github.com/griffinwork40/agent-framework
Related picks
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptpptx
Skill · anthropics
More in Files & storagedocx
Skill · anthropics
More in Files & storageresearch
Skill · mattpocock
More in Files & storagecavecrew
Skill · juliusbrussee
More in Files & storage