AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified BSD-3-Clause Self-run

Slack Formatter

skill-lexfrei-ccc-slack-formatter · by lexfrei

Copy markdown text to macOS clipboard as rich HTML + plain-text fallback, ready for Cmd+V into Slack with formatting (bold, lists, code blocks, headings) preserved. Use when the user asks to prepare, format, copy, or paste text for Slack, or when a drafted message with markdown formatting needs to go into Slack without losing structure.

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

Install

$ agentstack add skill-lexfrei-ccc-slack-formatter

✓ 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-lexfrei-ccc-slack-formatter)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Slack Formatter? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Convert markdown to rich text and place it in the macOS clipboard so the user can Cmd+V it into Slack with formatting preserved.

When to invoke this skill

Trigger automatically when the user:

  • asks to prepare/format text for Slack (any language: "для Slack", "paste to Slack", "send to Slack", "для слака", "put into pbcopy for Slack")
  • has a drafted reply in markdown in the conversation and wants it copied to the clipboard for pasting somewhere that supports rich text
  • explicitly asks to "put into pbcopy with formatting" / "copy as rich text"

Do not invoke when the user asks for plain text only (tldrpr already covers that case).

Input resolution

Parse $ARGUMENTS:

  1. If a file path is passed — use that file.
  2. Otherwise — use the most recent drafted markdown content from the conversation context (a reply, message, summary). Write it to a temp file first:

``bash TMPFILE=$(mktemp -t slackfmt).md # write conversation-drafted markdown here via Write tool ``

If no draft is available and no path given — ask the user what text to format.

Execution

Require pandoc (install via Homebrew if missing: brew install pandoc). Swift is already shipped with macOS.

Run this block, substituting $MDFILE with the resolved input path:

MDFILE="${1:?markdown file required}"
HTMLFILE="${MDFILE%.md}.html"

command -v pandoc >/dev/null || { echo "pandoc not found — brew install pandoc" >&2; exit 1; }

pandoc -f gfm -t html "$MDFILE" -o "$HTMLFILE" || exit 1

SWIFT_SCRIPT=$(mktemp -t slackfmt).swift
cat > "$SWIFT_SCRIPT" = 3 else {
    FileHandle.standardError.write("usage: pbcopy_html  \n".data(using: .utf8)!)
    exit(2)
}

guard let html = try? String(contentsOfFile: CommandLine.arguments[1], encoding: .utf8),
      let plain = try? String(contentsOfFile: CommandLine.arguments[2], encoding: .utf8) else {
    FileHandle.standardError.write("cannot read input files\n".data(using: .utf8)!)
    exit(1)
}

let pb = NSPasteboard.general
pb.clearContents()
pb.setString(html, forType: .html)
pb.setString(plain, forType: .string)
print("OK: html=\(html.count) bytes, plain=\(plain.count) bytes")
SWIFT

swift "$SWIFT_SCRIPT" "$HTMLFILE" "$MDFILE"
rm -f "$SWIFT_SCRIPT" "$HTMLFILE"

Output

After successful copy, confirm to the user with:

  • byte sizes reported by the Swift script
  • one-line reminder: "Paste in Slack with Cmd+V — do NOT use Cmd+Shift+V (that pastes plain text and drops formatting)."

Notes

  • pbpaste will only show the plain-text fallback — this is normal. The HTML part is in the clipboard under «class HTML», which is what Slack reads.
  • Verify with osascript -e 'clipboard info' if the user reports pasting issues. Expected output includes both «class HTML» and «class utf8».
  • Slack normalizes HTML on paste: ## headings become bold text, nested lists flatten in predictable ways, fenced code blocks keep monospace font, tables become tab-separated plain text.
  • GFM input flavor (-f gfm) handles GitHub-style fenced code blocks with language hints and task lists correctly.

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.