ground
npx machina-cli add skill synaptiai/agent-capability-standard/ground --openclawIntent
Verify that claims are supported by evidence from reliable sources. This is the foundation of the Grounded Agency principle - no assertion should be made without evidence anchors.
Success criteria:
- Claim evaluated against available evidence
- Evidence sources identified and referenced
- Grounding strength assessed (strong, moderate, weak, ungrounded)
- Evidence gaps explicitly documented
Compatible schemas:
schemas/output_schema.yaml
Inputs
| Parameter | Required | Type | Description |
|---|---|---|---|
claim | Yes | string | The claim or assertion to ground |
sources | No | array | Evidence sources to check (files, URLs, commands) |
required_strength | No | string | Minimum grounding level: weak, moderate, strong |
Procedure
-
Parse the claim: Understand what is being asserted
- Identify the core assertion
- Note any implicit sub-claims
- Determine what evidence would support it
-
Identify evidence sources: Determine where to look
- Use provided sources if available
- Identify additional relevant sources
- Prioritize authoritative sources
-
Search for evidence: Look for supporting or contradicting data
- Read relevant files and documentation
- Execute commands to gather data
- Note both supporting and contradicting evidence
-
Evaluate evidence quality: Assess reliability of found evidence
- Consider source authority
- Check for recency and relevance
- Note any bias or limitations
-
Assess grounding strength: Determine how well claim is supported
- Strong: multiple authoritative sources agree
- Moderate: one authoritative source or multiple secondary
- Weak: indirect or partial evidence
- Ungrounded: no supporting evidence found
-
Document gaps: Note missing evidence
- What evidence would strengthen grounding?
- What sources could not be checked?
- What assumptions remain unverified?
Output Contract
Return a structured object:
grounded: boolean # Whether claim meets required_strength
claim: string # The claim being evaluated
strength: string # strong, moderate, weak, ungrounded
evidence:
- source: string # Evidence source
type: string # file, url, command, observation
content: string # Relevant excerpt
supports: boolean # Supports or contradicts claim
authority: string # high, medium, low
contradictions:
- source: string
content: string
severity: string # How seriously it undermines claim
gaps:
- description: string # What evidence is missing
would_provide: string # What it would establish
confidence: 0..1
evidence_anchors: ["file:line", "url", "command:output"]
assumptions: []
Field Definitions
| Field | Type | Description |
|---|---|---|
grounded | boolean | Whether claim meets required evidence threshold |
strength | string | Grounding level: strong, moderate, weak, ungrounded |
evidence | array | Supporting evidence with sources and excerpts |
contradictions | array | Evidence that contradicts the claim |
gaps | array | Missing evidence that would strengthen grounding |
Examples
Example 1: Ground a Technical Claim
Input:
claim: "The payment processor uses Stripe API v2023-10-16"
sources:
- "Gemfile"
- "config/initializers/stripe.rb"
required_strength: "strong"
Output:
grounded: true
claim: "The payment processor uses Stripe API v2023-10-16"
strength: "strong"
evidence:
- source: "Gemfile"
type: "file"
content: "gem 'stripe', '~> 10.0'"
supports: true
authority: "high"
- source: "config/initializers/stripe.rb"
type: "file"
content: "Stripe.api_version = '2023-10-16'"
supports: true
authority: "high"
- source: "Gemfile.lock"
type: "file"
content: "stripe (10.1.0)"
supports: true
authority: "high"
contradictions: []
gaps:
- description: "Runtime verification of API version"
would_provide: "Confirmation that configured version is actually used"
confidence: 0.95
evidence_anchors:
- "Gemfile:42"
- "config/initializers/stripe.rb:3"
- "Gemfile.lock:156"
assumptions:
- "Configuration is loaded at runtime"
- "No environment-specific overrides"
Example 2: Partial Grounding
Input:
claim: "User authentication requires 2FA for all accounts"
sources:
- "app/models/user.rb"
- "config/devise.yml"
required_strength: "strong"
Output:
grounded: false
claim: "User authentication requires 2FA for all accounts"
strength: "weak"
evidence:
- source: "app/models/user.rb"
type: "file"
content: "has_one :two_factor_auth"
supports: true
authority: "medium"
- source: "config/devise.yml"
type: "file"
content: "two_factor_authentication: enabled: true"
supports: true
authority: "high"
contradictions:
- source: "app/controllers/sessions_controller.rb"
content: "skip_2fa_for_api_tokens: true"
severity: "high"
- source: "app/models/user.rb"
content: "scope :without_2fa, -> { where(two_factor_enabled: false) }"
severity: "medium"
gaps:
- description: "Policy enforcement mechanism"
would_provide: "Evidence that 2FA is mandatory, not optional"
- description: "Admin user configuration"
would_provide: "Whether admin accounts have different requirements"
confidence: 0.40
evidence_anchors:
- "app/models/user.rb:15"
- "config/devise.yml:8"
- "app/controllers/sessions_controller.rb:23"
assumptions:
- "2FA support exists but enforcement unclear"
Example 3: Ungrounded Claim
Input:
claim: "The system processes 10,000 requests per second"
sources:
- "README.md"
- "docs/architecture.md"
required_strength: "moderate"
Output:
grounded: false
claim: "The system processes 10,000 requests per second"
strength: "ungrounded"
evidence:
- source: "README.md"
type: "file"
content: "High-performance API server"
supports: false
authority: "low"
contradictions: []
gaps:
- description: "Load test results"
would_provide: "Measured throughput under load"
- description: "Production metrics"
would_provide: "Actual request rates and latencies"
- description: "Benchmark documentation"
would_provide: "Performance claims with methodology"
confidence: 0.1
evidence_anchors:
- "README.md:5"
- "docs/architecture.md (no relevant content)"
assumptions:
- "No performance data available in provided sources"
Verification
- Claim is clearly stated
- At least one evidence source was checked
- Strength assessment is consistent with evidence
- Contradictions are noted if found
- Evidence anchors reference specific locations
Verification tools: Read (to verify evidence excerpts)
Safety Constraints
mutation: falserequires_checkpoint: falserequires_approval: falserisk: low
Capability-specific rules:
- Never claim something is grounded without evidence
- Note contradicting evidence even if claim seems grounded
- Flag when sources may be outdated
- Do not fabricate evidence
Composition Patterns
Commonly follows:
generate- Ground generated contentpredict- Ground prediction assumptionsexplain- Ground explanation premises
Commonly precedes:
verify- Grounding enables verificationaudit- Grounding supports audit trailsplan- Only proceed with grounded information
Anti-patterns:
- Never skip grounding for important assertions
- Avoid accepting claims without evidence in planning
Workflow references:
- See
reference/workflow_catalog.yaml#world_model_buildfor grounding in world models - Core principle of Grounded Agency - all skills should ground claims
Source
git clone https://github.com/synaptiai/agent-capability-standard/blob/main/skills/ground/SKILL.mdView on GitHub Overview
Ground anchors assertions to evidence from reliable sources, identifying provenance, verifying facts, and documenting grounding gaps. It helps ensure every claim is supportable by verifiable sources.
How This Skill Works
Grounding analyzes the claim, collects relevant sources, and searches for supporting or contradicting data. It evaluates source authority, recency, and relevance, then assigns a grounding strength and outputs a structured grounded object with evidence and gaps.
When to Use It
- Validating a claim in a research report
- Verifying product or feature claims in a specification
- Auditing AI outputs for factual accuracy
- Establishing provenance of data or assertions in a knowledge base
- Documenting evidence gaps during a compliance review
Quick Start
- Step 1: Define the claim and list any sources
- Step 2: Gather relevant evidence and note contradictions
- Step 3: Evaluate grounding strength and output the grounded object
Best Practices
- Start with a clear claim and any sources
- Prioritize authoritative and primary sources
- Specify a minimum required_strength
- Record all supporting and contradicting evidence
- Explicitly document gaps and next steps
Example Use Cases
- Grounding a claim that a payment processor uses a specific Stripe API version
- Verifying a software license claim against official license texts
- Assessing whether a news article cites credible sources
- Checking a product claim against manufacturer data sheets
- Grounding a medical claim against clinical guidelines