Official agent skill

Repo Standardizer

by github in github/awesome-copilot

Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs.

OfficialMITAuto-check passed

Install Repo Standardizer

skills CLI
$ npx skills add github/awesome-copilot --skill repo-standardizer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install github/awesome-copilot repo-standardizer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/repo-standardizer .claude/skills/repo-standardizer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
repo-standardizer
GitHub stars
40k
Token cost
~6.4k tokens
SKILL.md length
2,693 words
Files
22
Skills in repo
417
Repo updated
First seen
Licence
MIT

At a glance

Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs.

  • Works in 6 steps: Authenticate — check gh login first → Detect repository type → Audit current state → …
  • Creating a new repo
  • SKILL.md covers When to use, Preflight (mandatory, in order), Workflow and Verification, plus 3 more sections
  • Calls gh, git and jq; needs GH_TOKEN

What it does

Repo Standardizer is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs. Repo meta & config only — no code logic touched. Use when creating a new repo or polishing an existing one.

Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 22 other files (for example `templates/AGENTS.md`, `templates/CHANGELOG.md` and `templates/CLAUDE.md`).

It works with GitHub. The repository describes itself as: Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot. The licence is MIT.

When your agent uses it

  • Creating a new repo
  • Polishing an existing one

Example prompts

  • “/repo-standardizer”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Authenticate — check gh login first
  2. Detect repository type
  3. Audit current state
  4. Detect test framework (for CI module)
  5. Ask about language (before planning)
  6. Ask about automation (decides the Governance labels)

What it can do on your machine

Read from SKILL.md and the folder at commit 727ff2e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git
    • jq
    • python3
    • npm
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, git, npm and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Repo Standardizer loads about 6.4k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 2,693 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~6.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from github/awesome-copilot at commit 727ff2e, republished under its MIT licence (© github). 2,693 words, ~6,408 tokens.

Download SKILL.mdSave it as .claude/skills/repo-standardizer/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.
name
repo-standardizer
description
Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs. Repo meta & config only — no code logic touched. Use when creating a new repo or polishing an existing one.

GitHub Repo Standardizer

Detect a repository's current state, then polish its surface: issue forms, PR template, label taxonomy, CI, CODEOWNERS, rulesets, docs. Works on repo metadata and config files only — code logic is never touched. Idempotent — safe to re-run; fills gaps and reconciles drift without duplicating or clobbering.

When to use

  • User says "standardize / tidy up / professionalize this repo"
  • A new repo was just created and needs templates, labels, CI, and rules from day one
  • A repo looks bare: no templates, no labels, no CI, no branch protection

Preflight (mandatory, in order)

Requires: gh CLI (authenticated), git, jq, python3 — verify they exist before starting (which gh git jq python3).

1. Authenticate — check gh login first
bash
gh auth status 2>/dev/null || echo "NOT_LOGGED_IN"
  • Logged in → continue; print gh api user -q .login so the user knows which account will act.
  • Not logged in → STOP. Tell the user (do not guess):
    1. Run gh auth login (web/device flow), or
    2. Export a token: export GH_TOKEN=ghp_xxx — needs repo, workflow (for CI files) and, for org repos, admin:org (or admin:repo_hook / org membership admin) scopes.
    • Never paste tokens into chat, logs, or files. If the user pastes a token in chat, advise them to revoke it and re-issue.
    • If gh auth login is impossible in this environment (headless), suggest gh auth login --with-token reading from a file the user created.

Verify the acting account can write to the target:

bash
# user repos: no extra check needed beyond token scopes
# org repos: must be a member/admin of the org
gh api "orgs/ORG/memberships/$(gh api user -q .login)" -q .role 2>/dev/null || echo "NO_ORG_ACCESS"
  • admin/member → OK. 404 → stop and ask the user to add the account to the org first.
2. Detect repository type
bash
gh repo view OWNER/REPO --json name,owner,visibility,defaultBranchRef,isArchived,isFork \
  -q '{name:.name, ownerType:.owner.type, visibility:.visibility, defaultBranch:.defaultBranchRef.name, archived:.isArchived, fork:.isFork}'
FieldMeaningConsequence
ownerTypeUser = personal, Organization = orgOrg repos can also use org-level rulesets; both support repo-level rulesets
visibilityPUBLIC / PRIVATE / INTERNALPrivate: skip public-facing docs pressure, keep CI secrets minimal; public: README badges + CONTRIBUTING/SECURITY matter
archived / forkRead-only / forkSkip write modules; report why

