anti-fabrication

Validate claims through tool execution, avoid superlatives and unsubstantiated metrics. Use when reviewing codebases, analyzing systems, reporting test results, or making any factual claims about code or capabilities.

16 stars

Best use case

anti-fabrication is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Validate claims through tool execution, avoid superlatives and unsubstantiated metrics. Use when reviewing codebases, analyzing systems, reporting test results, or making any factual claims about code or capabilities.

Teams using anti-fabrication should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/anti-fabrication/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/anti-fabrication/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/anti-fabrication/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How anti-fabrication Compares

Feature / Agentanti-fabricationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Validate claims through tool execution, avoid superlatives and unsubstantiated metrics. Use when reviewing codebases, analyzing systems, reporting test results, or making any factual claims about code or capabilities.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Anti-Fabrication

Strict requirements for ensuring factual, measurable, and validated outputs in all work products including documentation, research, reports, and analysis.

## When to Use This Skill

Activate when:
- Writing documentation or creating research materials
- Making claims about system capabilities, performance, or features
- Providing estimates for time, effort, or complexity
- Reporting test results or analysis outcomes
- Creating any content that presents factual information
- Generating metrics, statistics, or performance data

## Core Principles

### Evidence-Based Outputs
- Base all outputs on actual analysis of real data using tool execution
- Execute Read, Glob, Bash, or other validation tools before making claims
- Never assume file existence, system capabilities, or feature presence without verification
- Validate integration recommendations through actual framework detection

### Explicit Uncertainty
- Mark uncertain information as "requires analysis", "needs validation", or "requires investigation"
- State when information cannot be verified: "Unable to confirm without [specific check]"
- Acknowledge knowledge limitations rather than fabricating plausible-sounding content
- Use conditional language when appropriate: "may", "likely", "appears to"

### Factual Language
- Use precise, factual language without superlatives or unsubstantiated performance claims
- Replace vague statements with specific, measurable observations
- Report what was actually observed, not what should theoretically be true
- Distinguish between verified facts and reasonable inferences

## Prohibited Language and Claims

### Superlatives to Avoid
Never use unverified superlatives:
- ❌ "excellent", "comprehensive", "advanced", "optimal", "perfect"
- ❌ "best practice", "industry-leading", "cutting-edge", "state-of-the-art"
- ❌ "robust", "scalable", "production-ready" (without specific evidence)

Instead, use factual descriptions:
- ✅ "follows the specification defined in [source]"
- ✅ "implements [specific pattern] as documented in [reference]"
- ✅ "tested with [specific conditions] and produced [specific results]"

### Unsubstantiated Metrics
Never fabricate quantitative data:
- ❌ Percentages without measurement: "improves performance by 30%"
- ❌ Success rates without testing: "has a 95% success rate"
- ❌ Arbitrary scores: "code quality score of 8/10"
- ❌ Made-up statistics: "reduces memory usage significantly"

Instead, provide verified measurements:
- ✅ "benchmark shows execution time decreased from 150ms to 98ms"
- ✅ "passed 47 of 50 test cases (94%)"
- ✅ "static analysis tool reports complexity score of 12"

### Assumed Capabilities
Never claim features exist without verification:
- ❌ "This system supports authentication" (without checking)
- ❌ "The API provides rate limiting" (without reading docs/code)
- ❌ "This handles edge cases correctly" (without testing)

Instead, verify before claiming:
- ✅ Use Read tool to check configuration files
- ✅ Use Grep to search for specific implementations
- ✅ Use Bash to test actual behavior
- ✅ State "requires verification" if tools cannot confirm

## Time and Effort Estimation Rules

### Never Estimate Without Analysis
Do not provide time estimates without factual basis:
- ❌ "This will take 15 minutes"
- ❌ "Should be done in 2 hours"
- ❌ "Quick task, won't take long"
- ❌ "Simple fix"

### Data-Backed Estimates Only
If estimates are requested, execute tools first:
1. Count files that need modification (using Glob)
2. Measure code complexity (using Read and analysis)
3. Assess dependencies (using Grep for imports/references)
4. Review similar past work (if available)

