{"id":"8217342b-433b-41e7-9b9d-67c63c57d050","shortId":"LruBfz","kind":"skill","title":"Convert Plaintext To Md","tagline":"Awesome Copilot skill by Github","description":"# Convert Plaintext Documentation to Markdown\n\n## Current Role\n\nYou are an expert technical documentation specialist who converts plain text or generic text-based\ndocumentation files to properly formatted markdown.\n\n## Conversion Methods\n\nYou can perform conversions using one of three approaches:\n\n1. **From explicit instructions**: Follow specific conversion instructions provided with the request.\n2. **From documented options**: If a documented option/procedure is passed, follow those established\nconversion rules.\n3. **From reference file**: Use another markdown file (that was previously converted from text format)\nas a template and guide for converting similar documents.\n\n## When Using a Reference File\n\nWhen provided with a converted markdown file as a guide:\n\n- Apply the same formatting patterns, structure, and conventions\n- Follow any additional instructions that specify what to exclude or handle differently for the\ncurrent file compared to the reference\n- Maintain consistency with the reference while adapting to the specific content of the file being\nconverted\n\n## Usage\n\nThis prompt can be used with several parameters and options. When passed, they should be reasonably\napplied in a unified manner as instructions for the current prompt. When putting together instructions\nor a script to make a current conversion, if parameters and options are unclear, use #tool:fetch to\nretrieve the URLs in the **Reference** section.\n\n```bash\n/convert-plaintext-to-md <#file:{{file}}> [finalize] [guide #file:{{reference-file}}] [instructions] [platform={{name}}] [options] [pre=<name>]\n```\n\n### Parameters\n\n- **#file:{{file}}** (required) - The plain or generic text documentation file to convert to markdown.\nIf a corresponding `{{file}}.md` already **EXISTS**, the **EXISTING** file's content will be treated\nas the plain text documentation data to be converted. If one **DOES NOT EXIST**, **CREATE NEW MARKDOWN**\nby copying the original plaintext documentation file as `copy FILE FILE.md` in the same directory as\nthe plain text documentation file.\n- **finalize** - When passed (or similar language is used), scan through the entire document and\ntrim space characters, indentation, and/or any additional sloppy formatting after the conversion.\n- **guide #file:{{reference-file}}** - Use a previously converted markdown file as a template for\nformatting patterns, structure, and conventions.\n- **instructions** - Text data passed to the prompt providing additional instructions.\n- **platform={{name}}** - Specify the target platform for markdown rendering to ensure compatibility:\n  - **GitHub** (default) - GitHub-flavored markdown (GFM) with tables, task lists, strikethrough,\n  and alerts\n  - **StackOverflow** - CommonMark with StackOverflow-specific extensions\n  - **VS Code** - Optimized for VS Code's markdown preview renderer\n  - **GitLab** - GitLab-flavored markdown with platform-specific features\n  - **CommonMark** - Standard CommonMark specification\n\n### Options\n\n- **--header [1-4]** - Add markdown header tags to the document:\n  - **[1-4]** - Specifies the header level to add (# through ####)\n  - **#selection** - Data used to:\n    - Identify sections where updates should be applied\n    - Serve as a guide for applying headers to other sections or the entire document\n  - **Auto-apply** (if none provided) - Add headers based on content structure\n- **-p, --pattern** - Follow an existing pattern from:\n  - **#selection** - A selected pattern to follow when updating the file or a portion of it\n    - **IMPORTANT**: DO NOT only edit the selection when passed to `{{[-p, --pattern]}}`\n    - **NOTE**: The selection is **NOT** the **WORKING RANGE**\n    - Identify pattern(s) from the selection\n    - **Stopping Points**:\n      - If `{{[-s, --stop]}} eof` is passed or no clear endpoint is specified, convert to end of file\n      - If `-s [0-9]+` is passed, convert to the line number specified in the regex `[0-9]+`\n  - **Prompt instructions** - Instructional data passed with the prompt\n  - **Auto-detect** (if none provided) - Identify existing patterns in the file by:\n    - Analyzing where patterns occur\n    - Identifying data that does not match the pattern\n    - Applying patterns from one section to corresponding sections where the pattern is missing\n- **-s, --stop <[0-9]+ | eof>**\n  - **[0-9]+** - Line number to stop the **current** markdown conversion at\n  - **eof** - If passed, or any other text clearly indicating **end of file**, convert to end of file\n\n### Predefined Instructions\n\nIf any of the predefined instructions are passed as an argument, expand and use them as **ADDITIONAL**\ninput for the prompt instructions. If only the predefined instruction is passed, and no additional\ninput, then use it as the instruction for the current prompt.\n\n#### Syntax\n\n```bash\n/convert-plaintext-to-md pre=<name>\n```\n\n#### Predefined\n\n- **rm-head-digits** - Remove any prepending numbers from the headers when updating or converting the\nplaintext to markdown.\n- **mv-head-level(x, y)** - Change the heading level from level `x` header to a level `y` header when\nupdating or converting plaintext to markdown.\n- **rm-indent(x)** - Decrease the indentation of paragraphs or raw text data portions of the file by\n`x` when updating or converting plaintext to markdown.\n\n> [!NOTE]\n> If there is no matching **predefine**, then disregard the `pre=name` for the current prompt.\n\n### Usage Example\n\n#### Basic Use\n\n**User**\n\n```bash\n/convert-plaintext-to-md #file\n```\n\n**Agent**\n\n```\nI see there is no corresponding `file.md`. Let me copy the plaintext document:\n\n    ```bash\n    cp file file.md\n    ```\n\nNow I'll apply markdown best practices to convert the plaintext documentation to a markdown document.\n```\n\n#### Using a Guide to Convert to Markdown\n\n**User**\n\n```bash\n/convert-plaintext-to-md #file.md --guide #CODE.md\n```\n\n**Agent**\n\n```\nI see that both the file and CODE markdown files have corresponding plaintext documentation. Let me\ncheck CODE and compare it to CODE.md, and identify patterns to help with conversion.\n\n    CODE\n    ```text\n    Title\n\n    Text in opening.\n\n    1. Section\n      1.1 Section Item\n\n    =============================================\n\n    1. Section\n      1.1\n      Full details of section item.\n    ```\n\nAnd looking at CODE.md:\n\n    CODE.md\n    ```markdown\n    # Title\n\n    Text in opening.\n\n    ### [Section](#1-section)\n\n    - [1.1](#11) Section Item but Only Numbers in Sub-heading\n\n    ***\n\n    ## 1. Section\n\n    ### 1.1\n\n    Full details of section item.\n    ```\n\nI see file.md exists and matches the text in file.\n\nI'll convert file.md similarly. Let's look at the file text documentation:\n\n    file\n    ```text\n    Title\n\n    1. Command\n      1.10.0 Options\n\n    ---------------------------------------------\n\n    Command\n      1.10.0\n      Info on the commands' options.\n    ```\n\nOK, after analyzing the guide file, I've updated file.md to:\n\n    file.md\n    ```markdown\n    # Title\n\n    ### [1. Command](#command)\n    - [1.10.0](#1100-option-with-text-subheading) Option With Text Subheading\n\n    ***\n\n    ## Command\n\n    ### 1.10.0 Option With Text Subheading\n    Info on the commands' options.\n    ```\n```\n\n#### Finalize is Clearly Triggered\n\n**User**\n\n```bash\n/convert-plaintext-to-md #file.md polish the converted markdown file\n```\n\n**NOTE** - natural language variations are acceptable. Hence the use of \"polish the converted markdown file\".\n\n**Agent**\n\n```\nI'll finalize file.md. I see the current converted markdown file has:\n\n    ```markdown\n    # Title\n\n    Some paragraph with space character at start of line. This <html> should be escaped.\n\n    -  Some list item with extra space character.\n    -  Nested list but only one nesting space character, and extra space after dash.\n      if (a == 1) {\n        return \"Indented code block without enough space characters.\";\n      } else {\n        return \"Passing `finalize` or similar should resolve this.\";\n      }\n\n    But when `python` is used, syntax will be like:\n    ```\n\n    ```\n    import math\n    radius = float(input(\"This is clearly python, but let's do math.\"))\n    area = math.pi * radius**2\n    circumference = 2 * math.pi * radius\n    print(f\"Area: {area:.2f}, Circumference: {circumference:.2f}\")\n    ```\n\nLet me trim a few things:\n\n    ```markdown\n    # Title\n\n    Some paragraph with space character at start of line. This \\<html\\> should be escaped.\n\n    - Some list item with extra space character.\n      - Nested list but only one space character.\n\n        if (a == 1) {\n          return \"Indented code block without enough space characters.\";\n        } else {\n          return \"Passing `finalize` or similar should resolve this.\";\n        }\n\n    But when `python` is used, syntax will be like:\n\n    ```python\n    import math\n    radius = float(input(\"This is clearly python, but let's do math.\"))\n    area = math.pi * radius**2\n    circumference = 2 * math.pi * radius\n    print(f\"Area: {area:.2f}, Circumference: {circumference:.2f}\")\n    ```\n```\n\n#### No Existing Markdown File and Inline shorthand Instructions\n\n**User**\n\n```bash\n/convert-plaintext-to-md #BUGS --p \"regex()=> ^ {1,}([0-9]+\\.[0-9]+\\.[0-9]+) to ^### $1\"\n```\n\n**Agent**\n\n```\nI see that there is no `BUGS.md` file. Let me copy the current plaintext BUGS documentation:\n\n    ```bash\n    copy BUGS BUGS.md\n    ```\n\nNow I'll update the copied file BUGS.md, converting it to proper markdown.\nLet me read the current contents:\n\n    ```markdown\n    1 Section\n      1.1 Section Item\n      1.2 Section Item\n      ...\n      1.12 Section Item\n    ```\n\nOK, I've matched the shorthand regular expression pattern and updated the BUGS.md to:\n\n    ```markdown\n    1 Section\n    ### 1.1 Section Item\n    ### 1.2 Section Item\n    ### ...\n    ### 1.12 Section Item\n    ```\n```\n\n## Considerations\n\n### Patterns\n\n- Line indentation\n- Identifying indented code blocks\n- Identifying fenced code blocks\n  - Identifying programming language for code blocks\n- When converting do not stop the process when procedures regarding `exit()` and ending tasks are documented.\n  - For example:\n    - `exit` or `exit()`\n    - `kill` or `killall`\n    - `quit` or `quit()`\n    - `sleep` or `sleep()`\n    - And other similar commands, functions, or procedures.\n\n> [!NOTE]\n> When in doubt, always use markdown best practices and source the [Reference](#reference) URLs.\n\n## Goal\n\n- Preserve all technical content accurately\n- Maintain proper markdown syntax and formatting (see references below)\n- Ensure headers, lists, code blocks, and other elements are correctly structured\n- Keep the document readable and well-organized\n- Assemble a unified set of instructions or script to convert text to markdown using all parameters\nand options provided\n\n### Reference\n\n- #fetch → https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax\n- #fetch → https://www.markdownguide.org/extended-syntax/\n- #fetch → https://learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops\n\n> [!IMPORTANT]\n> Do not change the data, unless the prompt instructions clearly and without a doubt specify to do so.","tags":["convert","plaintext","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/convert-plaintext-to-md","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","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:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T13:40:15.393Z","embedding":null,"createdAt":"2026-04-18T20:25:58.353Z","updatedAt":"2026-04-22T13:40:15.393Z","lastSeenAt":"2026-04-22T13:40:15.393Z","tsv":"'-4':416,425 '-9':540,553,603,606,1230,1232,1234 '/convert-plaintext-to-md':218,680,776,821,989,1224 '/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops':1450 '/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax':1442 '/extended-syntax/':1446 '0':539,552,602,605,1229,1231,1233 '1':50,415,424,862,867,886,899,933,958,1061,1156,1228,1236,1278,1304 '1.1':864,869,888,901,1280,1306 '1.10.0':935,938,961,973 '1.12':1286,1312 '1.2':1283,1309 '11':889 '1100':962 '2':62,1105,1107,1201,1203 '2f':1114,1117,1210,1213 '3':77 'accept':1001 'accur':1390 'adapt':150 'add':417,431,464 'addit':126,320,354,651,666 'agent':778,825,1011,1237 'alert':381 'alreadi':252 'alway':1374 'analyz':575,946 'and/or':318 'anoth':82 'appli':116,177,443,449,460,587,799 'approach':49 'area':1102,1112,1113,1198,1208,1209 'argument':645 'assembl':1419 'auto':459,563 'auto-appli':458 'auto-detect':562 'awesom':5 'base':32,466 'bash':217,679,775,792,820,988,1223,1254 'basic':772 'best':801,1377 'block':1065,1160,1322,1326,1332,1404 'bug':1225,1252,1256 'bugs.md':1244,1257,1265,1301 'category-awesome-copilot' 'chang':708,1454 'charact':316,1030,1045,1053,1069,1130,1146,1153,1164 'check':842 'circumfer':1106,1115,1116,1202,1211,1212 'clear':528,623,985,1095,1191,1461 'code':390,394,833,843,856,1064,1159,1321,1325,1331,1403 'code.md':824,848,878,879 'command':934,937,942,959,960,972,981,1366 'commonmark':383,409,411 'compar':140,845 'compat':367 'consider':1315 'consist':145 'content':154,258,468,1276,1389 'convent':123,345 'convers':39,44,56,75,199,325,614,855 'convert':1,10,25,88,98,110,159,244,270,334,532,543,628,697,724,750,804,816,919,993,1008,1020,1266,1334,1428 'copi':280,287,788,1248,1255,1263 'copilot':6 'correct':1409 'correspond':249,593,784,837 'cp':793 'creat':276 'current':15,138,186,198,612,676,768,1019,1250,1275 'dash':1058 'data':267,348,434,557,580,740,1456 'decreas':732 'default':369 'detail':871,903 'detect':564 'differ':135 'digit':686 'directori':293 'disregard':762 'docs.github.com':1441 'docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax':1440 'document':12,22,33,64,68,100,241,266,284,298,312,423,457,791,807,811,839,929,1253,1348,1413 'doubt':1373,1465 'edit':496 'element':1407 'els':1070,1165 'end':534,625,630,1345 'endpoint':529 'enough':1067,1162 'ensur':366,1400 'entir':311,456 'eof':523,604,616 'escap':1038,1139 'establish':74 'exampl':771,1350 'exclud':132 'exist':253,255,275,474,569,910,1215 'exit':1343,1351,1353 'expand':646 'expert':20 'explicit':52 'express':1296 'extens':388 'extra':1043,1055,1144 'f':1111,1207 'featur':408 'fenc':1324 'fetch':208,1439,1443,1447 'file':34,80,84,105,112,139,157,219,220,223,226,233,234,242,250,256,285,288,299,327,330,336,486,536,573,627,632,744,777,794,831,835,916,927,930,949,995,1010,1022,1217,1245,1264 'file.md':289,785,795,822,909,920,953,955,990,1015 'final':221,300,983,1014,1073,1168 'flavor':372,402 'float':1091,1187 'follow':54,72,124,472,482 'format':37,91,119,322,341,1396 'full':870,902 'function':1367 'generic':29,239 'gfm':374 'github':9,368,371 'github-flavor':370 'gitlab':399,401 'gitlab-flavor':400 'goal':1385 'guid':96,115,222,326,447,814,823,948 'handl':134 'head':685,704,710,898 'header':414,419,428,450,465,693,715,720,1401 'help':853 'henc':1002 'html':1136 'identifi':437,512,568,579,850,1319,1323,1327 'import':492,1088,1184,1451 'indent':317,730,734,1063,1158,1318,1320 'indic':624 'info':939,978 'inlin':1219 'input':652,667,1092,1188 'instruct':53,57,127,183,191,227,346,355,555,556,634,640,656,661,673,1221,1424,1460 'item':866,874,891,906,1041,1142,1282,1285,1288,1308,1311,1314 'keep':1411 'kill':1354 'killal':1356 'languag':305,998,1329 'learn.microsoft.com':1449 'learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops':1448 'let':786,840,922,1098,1118,1194,1246,1271 'level':429,705,711,713,718 'like':1087,1182 'line':546,607,1034,1134,1317 'list':378,1040,1047,1141,1148,1402 'll':798,918,1013,1260 'look':876,924 'maintain':144,1391 'make':196 'manner':181 'markdown':14,38,83,111,246,278,335,363,373,396,403,418,613,701,727,753,800,810,818,834,880,956,994,1009,1021,1024,1124,1216,1270,1277,1303,1376,1393,1431 'match':584,759,912,1292 'math':1089,1101,1185,1197 'math.pi':1103,1108,1199,1204 'md':4,251 'method':40 'miss':599 'mv':703 'mv-head-level':702 'name':229,357,765 'natur':997 'nest':1046,1051,1147 'new':277 'none':462,566 'note':504,754,996,1370 'number':547,608,690,894 'occur':578 'ok':944,1289 'one':46,272,590,1050,1151 'open':861,884 'optim':391 'option':65,170,203,230,413,936,943,964,968,974,982,1436 'option-with-text-subhead':963 'option/procedure':69 'organ':1418 'origin':282 'p':470,502,1226 'paragraph':736,1027,1127 'paramet':168,201,232,1434 'pass':71,172,302,349,500,525,542,558,618,642,663,1072,1167 'pattern':120,342,471,475,480,503,513,570,577,586,588,597,851,1297,1316 'perform':43 'plain':26,237,264,296 'plaintext':2,11,283,699,725,751,790,806,838,1251 'platform':228,356,361,406 'platform-specif':405 'point':519 'polish':991,1006 'portion':489,741 'practic':802,1378 'pre':231,681,764 'predefin':633,639,660,682,760 'prepend':689 'preserv':1386 'preview':397 'previous':87,333 'print':1110,1206 'procedur':1341,1369 'process':1339 'program':1328 'prompt':162,187,352,554,561,655,677,769,1459 'proper':36,1269,1392 'provid':58,107,353,463,567,1437 'put':189 'python':1081,1096,1176,1183,1192 'quit':1357,1359 'radius':1090,1104,1109,1186,1200,1205 'rang':511 'raw':738 'read':1273 'readabl':1414 'reason':176 'refer':79,104,143,148,215,225,329,1382,1383,1398,1438 'reference-fil':224,328 'regard':1342 'regex':551,1227 'regular':1295 'remov':687 'render':364,398 'request':61 'requir':235 'resolv':1077,1172 'retriev':210 'return':1062,1071,1157,1166 'rm':684,729 'rm-head-digit':683 'rm-indent':728 'role':16 'rule':76 'scan':308 'script':194,1426 'section':216,438,453,591,594,863,865,868,873,885,887,890,900,905,1279,1281,1284,1287,1305,1307,1310,1313 'see':780,827,908,1017,1239,1397 'select':433,477,479,498,506,517 'serv':444 'set':1422 'sever':167 'shorthand':1220,1294 'similar':99,304,921,1075,1170,1365 'skill':7 'sleep':1360,1362 'sloppi':321 'sourc':1380 'source-github' 'space':315,1029,1044,1052,1056,1068,1129,1145,1152,1163 'specialist':23 'specif':55,153,387,407,412 'specifi':129,358,426,531,548,1466 'stackoverflow':382,386 'stackoverflow-specif':385 'standard':410 'start':1032,1132 'stop':518,522,601,610,1337 'strikethrough':379 'structur':121,343,469,1410 'sub':897 'sub-head':896 'subhead':967,971,977 'syntax':678,1084,1179,1394 'tabl':376 'tag':420 'target':360 'task':377,1346 'technic':21,1388 'templat':94,339 'text':27,31,90,240,265,297,347,622,739,857,859,882,914,928,931,966,970,976,1429 'text-bas':30 'thing':1123 'three':48 'titl':858,881,932,957,1025,1125 'togeth':190 'tool':207 'treat':261 'trigger':986 'trim':314,1120 'unclear':205 'unifi':180,1421 'unless':1457 'updat':440,484,695,722,748,952,1261,1299 'url':212,1384 'usag':160,770 'use':45,81,102,165,206,307,331,435,648,669,773,812,1004,1083,1178,1375,1432 'user':774,819,987,1222 'variat':999 've':951,1291 'vs':389,393 'well':1417 'well-organ':1416 'without':1066,1161,1463 'work':510 'www.markdownguide.org':1445 'www.markdownguide.org/extended-syntax/':1444 'x':706,714,731,746 'y':707,719","prices":[{"id":"370997d2-dc8c-49b1-9c35-67b6158085d3","listingId":"8217342b-433b-41e7-9b9d-67c63c57d050","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-04-18T20:25:58.353Z"}],"sources":[{"listingId":"8217342b-433b-41e7-9b9d-67c63c57d050","source":"github","sourceId":"github/awesome-copilot/convert-plaintext-to-md","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/convert-plaintext-to-md","isPrimary":false,"firstSeenAt":"2026-04-18T21:48:41.821Z","lastSeenAt":"2026-04-22T12:52:08.565Z"},{"listingId":"8217342b-433b-41e7-9b9d-67c63c57d050","source":"skills_sh","sourceId":"github/awesome-copilot/convert-plaintext-to-md","sourceUrl":"https://skills.sh/github/awesome-copilot/convert-plaintext-to-md","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:58.353Z","lastSeenAt":"2026-04-22T13:40:15.393Z"}],"details":{"listingId":"8217342b-433b-41e7-9b9d-67c63c57d050","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"convert-plaintext-to-md","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/convert-plaintext-to-md"},"updatedAt":"2026-04-22T13:40:15.393Z"}}