If the repo was not explicitly named by the user, confirm before touching an org or private repository.

3. Audit current state
bash
gh label list --repo OWNER/REPO --limit 200
gh api repos/OWNER/REPO/contents/.github -q '.[].path' 2>/dev/null || echo "no .github dir"
gh api repos/OWNER/REPO/contents/.github/workflows -q '.[].name' 2>/dev/null || echo "no workflows"
gh api repos/OWNER/REPO/rulesets -q '.[] | {name:.name, enforcement:.enforcement}' 2>/dev/null || echo "no rulesets"
gh api repos/OWNER/REPO/branches -q '.[].name' 2>/dev/null
for f in README.md CONTRIBUTING.md SECURITY.md LICENSE .gitignore; do
  gh api "repos/OWNER/REPO/contents/$f" -q .name 2>/dev/null || echo "missing: $f"
done
4. Detect test framework (for CI module)

Check for these signals (first match wins):

bash
gh api repos/OWNER/REPO/contents/package.json -q .name 2>/dev/null   # node → templates/ci-node.yml
gh api repos/OWNER/REPO/contents/pyproject.toml -q .name 2>/dev/null # python → templates/ci-python.yml
gh api repos/OWNER/REPO/contents/go.mod -q .name 2>/dev/null         # go → templates/ci-go.yml
gh api repos/OWNER/REPO/contents/Cargo.toml -q .name 2>/dev/null     # rust → templates/ci-rust.yml

No signal → propose the generic CI (or ask the user whether CI is wanted at all).

