Skip to content
Back to skills

Vgp Repo Bootstrap

ASecurity

Bootstrap or repair the standard Very Good Plugins agent-facing project surface: AGENTS.md as canonical, CLAUDE.md as @AGENTS.md, MIGRATING.md when renaming, GitHub hygiene (SECURITY, PR/issue templates, CODEOWNERS, dependabot), and product vs MCP naming discipline. Use when spinning up a new VGP repo, forking an upstream project, renaming product/CLI/skill identifiers, or when a repo still treats CLAUDE.md as the only agent contract. Trigger phrases: new project scaffold, agents.md bootstrap...

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
toolsgogitsecurity

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

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

Scanned September 26, 2026

npx -y skills add verygoodplugins/browser-hand --skill vgp-repo-bootstrap --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vgp Repo Bootstrap?

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

Security grade badge for Vgp Repo Bootstrap
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/verygoodplugins-vgp-repo-bootstrap/badge)](https://www.skillsdirectory.com/skills/verygoodplugins-vgp-repo-bootstrap)

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: vgp-repo-bootstrap
description: >
  Bootstrap or repair the standard Very Good Plugins agent-facing project surface:
  AGENTS.md as canonical, CLAUDE.md as @AGENTS.md, MIGRATING.md when renaming,
  GitHub hygiene (SECURITY, PR/issue templates, CODEOWNERS, dependabot), and
  product vs MCP naming discipline. Use when spinning up a new VGP repo, forking
  an upstream project, renaming product/CLI/skill identifiers, or when a repo
  still treats CLAUDE.md as the only agent contract. Trigger phrases: new project
  scaffold, agents.md bootstrap, claude.md to agents.md, repo hygiene, SECURITY.md,
  migrating file, standardize this repo, spin up a product repo.
license: MIT
compatibility: Local git checkout; GitHub org verygoodplugins (or autoworks-ai) conventions.
category: meta
tags: [agents-md, bootstrap, hygiene, security, conventions, vgp]
agents: [claude-code, codex, grok]
metadata:
  author: verygoodplugins
  version: "0.1.0"
resources:
  - path: references/checklist.md
    type: file
  - path: templates/AGENTS.md.template
    type: file
  - path: templates/CLAUDE.md.template
    type: file
  - path: templates/MIGRATING.md.template
    type: file
  - path: templates/SECURITY.md.template
    type: file
  - path: templates/PULL_REQUEST_TEMPLATE.md.template
    type: file
  - path: templates/CODEOWNERS.template
    type: file
---

# VGP repo bootstrap

Spin up (or repair) the **agent + hygiene surface** every VGP product or tool repo should share — without reinventing it from AutoVault, mcp-ecosystem, or memory.

This skill is **not** the MCP server scaffolder. For MCP servers, use `mcp-ecosystem` (`create-server.sh` / `apply-templates.sh` / `STANDARDS.md`). For everything else (CLI tools, extensions, agent skills monorepos, product forks), use this checklist.

## When to load

- New public or private VGP repo that agents will edit
- Fork of an upstream project that still says only `CLAUDE.md` / old product name
- Repo still has full agent rules in `CLAUDE.md` and no real `AGENTS.md`
- Missing `SECURITY.md`, PR template, CODEOWNERS, or dependabot
- Product rename (e.g. `dev-browser` → `browser-hand`) needs a `MIGRATING.md`

## Canonical agent surface (locked)

| File | Role |
|---|---|
| **`AGENTS.md`** | **Single source of truth** for coding agents (all hosts) |
| **`CLAUDE.md`** | Exactly one line: `@AGENTS.md` (Claude Code import; no duplicate body) |
| **`MIGRATING.md`** | Required when renaming product/CLI/skill or forking with a new brand |
| **`README.md`** | Humans; link AGENTS + MIGRATING when relevant |
| **`CONTRIBUTING.md`** | Humans; point agents at AGENTS.md |
| **`.github/SECURITY.md`** | Private vulnerability reporting |
| **`.github/PULL_REQUEST_TEMPLATE.md`** | Conventional-commit-friendly PR body |
| **`.github/ISSUE_TEMPLATE/*`** | Bug + feature + security contact link |
| **`.github/CODEOWNERS`** | Default reviewers |
| **`.github/dependabot.yml`** | Dependency PRs |

Reference implementations:

- MCP (fleet pattern): `mcp-wp`, `mcp-automem` — `CLAUDE.md` is `@AGENTS.md`
- Product (this monorepo’s parent): **browser-hand** after bootstrap
- Deep product AGENTS body: **autovault** (architecture + commands; may still have a fat CLAUDE.md — prefer the import pattern for *new* work)

## Workflow

1. **Detect** existing surface: list root `AGENTS.md`, `CLAUDE.md`, `MIGRATING.md`, `.github/*`.
2. **Classify**:
   - `mcp` → hand off to mcp-ecosystem templates; still enforce `@AGENTS.md` import.
   - `product` / `fork` → apply this skill’s templates.
3. **Fill placeholders** from `references/checklist.md` (name, slug, description, stack, commands).
4. **Write files** from `templates/` (do not leave a fat `CLAUDE.md` body).
5. **Rename discipline**: update agent-facing strings (skill name, CLI, README product name). Leave intentional upstream package/binary names only when documented in `MIGRATING.md`.
6. **Verify**:
   - `CLAUDE.md` is exactly `@AGENTS.md` (plus optional trailing newline)
   - `AGENTS.md` states that it is canonical
   - Security template points at the real `github.com/<org>/<repo>/security/advisories/new`
   - No second conflicting “project rules” file that agents will load instead

## Anti-patterns

- Symlinking `CLAUDE.md` → `AGENTS.md` with a body titled `# CLAUDE.md` (breaks the import convention and confuses fleet sweeps)
- Duplicating the full AGENTS body into CLAUDE.md “for Claude”
- Storing secrets or machine-local paths in AGENTS.md
- Treating AutoHub (or any hub) as required runtime when the product is self-contained — document hubs as optional adapters (see browser-hand `docs/ecosystem-links.md` pattern)
- Renaming without `MIGRATING.md` while old skill names remain in the wild

## After bootstrap

- Commit with conventional message, e.g. `docs: AGENTS.md canonical + GitHub hygiene`
- If the repo ships a skill, admit/update it via AutoVault rather than only copying into `~/.claude/skills`
- For MCP servers, still run `mcp-ecosystem` audit/apply for workflows and `server.json`

## Placeholders used in templates

| Token | Example |
|---|---|
| `{Product Name}` | Browser Hand |
| `{repo}` | browser-hand |
| `{org}` | verygoodplugins |
| `{cli}` | browser-hand |
| `{slug}` | browser-hand (AutoMem bare tag) |
| `{one-liner}` | Agents control real logged-in Chrome via a local extension bridge |
| `{old-name}` | dev-browser |

Files in this skill

  • SKILL.md5.3 KB
  • references/checklist.md2.8 KB
  • templates/AGENTS.md.template1.3 KB
  • templates/CLAUDE.md.template11 B
  • templates/CODEOWNERS.template209 B
  • templates/MIGRATING.md.template812 B
  • templates/PULL_REQUEST_TEMPLATE.md.template451 B
  • templates/SECURITY.md.template704 B

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…