Skip to content
Back to skills

Multi Surface Count Drift

ASecurity

When a number (skill count, repo count, test count) appears in multiple files, they WILL diverge:

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentsjavascriptjavabashdocumentation

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill multi-surface-count-drift --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Multi Surface Count Drift?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Multi Surface Count Drift
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fabioc-aloha-multi-surface-count-drift/badge)](https://www.skillsdirectory.com/skills/fabioc-aloha-multi-surface-count-drift)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: multi-surface-count-drift
description: "When a number (skill count, repo count, test count) appears in multiple files, they WILL diverge:"
lastReviewed: 2026-04-30
---

# Multi-Surface Count Drift

## The Problem

When a number (skill count, repo count, test count) appears in multiple files, they WILL diverge:

- README says "47 skills"
- CHANGELOG says "added 3 skills, now 49"
- Wiki homepage says "45+ skills"
- Package description says "50 skills"

Manual updates always miss at least one surface.

## The Solution

When updating any count:

```bash
# Grep for the OLD number across all surfaces
grep -rn "47" . --include="*.md" --include="*.json"

# Update ALL occurrences, not just the one you're looking at
```

### Decision: Single-Source vs Manual Sync

**If the count changes frequently (>1x/month)**: Single-source it.

```javascript
// package.json is source of truth
const count = require('./skills').length;

// Build step injects into README
const readme = template.replace('{{SKILL_COUNT}}', count);
```

**If the count is stable**: Accept manual sync but document all surfaces.

```markdown
<!-- Count surfaces (update all when changing):
- README.md line 12
- CHANGELOG.md version header
- package.json description
- wiki/Home.md line 3
-->
```

## Analytical/Historical Docs Are Exempt

Point-in-time documents (changelogs, audit reports, planning docs with dates) should NOT be updated — they're historical records.

```markdown
## v2.1.0 (2026-04-15)
- Added 3 skills, now at 47 total  <!-- This stays 47 forever -->
```

## Verification

```bash
# Check for count drift
grep -rn "47\|48\|49\|50" . --include="*.md" | grep -i "skill"
```

All results should show the same number (except historical docs).

## When to Apply

- Version numbers
- Feature counts
- Contributor counts
- Test counts
- Any number that appears in >2 files

## Tags

`documentation` `drift` `maintenance` `counts`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.