본문으로 건너뛰기
cccskills
무료GitHub에 공개

validate-bib

Validate bibliography entries against citations in all lecture files. Structural checks (missing/unused entries, malformed fields) by default; `--semantic` adds citation-drift detection, DOI verification, and style-consistency checks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Validate Bibliography

Cross-reference citations in lecture files against bibliography entries. Two modes:

  • Default (structural): missing entries, unused entries, malformed fields, typo candidates.
  • --semantic: adds citation-drift detection (duplicate entries for the same paper), DOI verification via crossref, and citation-style consistency within each file.

Report saved to quality_reports/bib_audit_[structural|semantic].md.

Mode 1: Structural (default)

Steps

  1. Read the bibliography file and extract all citation keys.

  2. Scan lecture files for citation keys:

    • .tex: \cite{, \citet{, \citep{, \citeauthor{, \citeyear{, \textcite{, \parencite{
    • .qmd / .md: @key, [@key], [@key1; @key2]
    • Extract all unique citation keys used.
  3. Cross-reference:

    • Missing entries (CRITICAL): cited in lectures, absent from .bib.
    • Unused entries (informational): in .bib but never cited.
    • Typo candidates: keys within edit-distance 2 of a .bib key (e.g., Smith2020 vs Smth2020).
  4. Check entry quality:

    • Required fields present (author, title, year, journal/booktitle).
    • Author field properly formatted.
    • Year in 1900–current.
    • No malformed characters / encoding issues.
    • doi field normalized (no leading https://doi.org/).
  5. Write report to quality_reports/bib_audit_structural.md.

Files scanned

Slides/*.tex
Quarto/*.qmd
guide/*.qmd
master_supporting_docs/**/*.tex

Bibliography location

Bibliography_base.bib at repo root by default; override via CLAUDE.md.

Mode 2: Semantic (--semantic)

Everything in Mode 1, plus:

2a. Citation drift detection

Multiple .bib entries describing the same paper under different keys. Symptoms:

  • Smith2020 + Smith2020a with identical DOI or title.
  • CallawaySantAnna2021 + CS2021 both pointing to the same paper.
  • Collaborator-merged .bib files.

Detection heuristics (any → FLAG):

CheckSignal
Same DOI across keysHard-duplicate (CRITICAL)
Same title (case-insensitive, punct-stripped)Likely duplicate (CRITICAL)
Same author+year+journalProbable duplicate (MEDIUM)
Title Jaccard > 0.85 on tokens ≥ 4 charsSoft-duplicate (LOW)

For each flagged pair: list both keys, where each is cited, and recommend a canonical key (prefer most-cited, then alphabetically first).

2b. DOI verification (optional; network)

For each entry with a doi, fetch https://api.crossref.org/works/{doi} and compare:

  • First-author last name
  • Year
  • Title (Jaccard > 0.7 on normalized tokens)
  • Container-title / journal (exact or abbreviation)

Severity:

  • Author or title mismatch → CRITICAL (wrong paper)
  • Year mismatch → MEDIUM (preprint vs published, or typo)
  • Journal mismatch → LOW (legitimate preprint variants)

Rate limit: cap 50 lookups per run, 0.5s delay between calls. Cache in quality_reports/.doi_cache.json.

Opt-out: --skip-doi for offline or no-WebFetch environments.

2c. Style consistency within each file

For each file, count citation commands (\citet vs \citep vs \cite; @key vs [@key]). FLAG files with mixed styles without an obvious pattern (e.g., 20× \citep and 3× \cite in the same deck). Low-severity.

2d. Cite-claim sanity (flag-only)

Gated behind --cite-claim. For the top-10 most-cited works per file, WebFetch the crossref abstract and surface it beside the in-text context. No auto-judgment — humans decide if the claim matches.

This is existence/structure, not appropriateness. Deciding whether the cited paper actually says what the in-text claim attributes to it is /verify-claims's job — it reads the source and grounds a supports / partial / contradicts verdict in quotes + pages (with the EXPLAINED escape for a defensible named alternative). --cite-claim only surfaces the abstract; for the verdict, run /verify-claims.

Report structure (quality_reports/bib_audit_semantic.md)

# Bibliography Semantic Audit

**Date:** YYYY-MM-DD
**Bibliography:** Bibliography_base.bib (N entries)
**Files scanned:** [list]

## Summary

| Check | Critical | Medium | Low |
|---|---|---|---|
| Structural | | | |
| Citation drift | | | |
| DOI verification | | | |
| Style consistency | 0 | 0 | |

## Critical Issues

### Duplicate entries
| Keys | Signal | Citations | Recommended canonical |
|---|---|---|---|

### DOI mismatches
| Key | Field | .bib value | crossref value |
|---|---|---|---|

## Medium / Low issues
…

## Next steps
1. Resolve duplicates — pick canonical key, update citations, remove orphans.
2. Fix DOI mismatches — verify paper in crossref or strip the wrong DOI.
3. Review style-consistency notes.

Exit behavior

  • Structural: exit 0; report enumerates issues.
  • Semantic: exit 0 if only LOW findings; exit 1 on any CRITICAL. Usable as a pre-submission gate.

Cross-references

  • .claude/skills/review-paper/SKILL.md — pair for full pre-submission.
  • .claude/skills/audit-reproducibility/SKILL.md — numeric-claims counterpart.
  • .claude/skills/verify-claims/SKILL.md — citation appropriateness counterpart (does the cited paper support the claim?). This skill checks that a citation exists and is well-formed; /verify-claims checks that it holds.

What this skill does NOT do

  • Judge whether a citation is used in the right context — whether the cited paper actually says what the claim attributes to it. That is /verify-claims's job (see 2d); this skill stays existence-and-structure only.
  • Auto-fix your .bib file — all edits are recommendations.
  • Check non-DOI identifiers (ISBN, arXiv, SSRN) — roadmap.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Turn an incoming set of findings — from an AI reviewer, a referee report, a code review, a linter, or a second model — into verified fixes, without letting a confident misread damage correct work. Every finding is a CANDIDATE until checked against the actual source. Use whenever you receive review comments, audit findings, or a critique you did not write yourself, especially when the reviewer is a model or when the volume is too large to check by feel.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

pedrohcgs/claude-code-my-workflow1.7천2026년 9월 28일 업데이트

Enforce the replication-protocol.md rule by cross-checking numeric claims in a manuscript against the actual R / Stata / Python outputs. Report PASS/FAIL per claim against tolerance thresholds. Use before submission and before releasing a replication package.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

pedrohcgs/claude-code-my-workflow1.7천2026년 9월 28일 업데이트

Before and after changing anything shared — a function's return value, a signature, a schema, a label set, a config default, a constant, a file format — find every consumer and actually run them. Catches the change that looks purely additive but silently breaks a contract in a file you never opened. Use when editing shared code, adding a field/column/return element, renaming, changing units or defaults, or touching a pipeline that produces reported numbers.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

pedrohcgs/claude-code-my-workflow1.7천2026년 9월 28일 업데이트

Snapshot the computational environment for a replication package — detects the analysis stack (R / Stata / Python) and emits the right lockfiles (renv.lock + sessionInfo.txt, requirements.txt / environment.yml / uv.lock, Stata version + ado package list), records seeds and RNG kind, optionally writes a pinning Dockerfile, and produces a paste-ready "Computational requirements" block. Use when user says "capture the environment", "snapshot my dependencies", "pin the versions", "make a renv.lock / requirements.txt", "make this byte-reproducible", or before releasing a replication package to openICPSR / the AEA Data Editor.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

pedrohcgs/claude-code-my-workflow1.7천2026년 9월 28일 업데이트

challenge

무료

Stress-test a finding against the choices you did not make. Enumerates the discrete forks a competent analyst could have taken (measure definition, sample filter, control set, clustering level, weighting, functional form), runs the specification grid, and reports the distribution rather than a point estimate — then attacks the identifying assumption with named, computable sensitivity statistics. Use when the user says "is this robust", "challenge this result", "specification curve", "multiverse", "how sensitive is this", "what if I'd used a different measure", "stress-test my estimate", or before a result becomes a headline claim. NOT a reviewer of prose or code — it challenges the CLAIM.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

pedrohcgs/claude-code-my-workflow1.7천2026년 9월 28일 업데이트

Save a structured state snapshot before stopping or handing off. Captures the active plan, recent decisions, file pointers (with line numbers), open questions, and the next 1–3 actions into a checkpoint file under `quality_reports/checkpoints/`. Optionally proposes `[LEARN]` entries to add to MEMORY.md. Use when user says "checkpoint", "save state", "snapshot before I stop", "where am I", "wrap up the session for handoff", or before a long break / model switch / collaborator handoff. Companion to (NOT replacement for) the narrative session-log workflow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

pedrohcgs/claude-code-my-workflow1.7천2026년 9월 28일 업데이트

pedrohcgs의 스킬 모두 보기

이 스킬의 문제 신고