{"id":"f87e7e4c-518a-4765-88f5-6ad8cb1b2da0","shortId":"3EFWHz","kind":"skill","title":"acreadiness-generate-instructions","tagline":"Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS Code) plus optional per-area .instructions.md files with applyTo globs for monorepos. Use after running /acreadiness-ass","description":"# /acreadiness-generate-instructions — write AI agent instructions\n\nUse 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.\n\n## Output options\n\nVS Code recognises several instruction file types — AgentRC generates the most common ones:\n\n| File | Scope | When to use |\n|---|---|---|\n| `.github/copilot-instructions.md` | Always-on, whole workspace | **Default** — VS Code Copilot's native instruction file |\n| `AGENTS.md` | Always-on, whole workspace | Multi-agent repos (Copilot + Claude + others) |\n| `.github/instructions/*.instructions.md` | Scoped by `applyTo` glob | Per-area / per-language rules in monorepos |\n| `CLAUDE.md` | Claude-specific | Add via `--claude-md` (nested only) |\n\n## Strategies\n\n- **`flat`** *(default)* — single `.github/copilot-instructions.md` at the chosen path. Simple, easy to review.\n- **`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.\n\n> **Why `.github/instructions/` and not `.agents/`?** AgentRC's default nested layout writes to `.agents/`, which is the right home for *agent-agnostic* repos (Copilot + Claude + Cursor reading `AGENTS.md`). For VS Code Copilot specifically, the native location is `.github/instructions/` with `applyTo` frontmatter — that's what Copilot auto-discovers. This skill rewrites AgentRC's nested output to the VS Code-native location whenever the main output is `.github/copilot-instructions.md`. If you instead chose `--output AGENTS.md`, nested keeps AgentRC's default `.agents/` layout.\n\nFor 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).\n\n### Topic vs area `.instructions.md` files\n\nBoth end up in `.github/instructions/` but they answer different questions:\n\n| Kind | Filename example | `applyTo` example | Where it comes from |\n|---|---|---|---|\n| **Topic** (nested) | `testing.instructions.md` | `**/*.{test,spec}.{ts,tsx,js}` | AgentRC `--strategy nested` topic split |\n| **Area** (monorepo) | `frontend.instructions.md` | `apps/frontend/**` | `agentrc.config.json` areas + `--areas` |\n\nYou can have both at once: a nested set of topic files plus per-area files for a monorepo.\n\n## Per-area files with `applyTo`\n\nWhen 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:\n\n```markdown\n---\napplyTo: \"apps/frontend/**\"\n---\n\n# Frontend area instructions\n\n…AgentRC-generated content for this area…\n```\n\nWorkflow:\n\n1. **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/**`).\n2. **Run `agentrc instructions --areas`** (or `--area <name>`) to produce the per-area body content.\n3. **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.\n4. **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.\n\nNaming: lowercase, kebab-case area name. Examples: `.github/instructions/frontend.instructions.md`, `.github/instructions/api.instructions.md`, `.github/instructions/infra.instructions.md`.\n\n## Steps\n\n1. **Pick the target file**. **Default to `.github/copilot-instructions.md`.** Switch to `AGENTS.md` only if the user mentions multi-agent / Claude / Cursor support.\n2. **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:\n   - **Flat** *(default)* — one `.github/copilot-instructions.md`. Simple, easy to review in a single PR. Best for small/medium repos with one stack.\n   - **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`.\n   Recommend `nested` proactively when the repo has > 5 top-level directories, multiple stacks, or already uses a monorepo tool (turbo/nx/pnpm workspaces).\n3. **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.\n4. **Run dry-run first** so the user can preview:\n   ```bash\n   npx -y github:microsoft/agentrc instructions --output <file> --strategy <flat|nested> [--areas|--area <name>] [--claude-md] --dry-run\n   ```\n5. **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`).\n6. **On confirmation, run the same command without `--dry-run`** (and optionally `--force` if files already exist).\n7. **Post-process layout for Copilot output**:\n   - **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.\n   - **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).\n   - **If `--output AGENTS.md`** was chosen: keep AgentRC's native `.agents/` layout for nested — agent-agnostic readers expect it there.\n   Create the `.github/instructions/` directory if missing.\n\n### Topic `applyTo` defaults\n\nWhen promoting AgentRC's nested topic files to `.instructions.md`, use these defaults unless the user specifies otherwise:\n\n| Topic | Default `applyTo` |\n|---|---|\n| `testing` | `**/*.{test,spec}.{ts,tsx,js,jsx,mjs,cjs}` |\n| `style` / `code-quality` / `formatting` | `**/*.{ts,tsx,js,jsx,mjs,cjs,py,go,rs,java,kt,cs}` |\n| `build` / `ci` | `**/{package.json,turbo.json,nx.json,.github/workflows/**}` |\n| `docs` | `**/*.md` |\n| `security` | `**` |\n| anything else / hub-level | `**` |\n8. **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.\n9. **Suggest next steps**:\n   - Re-run the `assess` skill to confirm the AI Tooling pillar score improved.\n   - 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+).\n\n## Notes\n\n- AgentRC reads your **actual code** — no templates. Output reflects detected languages, frameworks, and conventions.\n- `--claude-md` (nested strategy only) also emits `CLAUDE.md`.\n- VS Code applies `.instructions.md` files automatically when the active file matches `applyTo`. The root `.github/copilot-instructions.md` always loads.\n- Never run this skill non-interactively in CI; instructions are part of the repo and should land via PR.","tags":["acreadiness","generate","instructions","awesome","copilot","github","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-acreadiness-generate-instructions","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/acreadiness-generate-instructions","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (7,858 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:03.824Z","embedding":null,"createdAt":"2026-05-04T06:51:34.267Z","updatedAt":"2026-05-18T18:52:03.824Z","lastSeenAt":"2026-05-18T18:52:03.824Z","tsv":"'/acreadiness-ass':39 '/acreadiness-generate-instructions':40 '1':446,556,979 '2':469,578,1035 '3':484,685 '4':520,721 '4.6':777 '5':670,750 '6':778 '7':796 '8':965 '9':994 'acreadi':2 'acreadiness-generate-instruct':1 'action':85 'activ':1068 'actual':1040 'add':157,655,822 'addit':709 'agent':8,43,63,133,217,225,233,292,574,816,842,885,890 'agent-agnost':232,889 'agentrc':12,73,100,218,264,289,362,439,471,814,882,907,1029,1037 'agentrc-gener':438 'agentrc.config.json':312,371,448,691,718,861 'agents.md':125,240,286,566,878,1020 'agnost':234,891 'ai':7,42,61,88,1007 'alon':525 'alreadi':591,678,794,1015 'also':660,848,1057 'alway':113,127,533,579,1075 'always-on':112,126,532 'answer':342 'anyth':960 'appli':430,508,869,1062 'apply-to':507,868 'applyto':32,142,192,252,326,348,399,433,495,637,707,769,830,834,864,903,924,1071 'appropri':829 'apps/frontend':370,434 'area':28,146,298,302,303,306,308,315,332,367,372,373,389,396,405,415,436,444,452,473,475,481,487,500,514,549,688,693,703,720,742,743,766,845,854,857,874 'area-scop':297 'areas-on':305 'ask':461,580,695 'assess':1002 'auto':259 'auto-discov':258 'automat':1065 'back':973 'bash':732 'best':618,647 'better':205 'bodi':482 'briefli':605 'build':951 'call':515,875 'captur':985 'case':548 'chang':758 'chose':284 'chosen':171,880 'ci':952,1085 'cjs':933,944 'claud':65,136,155,160,237,575,657,745,775,1052 'claude-md':159,656,744,1051 'claude-sonnet':774 'claude-specif':154 'claude.md':153,662,1059 'code':23,62,94,119,196,243,272,321,410,641,936,1041,1061 'code-n':271,409 'code-qu':935 'come':352 'command':14,784 'common':104 'confirm':780,1005 'consolid':1022 'content':441,483,489 'convent':984,1050 'copilot':20,64,120,135,236,244,257,802 'copilot-instructions.md':808,1018 'count':767 'creat':53,763,896 'cs':950 'cursor':238,576 'custom':58 'declar':425,451,719 'default':17,117,166,220,291,561,607,714,773,835,904,916,923 'defin':310 'delet':837 'detail':184 'detect':686,983,1046 'differ':343 'directori':674,843,899 'discov':260,450 'doc':957 'dri':724,748,787 'dry-run':723,747,786 'e.g':467 'easi':174,611 'els':961 'emit':406,661,1058 'empti':841 'end':336,806 'etc':66 'everi':853 'exampl':347,349,551 'exist':694,795 'expect':893 'file':10,30,98,106,124,185,323,334,385,390,397,413,420,524,537,560,633,705,713,759,793,818,826,911,971,990,1064,1069 'filenam':346 'first':726 'flag':1030 'flat':165,585,606,740 'forc':791 'format':938 'framework':1048 'frontend':435 'frontend.instructions.md':369 'frontmatt':253,424,496,823 'generat':3,5,70,76,101,296,440,970 'github':735 'github/copilot-instructions.md':16,111,168,180,280,528,563,609,627,1074 'github/instructions':138,187,214,250,339,417,491,631,820,850,898 'github/instructions/api.instructions.md':553 'github/instructions/frontend.instructions.md':552 'github/instructions/infra.instructions.md':554 'github/workflows':956 'glob':33,143,193,327,427,456,466,518,638,770,831,865,993 'go':946 'highest':83 'highest-leverag':82 'home':230 'hub':178,626,963 'hub-level':962 'improv':1011 'instead':283 'instruct':4,9,13,44,59,97,123,300,437,472,535,737,1086 'instructions.md':29,139,188,322,333,412,418,492,536,632,704,821,851,913,989,1063 'interact':1083 'java':948 'js':361,930,941 'jsx':931,942 'kebab':547 'kebab-cas':546 'keep':288,881 'kick':539 'kind':345 'kt':949 'land':1094 'languag':149,1047 'larg':207,649 'layout':222,293,800,886 'leav':521 'length':986 'level':673,964,1034 'leverag':84 'list':987 'load':198,643,1076 'locat':248,274 'loop':78 'lowercas':545 'main':277,523 'maintain':77 'markdown':432 'match':542,1070 'matur':1033 'md':161,658,746,817,958,1053 'measur':75 'mention':571 'messag':596 'microsoft/agentrc':736 'miss':460,901 'mjs':932,943 'model':771 'monorepo':35,152,295,368,393,681,687 'move/rewrite':813 'multi':132,210,573,652 'multi-ag':131,572 'multi-stack':209,651 'multipl':675 'must':421 'name':544,550 'nativ':122,247,273,411,884 'nest':162,177,221,266,287,355,364,381,587,625,664,741,812,888,909,1054 'never':1077 'next':996 'non':1082 'non-interact':1081 'note':1036 'now-empti':839 'npx':733 'nx.json':955 'one':105,407,593,608,623 'opt':403 'option':25,92,790 'other':137 'otherwis':921 'output':91,267,278,285,316,738,803,805,877,1044 'overrid':866 'overwritten':765 'package.json':953 'paragraph':980 'part':1088 'pass':506 'path':172,455,458,502,543,859 'per':27,145,148,182,314,388,395,414,480,629,702 'per-area':26,144,313,387,394,479,701 'per-languag':147 'per-top':181,628 'pick':557 'pillar':90,1009 'plus':24,386 'post':798 'post-process':797 'pr':617,1096 'present':600 'preview':731 'proactiv':665 'process':799 'produc':15,477 'promot':906 'py':945 'qualiti':937 'question':344 're':999 're-run':998 'read':239,447,690,968,1038 'reader':892 'recognis':95 'recommend':18,663,1021 'reflect':1045 'refresh':56 'regener':54 'relev':204,646 'repo':134,212,235,621,654,668,1091 'review':176,613 'rewrit':263 'right':229 'root':527,712,1073 'rs':947 'rule':150,429 'run':38,470,722,725,749,781,788,1000,1078 'scope':107,140,299 'score':1010 'secur':959 'see':328,832 'set':382 'sever':96 'short':753 'show':751,975 'simpl':173,610 'singl':81,167,513,616,873,1025 'single-area':512,872 'skill':47,262,1003,1080 'skill-acreadiness-generate-instructions' 'small/medium':620 'sonnet':776 'sourc':1026 'source-github' 'spec':358,927 'specif':156,245 'specifi':592,920 'split':366 'src/api':468 'stack':211,624,653,676,982 'start':422 'stay':529 'step':71,555,997 'strategi':164,363,582,599,739,810,1055 'style':934 'suggest':995 'summari':754 'support':577 'switch':564 'synopsi':981 'tailor':6 'taken':497 'target':559 'templat':1043 'test':357,925,926 'testing.instructions.md':356 'tool':89,682,1008 'top':672 'top-level':671 'topic':183,200,330,354,365,384,630,833,902,910,922 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'trade':603 'trade-off':602 'truth':1028 'ts':359,928,939 'tsx':360,929,940 'turbo.json':954 'turbo/nx/pnpm':683 'type':99 'unless':588,917 'use':36,45,110,516,584,679,772,847,855,914 'user':50,402,463,505,570,590,697,729,919,977,1014 'verbatim':519 'verifi':966 'via':11,158,598,1095 'vs':22,93,118,195,242,270,320,331,408,640,1060 'want':51,700 'whenev':48,275 'whether':698 'whole':115,129 'without':785 'workflow':445 'workspac':116,130,684 'would':757,761 'wrap':485 'write':41,223,849 'written':318 'y':734 'yes':716","prices":[{"id":"ed52b3ce-ba3b-4379-818b-f5577c817f16","listingId":"f87e7e4c-518a-4765-88f5-6ad8cb1b2da0","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-05-04T06:51:34.267Z"}],"sources":[{"listingId":"f87e7e4c-518a-4765-88f5-6ad8cb1b2da0","source":"github","sourceId":"github/awesome-copilot/acreadiness-generate-instructions","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/acreadiness-generate-instructions","isPrimary":false,"firstSeenAt":"2026-05-04T06:51:34.267Z","lastSeenAt":"2026-05-18T18:52:03.824Z"}],"details":{"listingId":"f87e7e4c-518a-4765-88f5-6ad8cb1b2da0","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"acreadiness-generate-instructions","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"6be9341aaa448670594ee22671272e801e3ed574","skill_md_path":"skills/acreadiness-generate-instructions/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/acreadiness-generate-instructions"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"acreadiness-generate-instructions","description":"Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS Code) plus optional per-area .instructions.md files with applyTo globs for monorepos. Use after running /acreadiness-assess to close gaps in the AI Tooling pillar."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/acreadiness-generate-instructions"},"updatedAt":"2026-05-18T18:52:03.824Z"}}