Agent skill

markdown-codeblock

Use when the user wants to highlight code in markdown files, including inline code highlighting with {lang} prefix syntax, code blocks with language fences and titles, and transformer marks for diffs, highlights, focus, errors, and warnings. Always read this skill file when inserting code blocks or inline code in markdown.

Stars 36
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/Efterklang/dotfiles/tree/main/tui_cli/opencode/skills/markdown-codeblock

SKILL.md

Shiki Code Highlighting for Markdown Blogs

Inline Code Syntax

Apply to code wrapped in single backticks:

md
`{python} print("Hello")`
`{javascript} console.log("x")`
`{html} <div></div>`
`{rust} fn main() {}`
`{shell} echo "hi"`

Do NOT use {lang} prefix on triple-backtick code blocks.

Code Blocks

Use language name in opening fence. Optionally add filename after language:

python
def greet(name):
    return f"Hello, {name}!"
typescript
const add = (a: number, b: number): number => a + b;

Nested Code Blocks

The default number of backticks for code blocks is 3. When there are nested code blocks inside the content, the outer code block's backticks increase by one per nesting level. If there are multiple layers of nesting, continue adding backticks accordingly.

For example, if the inner content contains triple backticks, use 4 backticks for the outer wrapper:

md
```typescript
// Your code example here that might contain ``` in it
```

If the inner content has 4 backticks, use 5 for the outer, and so on.

Transformer Marks

Add marks in comments after #. Use marks to draw attention or add semantic meaning:

Mark When to Use
# [!code --] Show code removal (before → after comparisons)
# [!code ++] Show code addition (before → after comparisons)
# [!code highlight] Emphasize important or key lines
# [!code word:term] Highlight specific identifier, keyword, or term
# [!code focus] De-emphasize surrounding code, focus on one section
# [!code error] Mark lines with errors, invalid code, or exceptions
# [!code warning] Mark lines with warnings, deprecations, or cautions

Diff (Before → After)

rust
let x = 5; // [!code --]
let x = 10; // [!code ++]

Line Highlight (Key Lines)

python
def calculate(items):
    total = 0
    for item in items:  # [!code highlight]
        total += item.price
    return total  # [!code highlight]

Word Highlight (Specific Terms)

typescript
// [!code word:interface]
interface User {
  id: number;  // [!code word:id]
  name: string;  // [!code word:name]
}

Focus (Main Topic)

go
// [!code focus]
func (s *Service) Process() error {
    return s.validate()
}

func (s *Service) validate() error {
    // validation logic
}

Error (Problematic Code)

javascript
const result = JSON.parse(userInput); // [!code error]

try {
    await riskyOperation(); // [!code error]
} catch (e) {
    handleError(e); // [!code warning]
}

Expand your agent's capabilities with these related and highly-rated skills.

Efterklang/dotfiles

slidev

Create and present web-based slides for developers using Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, or teaching materials.

36 0
Explore
Efterklang/dotfiles

obsidian-markdown

Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.

36 0
Explore
Efterklang/dotfiles

obsidian-bases

Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.

36 0
Explore
Efterklang/dotfiles

json-canvas

Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.

36 0
Explore
Efterklang/dotfiles

skill-creator

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

36 0
Explore
bnomei/kirby-mcp

kirby-i18n-workflows

Manages Kirby multi-language workflows, translations, and localized labels. Use when dealing with languages, translation keys, placeholders, or importing/exporting translations.

40 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results