# Scaffolding Repos

> Scaffold or refresh the generic files of the owner's public GitHub repos. Use when starting or normalizing a repo: install the generic .gitignore, the LF .gitattributes, a Keep a Changelog / SemVer CHANGELOG.md, and the Repo profile marker the other github skills read.

- **Type:** Skill
- **Install:** `agentstack add skill-qiaeru-skills-github-scaffolding-repos`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [qiaeru](https://agentstack.voostack.com/s/qiaeru)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [qiaeru](https://github.com/qiaeru)
- **Source:** https://github.com/qiaeru/skills-github/tree/main/skills/scaffolding-repos

## Install

```sh
agentstack add skill-qiaeru-skills-github-scaffolding-repos
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Repo setup

Install or refresh the four things every one of the owner's repos should carry: a generic `.gitignore`, an LF-normalizing `.gitattributes`, a `CHANGELOG.md` (Keep a Changelog + SemVer), and the `## Repo profile` marker in the root `CLAUDE.md`.

**Idempotent and non-destructive.** If a file already exists, show a diff of what you would change and ask before writing. Never clobber an existing `CHANGELOG.md` or hand-tuned `.gitignore`; merge missing entries in instead.

**LICENSE check.** While in the repo, check for a `LICENSE` file. If there is none, flag it to the owner: these repos are public, and a public repo without a license is all-rights-reserved by default, which usually contradicts the intent. Do not pick or install a license yourself; the choice belongs to the owner.

## 1. Determine the profile

Decide two things, asking the owner if they are not already obvious:

- **Lock**: `locked` (protected `main`, feature branch + PR, owner merges and publishes) or `free` (commit straight to `main`).
- **Docs language**: `en` or `fr`.

## 2. Write `.gitignore` and `.gitattributes`

These two files live next to this skill, in `templates/`. Copy and rename:

- `templates/gitignore` -> `.gitignore`
- `templates/gitattributes` -> `.gitattributes`

The rules are identical in every language; only the comments differ. The template comments are English. For a `fr` repo, swap each comment line using this table:

| English comment | French comment |
| --- | --- |
| `# Claude Code working files, local to the dev machine.` | `# Fichiers de travail Claude Code, internes au poste de développement.` |
| `# Operating systems.` | `# Systèmes d'exploitation.` |
| `# Editors and IDEs.` | `# Éditeurs et IDE.` |
| `# Backups and temporary files.` | `# Sauvegardes et fichiers temporaires.` |
| `# Normalize line endings to LF for every text file, any OS.` | `# Normalise les fins de ligne en LF pour tout fichier texte, quel que soit l'OS.` |
| `# Binary assets: never touch these even if git guesses wrong.` | `# Fichiers binaires : git n'y touche jamais, même s'il se trompe.` |

When `.gitattributes` lands in a repo that already has commits, the new rules do not rewrite the files already in the index on their own. Run `git add --renormalize .` afterwards and look at `git status`: if files were renormalized, commit them separately (`chore: normalize line endings`) so the line-ending noise never mixes with a real change.

## 3. Create `CHANGELOG.md`

If there is no `CHANGELOG.md`, create one from the boilerplate for the docs language, which lives next to this skill in `templates/`:

- `templates/CHANGELOG.en.md` -> `CHANGELOG.md`
- `templates/CHANGELOG.fr.md` -> `CHANGELOG.md`

The repo is mono-language: install only the one matching the docs language, never both. Then start tracking changes under `[Unreleased]` with the standard English change-type names (see the `committing` skill).

## 4. Append ecosystem entries

The generic `.gitignore` only covers the universal set (Claude files, OS, IDE, backups). Offer to append the entries the detected stack needs, for example:

- Node: `node_modules/`, `dist/`, `build/`, `*.log`, `*.tsbuildinfo`, `coverage/`, `.env`, `.env.local`
- Python: `__pycache__/`, `*.pyc`, `.venv/`, `.pytest_cache/`, `dist/`, `*.egg-info/`
- Rust: `target/`
- Always, if relevant: `.env` and any secret or local database files.

## 5. Write the Repo profile marker

Add or refresh this section in the root `CLAUDE.md` (create a minimal `CLAUDE.md` if none exists). `CLAUDE.md` is gitignored, so the marker stays local. The `committing` and `releasing` skills read the literal `Lock:` and `Docs language:` tokens.

```markdown
## Repo profile (read by the github skills)

- Lock: locked   
- Docs language: en   
```

Set the two values to the profile from step 1.

**Marker-only mode.** When `committing` or `releasing` only need the profile recorded and the repo already has its other generic files, write just this section into the root `CLAUDE.md` directly; do not run the rest of this skill. Those skills do this inline, so the full scaffold is reserved for a repo that needs its generic files installed or refreshed.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [qiaeru](https://github.com/qiaeru)
- **Source:** [qiaeru/skills-github](https://github.com/qiaeru/skills-github)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-qiaeru-skills-github-scaffolding-repos
- Seller: https://agentstack.voostack.com/s/qiaeru
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
