markdown-syntax-fundamentals

$npx mdskill add TheBushidoCollective/han/markdown-syntax-fundamentals

Edit markdown files with proper syntax for structured documents.

  • Generates headings, lists, code blocks, and formatted text.
  • Integrates with Read, Write, Edit, Grep, and Glob tools.
  • Applies best practices like single H1 usage and consistent casing.
  • Outputs corrected or newly written markdown content directly.

SKILL.md

.github/skills/markdown-syntax-fundamentalsView on GitHub ↗
---
name: markdown-syntax-fundamentals
user-invocable: false
description: Use when writing or editing markdown files. Covers headings, text formatting, lists, links, images, code blocks, and blockquotes.
allowed-tools:
  - Read
  - Write
  - Edit
  - Grep
  - Glob
---

# Markdown Syntax Fundamentals

Core markdown syntax for creating well-structured documents.

## Headings

```markdown
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
```

### Heading Best Practices

- Use a single H1 (`#`) per document as the title
- Don't skip heading levels (H2 to H4)
- Keep headings concise and descriptive
- Use sentence case or title case consistently

## Text Formatting

### Emphasis

```markdown
*italic* or _italic_
**bold** or __bold__
***bold italic*** or ___bold italic___
~~strikethrough~~
```

### Inline Code

```markdown
Use `backticks` for inline code like `const x = 1`
```

## Lists

### Unordered Lists

```markdown
- Item one
- Item two
  - Nested item
  - Another nested item
- Item three

* Alternative marker
+ Also works
```

### Ordered Lists

```markdown
1. First item
2. Second item
   1. Nested numbered
   2. Another nested
3. Third item
```

### Task Lists (GitHub Flavored)

```markdown
- [x] Completed task
- [ ] Incomplete task
- [ ] Another task
```

## Links

### Basic Links

```markdown
[Link text](https://example.com)
[Link with title](https://example.com "Title text")
```

### Reference Links

```markdown
[Link text][reference-id]

[reference-id]: https://example.com "Optional title"
```

### Automatic Links

```markdown
<https://example.com>
<email@example.com>
```

### Internal Links (Anchors)

```markdown
[Jump to section](#section-heading)
```

Anchor IDs are auto-generated from headings:

- Lowercase
- Spaces become hyphens
- Special characters removed

## Images

### Basic Images

```markdown
![Alt text](image.png)
![Alt text](image.png "Optional title")
```

### Reference Images

```markdown
![Alt text][image-id]

[image-id]: path/to/image.png "Optional title"
```

### Linked Images

```markdown
[![Alt text](image.png)](https://example.com)
```

## Code Blocks

### Fenced Code Blocks

````markdown
```javascript
function hello() {
  console.log("Hello, World!");
}
```
````

### Common Language Identifiers

- `javascript` / `js`
- `typescript` / `ts`
- `python` / `py`
- `bash` / `shell` / `sh`
- `json` / `yaml`
- `html` / `css`
- `sql`
- `markdown` / `md`

### Indented Code Blocks

```markdown
    // Four spaces or one tab
    function example() {
      return true;
    }
```

## Blockquotes

### Basic Blockquotes

```markdown
> This is a blockquote.
> It can span multiple lines.

> Blockquotes can contain
>
> Multiple paragraphs.
```

### Nested Blockquotes

```markdown
> Outer quote
>> Nested quote
>>> Deeply nested
```

### Blockquotes with Other Elements

```markdown
> ## Heading in blockquote
>
> - List item
> - Another item
>
> ```code block```
```

## Horizontal Rules

```markdown
---
***
___
```

Use three or more hyphens, asterisks, or underscores.

## Escaping Characters

```markdown
\* Not italic \*
\# Not a heading
\[Not a link\]
\`Not code\`
```

Characters that can be escaped: `\` `` ` `` `*` `_` `{` `}` `[` `]` `(` `)` `#` `+` `-` `.` `!` `|`

## Line Breaks

```markdown
Line one with two trailing spaces
Line two (hard break)

Line one

Line two (paragraph break)
```

## Best Practices

1. **Consistent formatting**: Pick a style and stick to it
2. **Blank lines**: Add blank lines before and after:
   - Headings
   - Code blocks
   - Lists
   - Blockquotes
3. **Line length**: Consider wrapping at 80-120 characters for readability
4. **Alt text**: Always provide meaningful alt text for images
5. **Link text**: Use descriptive link text, not "click here"
6. **Code highlighting**: Always specify language for fenced code blocks

More from TheBushidoCollective/han

SkillDescription
absinthe-resolversUse when implementing GraphQL resolvers with Absinthe. Covers resolver patterns, dataloader integration, batching, and error handling.
absinthe-schemaUse when designing GraphQL schemas with Absinthe. Covers type definitions, interfaces, unions, enums, and schema organization patterns.
absinthe-subscriptionsUse when implementing real-time GraphQL subscriptions with Absinthe. Covers Phoenix channels, PubSub, and subscription patterns.
act-docker-setupUse when configuring Docker environments for act, selecting runner images, managing container resources, or troubleshooting Docker-related issues with local GitHub Actions testing.
act-local-testingUse when testing GitHub Actions workflows locally with act. Covers act CLI usage, Docker configuration, debugging workflows, and troubleshooting common issues when running workflows on your local machine.
act-workflow-syntaxUse when creating or modifying GitHub Actions workflow files. Provides guidance on workflow syntax, triggers, jobs, steps, and expressions for creating valid GitHub Actions workflows that can be tested locally with act.
ameba-configurationUse when configuring Ameba rules and settings for Crystal projects including .ameba.yml setup, rule management, severity levels, and code quality enforcement.
ameba-custom-rulesUse when creating custom Ameba rules for Crystal code analysis including rule development, AST traversal, issue reporting, and rule testing.
ameba-integrationUse when integrating Ameba into development workflows including CI/CD pipelines, pre-commit hooks, GitHub Actions, and automated code review processes.
analyze-performanceAnalyze performance metrics and identify slow transactions in Sentry