Skip to content
cccskills
FreePublished on GitHub

source-command-audit-whitepapers

Audit French and English whitepapers and recap cards for outdated versions, missing language counterparts, and metadata problems. Receive document scores, an overall health report, and prioritized update suggestions, with optional proposed patches.

OriginalShow the original description

Audit version freshness, FR/EN parity, and metadata quality of all whitepapers and recap cards

See how to install

Good for

  • Find whitepapers that lag behind the current guide
  • Check French and English document pairs
  • Identify missing or inconsistent metadata
  • Prioritize updates and review suggested patches

Files included (1)

  • SKILL.md15.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

source-command-audit-whitepapers

Use this skill when the user asks to run the migrated source command audit-whitepapers.

Command Template

Audit Whitepapers & Recap Cards

Comprehensive freshness and quality audit for all whitepapers (FR + EN) and recap cards (FR + EN). Scores each document against the current guide version, checks FR/EN parity, and validates metadata consistency.

Arguments

  • --fix - Generate update suggestions and frontmatter patches (does not modify files)
  • --verbose - Show all criteria including passing ones, not just failures
  • --cards-only - Audit only recap cards (skip main whitepapers)
  • --wp-only - Audit only main whitepapers (skip recap cards)

Usage

/audit-whitepapers                  # Full audit, failures only
/audit-whitepapers --fix            # Audit + prioritized update suggestions
/audit-whitepapers --verbose        # Full details for all criteria
/audit-whitepapers --cards-only     # Recap cards only
/audit-whitepapers --wp-only        # Whitepapers only

Phase 1: Discovery

Objective: Locate and inventory all auditable documents.

Steps

  1. Read current guide version: Read the VERSION file at the project root. This is the target version all documents should be synced against.

  2. Scan directories for .qmd files:

    whitepapers/fr/         (main whitepapers FR)
    whitepapers/en/         (main whitepapers EN)
    whitepapers/recap-cards/fr/    (recap cards FR)
    whitepapers/recap-cards/en/    (recap cards EN)
    
  3. Classify each file:

    • Main whitepaper: files matching [0-9][0-9]-*.qmd in whitepapers/fr/ or whitepapers/en/
    • Cheatsheet: files matching *cheatsheet*.qmd (tracked separately, not scored)
    • Custom whitepaper: files matching *-whitepaper.qmd or *-cheatsheet.qmd from external partners (strangebee, purchasely, devwithai) -- excluded from scoring, listed separately
    • Recap card: all .qmd files in recap-cards/fr/ or recap-cards/en/
    • Bundle/include: fiches-recap-serie.qmd, files in fiches/ subdirectory -- excluded (they are composed documents)
  4. Parse YAML frontmatter for each included file (read between first --- and second ---). Extract:

    • title, subtitle, author, date
    • version (guide version tracked in main WPs and recap cards)
    • wp-version (whitepaper own semver, main WPs only)
    • guide-version (explicit guide version field used in recap cards)
    • card-number, category, difficulty (recap cards only)
    • series (main WPs only)
  5. Display discovery summary:

    Guide version: {VERSION}
    Found: {N} main whitepapers ({FR}/{EN} FR/EN), {N} recap cards ({FR}/{EN} FR/EN)
    Excluded: {N} custom files (strangebee, purchasely, devwithai), {N} bundle files
    

Phase 2: Version Gap Analysis (40 points per file)

Objective: Score how current each document is relative to the guide.

Semver comparison logic

Parse version strings as MAJOR.MINOR.PATCH. The staleness metric is minor_gap = current_minor - file_minor (using the same MAJOR). If MAJOR differs, treat as critical.

For main whitepapers, the guide version field is version. For recap cards, the guide version field is guide-version (fall back to version if absent).

Scoring table

CriterionPointsDetection
Guide version current (0-1 minor behind)15minor_gap <= 1
Guide version recent (2-3 minor behind)10minor_gap 2-3 (partial credit, replaces the 15)
Guide version old (4-10 minor behind)5minor_gap 4-10 (partial credit)
wp-version field present and valid semver5Field exists AND matches \d+\.\d+\.\d+ (WP only)
wp-version consistent with FR/EN pair10Same wp-version value in the counterpart file (WP only)
guide-version consistent with FR/EN pair10Same guide-version (or version) in the counterpart (cards)

