Ariff-claude-plugins context-grounding
Forces Claude to extract exact quotes from files before making claims about them. Prevents hallucinations by grounding every statement in actual text from the codebase. Use when working with large files or unfamiliar code.
git clone https://github.com/a-ariff/ariff-claude-plugins
T=$(mktemp -d) && git clone --depth=1 https://github.com/a-ariff/ariff-claude-plugins "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/context-grounding/skills/context-grounding" ~/.claude/skills/a-ariff-ariff-claude-plugins-context-grounding && rm -rf "$T"
plugins/context-grounding/skills/context-grounding/SKILL.mdContext Grounding
Read first. Quote second. Claim third. Never skip a step.
The grounding technique
Before making any claim about code, follow this sequence:
Step 1: Read the source
Read the actual file. Don't work from memory.
Step 2: Extract the relevant quote
Pull the exact text that supports your claim. Include line numbers.
Step 3: Make your claim based on the quote
Now state what you believe, citing the quote as evidence.
Example
Wrong approach: "The auth middleware checks for JWT tokens and returns 401 if invalid." (No evidence. Could be hallucinated.)
Grounded approach: "Reading src/middleware/auth.ts:15-25, the middleware does:
const token = req.headers.authorization?.split(' ')[1]; if (!token) return res.status(401).json({ error: 'No token provided' });
So it extracts the Bearer token from the Authorization header and returns 401 if missing."
When to ground
Always ground when:
- Answering questions about specific code behavior
- Writing code reviews or change proposals
- Explaining how something works
- Describing bug causes
- Making security assessments
Grounding for long documents
For files over 100 lines:
- Read the full file first to understand structure
- Identify the specific section relevant to the question
- Re-read that section carefully
- Extract the key lines as quotes
- Build your answer from those quotes
For files over 500 lines:
- Use Grep to find the relevant section
- Read just that section (use offset and limit)
- Extract quotes from what you read
- If you need more context, read surrounding sections
- Never make claims about sections you haven't read
The grounding test
Before sending a response, test each factual statement: "Could someone verify this by reading the file I'm referencing?"
If yes: the statement is grounded. If no: you need to add the file reference and relevant quote. If you don't have a file to reference: either find one or mark as unverified.