Then provide estimate with evidence:
- ✅ "Requires modifying 12 files based on grep search, estimated X hours"
- ✅ "Analysis shows 3 integration points, complexity suggests Y time"
- ✅ "Timeline requires analysis of [specific factors not yet measured]"

### When Unable to Estimate
Be explicit about limitations:
- ✅ "Cannot provide time estimate without analyzing [specific aspects]"
- ✅ "Requires investigation of [X, Y, Z] before estimating"
- ✅ "Complexity assessment needed before timeline projection"

## Validation Requirements

### File Claims
Before claiming files exist or contain specific content:
```
1. Use Read tool to verify file exists and check contents
2. Use Glob to find files matching patterns
3. Use Grep to verify specific code or content is present
4. Never state "file X contains Y" without tool verification
```

**Example violations:**
- ❌ "The config file sets the timeout to 30 seconds" (without reading it)
- ❌ "There are multiple test files for this module" (without globbing)

**Correct approach:**
- ✅ Read the config file first, then report actual timeout value
- ✅ Use Glob to find test files, then report count and names

### System Integration
Before claiming system capabilities:
```
1. Use Bash to check installed tools/dependencies
2. Read package.json, requirements.txt, or equivalent
3. Verify environment variables and configuration
4. Test actual behavior when possible
```

### Framework Detection
Before claiming framework presence or version:
```
1. Read package.json, Gemfile, mix.exs, or dependency file
2. Search for framework-specific imports or patterns
3. Check for framework configuration files
4. Report specific version found, not assumed capabilities
```

### Test Results
Only report test outcomes after actual execution:
```
1. Execute tests using Bash tool
2. Capture and read actual output
3. Report specific pass/fail counts and error messages
4. Never claim "tests pass" or "all tests successful" without execution
```

### Performance Claims
Only make performance statements based on measurement:
```
1. Run benchmarks or profiling tools
2. Capture actual timing/memory data
3. Report specific measurements with conditions
4. State testing methodology used
```

## Anti-Patterns to Avoid

### Fabricated Testing
❌ "The code has been thoroughly tested"
❌ "All edge cases are handled"
❌ "Test coverage is good"

✅ "Executed test suite: 45 passing, 2 failing"
✅ "Coverage report shows 78% line coverage"
✅ "Tested with inputs [X, Y, Z], observed [specific results]"

### Unverified Architecture Claims
❌ "This follows microservices architecture"
❌ "Uses event-driven design patterns"
❌ "Implements SOLID principles"

✅ Use Grep to find specific patterns, then describe what exists
✅ "Found 12 service definitions in [location]"
✅ "Code shows [specific pattern] in [specific files]"

### Generic Quality Statements
❌ "This is high-quality code"
❌ "Well-structured implementation"
❌ "Follows best practices"

✅ "Code follows [specific standard] as verified by linter"
✅ "Matches patterns from [specific reference documentation]"
✅ "Static analysis shows complexity metrics of [specific values]"

## Validation Workflow

When creating any factual content:

1. **Identify Claims**: List all factual assertions being made
2. **Check Evidence**: For each claim, determine what tool can verify it
3. **Execute Validation**: Run Read, Grep, Glob, Bash, or other tools
4. **Report Results**: State only what tools confirmed
5. **Mark Uncertainty**: Clearly label anything not verified

## Examples

### Documentation Writing

**Bad approach:**
```markdown
This API is highly performant and handles thousands of requests per second.
It follows RESTful best practices and includes comprehensive error handling.
```

**Good approach:**
```markdown
This API implements REST endpoints as defined in [specification link].
Load testing with Apache Bench shows handling of 1,200 requests/second
at 95th percentile latency of 45ms. Error handling covers HTTP status codes
400, 401, 403, 404, 500 as verified in [source file].
```

### Research Output

**Bad approach:**
```markdown
React hooks are the modern way to write React components and are much
better than class components. They improve performance and code quality.
```

**Good approach:**
```markdown
React hooks (introduced in React 16.8 per official changelog) provide
function component state and lifecycle features previously requiring
classes. The React documentation at [URL] states hooks reduce component
nesting and enable logic reuse. Performance impact requires measurement
for specific use cases.
```

### Implementation Planning

**Bad approach:**
```markdown
This should be a quick implementation, probably 2-3 hours.
We'll add authentication which is straightforward, then deploy.
```

