Claude-skill-registry citation-compliance
Use when drafting or verifying content requiring source integrity - enforces strategic quoting with inline links and blocks "(source needed)" markers from draft completion
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/citation-compliance" ~/.claude/skills/majiayu000-claude-skill-registry-citation-compliance && rm -rf "$T"
skills/data/citation-compliance/SKILL.mdCitation Compliance
The Iron Law
NO DRAFT COMPLETION WITH "(source needed)" MARKERS
If any claim lacks a verifiable source, either:
- Remove the claim entirely, OR
- Mark "(source needed)" and immediately fail the draft with
step="NEEDS_FIX"
No "fix it later". No "close enough". No exceptions.
Purpose
Ensure all marketing content, strategy memos, and public-facing documents maintain source integrity through:
- Strategic quoting (not heavy citation)
- Inline links to verifiable sources
- Verbatim quote accuracy
- Research-informed original work
When to Use This Skill
Activate automatically when:
- Drafting blog posts, case studies, or documentation
- Creating strategy memos or decision documents
- Verifying content before publication
- User explicitly requests citation checking
- Any content workflow invokes this quality gate
Citation Philosophy
This is not a research paper.
- Strategic quoting: Include quotes when they add significant value (expert insights, compelling data, case study testimonials)
- Inline links: Default to inline links instead of footnotes for source references
- Research-informed original work: Write knowledgeably and authoritatively, not as a book report
- Verbatim accuracy: When quoting, quotes must match sources exactly
Validation Rules
1. Source Verification
For every factual claim:
- Must have a verifiable source (file path, URL, or citation entry)
- Inline link preferred:
[claim text](https://source.com) - OR footnote reference:
with source in References sectionclaim text[^1] - OR citation ID:
with entry in citations/sources.jsonclaim text (src_abc123)
2. Quote Verification
For every quoted fragment:
- Must exist verbatim in the source document
- No paraphrasing presented as quotes
- Proper attribution (author, source, date if applicable)
Validation Process:
- Extract all quoted text from draft
- For each quote, fetch/read the source
- Search for exact match in source
- Confirm quote appears verbatim
- Flag mismatches immediately
3. Link Accessibility
For every URL:
- Must be accessible (200 OK response)
- No broken links (404, 403, etc.)
- No placeholder URLs (example.com, TODO, etc.)
Validation Process:
- Extract all URLs from draft
- Use WebFetch to verify each URL
- Confirm successful response
- Flag inaccessible links immediately
4. "(source needed)" Detection
Zero tolerance policy:
- Scan entire draft for "(source needed)" markers
- If found: STOP immediately
- Set status to
step="NEEDS_FIX" - List all instances in verification report
- Do not proceed to next workflow step
Enforcement Process
During Drafting
Before completing any draft:
- Scan for "(source needed)" markers
- If found → fail immediately
- Validate all inline links
- Verify all quoted fragments
- Only mark draft complete if all checks pass
During Verification
Explicit verification step:
- Load draft and citations/sources.json
- Extract all source references (links, footnotes, citation IDs)
- Verify each source is accessible
- Extract all quoted text
- Verify quotes exist verbatim in sources
- Scan for "(source needed)"
- Generate verification report
Verification Report Format
# Citation Verification Report ## Summary - Total claims: N - Verified sources: N - Broken links: N - Mismatched quotes: N - "(source needed)" markers: N - **Status**: PASS | FAIL ## Verified Citations ✓ [Claim text] → [Source URL/path] (verified) ✓ [Quote text] → [Source] (verbatim match confirmed) ## Failed Citations ✗ [Claim text] → [Source URL] (link broken: 404) ✗ [Quote text] → [Source] (quote not found or mismatched) ✗ [Claim text] → "(source needed)" marker detected ## Required Fixes 1. Fix or remove: [specific claim with broken link] 2. Verify quote accuracy: [specific quote with mismatch] 3. Add source or remove claim: [claim with missing source]
Integration with Workflows
Content Pipeline Integration
Invoked by:
workflow (before marking draft complete)content-drafting
workflow (explicit verification step)content-verification
Blocking behavior:
- If citation-compliance fails → draft cannot proceed to snippets
- Workflow status set to "NEEDS_FIX"
- User must address violations before resuming
Strategy Session Integration
Invoked by:
workflow (before finalizing memo)strategy-memo
Blocking behavior:
- If citation-compliance fails → memo cannot be finalized
- All claims must be source-backed or removed
Red Flags
Immediate violations:
- Finding "(source needed)" anywhere in draft
- Broken links or inaccessible URLs
- Quoted text that doesn't match source
- Placeholder citations (TODO, FIX, etc.)
- Claims without any source reference
Success Criteria
Citation compliance is satisfied when:
- Zero "(source needed)" markers in draft
- All URLs accessible (200 OK)
- All quoted text verified verbatim in sources
- Every factual claim has a verifiable source
- Verification report shows PASS status
Common Mistakes
| Mistake | Fix |
|---|---|
| Allowing "(source needed)" to proceed | Stop immediately, set NEEDS_FIX |
| Skipping link verification | Validate every URL before completion |
| Accepting paraphrased quotes | Verify verbatim match or remove quote markers |
| "Will fix in next pass" rationalization | Fix now or fail the gate |
Related Skills
- link-verification: Specialized URL validation (invoked by this skill)
- source-integrity: Validates citation metadata and checksums
- content-drafting: Invokes this quality gate before completion
- content-verification: Explicit verification workflow using this skill
Anti-Rationalization Blocks
Common excuses that are explicitly rejected:
| Rationalization | Reality |
|---|---|
| "Just one (source needed) left" | One is too many. Fix it or fail. |
| "I'll add sources in the next pass" | No next pass. Fix now. |
| "The quote is close enough" | Verbatim or not a quote. |
| "Link worked yesterday" | Verify every time. |
| "This is just a draft" | Drafts must pass or be marked NEEDS_FIX. |