Freshness labels:

  • 0-1 minor behind: Fresh
  • 2-3 minor behind: Stale
  • 4-10 minor behind: Very Stale
  • 11+ minor behind: Critical

Note: The 15, 10, 5 pts for guide version are mutually exclusive (award only the highest applicable tier).


Phase 3: Content Staleness Check (20 points per file)

Objective: Detect whether the guide sections a whitepaper covers have changed since it was last updated.

Whitepaper-to-guide mapping (embedded)

WP#FR filename prefixEN filename prefixGuide sections
0000-introduction00-series-introductionguide/ultimate-guide.md Ch.1-2
0101-prompts01-effective-promptsCh.2 prompting sections
0202-personnalisation02-customizationCh.3 Memory, Ch.4 Agents, Ch.5 Skills
0303-securite03-securityCh.7 Hooks, security sections
0404-architecture04-architectureCh.2 internals, architecture sections
0505-equipe05-teamCh.3 team config, Ch.9 CI/CD
0606-privacy06-privacyCh.2 data/privacy sections
0707-guide-reference07-reference-guideCh.10 Reference
0808-agent-teams08-agent-teamsCh.9 agent teams
0909-apprendre09-learningguide/roles/learning-with-ai.md
1010-budget10-ai-budgetBusiness/ROI content

Steps

  1. For each main whitepaper, extract the date field. If the date is not in YYYY-MM-DD format, parse it (e.g., "2026-02-12" or "March 2026").
  2. Run git log --since="{date}" --oneline -- guide/ultimate-guide.md guide/roles/ guide/core/ to count commits that touched guide content since the whitepaper's date.
  3. Score:
CriterionPointsDetection
No guide commits since wp date10git log returns 0 commits
Few commits since wp date (1-5)71-5 commits (partial)
Moderate commits (6-15)46-15 commits (partial)
Many commits (>15)0More than 15 commits
Mapping defined for this WP5WP number is in the mapping table above
Git history accessible5git log command executes without error

Recap cards: Skip detailed git analysis. Award a flat staleness score based on minor_gap:

  • 0-1 behind: 20 pts
  • 2-3 behind: 15 pts
  • 4-10 behind: 8 pts
  • 11+ behind: 0 pts

Phase 4: FR/EN Parity Check (20 points per file)

Objective: Every document should have a complete, version-consistent counterpart in the other language.

Pairing strategy

Main whitepapers: Match on the two-digit numeric prefix (e.g., 00, 03, 10). FR and EN filenames differ but the prefix is consistent.

Recap cards: Match on identical filename (both language directories use the same filenames).

Scoring table

CriterionPointsDetection
Counterpart file exists in other language10File with matching prefix (WP) or identical name (cards) found
wp-version matches between pairs5Same wp-version value (WP only)
guide version matches between pairs5Same version/guide-version value

Score both the FR and EN files of a pair identically on parity (if the pair is complete, both get 20; if one is missing, the existing file scores 0 on parity).


Phase 5: Metadata Quality (20 points per file)

Objective: Validate frontmatter completeness, field formats, and consistency across files of the same type.

Main whitepapers (20 points max)

CriterionPointsDetection
Required fields present6Has all of: title, subtitle, author, date, version, wp-version, series
version follows semver pattern3Matches \d+\.\d+\.\d+
wp-version follows semver pattern3Matches \d+\.\d+\.\d+
date is parseable and not in the future3Valid date, not after today
series value is consistent2Equals "Codex Ultimate Guide"
No missing wp-version (not left empty or absent)3Field has a non-empty value

Recap cards (20 points max)

CriterionPointsDetection
Required fields present5Has all of: title, subtitle, card-number, category, difficulty, guide-version, author, version, date
card-number matches filename prefix4e.g., C01 in card-number matches c01- in filename
category valid for language4FR: one of "Technique", "Methodologie", "Conception"; EN: one of "Technical", "Methodology", "Design" (flag "Conceptual" as inconsistent in EN)
difficulty is valid value3One of: "beginner", "intermediate", "advanced"
guide-version and version fields match each other4Both fields exist and have the same value within the same file

