56 results available
Sign in
Skills directory

acreadiness-generate-instructions

github

·

Last changed
Not yet hardened

This version isn't hardened by Chainguard

No hardening report available.


SKILL.md

/acreadiness-generate-instructions — write AI agent instructions

Use this skill whenever the user wants to create, regenerate, or refresh their custom instructions for AI coding agents (Copilot, Claude, etc.). This is the Generate step in AgentRC's Measure → Generate → Maintain loop and the single highest-leverage action for the AI Tooling pillar.

Dependency pin

This skill executes AgentRC from GitHub. To prevent supply-chain substitution, always use the exact commit SHA pinned in allowed-tools above. Before running, verify the SHA against the agentrc releases page.

The pinned SHA is: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2

When updating this skill, the SHA must be updated both here and in the allowed-tools frontmatter simultaneously.

Output options

VS Code recognises several instruction file types — AgentRC generates the most common ones:

FileScopeWhen to use

.github/copilot-instructions.md

Always-on, whole workspace

Default — VS Code Copilot's native instruction file

AGENTS.md

Always-on, whole workspace

Multi-agent repos (Copilot + Claude + others)

.github/instructions/*.instructions.md

Scoped by applyTo glob

Per-area / per-language rules in monorepos

CLAUDE.md

Claude-specific

Add via --claude-md (nested only)

Strategies

  • flat (default) — single .github/copilot-instructions.md at the chosen path. Simple, easy to review.
  • nested — hub at .github/copilot-instructions.md + per-topic detail files at .github/instructions/<topic>.instructions.md, each with an applyTo glob so VS Code only loads the topic when it's relevant. Better for large or multi-stack repos.

For monorepos, generate area-scoped instructions with --areas, --area <name>, or --areas-only. Areas are defined in agentrc.config.json. Per-area output is written as VS Code .instructions.md files with an applyTo glob (see below).

Topic vs area .instructions.md files

Both end up in .github/instructions/ but they answer different questions:

KindFilename exampleapplyTo exampleWhere it comes from

Topic (nested)

testing.instructions.md

**/*.{test,spec}.{ts,tsx,js}

AgentRC --strategy nested topic split

Area (monorepo)

frontend.instructions.md

