ground-first
Skill0 starsChanged 5 months agoMITView on GitHub
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.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- tatsoft-llc/FrameworX-Projectstheir own version, first seen Nov 15, 2026
- kaiohenricunha/dotbabeltheir own version, first seen Oct 17, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- tatsoft-llc/FrameworX-Projects★ 1same name
- kaiohenricunha/dotbabel★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 8 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
Before doing anything else, scan the user's message for context-risk signals:
- Distinctive: line 82
Use 1-3 targeted searches.
- Distinctive: line 90
Only after grounding is established, proceed with the actual response.
- Distinctive: line 92
If confidence was LOW or MEDIUM, wait for the user to confirm/correct before giving a full answer.
- Very specific: line 116
Use lite when token budget is tight and you trust the model's judgment more.
- Distinctive: line 209
Does NOT replace domain knowledge — grounds context, not facts
- Distinctive: line 210
Does NOT search for every query, only when context-risk is MEDIUM+
- Distinctive: line 211
Does NOT override explicit user instructions ("just answer me")
- Distinctive: line 212
Search is skipped if the model's training clearly covers the topic at HIGH confidence
≈ “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.
Files
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 Type | Examples |
| 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 / colloquial | New words, abbreviations, regional Brazilian Portuguese slang, gen-Z terms |
| Named cultural phenomena | "the Brat summer", "that era", "quiet quitting", "brain rot" |
| Niche communities | Specific game meta, fandom references, hobby jargon |
| Recent events | Anything 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 nouns | Brand names, creator names, places that could mean multiple things |
| Implicit pop culture refs | Anything where the model might fill in a plausible but wrong interpretation |
Classify the risk:
LOW— Common, stable, well-documented topic → proceed normally but state assumptionMEDIUM— Culturally specific or potentially trending → state interpretation, ask to confirmHIGH— 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]:
| Level | Triggers on | Output | Web Search | Token Overhead |
lite | HIGH only | One inline sentence | Only if truly lost | ~10-20 tokens |
full | MEDIUM+HIGH | Full grounding block | When 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 fullOr 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 →
/groundor/ground-first - OpenAI Codex →
$groundor$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
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
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.