Known issue to detect automatically: EN C-series cards use two different category values ("Conceptual" on c01-c05, "Design" on c06+). Flag this inconsistency explicitly in the Metadata Issues section of the report.


Phase 6: Scoring and Grading

Score formula (per file)

Total = Version Gap (40) + Content Staleness (20) + FR/EN Parity (20) + Metadata Quality (20)
Score = (Total / 100) * 100  [as a percentage]

Grade scale

GradeScoreStatus
A90-100Fresh, fully synced
B80-89Good (production threshold)
C70-79Needs update soon
D60-69Stale, should prioritize
F<60Critical: likely outdated content

Overall health score

Weighted Health = (Sum of WP scores * 2 + Sum of card scores * 1) / (WP count * 2 + card count * 1)

Whitepapers are weighted 2x because they are 20-80 pages each vs. 2-page recap cards. A stale whitepaper carries more risk.


Phase 7: Report

Output the following Markdown report. Use <details> blocks for individual file breakdowns to keep the top level scannable.

# Whitepaper & Recap Card Audit

**Date**: {today}
**Guide Version**: {VERSION}
**Overall Health**: {score}% ({grade})
**Files Audited**: {total} ({wp_count} whitepapers, {card_count} recap cards)

---

## Version Status Dashboard

| Status | Whitepapers | Recap Cards | Total |
|--------|-------------|-------------|-------|
| Fresh (0-1 minor behind)   | N | N | N |
| Stale (2-3 minor behind)   | N | N | N |
| Very Stale (4-10 behind)   | N | N | N |
| Critical (11+ behind)      | N | N | N |

**Versions currently in use**:
- Main WP 00-09: {version} ({gap} minor versions behind)
- Main WP 10: {version} ({gap} minor versions behind)
- Recap cards: {guide-version} ({gap} minor versions behind)

---

## Whitepaper Scores

| WP# | Title | version | Gap | wp-version | Parity | Score | Grade |
|-----|-------|---------|-----|------------|--------|-------|-------|
| 00  | ...   | ...     | -N  | ...        | OK/gap | N%    | X     |
...

<details>
<summary>Individual criteria breakdown (WP 00)</summary>

| Phase | Criterion | Result | Points |
|-------|-----------|--------|--------|
| Version Gap | Guide version current | Critical (-11) | 0/15 |
| Version Gap | wp-version valid semver | OK | 5/5 |
| ... | ... | ... | ... |
| **Total** | | | **N/100** |
</details>

---

## Recap Card Scores

| Series | Cards | Avg guide-version | Avg Gap | Avg Score | Grade |
|--------|-------|-------------------|---------|-----------|-------|
| T (Technical)    | 22 | ... | -N | N% | X |
| M (Methodology)  | 22 | ... | -N | N% | X |
| C (Conceptual)   | 13 | ... | -N | N% | X |

<details>
<summary>Individual card scores</summary>

| Card | Category | guide-version | Gap | Parity | Metadata | Score | Grade |
|------|----------|---------------|-----|--------|----------|-------|-------|
...
</details>

---

## FR/EN Parity Report

### Whitepapers
| WP# | FR | EN | wp-version Match | version Match |
|-----|----|----|------------------|---------------|
...

### Recap Cards
- **FR count**: {N} | **EN count**: {N}
- **Missing FR**: [list or "None"]
- **Missing EN**: [list or "None"]
- **Version mismatches**: [list or "None"]

---

## Metadata Issues

### Known: EN Recap Card Category Inconsistency
EN C-series cards use two different values for the "Conceptual/Design" category:
- "Conceptual": c01, c02, c03, c04, c05
- "Design": c06, c07, c08, ...
Recommendation: standardize to "Design" to match guide terminology.
Affected files: whitepapers/recap-cards/en/c01-*.qmd through c05-*.qmd (change "Conceptual" to "Design")

### Other issues
[List any missing fields, bad formats, date issues...]

---

## Prioritized Action Items

### Critical (Grade F, 11+ versions behind)
[List specific whitepapers with filename paths]

### High (Grade D-F, 2+ versions behind)
[List specific files]

### Medium (Metadata quality, category fixes)
[List specific issues]

### Low (Polish, date alignment)
[List specific issues]

---

## Next Steps

