agentsclimarketplace

Ground first

Skill gbbragadev/ground-first

Forces the model to truly understand what the user is talking about before responding. Detects culturally specific, trending, niche, or ambiguous references and grounds understanding via web search (forums, news, social media) before proceeding. Use when the user references trends, viral content, slang, memes, platform-specific phenomena, niche communities, or anything that may have a "real" meaning the model might miss. Invoke with /ground or /ground-first.From its SKILL.md

Install
npx -y skills add gbbragadev/ground-first

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.1 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

Ground First — Understand Before You Answer

The Problem This Solves

LLMs interpret prompts using training-data patterns — the most common meaning of words, not the specific meaning the user has in mind. When someone says "those viral TikToks with parkour background music", the model might think about parkour videos, not the specific audio trend the user is referencing. This leads to confident, fluent, but wrong responses.

Ground First forces a mandatory context-grounding phase before any substantive response.

ACTIVE EVERY RESPONSE after invocation

Off only: "stop grounding" / "normal mode" / "stop ground-first"


Protocol: 3 Phases

PHASE 1 — DETECT (Internal, fast)

Before doing anything else, scan the user's message for context-risk signals:

Signal TypeExamples
Platform-specific trends"that TikTok sound", "Instagram filter everyone uses", "YouTube Short format"
Viral/trending content"the meme where X", "that video of Y", "everyone is doing Z"
Slang / colloquialNew words, abbreviations, regional Brazilian Portuguese slang, gen-Z terms
Named cultural phenomena"the Brat summer", "that era", "quiet quitting", "brain rot"
Niche communitiesSpecific game meta, fandom references, hobby jargon
Recent eventsAnything that may have happened after training cutoff or may be evolving
"Everyone knows" framing"you know that thing where...", "like the X people do"
Ambiguous proper nounsBrand names, creator names, places that could mean multiple things
Implicit pop culture refsAnything where the model might fill in a plausible but wrong interpretation

Classify the risk:

  • LOW — Common, stable, well-documented topic → proceed normally but state assumption
  • MEDIUM — Culturally specific or potentially trending → state interpretation, ask to confirm
  • HIGH — Clearly trend/slang/viral/niche/recent → mandatory web search before answering

PHASE 2 — GROUND

Output format depends on mode:

lite mode (lowest token cost — just one line before the answer):

> Assuming you mean [specific interpretation]. Correct me if wrong.

full mode (default — explicit block, easy to scan and correct):

┌─ GROUNDING ───────────────────────────────────────────┐
│ What I think you're talking about:                    │
│ [Your interpretation, specific and concrete]          │
│                                                       │
│ Context gathered: [internal / web search / confirmed] │
│ Confidence: [HIGH / MEDIUM / LOW]                     │
│                                                       │
│ If this is wrong, say so before I continue.          │
└───────────────────────────────────────────────────────┘

For MEDIUM/HIGH risk: Perform a web search BEFORE generating the grounding block.

Search strategies:

  • "{exact phrase}" site:reddit.com — community context
  • "{phenomenon}" tiktok trend 2024 OR 2025 — viral content
  • "{term}" meaning slang — colloquial definitions
  • "{topic}" news — recent events
  • "{creator/brand}" who is — identity disambiguation

Use 1-3 targeted searches. Cite where your understanding came from.

For LOW risk: State your assumption inline, no search needed.


PHASE 3 — ANSWER

Only after grounding is established, proceed with the actual response.

If confidence was LOW or MEDIUM, wait for the user to confirm/correct before giving a full answer. A short answer is OK if the direction is clear; a full essay on a wrong interpretation wastes everyone's time.


Intensity Levels & Token Cost

Invoke with /ground [level]:

LevelTriggers onOutputWeb SearchToken Overhead
liteHIGH onlyOne inline sentenceOnly if truly lost~10-20 tokens
fullMEDIUM+HIGHFull grounding blockWhen needed~50-150 tokens

Default: full

Token Economy Reality Check

The question isn't "how many tokens does grounding cost?" — it's "how many tokens does a wrong response cost?":

  • Wrong interpretation → full response (~300-800 tokens) + user correction (~50 tokens) + model rewrite (~300-800 tokens) = 600-1600 tokens wasted
  • Ground-first overhead: 10-150 tokens

Ground First pays for itself after 1 avoided misinterpretation.

Use lite when token budget is tight and you trust the model's judgment more. Use full (default) when accuracy matters.

Configuring Your Default

Set a persistent default by including in your system prompt or CLAUDE.md:

Ground First default mode: lite   # or full

Or invoke per-session: /ground lite, /ground full


Examples

Example 1 — Viral TikTok sound (HIGH risk)

User: "help me understand how to use that parkour audio trend on TikTok"

Model detects: "parkour audio trend" + "TikTok" = HIGH risk (specific viral audio, not parkour the sport)

Model searches: parkour TikTok audio trend 2024 2025

┌─ GROUNDING ───────────────────────────────────────────┐
│ What I think you're talking about:                    │
│ The "Piste d'athlétisme" or similar parkour-sound    │
│ audio trend on TikTok where creators use high-energy │
│ parkour/free-running background music (often a        │
│ specific track) for transitions or challenges.        │
│                                                       │
│ Context gathered: web search (Reddit/TikTok threads) │
│ Confidence: MEDIUM — multiple trends match            │
│                                                       │
│ If this is wrong, say so before I continue.          │
└───────────────────────────────────────────────────────┘

Example 2 — Slang (MEDIUM risk)

User: "meu chefe é muito 'surtado' com essa entrega"

Model detects: Brazilian slang "surtado" — MEDIUM risk (could mean anxious/crazy/excited)

┌─ GROUNDING ───────────────────────────────────────────┐
│ What I think you're talking about:                    │
│ "Surtado" aqui = seu chefe está muito ansioso/         │
│ estressado (não no sentido clínico, uso coloquial).   │
│                                                       │
│ Context gathered: internal (slang BR known)           │
│ Confidence: HIGH                                      │
│                                                       │
│ If this is wrong, say so before I continue.          │
└───────────────────────────────────────────────────────┘

Example 3 — Clear technical question (LOW risk)

User: "how do I center a div in CSS"

Model detects: No context-risk signals. Stable, well-documented topic.

No grounding block needed. Proceed with answer + inline note: "Assuming standard CSS centering, not a framework-specific pattern."


Why This Matters

The gap between what the user means and what the model interprets is widest for:

  • Anything trending (training data is sparse on recent events)
  • Platform-specific content (TikTok/Instagram/Reddit culture is underrepresented)
  • Regional slang (Brazilian Portuguese, for example)
  • Niche communities (specific game metas, subcultures)

Ground First narrows this gap by making the interpretation explicit and verifiable before investing in a full answer.


Sharing This Skill

This skill is designed to be platform-agnostic. It works with:

  • Claude Code/ground or /ground-first
  • OpenAI Codex$ground or $ground-first
  • Any LLM chat → Paste the protocol section as a system prompt prefix

The core protocol (DETECT → GROUND → ANSWER) can be adapted to any AI assistant.


Boundaries

  • Does NOT replace domain knowledge — grounds context, not facts
  • Does NOT search for every query, only when context-risk is MEDIUM+
  • Does NOT override explicit user instructions ("just answer me")
  • Search is skipped if the model's training clearly covers the topic at HIGH confidence

What ships with it: 17 files

285.3 KB alongside SKILL.md, 2 of them executable

Keep looking

Skills are one crate of 326,149. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.