Skip to content
Back to skills

Standardize Github Repo

ASecurity

Automatic GitHub repo standardization at publication checkpoints with bilingual READMEs (EN/FR), CI linting, badges, and About configuration

  • 8 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added August 31, 2026
ai-agentspythonrustgoshellbashvuenodedockertestinggit

Works with

  • claude code
  • terminal
  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned August 31, 2026

npx -y skills add valorisa/Claude-Skills --skill standardize-github-repo --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Standardize Github Repo?

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

Security grade badge for Standardize Github Repo
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/valorisa-standardize-github-repo/badge)](https://www.skillsdirectory.com/skills/valorisa-standardize-github-repo)

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: standardize-github-repo
description: "Automatic GitHub repo standardization at publication checkpoints with bilingual READMEs (EN/FR), CI linting, badges, and About configuration"
---

# GitHub Repository Standardization Process

Processus automatique de standardisation des repositories GitHub, déclenché aux checkpoints de publication.

**Why:** L'utilisateur veut une standardisation professionnelle et pédagogique de tous ses repos GitHub sans avoir à répéter les instructions à chaque fois. Ce processus s'applique automatiquement ou via skill manuelle.

**How to apply:** Détecter les triggers et proposer le processus complet si le repo n'est pas déjà standardisé.

## Critical Rule: Separate Language Files

**IMPORTANT**: Documentation MUST use separate files per language:

- `README.md` → English only (EN/US)
- `README.fr.md` → French only (FR/FR)
- **NO mixed languages within a single file**

This applies to ALL documentation standardization work.

## Automatic Triggers

### Phase 1: Pré-création du repo GitHub

Détecter ces phrases et proposer le processus AVANT git init :

- "on va (en) faire un repo GitHub de ce projet"
- "créons un repo GitHub"
- "je veux publier ça sur GitHub"
- "transformons ça en repo GitHub"

### Phase 2: Pré-publication (checkpoint)

Détecter ces phrases et vérifier la checklist de standardisation :

- "je vais publier sur GitHub"
- "push vers GitHub"
- "créer une PR"
- "git push origin"

**Action :** Vérifier automatiquement :

- ✅ README.md existe et suit le template standard ?
- ✅ README.fr.md existe ?
- ✅ `.github/workflows/markdown-lint.yml` existe ?
- ✅ `.markdownlint.json` configuré ?
- ✅ Zéro violations MarkdownLint ?

Si manquant → Proposer : "Ce repo n'est pas encore standardisé. Voulez-vous appliquer le processus de standardisation GitHub maintenant ?"

## Opt-Out Mechanism

Si l'utilisateur dit :

- "pas besoin du processus de standardisation ici"
- "skip la standardisation pour ce repo"
- "nul besoin du processus ici"

**Action :** Enregistrer l'exception en mémoire de **session uniquement** (ne plus proposer dans cette conversation, mais reproposer dans les futures sessions sur ce repo).

## Process Overview

```text
Phase 0: Pre-Flight Check (silent)
  ↓
Phase 1: Repository Analysis (automatic)
  ↓
Phase 2: README.md EN (interactive collaboration)
  → Badges proposal & validation
  → About description (3 versions → choice)
  → 20 Topics (proposal → validation)
  → 13 Sections (one-by-one → validation)
  → Visual content (adaptive: CLI/library/app)
  ↓
Phase 3: README.fr.md (translation & validation)
  ↓
Phase 4: CI Markdown Linting
  → .markdownlint.json
  → .github/workflows/markdown-lint.yml
  → Local validation & fixes
  ↓
Phase 5: Finalization
  → Commit READMEs
  → GitHub About instructions
  → Push & verify CI
```text

## Phase 0: Pre-Flight Check

**Si trigger détecté, vérifier silencieusement :**

1. Est-ce un repo Git ? (`git rev-parse --git-dir`)
2. README.md existe et suit le standard ?
3. README.fr.md existe ?
4. `.github/workflows/markdown-lint.yml` existe ?
5. `.markdownlint.json` existe ?
6. Violations MarkdownLint présentes ?

**Si tous les checks passent :** Skip (déjà standardisé)  
**Si au moins un check échoue :** Proposer le processus

## Phase 1: Repository Analysis (Automatic, Silent)

Scanner le repo pour détecter :

**Languages :**

- Extensions de fichiers (`.py`, `.go`, `.js`, `.rs`, etc.)
- Manifestes : `package.json`, `go.mod`, `Cargo.toml`, `requirements.txt`

**Frameworks & Dependencies :**

- Node.js : `package.json` → dependencies
- Python : `requirements.txt`, `pyproject.toml`
- Go : `go.mod`
- Rust : `Cargo.toml`

**Project Type :**

- CLI tool : `bin/`, `cmd/`, `main.go`, `__main__.py`, shebangs
- Library : `lib/`, `src/`, `index.js`, `__init__.py`
- Application : `app/`, `public/`, `templates/`
- Documentation : principalement `.md`, répertoire `docs/`

**Testing :**

- Fichiers tests : `*_test.go`, `test_*.py`, `*.spec.js`
- Frameworks : Jest, pytest, Go testing
- Coverage : `coverage/`, `.coverage`, `c.out`

**Containerization :**

- `Dockerfile`, `docker-compose.yml` présents ?

**CI/CD :**

- `.github/workflows/*.yml` présent ?

**License :**

- Détecter depuis `LICENSE`, `LICENSE.md`
- Type : MIT, Apache 2.0, GPL, etc.

**Output :** Base de connaissances interne pour les phases suivantes

## Phase 2: README.md (English) - Interactive

### Step 2.1: Badges Proposal

Générer une liste de badges contextuels basée sur l'analyse Phase 1 :

**Categories :**

- **Mandatory :** License, Primary Language
- **Contextual :** CI Status (si workflows), Docker (si Dockerfile), Tests (si suite détectée)
- **Optional :** Coverage, Platform, Version

**Format Shield.io :**

```markdown
[![Label](https://img.shields.io/badge/Label-Value-Color)](URL)
```text

**Présentation :**

```text
📛 Badges suggérés pour [Project Name]:
✓ License: MIT
✓ Language: Python 3.12+
✓ CI Status: GitHub Actions
✓ Docker: Ready
✓ Tests: 47 passed
? Coverage: 92%
? Version: v1.0.0

Voulez-vous garder tous ces badges ? Modifications ?
```text

**User response :** Valider/ajuster

### Step 2.2: GitHub About Description (<350 chars)

Proposer **3 versions** optimisées :

**Version A - Technical :** Focus sur stack et fonctionnalités précises  
**Version B - Marketing :** Focus sur valeur ajoutée et problème résolu  
**Version C - Pedagogical :** Focus sur apprentissage et accessibilité

**Exemple :**

```text
Version A (Technical) - 248 chars:
"High-performance CLI tool for automated Docker container security 
scanning using Trivy and Grype. Supports multi-arch builds, parallel 
scanning, SARIF output, GitHub Actions integration. Written in Go 1.23+."

Version B (Marketing) - 234 chars:
"Secure your Docker containers effortlessly. Automated vulnerability 
scanning with instant reports, CI/CD integration, and zero-config setup. 
Perfect for DevOps teams who value security without complexity."

Version C (Pedagogical) - 285 chars:
"Learn Docker security by doing. Beginner-friendly CLI tool that guides 
you through container vulnerability scanning step-by-step, explains CVEs 
in plain language, and teaches best practices. No prior security knowledge 
required."

Choisissez une version ou mixez des éléments.
```text

**User response :** Sélectionner/mixer/custom

**Output :** Description finalisée <350 chars (idéalement 330-349)

### Step 2.3: 20 GitHub Topics

Générer 20 topics groupés par catégorie :

**Categories :**

- Languages (3-4 topics)
- Technologies (4-5 topics)
- Domain (4-5 topics)
- Ecosystem (3-4 topics)
- Audience/Purpose (2-3 topics)

**Exemple :**

```text
🏷️ Topics suggérés (20 total):

[Languages] python, bash, powershell
[Technologies] docker, github-actions, cli, automation, security
[Domain] vulnerability-scanning, devops, container-security, trivy, grype
[Ecosystem] docker-security, ci-cd, sarif, sbom
[Audience] beginner-friendly, tutorial, learning

Validez-vous cette liste ? Modifications ?
```text

**Rules :**

- Lowercase uniquement
- Hyphens (pas spaces/underscores)
- Max 50 chars par topic
- Aligné avec taxonomie GitHub

**User response :** Valider/modifier

### Step 2.4: README Sections (13 Standard Sections)

**Template standardisé (ordre fixe) :**

1. **Badges** (validés en 2.1)
2. **Description courte + contexte** (2-3 paragraphes)
3. **Table des matières** (auto-générée)
4. **Pourquoi ce projet ?** (Problem statement + motivation)
5. **Fonctionnalités** (Feature list avec descriptions)
6. **Prérequis** (System requirements, dependencies, versions)
7. **Installation** (Instructions step-by-step)
8. **Usage/Exemples** (Cas d'usage communs avec code)
9. **Configuration** (Variables d'environnement, fichiers config)
10. **Tests** (Comment lancer la suite de tests)
11. **Contribution** (Comment contribuer, standards)
12. **License** (Type + lien vers LICENSE file)
13. **Auteur** (valorisa + lien GitHub)

**Workflow collaboratif :**
Pour chaque section :

1. Claude propose un draft basé sur l'analyse Phase 1
2. User valide/ajuste
3. Claude passe à la section suivante

**Questions clés :**

- Section 4 : "Quel problème résout ce projet ?"
- Section 5 : "Fonctionnalités manquantes dans l'analyse ?"
- Section 7 : "Étapes spéciales d'installation ?"
- Section 8 : "3 cas d'usage les plus courants ?"
- Section 9 : "Variables d'environnement importantes ?"
- Section 10 : "Comment lancer les tests ?"

### Step 2.5: Visual Content (Mix Adaptatif)

**Basé sur le type de projet détecté :**

**CLI Tool :**

- Screenshots de terminal (commandes + résultats)
- Optionnel : Asciinema recordings

**Library :**

- Exemples de code exhaustifs avec commentaires ligne par ligne
- API documentation (signatures, paramètres)

**Application :**

- Screenshots UI (écrans clés, workflows)
- Exemples de code (intégration)
- Optionnel : Diagrammes d'architecture

**Action :** Demander assets visuels si applicable

**Organisation images :**

- Stockage : `docs/images/` ou `assets/images/`
- Noms descriptifs : `installation-output.png`, `scan-results.png`
- Références : `![Alt](docs/images/file.png)`

### Step 2.6: Finalization README.md

1. Compiler toutes les sections validées
2. Générer table des matières avec anchor links
3. Valider liens internes
4. Ajouter language switcher en haut :

      ```markdown
      🇺🇸 [English](README.md) | 🇫🇷 [Français](README.fr.md)
   ```

1. Présenter README.md complet pour revue finale

**User response :** Approuver ou ajuster

## Phase 3: README.fr.md (French) - Translation

### Step 3.1: Full Translation

Traduire README.md en français en préservant :

- Structure (mêmes sections, même ordre)
- Formatting (headers, listes, code blocks, liens)
- Termes techniques en anglais (code, commandes, noms d'outils)

**Keep in English :**

- Code snippets, commands, variable names
- URLs, GitHub usernames
- Acronymes techniques (CLI, API, CI/CD)
- Noms d'outils (Docker, npm, pip)

**Translate to French :**

- Prose, descriptions, explications
- Headers de sections
- Items de listes (sauf code)
- Alt text d'images

**Tone :** Maintenir le ton pédagogique en français

### Step 3.2: French README Review

Présenter README.fr.md complet avec highlights sur sections ambiguës

**User response :** Valider ou ajuster

### Step 3.3: Cross-Language Links

Ajouter switcher dans les deux fichiers :

```markdown
🇺🇸 [English](README.md) | 🇫🇷 [Français](README.fr.md)
```text

## Phase 4: CI Markdown Linting

### Step 4.1: Create `.markdownlint.json`

**Configuration stricte + exceptions courantes :**

```json
{
  "default": true,
  "MD013": false,
  "MD033": false
}
```text

**Rationale :**

- `MD013`: Disable line length (URLs longues, code blocks)
- `MD033`: Allow inline HTML (badges Shield.io, image sizing)

### Step 4.2: Create GitHub Actions Workflow

**File :** `.github/workflows/markdown-lint.yml`

```yaml
name: Markdown Lint

on:
  push:
    paths:
      - '**.md'
  pull_request:
    paths:
      - '**.md'

jobs:
  markdown-lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Run MarkdownLint
        uses: DavidAnson/markdownlint-cli2-action@v16
        with:
          globs: '**/*.md'
```text

**Behavior :**

- Triggers : push/PR sur `*.md`
- Scope : Tous les `*.md` du repo
- Failure : Pipeline fail si violations
- Success : Green checkmark si zéro violations

### Step 4.3: Local Validation & Correction

**Action :**

1. Lancer MarkdownLint localement sur tous `*.md`
2. Reporter les violations catégorisées

**Classification :**

**Simple (Auto-Fix) :**

- MD009: Trailing spaces → Strip
- MD010: Hard tabs → Convert to spaces
- MD012: Multiple blank lines → Reduce to 1
- MD022: Header spacing → Add blank lines
- MD032: List spacing → Add blank lines

**Delicate (Consult User) :**

- MD001: Header level skip → Structural issue ?
- MD025: Multiple H1 → Quel H1 garder ?
- MD033: Inline HTML in prose → Rewrite as Markdown ?

**Process :**

1. Auto-fix simple violations
2. Présenter delicate violations avec options
3. User choisit action
4. Re-run linter
5. Répéter jusqu'à zéro violations

### Step 4.4: Commit Linting Config

```bash
git add .markdownlint.json .github/workflows/markdown-lint.yml
git commit -m "Add Markdown linting CI with strict rules

- Configure MarkdownLint with exceptions for MD013/MD033
- Add GitHub Actions workflow for automated validation
- Validate on push/PR for any *.md file changes

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>"
```text

## Phase 5: Finalization

### Step 5.1: Commit README Files

```bash
git add README.md README.fr.md
git commit -m "Add comprehensive bilingual README (EN/FR)

- Pedagogical documentation for novice users
- 13 standard sections (badges, installation, usage, etc.)
- Visual content adapted to project type
- Cross-language navigation links
- Zero MarkdownLint violations

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>"
```text

### Step 5.2: GitHub About Configuration Instructions

Fournir instructions step-by-step pour configurer About section :

```text
📝 GitHub About Section Configuration:

1. Navigate to: https://github.com/valorisa/[repo-name]

2. Click ⚙️ icon next to "About"

3. Fill in:
   Description (XXX/350 chars): [texte optimisé]
   Website: [URL du repo]
   Topics (20): [liste comma-separated]

4. Check boxes: ☑ Releases ☑ Packages

5. Save changes

✅ GitHub About configured!
```text

### Step 5.3: Push & Verify CI

```bash
git push origin main
```text

Vérifier workflow CI passe :

```bash
gh run list --workflow=markdown-lint.yml --limit 1
```text

**Expected :** ✓ Markdown Lint (green checkmark)

**Si CI fail :** Investiguer et corriger

**User notification :**

```text
✅ Standardization Complete!

Files committed:
  - README.md (English)
  - README.fr.md (French)
  - .markdownlint.json
  - .github/workflows/markdown-lint.yml

Pushed to: https://github.com/valorisa/[repo-name]
CI Status: ✅ Passing

Next steps:
  1. Configure GitHub About section (instructions above)
  2. Review README rendering on GitHub
```text

## Manual Invocation via Skill

L'utilisateur peut aussi invoquer manuellement : `/standardize-github-repo`

**Action :** Lancer immédiatement le processus complet (Phases 0-5) sur le repo courant, sans attendre les triggers.

## Related Memory

Lié à [[feedback_github_repo_standards]] qui définit les standards obligatoires.

## Implementation Notes

- Process documentation complète : [[../../docs/superpowers/specs/2026-05-27-github-standardization-process-design.md]]
- Skill Claude Code disponible : valorisa/Claude-Skills/skills/standardize-github-repo/

Files in this skill

  • README.md479 B
  • SKILL.md14.6 KB
  • examples/cli-tool-example.md551 B
  • templates/markdown-lint-workflow.yml354 B
  • templates/markdownlint.json58 B
  • templates/readme-sections.md1.3 KB

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.