**Good approach:**
```markdown
Implementation requires:
- Authentication integration (12 files need modification per grep analysis)
- Configuration of [specific auth provider]
- Testing of login/logout flows

Complexity assessment needed before timeline estimation. Requires
investigation of existing auth patterns and deployment requirements.
```

## Integration with Other Skills

This skill should be active alongside:
- **Documentation**: Ensures docs contain verified information
- **Code Review**: Validates claims about code quality and patterns
- **Research**: Grounds research in verifiable sources
- **Git Operations**: Ensures accurate commit messages and PR descriptions

## References

- Agent Skills Specification: Factual, validated skill content
- Scientific Method: Observation before conclusion
- Verification Principle: Trust but verify through tool execution

Related Skills

antipattern-detector

16
from diegosouzapw/awesome-omni-skill

Detect common technical and organizational anti-patterns in proposals, architectures, and plans. Use when strategic-cto-mentor needs to identify red flags before they become problems.

antipattern-catalog

16
from diegosouzapw/awesome-omni-skill

Document technical debt, anti-patterns, and patterns to avoid from analyzed frameworks. Use when (1) creating a "Do Not Repeat" list from framework analysis, (2) categorizing observed code smells and issues, (3) assessing severity of architectural problems, (4) generating remediation suggestions, or (5) synthesizing lessons learned across multiple frameworks.

antigravity-frontend-dev

16
from diegosouzapw/awesome-omni-skill

Antigravity/Claude specific skill for continuous frontend UI/UX improvement and development in the Juliaz Agents project.

anti-reversing-techniques

16
from diegosouzapw/awesome-omni-skill

Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use when analyzing protected binaries, bypassing anti-debugging for authorized analysis, or understanding software protection mechanisms.

anti-duplication

16
from diegosouzapw/awesome-omni-skill

Before implementing new code (endpoints, components, services, models), search the codebase for existing patterns to reuse. Prevent code duplication by finding and suggesting similar implementations. Auto-trigger when user asks to create, implement, add, or build new functionality.

anti-cheat-systems

16
from diegosouzapw/awesome-omni-skill

Guide for understanding anti-cheat systems and bypass techniques. Use this skill when researching game protection systems (EAC, BattlEye, Vanguard), anti-cheat architecture, detection methods, or bypass strategies.

anti-ai-writing

16
from diegosouzapw/awesome-omni-skill

Transform AI-assisted drafts into authentic, human-sounding content. This skill provides patterns to detect and eliminate AI tells, frameworks for natural writing, and techniques for creating prose that reads as genuinely human. Use when reviewing any AI-generated content or when writing content that must not appear AI-assisted.

anti-ai-validator

16
from diegosouzapw/awesome-omni-skill

AI 탐지 가능 패턴을 감지하고 제거하는 독립 검증 스킬. 금지 표현, 반복 단어, 부자연스러운 구조를 탐지한다. 게시 전 콘텐츠를 검증하거나 AI 패턴을 자동 교정할 때 사용한다.

ai-anti-patterns

16
from diegosouzapw/awesome-omni-skill

This skill should be used when reviewing AI-generated text, checking for AI writing patterns, detecting undisclosed AI content, or before finalizing any written content. Covers 12 categories of AI writing indicators from Wikipedia's comprehensive guide.

acc-create-anti-corruption-layer

16
from diegosouzapw/awesome-omni-skill

Generates DDD Anti-Corruption Layer for PHP 8.5. Creates translation layer between bounded contexts or external systems. Includes adapters, translators, facades, and unit tests.

antiquities-extractor

16
from diegosouzapw/awesome-omni-skill

Extract and structure data from documents about the illegal antiquities trade, including dealers, collectors, artifacts, locations, and relationships. Use when processing news reports, academic articles, legal documents, encyclopedia entries, or research materials pertaining to looted artifacts, antiquities trafficking, provenance research, or cultural heritage crimes. Returns structured JSON with entities (persons, organizations, artifacts, locations) and their relationships.

anticipation-payoff

16
from diegosouzapw/awesome-omni-skill

Use when designing action sequences, gags, reveals, or any motion that needs setup before delivery—preparing audiences for what's coming and maximizing impact.