AgentStack
SKILL verified MIT Self-run

Hackmd Markdown

skill-eastsun5566-hackmd-skills-hackmd · by EastSun5566

Create and edit HackMD documents with full markdown support, diagrams (Mermaid, Graphviz, PlantUML), and embeds (YouTube, Gist, PDF, Figma). Use when working with HackMD collaborative documentation.

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-eastsun5566-hackmd-skills-hackmd

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Hackmd Markdown? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

HackMD Flavored Markdown Skill

This skill enables AI agents to create and edit HackMD documents with full support for HackMD Flavored Markdown, diagrams, and external embeds.

Metadata (Title and Tags)

HackMD metadata is managed through the editor UI, not in the document content.

Title:

  • Edit using the title field in the HackMD editor
  • If not set, the first H1 header (# Heading) will be used as the title
  • If no title or H1 exists, the note will be titled "Untitled"

Tags:

  • Edit using the tags field in the HackMD editor

Other Settings:

  • Configure in the note's "Settings" menu
  • Slide mode settings are in the "Slide mode" section of the "Share" menu

Tags (Inline Format)

Define tags inline at the start of document:

###### tags: `feature` `documentation` `v2.0`

> [!NOTE] > Tags can also be managed through the HackMD editor UI.

Table of Contents

Auto-generate ToC with:

[TOC]

This will be replaced with a hierarchical list of headers.

Alert Boxes

Create colored alert boxes with:

:::success
Success message with :tada: emoji!
:::

:::info
Information message with :mega: emoji!
:::

:::warning
Warning message with :zap: emoji!
:::

:::danger
Danger message with :fire: emoji!
:::

:::spoiler Click to reveal
Hidden content here :stuck_out_tongue_winking_eye:
:::

:::spoiler {state="open"} Expanded by default
This spoiler is open initially
:::

Enhanced Blockquotes

Add author, time, and color to blockquotes:

> This is a quote with metadata
> [name=John Doe] [time=2024-01-15 10:30] [color=#3b5998]

> Nested quotes also work
> [name=Jane Smith] [time=2024-01-15 10:35] [color=red]
> > Even deeper nesting!
> > [name=Bob] [time=2024-01-15 10:36] [color=#00ff00]

Code Blocks with Line Numbers

```javascript= // Line numbers start from 1 var s = "JavaScript"; alert(s);


```python=101
# Line numbers start from 101
def greet(name):
    print(f"Hello, {name}!")

```javascript=+ // Continue line numbers from previous block var continuation = true;


### Code Wrapping

For long lines without breaks, add exclamation mark after the language (e.g., `javascript!`):

```javascript!
This is a very long line that will wrap instead of creating horizontal scroll, making it easier to read on mobile devices or narrow screens.

CSV Tables

Render CSV data as tables:

```csvpreview {header="true"} Name,Email,Role Alice,alice@example.com,Developer Bob,bob@example.com,Designer Charlie,charlie@example.com,Manager


Options:
- `header="true"` - First row as header
- `delimiter=","` - Custom delimiter
- See [Papa Parse docs](https://www.papaparse.com/docs#config) for more

## Typography Enhancements

| Syntax | Output | Description |
|--------|--------|-------------|
| `==marked==` | ==marked== | Highlighted text |
| `++inserted++` | ++inserted++ | Inserted text |
| `19^th^` | 19^th^ | Superscript |
| `H~2~O` | H~2~O | Subscript |
| `~~deleted~~` | ~~deleted~~ | Strikethrough |

## Ruby Annotations

For CJK text pronunciation:

```markdown
{ruby 漢字|かんじ}
{ruby 汉字|hànzì}

Or using superscript:

ruby base ^ruby text^

Emojis

Use emoji shortcodes:

:smile: :heart: :thumbsup: :tada: :rocket:

MathJax

Render mathematical expressions with LaTeX syntax.

Inline math:

Inline math: $E = mc^2$

Block math:

$$
\frac{1}{n} \sum_{i=1}^{n} x_i = \bar{x}
$$

Footnotes

Here's a sentence with a footnote[^1].

[^1]: This is the footnote content.

Multiple footnotes:

First reference[^first], second reference[^second].

[^first]: First footnote content.
[^second]: Second footnote content.

Definition Lists

Term 1
: Definition 1a
: Definition 1b

Term 2
: Definition 2

Task Lists

- [ ] Incomplete task
- [x] Completed task
  - [ ] Nested subtask
  - [x] Completed subtask

Diagrams

Sequence Diagrams

Alice->Bob: Hello Bob
Note right of Bob: Bob thinks
Bob-->Alice: Hi Alice
Note left of Alice: Alice responds
Alice->Bob: How are you?

Syntax:

  • -> : Solid line
  • --> : Dashed line
  • Note right of X: : Add note
  • Note left of X: : Add note

Flow Charts

st=>start: Start
e=>end: End
op=>operation: Process
cond=>condition: Decision?
io=>inputoutput: Input/Output

st->op->cond
cond(yes)->io->e
cond(no)->op

Node types:

  • start - Start node
  • end - End node
  • operation - Process box
  • condition - Decision diamond
  • inputoutput - I/O parallelogram

Mermaid Diagrams

Flowchart
graph TD
    A[Start] --> B{Is it?}
    B -->|Yes| C[OK]
    B -->|No| D[End]
    C --> D
Gantt Chart
gantt
    title Project Schedule
    dateFormat  YYYY-MM-DD
    
    section Phase 1
    Design           :a1, 2024-01-01, 30d
    Development      :after a1, 45d
    
    section Phase 2
    Testing          :2024-03-15, 20d
    Deployment       :2024-04-05, 10d
Sequence Diagram
sequenceDiagram
    participant A as Alice
    participant B as Bob
    A->>B: Hello!
    B->>A: Hi there!
Class Diagram
classDiagram
    class Animal {
        +String name
        +int age
        +makeSound()
    }
    class Dog {
        +String breed
        +bark()
    }
    Animal  B;
    B -> C;
    B -> D;
    C -> E;
    D -> E;
}

Advanced example:

digraph hierarchy {
    nodesep=1.0
    node [color=Red,fontname=Courier,shape=box]
    edge [color=Blue, style=dashed]
    
    CEO -> {CTO CFO COO}
    CTO -> {Dev1 Dev2}
    CFO -> Accountant
    {rank=same; Dev1 Dev2 Accountant}
}

PlantUML

Activity Diagram
@startuml
start
:Initialize;
if (Condition?) then (yes)
  :Action A;
else (no)
  :Action B;
endif
:Complete;
stop
@enduml
Use Case Diagram
@startuml
left to right direction
actor User
actor Admin

rectangle System {
  User -- (Browse)
  User -- (Purchase)
  Admin -- (Manage Users)
  Admin -- (View Reports)
}
@enduml

ABC Music Notation

X:1
T:Twinkle Twinkle Little Star
M:4/4
L:1/4
K:C
C C G G | A A G2 | F F E E | D D C2 |
G G F F | E E D2 | G G F F | E E D2 |
C C G G | A A G2 | F F E E | D D C2 |

Vega-Lite (Data Visualization)

{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "data": {
    "values": [
      {"category": "A", "value": 28},
      {"category": "B", "value": 55},
      {"category": "C", "value": 43},
      {"category": "D", "value": 91}
    ]
  },
  "mark": "bar",
  "encoding": {
    "x": {"field": "category", "type": "nominal"},
    "y": {"field": "value", "type": "quantitative"}
  }
}

Fretboard (Guitar Tabs)

```fretboard {title="C Major Chord", type="h6"} -oO-- --o-o- -o-oo- -o-oO- -oo-o- -O-o- 3


Options:
- `type="h6"` - Horizontal, 6 frets
- `type="v6"` - Vertical, 6 frets
- `title="..."` - Add title

## External Embeds

### YouTube

```markdown
{%youtube VIDEO_ID %}
{%youtube 1G4isv_Fylg %}

Vimeo

{%vimeo VIDEO_ID %}
{%vimeo 124148255 %}

GitHub Gist

{%gist username/gist_id %}
{%gist schacon/4277 %}

SlideShare

{%slideshare username/presentation-id %}
{%slideshare briansolis/26-disruptive-technology-trends-2016-2018-56796196 %}

Speaker Deck

{%speakerdeck username/presentation-slug %}
{%speakerdeck sugarenia/xxlcss-how-to-scale-css-and-keep-your-sanity %}

PDF

{%pdf https://example.com/document.pdf %}

> [!WARNING] > PDFs require HTTPS URLs and may be blocked by browsers with mixed content protection.

Figma

{%figma FIGMA_URL %}
{%figma https://www.figma.com/file/ABC123/Design?node-id=1:2 %}

HackMD Notes

Embed another HackMD note:

{%hackmd NOTE_ID %}
{%hackmd @user/note-title %}

Slide Mode

Separate slides with horizontal (---) and vertical (----) dividers:

# First Slide

Content here

---

# Second Slide (next horizontal slide)

More content

----

# Vertical Slide (below second slide)

Use four dashes for vertical slides

---

# Slide with Red Background

You can add slide-specific attributes

> [!NOTE] > Slide theme and transition settings should be configured in the "Slide mode" section of the "Share" menu.

Book Mode

Create a book structure with nested links:

# Book Title

## Chapter 1
- [Section 1.1](link-to-note-1)
- [Section 1.2](link-to-note-2)

## Chapter 2
- [Section 2.1](link-to-note-3)
  - [Subsection 2.1.1](link-to-note-4)

Image Upload

Images can be embedded with size control:

Permissions & Sharing

While editing, permissions can be set via UI:

  • Read: Owners, Signed-in users, Everyone
  • Write: Owners, Signed-in users, Everyone
  • Comment: Forbidden, Owners, Signed-in users, Everyone

References

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.