1. Run `/update-whitepapers --since {oldest_version}` to update all stale WPs
2. Fix EN category inconsistency (5 files: c01 through c05, change "Conceptual" to "Design")
3. Re-run `/audit-whitepapers` after updates to track progress
4. Target: 80%+ health (Grade B) across all files

Fix Mode (--fix)

When --fix is passed, append a Fix Suggestions section after the report. This section provides concrete patches but does NOT modify any files.

Frontmatter version patches

For each file with a stale guide version, output:

# File: whitepapers/fr/00-introduction-serie.qmd
# Change:
version: "3.27.6"  ->  version: "{current_VERSION}"
date: 2026-02-12   ->  date: {today}

Category fix patches (EN recap cards)

Files to update (category: "Conceptual" -> "Design"):
- whitepapers/recap-cards/en/c01-trust-calibration.qmd
- whitepapers/recap-cards/en/c02-*.qmd
- whitepapers/recap-cards/en/c03-*.qmd
- whitepapers/recap-cards/en/c04-*.qmd
- whitepapers/recap-cards/en/c05-*.qmd

Update command checklist

Based on the stale WPs detected, output the /update-whitepapers commands to run in order:

Suggested update sequence:
1. /update-whitepapers --since {oldest_stale_version} --wp 00,01,02,03,04,05,06,07,08,09
2. /update-whitepapers --since {oldest_stale_version} --wp 10
3. Review and bump wp-version for each updated WP (patch = content corrections, minor = new sections)
4. Bump guide-version in all recap cards to {current_VERSION}
5. Re-run /audit-whitepapers to verify

Verbose Mode (--verbose)

When --verbose is passed, expand all <details> blocks by default and show the complete per-file criteria table (all criteria, not just failures) for every audited file.


Exclusions Reference

The following files are excluded from scoring (listed in discovery summary only):

PatternReason
strangebee-*.qmd, purchasely-*.qmd, devwithai-*.qmdClient/partner custom files, separate lifecycle
fiches-recap-serie.qmd, fiches/*.qmdBundle/include files, no independent versioning
*_quarto.yml, references.bibBuild config, not content
cheatsheet.qmdListed separately in discovery, not scored in main audit

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Evaluate Claude Code agents, skills, and commands with weighted quality criteria. Get scores, readiness grades, template comparisons, and practical improvement suggestions in Markdown or JSON reports to guide reviews before release.

  • Review skills before release
  • Compare agent definitions with reference templates
  • Quickly check critical quality criteria
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

audit-codebase

FreeSummary

Assess a codebase across seven areas, including exposed credentials, security, dependencies, structure, and tests. Receive category scores, findings tied to file locations, and a prioritized improvement plan with smaller tasks that can be completed quickly.

  • Assessing the overall health of an inherited project
  • Reviewing exposed credentials and security risks
  • Identifying dependency and test coverage gaps
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

autoresearch

FreeSummary

Measure code patterns such as casts to any or disabled lint rules, then run repeated, targeted edits. Keep changes that improve the chosen metric, revert unsuccessful changes, and track results for each improvement loop.

  • Finding code patterns to prioritize for cleanup
  • Preparing measurement files for an improvement loop
  • Repeating targeted edits to reduce casts to any
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

best-of-n

FreeSummary

Generate several separate solutions, compare them against criteria fixed in advance, and verify the selected result through executable checks or an independent reviewer. Keep a proof log documenting candidates, evidence, failures, and remaining limits.

  • Comparing implementation options before choosing one
  • Verifying a solution when a wrong choice would be costly
  • Keeping evaluation evidence for delivery or audit
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

canary

FreeSummary

Monitor a live application after deployment and compare it with a saved baseline, a record of its earlier state. Check page responses, loading times, and new errors, flag persistent changes, and produce a per-page health report.

  • Recording a healthy baseline before deployment
  • Monitoring production immediately after deployment
  • Checking key pages for slower responses or failures
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

catchup

FreeSummary

Rebuild project context after clearing a conversation or returning to work. Review recent Git history, uncommitted changes, and TODO markers to get a structured summary of project status and suggested next steps.

  • Restoring project context after /clear
  • Reviewing recent changes after a long break
  • Checking unfinished work before choosing the next task
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

See all skills by FlorianBruniaux

Report a problem with this skill