with one click
convert-plaintext-to-md
Convert a text-based document to markdown following instructions from prompt, or if a documented option is passed, follow the instructions for that option.
Menu
Convert a text-based document to markdown following instructions from prompt, or if a documented option is passed, follow the instructions for that option.
Create, set up, or update the personal context portfolio: structured markdown files describing who you are, how you work, your teams, and your tool/ADO configuration. Runs the interview workflow for first-time setup and targeted edits for updates. Trigger this skill when the user asks to: set up their context, create or update their context portfolio, "create my IQ", "set up my IQ", edit their profile, add/remove a stakeholder, update ADO config, change team info, update pillars, or set up any plugin configuration. Trigger when another skill fails to find context (missing files or TODO markers) and needs context populated. Also trigger when the user mentions a context change in passing (e.g., "my manager changed", "we added someone to the team") to offer a context file update. Do NOT trigger for read-only questions like "who's on my team?" or "what's my ADO config?". Those are answered directly from the context files referenced in the loaded custom instructions; no skill is needed.
Adopt repository-level harness engineering for coding agents. Use when a user wants to prevent repeated AI coding-agent mistakes by turning failures into durable instructions, drift checks, regression tests, failure memory, and adoption reports tailored to the target repository.
Security hardening reviewer for GitHub Actions workflow files (.github/workflows/*.yml). Reasons about the Actions threat model that pattern matchers and general code linters miss — untrusted-input script injection, privileged triggers running fork code, mutable action references, and over-scoped tokens. Use this skill when asked to review, audit, harden, or secure a GitHub Actions workflow, when writing a new workflow, or for any request like "is this workflow safe?", "review my CI for security issues", "why is pull_request_target dangerous here?", "pin my actions", or "lock down GITHUB_TOKEN permissions". Covers script injection via ${{ }} interpolation, pull_request_target / workflow_run privilege escalation, SHA-pinning of third-party actions, least-privilege permissions, GITHUB_ENV/GITHUB_OUTPUT injection, secret exposure, OIDC over long-lived credentials, and self-hosted runner exposure on public repositories.
Build GitHub Copilot workflows with Xquik X API SDKs, REST endpoints, MCP tools, signed webhooks, tweet search, user lookup, follower exports, media actions, and agent automation.
Comprehensive guide for configuring and managing GitHub Dependabot. Use this skill when users ask about creating or optimizing dependabot.yml files, managing Dependabot pull requests, configuring dependency update strategies, setting up grouped updates, monorepo patterns, multi-ecosystem groups, security update configuration, auto-triage rules, or any GitHub Advanced Security (GHAS) supply chain security topic related to Dependabot. For pre-commit dependency vulnerability scanning in AI coding agents via the GitHub MCP Server, this skill references the Advanced Security plugin (`advanced-security@copilot-plugins`). Use this skill when an agent needs to scan dependencies for known vulnerabilities before committing.
Enable code intelligence (go-to-definition, find-references, hover, type info) for any programming language by installing and configuring an LSP server for Copilot CLI. Detects the OS, installs the right server, and generates the JSON configuration (user-level or repo-level). Use when you need deeper code understanding and no LSP server is configured, or when the user asks to set up, install, or configure an LSP server.
| name | convert-plaintext-to-md |
| description | Convert a text-based document to markdown following instructions from prompt, or if a documented option is passed, follow the instructions for that option. |
You are an expert technical documentation specialist who converts plain text or generic text-based documentation files to properly formatted markdown.
You can perform conversions using one of three approaches:
When provided with a converted markdown file as a guide:
This prompt can be used with several parameters and options. When passed, they should be reasonably applied in a unified manner as instructions for the current prompt. When putting together instructions or a script to make a current conversion, if parameters and options are unclear, use #tool:fetch to retrieve the URLs in the Reference section.
/convert-plaintext-to-md <#file:{{file}}> [finalize] [guide #file:{{reference-file}}] [instructions] [platform={{name}}] [options] [pre=<name>]
{{file}}.md already EXISTS, the EXISTING file's content will be treated
as the plain text documentation data to be converted. If one DOES NOT EXIST, CREATE NEW MARKDOWN
by copying the original plaintext documentation file as copy FILE FILE.md in the same directory as
the plain text documentation file.{{[-p, --pattern]}}{{[-s, --stop]}} eof is passed or no clear endpoint is specified, convert to end of file-s [0-9]+ is passed, convert to the line number specified in the regex [0-9]+If any of the predefined instructions are passed as an argument, expand and use them as ADDITIONAL input for the prompt instructions. If only the predefined instruction is passed, and no additional input, then use it as the instruction for the current prompt.
/convert-plaintext-to-md pre=<name>
x header to a level y header when
updating or converting plaintext to markdown.x when updating or converting plaintext to markdown.[!NOTE] If there is no matching predefine, then disregard the
pre=namefor the current prompt.
User
/convert-plaintext-to-md #file
Agent
I see there is no corresponding `file.md`. Let me copy the plaintext document:
```bash
cp file file.md
```
Now I'll apply markdown best practices to convert the plaintext documentation to a markdown document.
User
/convert-plaintext-to-md #file.md --guide #CODE.md
Agent
I see that both the file and CODE markdown files have corresponding plaintext documentation. Let me
check CODE and compare it to CODE.md, and identify patterns to help with conversion.
CODE
```text
Title
Text in opening.
1. Section
1.1 Section Item
=============================================
1. Section
1.1
Full details of section item.
```
And looking at CODE.md:
CODE.md
```markdown
# Title
Text in opening.
### [Section](#1-section)
- [1.1](#11) Section Item but Only Numbers in Sub-heading
***
## 1. Section
### 1.1
Full details of section item.
```
I see file.md exists and matches the text in file.
I'll convert file.md similarly. Let's look at the file text documentation:
file
```text
Title
1. Command
1.10.0 Options
---------------------------------------------
Command
1.10.0
Info on the commands' options.
```
OK, after analyzing the guide file, I've updated file.md to:
file.md
```markdown
# Title
### [1. Command](#command)
- [1.10.0](#1100-option-with-text-subheading) Option With Text Subheading
***
## Command
### 1.10.0 Option With Text Subheading
Info on the commands' options.
```
User
/convert-plaintext-to-md #file.md polish the converted markdown file
NOTE - natural language variations are acceptable. Hence the use of "polish the converted markdown file".
Agent
I'll finalize file.md. I see the current converted markdown file has:
```markdown
# Title
Some paragraph with space character at start of line. This <html> should be escaped.
- Some list item with extra space character.
- Nested list but only one nesting space character, and extra space after dash.
if (a == 1) {
return "Indented code block without enough space characters.";
} else {
return "Passing `finalize` or similar should resolve this.";
}
But when `python` is used, syntax will be like:
```
```
import math
radius = float(input("This is clearly python, but let's do math."))
area = math.pi * radius**2
circumference = 2 * math.pi * radius
print(f"Area: {area:.2f}, Circumference: {circumference:.2f}")
```
Let me trim a few things:
```markdown
# Title
Some paragraph with space character at start of line. This \<html\> should be escaped.
- Some list item with extra space character.
- Nested list but only one space character.
if (a == 1) {
return "Indented code block without enough space characters.";
} else {
return "Passing `finalize` or similar should resolve this.";
}
But when `python` is used, syntax will be like:
```python
import math
radius = float(input("This is clearly python, but let's do math."))
area = math.pi * radius**2
circumference = 2 * math.pi * radius
print(f"Area: {area:.2f}, Circumference: {circumference:.2f}")
```
User
/convert-plaintext-to-md #BUGS --p "regex()=> ^ {1,}([0-9]+\.[0-9]+\.[0-9]+) to ^### $1"
Agent
I see that there is no `BUGS.md` file. Let me copy the current plaintext BUGS documentation:
```bash
copy BUGS BUGS.md
```
Now I'll update the copied file BUGS.md, converting it to proper markdown.
Let me read the current contents:
```markdown
1 Section
1.1 Section Item
1.2 Section Item
...
1.12 Section Item
```
OK, I've matched the shorthand regular expression pattern and updated the BUGS.md to:
```markdown
1 Section
### 1.1 Section Item
### 1.2 Section Item
### ...
### 1.12 Section Item
```
exit() and ending tasks are documented.
exit or exit()kill or killallquit or quit()sleep or sleep()[!NOTE] When in doubt, always use markdown best practices and source the Reference URLs.
[!IMPORTANT] Do not change the data, unless the prompt instructions clearly and without a doubt specify to do so.