5. Ask about language (before planning)
  • Ask the user which language CONTRIBUTING.md and the PR template should be written in (default: English, or the project's primary language for local projects). Translate the templates accordingly when generating — never assume a language.
  • (README languages are asked separately in Module F.)
6. Ask about automation (decides the Governance labels)

Ask the user whether the repo has any automation bots or AI writers running on it — e.g. dependabot, a Stale bot, ClawSweeper, or an AI coding agent that auto-files PRs / auto-fixes issues.

  • Why ask: r:* / clawsweeper:* / triage:* / close:* labels are signal labels, not categories — a bot reads them and acts (auto-close, auto-lock, auto-fix, auto-merge). Without running automation those labels are dead weight, so the answer decides whether the Governance dimension is added at all (Module A, Step 2).
  • Yes → plan the Governance / auto-close rules dimension (add only the r:* rules matching the project's real reject criteria).
  • No → skip that dimension entirely — never add r:* / bot labels to a repo with no automation.

Workflow

  1. Preflight (above). If auth or access fails, stop with a clear message.
  2. Dry-run plan — show the user a concise table of what will be created/updated/skipped. Get confirmation for: rulesets, branch deletion/protection changes, org-level changes, and anything destructive.
  3. Apply modules (each idempotent; run in this order).
  4. Verify — re-query and print an applied / skipped / failed checklist.
Module A — Labels (design first, then idempotent upsert)

Step 1 — Profile the project (adjust the taxonomy, never copy blindly):

  • Rating labels → design a themed tier system for THIS project (never copy an existing repo's set verbatim):
    • Reference example — OpenClaw's official repo uses themed tiers with emoji icons and a low→high color gradient (EXAMPLE ONLY, do not copy): rating: 🧂 unranked krab → rating: 🦪 silver shellfish → rating: 🦐 gold shrimp → rating: 🦀 challenger crab → rating: 🐚 platinum hermit → rating: 🦞 diamond lobster
    • International project → universal grades also work (grade: S/A/B/C/D or ★–★★★★★)
    • Always redesign: pick a theme that fits the project (animals, gems, ranks, stars…) and the audience's language. Do not reuse any existing repo's rating labels as-is.
  • Teams: if the repo has an explicit division of labor (CODEOWNERS, CONTRIBUTING, a team list in docs) → add one team: * label per group (e.g. team: frontend, team: algorithm). No team list → skip.
  • Project type (library / app / coursework / org-infra) → decide which dimensions below are needed (dependencies, security, docs, …).
  • Language: write every label name and description in the language chosen in Preflight step 5 (default English; local project → its primary language). Never assume — translate every label name and description into the chosen language (emoji glyphs stay as-is).
    • Exception — bot labels: r:* / clawsweeper:* / triage:* / close:* names are matched literally by automation code (almost always English). Keep those names in the bot's language — a translated name breaks the bot. Only their description may use the user's language.

Step 2 — Compose categories. Baseline lives in templates/labels.json (plain names, no emoji); extend or trim per the profile in Step 1.

Emoji policy — rating tiers are the ONLY mandatory-emoji labels. Every rating:* / issue-rating:* tier MUST carry an emoji with a clear low→high gradient (e.g. rating: 🦞 diamond lobster). All other labels: emoji is the agent's call — add icons where they aid scanning, omit them where they clutter. Consistency rule: within one dimension, either ALL labels carry an emoji or NONE do — never a mixed half-emoji dimension (e.g. don't ship 🐛 bug next to a plain enhancement).

Every dimension is opt-in except Type. Add a dimension only if the repo actually needs it; skip it otherwise. The menu below mirrors OpenClaw's official label taxonomy (the richest open reference) — cover every dimension that applies, but never force one the repo doesn't use.

Priority uses P0–P3 (OpenClaw's convention — P0 = emergency). Examples in the tables below show the optional emoji style — apply them all or none per dimension (baseline ships plain P0–P3):

LabelMeaningColor
🔴 P0Emergency: data loss, security bypass, crash loop, unusable coreb60205
🟠 P1High: blocks planned work, needs attention soond93f0b
🟡 P2Medium: normal priorityfbca04
🟢 P3Low: nice to have1a7f37

Dimension menu (write each label in the user's chosen language):

DimensionLabels (examples)Add when
Type (always)🐛 bug ✨ enhancement 📚 documentation ❓ question 🙋 help wanted 🌱 good first issuealways
Priority🔴 P0 🟠 P1 🟡 P2 🟢 P3recommended
Status🚧 in progress 🧱 blocked ✅ ready to merge 🎉 merged 🚫 wontfixrecommended
Impactimpact: security impact: data-loss impact: availability …recommended; required for security-sensitive repos
Rating (PR quality)rating: 🦞 diamond lobster … themed tiersPR-quality gate exists
Issue ratingissue-rating: 🦞 diamond lobster …issue-quality gate exists (may fold into Rating)
Merge riskmerge-risk: 🚨 security-boundary merge-risk: 🚨 availability …maintainer review process exists
Sizesize: XS size: S size: M size: L size: XLlarge repo / team estimation
Area / modulearea: core area: api area: cli …multi-module project
Bug detailbug: behavior bug: crashcrash-prone / many bug reports
Governance / auto-close rulesr: spam r: support r: no-ci-pr … clawsweeper:* triage:*automation bot enforces close/lock/review rules
Close reasonclose: duplicate close: superseded close: invalid …close-automation bot exists
Triagetriage: bug triage: blocked triage: needs-review …triage workflow exists
Proofproof: 🎥 video proof: 📸 screenshotreproduction evidence required
Dependencies📦 dependenciesdependabot / dependency PRs
Security🔒 securitysecurity-sensitive repo
Regression↩️ regressionstable project (was-working-now-fails)
Stale🕰️ stale 🚫 no-stalestale automation exists
Teamteam: <group>explicit division of labor
Duplicate / invalid👯 duplicate 🚫 invalidactive public repo with many issues
Channelchannel: discord channel: telegram …multi-channel product (OpenClaw-style)
App / platformapp: ios app: android app: web-ui …multi-platform app
Extensions / pluginsextensions: <name> plugin: <name>plugin/extension ecosystem

Governance rules (r: / bot labels) — gated by Preflight step 6. Only consider this dimension if the user answered "yes" to automation bots / AI writers; skip it entirely otherwise. Auto-close and bot-state labels are signal labels, not categories — a bot (or Actions workflow) reads them and acts (auto-close, auto-lock, auto-fix, auto-merge). They are useless without the matching automation, so skip them unless a governance bot actually runs on the repo. If one does, add only the r:* rules matching the project's real off-topic / reject criteria (e.g. r: spam, r: support, r: no-ci-pr) plus the bot's own state labels (clawsweeper:*, triage:*, close:*). Never copy OpenClaw's set verbatim — its rules encode OpenClaw's specific product boundaries.

Impact dimension — the security "blast radius" judgement (generalized from OpenClaw; trim to the repo's actual failure modes):

LabelMeaning
impact: securitysecurity boundary, credentials, authz, sandbox, sensitive data
impact: data-lossloses/corrupts/drops user, session, or config data
impact: availabilitycrash, hang, restart loop, or process outage
impact: auth-providerauth / routing / model choice / secret resolution breaks
impact: session-statesession / memory / state drifts or corrupts (stateful systems)
impact: message-lossmessages/events lost, duplicated, or misrouted (messaging systems)
impact: ux-blockeruser blocked with no terminal/logs/support (GUI products)
impact: ux-frictionconfusing flow / support burden (GUI products)
impact: othermeaningful impact outside the owned taxonomy

Step 3 — Color rules (mandatory):

  • Diverse palette: colors must be rich and varied — the whole label set should look like a palette, not a monochrome block. Even within one category, spread the hues (e.g. priority labels: red / orange / yellow / green, or four clearly different hues).
  • Semantic hints (not hard mappings): ready to merge / merged / done → greens (never gray or red); wontfix → gray; in progress → blue. Everything else: pick colors that look good together and match the label's meaning loosely — but prefer variety over strict one-meaning-one-color.
  • Emoji policy: rating tiers are emoji-mandatory — every rating:* / issue-rating:* label needs a clear low→high emoji gradient (e.g. rating: 🦞 diamond lobster). Everywhere else, emoji is the agent's call: use icons where they aid scanning, omit them where they clutter. Consistency: within one dimension, all labels carry an emoji or none do — never a mixed half-emoji dimension. If used, the emoji must match the label's meaning, never decorative-only.
  • Rating labels need docs: when rating labels are added, also add LABELS.md (Step 4) describing each label's meaning and the explicit low→high order, so the ranking is unambiguous.
  • Neighboring labels must be distinguishable. Forbidden: all-one-color, adjacent duplicates, or colors that contradict the label content.

Step 4 — Rating-label docs (only if rating labels exist). Generate LABELS.md from templates/LABELS.md (or extend an existing docs file): list every rating label with its meaning and the explicit low→high order, plus the rest of the taxonomy. Commit and push it together with the labels.

Step 5 — Idempotent upsert. GitHub has no PUT /labels/{name} endpoint. Upsert = check existence (GET /labels/{name}), then POST /labels (create) or PATCH /labels/{name} (update). Works for both map-form and array-form labels.json:

bash
R="repos/OWNER/REPO"
jq -c 'if type == "array" then .[] else to_entries[] | {name: .key} + .value end' templates/labels.json | while read -r l; do
  name=$(echo "$l" | jq -r .name); color=$(echo "$l" | jq -r .color); desc=$(echo "$l" | jq -r .description)
  enc=$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1]))" "$name")
  if gh api "$R/labels/$enc" >/dev/null 2>&1; then
    gh api -X PATCH "$R/labels/$enc" -f name="$name" -f color="$color" -f description="$desc" --silent && echo "label updated: $name"
  else
    gh api -X POST "$R/labels" -f name="$name" -f color="$color" -f description="$desc" --silent && echo "label created: $name"
  fi
done
  • URL-encode label names (spaces, slashes).
  • To reconcile drift (deleted manual labels), show the diff and ask before removing labels that are already in use.
Show full SKILL.md (953 more words)Show less
Module B — Issue forms + config

Create .github/ISSUE_TEMPLATE/ with config.yml plus one YAML form per template (bug / feature / question). Push via a commit:

  • Replace placeholders in config.yml (OWNER/REPO in the Discussions / Security contact URLs) — see Template placeholders.
  • Write the forms in the user-chosen language (Preflight step 5): translate form names, labels, descriptions, and placeholder text; title: prefix and labels: values stay as-is (they must match the label taxonomy).
bash
mkdir -p .github/ISSUE_TEMPLATE
cp templates/issue-form-*.yml templates/config.yml .github/ISSUE_TEMPLATE/
git add .github/ISSUE_TEMPLATE && git commit -m "chore: add issue forms" && git push
  • If templates already exist, diff them; only overwrite identical or clearly stale files (ask first if the user may have customized them).
  • If there is no git clone, clone first (gh repo clone OWNER/REPO), edit, push.
Module C — PR template
bash
mkdir -p .github
cp templates/PR_TEMPLATE.md .github/PULL_REQUEST_TEMPLATE.md
git add .github/PULL_REQUEST_TEMPLATE.md && git commit -m "chore: add PR template" && git push
  • Write the template in the user-chosen language (Preflight step 5). The PR template has no placeholders to replace.
Module D — CI workflow

Pick the workflow from the framework detection (templates/ci-*.yml — they trigger on $default-branch, so they work for any default branch name). Write to .github/workflows/ci.yml, commit, push. Keep existing workflows; only add ci.yml if none exists.

  • Node projects: ci-node.yml installs dependencies lockfile-aware (npm ci / pnpm install --frozen-lockfile / yarn install --frozen-lockfile, with plain npm install as fallback) — no manual adjustment needed for pnpm / yarn repos.

  • Note: pushing workflow files requires a token with the workflow scope; if the push is rejected with 403, tell the user their token lacks workflow.

Module E — Branch rules

Prefer rulesets (modern) over legacy branch protection:

bash
# list existing
gh api repos/OWNER/REPO/rulesets -q '.[].name'
# create (example: protect default branch)
gh api -X POST repos/OWNER/REPO/rulesets --input - <<'EOF'
{
  "name": "protect-default-branch",
  "target": "branch",
  "enforcement": "active",
  "conditions": {
    "ref_name": {"include": ["refs/heads/DEFAULT_BRANCH"], "exclude": []}
  },
  "rules": [
    {"type": "pull_request", "parameters": {"required_approving_review_count": 1, "dismiss_stale_reviews_on_push": true, "require_code_owner_review": false, "require_last_push_approval": true, "required_review_thread_resolution": true}},
    {"type": "required_linear_history"},
    {"type": "deletion"},
    {"type": "non_fast_forward"},
    {"type": "required_signatures"}
  ]
}
EOF
  • Idempotency: if a ruleset with the same name exists, update it with PUT repos/OWNER/REPO/rulesets/{id} — full replace, include the complete body (name, enforcement, conditions, rules, bypass_actors). There is no PATCH for rulesets (PATCH returns 404).
  • Optional admin bypass: add "bypass_actors": [{"actor_id": 5, "actor_type": "RepositoryRole", "bypass_mode": "always"}] (id 5 = admin) so maintainers can push directly to the protected branch; non-admins still go through pull requests.
  • pull_request parameters are all required in current API versions: required_approving_review_count, dismiss_stale_reviews_on_push, require_code_owner_review, require_last_push_approval, required_review_thread_resolution. Omitting any → HTTP 422.
  • target: "branch" + ref_name.include: refs/heads/<default>; also offer "tag" rules if tags matter.
  • Org repos: optionally offer org-level rulesets (/orgs/{org}/rulesets).
Module F — Docs

README (ask about languages FIRST):

  • Ask the user: which languages should the README support? (suggest the project's primary language + English for international projects)
  • If a README already exists, ask whether to adapt it into more languages — never add languages without asking.
  • Language switcher convention (pattern from programmingHLS/ccmm):
    • Default file stays README.md (usually English).
    • Extra languages: README.<lang>.md (e.g. README.zh.md, README.ja.md).
    • Top of every file, a switcher line — current language as plain text, others as relative links:
      • README.md: < English | 简体中文 > (简体中文 links to README.zh.md)
      • README.zh.md: < English | 简体中文 > (English links to README.md)
    • Keep structure, badges, and anchors parallel across language files.
  • README.md: if missing or bare, generate one from templates/README.md (badges, install, usage, modules table). Keep the user's existing content if it is already substantive — only append a badges block. Replace placeholders (badge URLs, clone URL, owner credit) per Template placeholders.
  • CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md: copy from templates if missing (write CONTRIBUTING.md in the user-chosen language from Preflight step 5; replace OWNER/REPO in SECURITY.md's advisory link per Template placeholders).
  • VISION.md: optional direction doc (modeled on OpenClaw's VISION.md) — generate a short vision from templates/VISION.md (origin, guiding principles, current state, direction, contribution rules) if the user wants one (replace PROJECT_NAME per Template placeholders).
  • THIRD_PARTY_NOTICES.md: add when the project adapts third-party content (licenses, fonts, code of conduct) — list each source and its license.
  • docs/ARCHITECTURE.md: for non-trivial projects, generate a short architecture doc (structure, flow, constraints) from the audit.
  • LICENSE: ask the user which license (default MIT) before creating.
  • CHANGELOG.md: create from templates/CHANGELOG.md (Keep a Changelog format) if missing; log notable changes per release (replace YYYY-MM-DD in the placeholder date line per Template placeholders).
Module G — AI assistant guides (CLAUDE.md / AGENTS.md)
  • Add a CLAUDE.md (guidance for Claude Code) and an AGENTS.md (guidance for any AI coding agent) when missing — see templates/CLAUDE.md and templates/AGENTS.md (replace OWNER/REPO and the i18n placeholder per Template placeholders).
  • If they already exist, diff and fill gaps rather than overwrite.
  • Typical content, derived from the repo audit (Modules A–F):
    • Project: one-paragraph summary, status, stack.
    • Commands: build / test / lint / run (from CI detection + package scripts).
    • Conventions: commit style (see CONTRIBUTING), label taxonomy, i18n requirements, secrets policy (never hardcode keys), file map.
    • Caveats: known risks, areas to be careful with.
  • CLAUDE.md vs AGENTS.md: CLAUDE.md is Claude-specific; AGENTS.md is agent-agnostic (works for Cursor/Copilot/OpenClaw too). Keep AGENTS.md free of Claude-only references.

Verification

bash
gh label list --repo OWNER/REPO --limit 200 | wc -l
gh api repos/OWNER/REPO/contents/.github/ISSUE_TEMPLATE -q '.[].name' 2>/dev/null
gh api repos/OWNER/REPO/contents/.github/PULL_REQUEST_TEMPLATE.md -q .name 2>/dev/null
gh api repos/OWNER/REPO/contents/.github/workflows/ci.yml -q .name 2>/dev/null
gh api repos/OWNER/REPO/rulesets -q '.[] | {name:.name, enforcement:.enforcement}'

Report a final table: module | status (applied/skipped/failed) | note.

Template placeholders (replace on copy)

Templates stay generic — OWNER/REPO, OWNER_USERNAME, PROJECT_NAME, YYYY-MM-DD are placeholders the agent fills in when copying a template into the target repo. Unreplaced placeholders ship broken links (badges, clone URL, discussions, security advisory, CODEOWNERS handle) into the user's repo.

PlaceholderReplace with
OWNERtarget repo owner login (user or org)
REPOtarget repo name
OWNER_USERNAMEowner's default reviewer / team handle
PROJECT_NAMEproject display name
YYYY-MM-DDcurrent date

Resolve the values once up front, then substitute in every copied file (config.yml, README*.md, SECURITY.md, CODEOWNERS, AGENTS.md / CLAUDE.md, VISION.md, …):

bash
O=OWNER R=REPO N=PROJECT_NAME D=$(date +%F)
sed -i "s|OWNER_USERNAME|$O|g; s|OWNER/REPO|$O/$R|g; s|PROJECT_NAME|$N|g; s|YYYY-MM-DD|$D|g" \
  .github/ISSUE_TEMPLATE/config.yml README.md SECURITY.md .github/CODEOWNERS AGENTS.md
  • Replace OWNER_USERNAME before OWNER/REPO — the former contains the OWNER prefix, so order matters with naive sed.
  • Only config.yml, README*.md, SECURITY.md, CODEOWNERS, AGENTS.md / CLAUDE.md, VISION.md, CHANGELOG.md carry placeholders; the issue forms, PR template, CI workflows, and CoC are placeholder-free.
  • CI templates need no substitution, but translate their human-facing text if the user chose a non-English language.

Rules of thumb

  • Idempotent: every module can run twice with the same result.
  • Never clobber user content: diff first, ask before overwriting customized files.
  • Auth first: no token, no action — tell the user how to log in, never guess.
  • Dry-run before destructive ops: rulesets, branch rules, label deletion, visibility changes.
  • Confirm scope: org/private repos and anything the user didn't explicitly name.

Templates

All templates live in templates/: labels.json, LABELS.md, config.yml, issue-form-bug.yml, issue-form-feature.yml, issue-form-question.yml, PR_TEMPLATE.md, ci-node.yml, ci-python.yml, ci-go.yml, ci-rust.yml, CODEOWNERS, CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, CLAUDE.md, AGENTS.md, VISION.md, CHANGELOG.md, templates/README.md, templates/README.zh.md.

© github, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 21 other files in skills/repo-standardizer of github/awesome-copilot.

  • SKILL.md
  • templates/AGENTS.md
  • templates/CHANGELOG.md
  • templates/CLAUDE.md
  • templates/CODEOWNERS
  • templates/CODE_OF_CONDUCT.md
  • templates/CONTRIBUTING.md
  • templates/LABELS.md
  • templates/PR_TEMPLATE.md
  • templates/README.md
  • templates/README.zh.md
  • templates/SECURITY.md
  • templates/VISION.md
  • templates/ci-go.yml
  • templates/ci-node.yml
  • templates/ci-python.yml
  • templates/ci-rust.yml
  • templates/config.yml
  • templates/issue-form-bug.yml
  • templates/issue-form-feature.yml
  • … and 2 more

Open the folder on GitHubat commit 727ff2e

Compare with similar skills

Repo Standardizer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Repo Standardizer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Repo Standardizer this skillgithub/awesome-copilot40k—~6.4kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Diagnosing Superpowers Sessionsobra/superpowers296k3 repos~1.7kAutomated safety check: PassMIT
GitHub Deep Researchbytedance/deer-flow83k5 repos~1.3kAutomated safety check: PassMIT
Greplooponyx-dot-app/onyx32k4 repos~3.3kAutomated safety check: PassMIT
Update V8 Versionopeninterpreter/openinterpreter69k2 repos~845Automated safety check: PassApache-2.0

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.

    296k GitHub starsUsed in 3 repos~1.7k tokens
    Agent WorkflowsAuto-check passed
  • GitHub Deep Research

    bytedance/deer-flow

    Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.

    83k GitHub starsUsed in 5 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed
  • Update V8 Version

    openinterpreter/openinterpreter

    Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.

    69k GitHub starsUsed in 2 repos~845 tokens
    DevOps & CloudAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed

More from github/awesome-copilot

All 417 skills in this repo
  • Acquire Codebase Knowledge

    github/awesome-copilot

    Official

    Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.

    40k GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Azure Architecture Autopilot

    github/awesome-copilot

    Official

    Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.

    40k GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Draw.io Diagram Generator

    github/awesome-copilot

    Official

    Generates, edits and validates draw.io files with correct mxGraph XML, covering flowcharts, architecture, sequence, ER and UML class diagrams.

    40k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed
  • Credit Risk Data Cleaning

    github/awesome-copilot

    Official

    Cleans raw credit data and screens variables before loan modeling, dropping unstable, noisy or redundant features and writing an Excel report of every step.

    40k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Daily Focus Board

    github/awesome-copilot

    Official

    Builds a warm, browser-based daily focus board the user updates by talking to their agent, with Eisenhower priorities, a brain-dump box and kind not-today carryover.

    40k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Python Pypi Package Builder

    github/awesome-copilot

    Official

    End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.

    40k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Works with

Questions about Repo Standardizer

What does Repo Standardizer do?

Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs. Repo Standardizer is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs.

When should I use Repo Standardizer?

Repo Standardizer fits situations like: creating a new repo; polishing an existing one.

How do I install Repo Standardizer in Claude Code?

Run `npx skills add github/awesome-copilot --skill repo-standardizer -a claude-code`. Or copy the skill folder (skills/repo-standardizer in github/awesome-copilot) into .claude/skills/repo-standardizer in your project. Claude Code loads it when a task matches its description.

How do I install Repo Standardizer in Codex?

Run `npx skills add github/awesome-copilot --skill repo-standardizer -a codex`. Or copy the skill folder (skills/repo-standardizer in github/awesome-copilot) into .agents/skills/repo-standardizer in your project. Codex loads it when a task matches its description.

Can I use Repo Standardizer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add github/awesome-copilot --skill repo-standardizer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/repo-standardizer, .gemini/skills/repo-standardizer, .github/skills/repo-standardizer and .opencode/skills/repo-standardizer in your project.

What does Repo Standardizer need to run?

Going by SKILL.md and its folder, Repo Standardizer needs the command-line tools its instructions call (gh, git, jq, python3, npm and pnpm) and credentials named GH_TOKEN. Our summary lists: Python 3.

Does Repo Standardizer access the network?

SKILL.md contains no URLs. Its commands use gh, git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Repo Standardizer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Repo Standardizer use?

Repo Standardizer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Repo Standardizer use?

About 6.4k tokens (SKILL.md is roughly 26k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Repo Standardizer?

Skills that share tags, products or a category with Repo Standardizer: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Diagnosing Superpowers Sessions (obra/superpowers, 296k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars) and Greploop (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Repo Standardizer?

github (a GitHub organization, an official publisher) maintains it in github/awesome-copilot, which has 39,748 GitHub stars. The repository holds 417 skills in this directory. The repository was last updated on October 7, 2026.

Source: github/awesome-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.