apps/frontend/**

agentrc.config.json areas + --areas

You can have both at once: a nested set of topic files plus per-area files for a monorepo.

Per-area files with applyTo

When the user opts into areas, emit one VS Code-native .instructions.md file per area at .github/instructions/<area>.instructions.md. Each file MUST start with frontmatter declaring the glob the rules apply to:

---
applyTo: "apps/frontend/**"
---

# Frontend area instructions

…AgentRC-generated content for this area…

Workflow:

  1. Read agentrc.config.json to discover declared areas and their paths / globs. If paths is missing, ask the user for the glob (e.g. src/api/**). Path validation for area globs: Before using any paths value from agentrc.config.json as an applyTo glob or a write target, verify it does not begin with /, ~, or ../. If it does, surface the offending value to the user and halt rather than proceeding.
  2. Run agentrc instructions --areas (or --area <name>) to produce the per-area body content.
  3. Wrap each area's content in .github/instructions/<area>.instructions.md with the applyTo frontmatter taken from the area's paths. If the user passed --apply-to <glob> on a single-area call, use that glob verbatim.
  4. Leave the main file alone — the root .github/copilot-instructions.md stays as the always-on instructions; .instructions.md files only kick in for matching paths.

Naming: lowercase, kebab-case area name. Examples: .github/instructions/frontend.instructions.md, .github/instructions/api.instructions.md, .github/instructions/infra.instructions.md.

Steps

  1. Pick the target file. Default to .github/copilot-instructions.md. Switch to AGENTS.md only if the user mentions multi-agent / Claude / Cursor support. Output path validation: The --output value MUST be one of: .github/copilot-instructions.md, AGENTS.md, or CLAUDE.md. Reject any other path without executing the command. Do not accept relative traversals (../), absolute paths, or home-directory expansions (~/).
  2. Always ask which strategy to use — flat or nested — unless the user already specified one in their message or via --strategy. Present the trade-off briefly:
    • Flat (default) — one .github/copilot-instructions.md. Simple, easy to review in a single PR. Best for small/medium repos with one stack.
    • Nested — hub .github/copilot-instructions.md + per-topic .github/instructions/<topic>.instructions.md files (each with an applyTo glob so VS Code only loads them when relevant). Best for large or multi-stack repos. Add --claude-md to also emit CLAUDE.md. Recommend nested proactively when the repo has > 5 top-level directories, multiple stacks, or already uses a monorepo tool (turbo/nx/pnpm workspaces).
  3. Detect monorepo areas by reading agentrc.config.json. If areas exist, ask the user whether they want per-area .instructions.md files with applyTo in addition to the root file. Default to "yes" when agentrc.config.json declares areas.
  4. Run dry-run first so the user can preview:
    npx github:microsoft/agentrc#a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 instructions --output <file> --strategy <flat|nested> [--areas|--area <name>] [--claude-md] --dry-run
  5. Show a short summary of what would change — files that would be created or overwritten, area count + their applyTo globs, model used (default claude-sonnet-4.6). Display the resolved package identity (pinned SHA: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2) and ask the user to confirm it matches the SHA documented in the "Dependency pin" section before proceeding.
  6. On confirmation, run the same command without --dry-run (and optionally --force if files already exist):
    npx github:microsoft/agentrc#a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 instructions --output <file> --strategy <flat|nested> [--areas|--area <name>] [--claude-md] [--force]
  7. Post-process layout for Copilot output:
    • If --output ends in copilot-instructions.md and strategy is nested: move/rewrite AgentRC's .agents/<topic>.md files to .github/instructions/<topic>.instructions.md. Add frontmatter to each file with an appropriate applyTo glob (see "Topic applyTo defaults" below). Delete the now-empty .agents/ directory.
    • If --areas was used: also write .github/instructions/<area>.instructions.md for every area, using each area's paths from agentrc.config.json as the applyTo glob (override with --apply-to for single-area calls).
    • If --output AGENTS.md was chosen: keep AgentRC's native .agents/ layout for nested — agent-agnostic readers expect it there. Create the .github/instructions/ directory if missing.

Topic applyTo defaults

When promoting AgentRC's nested topic files to .instructions.md, use these defaults unless the user specifies otherwise:

TopicDefault applyTo

testing

**/*.{test,spec}.{ts,tsx,js,jsx,mjs,cjs}

style / code-quality / formatting

**/*.{ts,tsx,js,jsx,mjs,cjs,py,go,rs,java,kt,cs}

build / ci

**/{package.json,turbo.json,nx.json,.github/workflows/**}

docs

**/*.md

security

**

anything else / hub-level

**

  1. Verify by reading the generated file(s) back and showing the user a 1-paragraph synopsis: stack detected, conventions captured, length, list of .instructions.md files with their globs.
  2. Suggest next steps:
    • Re-run the assess skill to confirm the AI Tooling pillar score improved.
    • If the user already has both copilot-instructions.md and AGENTS.md, recommend consolidating to a single source of truth (AgentRC flags this at maturity Level 2+).

Notes

  • AgentRC reads your actual code — no templates. Output reflects detected languages, frameworks, and conventions.
  • --claude-md (nested strategy only) also emits CLAUDE.md.
  • VS Code applies .instructions.md files automatically when the active file matches applyTo. The root .github/copilot-instructions.md always loads.
  • Never run this skill non-interactively in CI; instructions are part of the repo and should land via PR.
  • The pinned SHA (a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2) must be verified against the agentrc releases page and updated in both the allowed-tools frontmatter and the "Dependency pin" section whenever the catalog entry is refreshed.

Install

Need this version hardened?

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream source

—

Upstream commit2201a49dd6f972ac4f685d03361d58c9c9206690
OCI reference

—

License

MIT

Files

HARDENING.md

LICENSE

SKILL.md


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.