Skip to main content

new-article

Create a new MDX article with frontmatter, example embeds, and custom components. Use when writing in-depth UX guides or tutorials. Use when this capability is needed.

Jump to install

Source facts

Repository
tomevault-io/tomes
Last source activity
July 23, 2026 at 21:48
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
new-article
description
Create a new MDX article with frontmatter, example embeds, and custom components. Use when writing in-depth UX guides or tutorials. Use when this capability is needed.
metadata
{"author":"clementbouly"}
# Create New Article This skill helps you create in-depth UX guide articles using MDX. ## Structure Articles require 2 things: 1. MDX file in `src/pages/article/{slug}.mdx` 2. Registration in `src/articles.ts` Optionally, custom interactive components in `src/components/articles/` ## Step-by-step process ### 1. Create the MDX file Create `src/pages/article/{slug}.mdx`: ```mdx --- layout: "@/layouts/ArticleLayout.astro" title: "Article Title" description: "Brief description for SEO and article list" --- import { ExampleEmbed } from "@/components/articles/ExampleEmbed"; # Article Title Introduction paragraph explaining what this guide covers. ## Section 1 Content with **bold** and *italic* text. <ExampleEmbed id="existing-example-id" client:load /> ### Subsection - Bullet points - For key takeaways ## Section 2 More content... ``` ### 2. Register in src/articles.ts ```typescript export const articles: Article[] = [ // ... existing articles { slug: "my-article-slug", // Must match filename without .mdx title: "Article Title", description: "Brief description", tags: ["Tag1", "Tag2"], createdAt: "YYYY-MM-DD", // Today's date in ISO format }, ]; ``` ## Embedding examples Use `ExampleEmbed` to include existing UX pattern examples: ```mdx import { ExampleEmbed } from "@/components/articles/ExampleEmbed"; <ExampleEmbed id="verification-code-input" client:load /> ``` The `id` must match an existing example in `src/examples/`. **Important**: Always add `client:load` for React components in MDX. ## Custom article components For complex interactive elements, create components in `src/components/articles/`: ``` src/components/articles/ ├── ExampleEmbed.tsx # Embed existing examples ├── EmailComparison.tsx # Custom comparison component ├── UltimateOtpDemo.tsx # Custom demo component └── ux-speed-game/ # Complex multi-file component ├── index.tsx ├── Game.tsx └── ... ``` Then import in your MDX: ```mdx import { MyCustomComponent } from "@/components/articles/MyCustomComponent"; <MyCustomComponent client:load /> ``` ## MDX features ### Markdown syntax - `#`, `##`, `###` for headings - `**bold**`, `*italic*` - `- item` for bullet lists - `1. item` for numbered lists - `` `code` `` for inline code - Code blocks with triple backticks ### React components - Import at the top after frontmatter - Use with `client:load` for interactivity - Self-closing tags: `<Component />` ### Frontmatter (required) ```yaml --- layout: "@/layouts/ArticleLayout.astro" title: "Page title (shown in browser tab)" description: "SEO description" --- ``` ## Article structure best practices 1. **Introduction** - What the reader will learn 2. **Sections** - Each covering one aspect - Use `<ExampleEmbed />` to show patterns - Include "Why it matters" subsections - Add "Best practices" lists 3. **Conclusion** - Summary or call to action ## Styling notes - The article layout adds a white card background with padding - `prose` classes handle typography automatically - `---` (horizontal rules) are hidden by default - Headings get automatic spacing ## Available example IDs Check `src/examples/index.ts` for all available example IDs to embed. --- > Converted and distributed by [TomeVault](https://tomevault.io/claim/clementbouly) — claim your Tome and manage your conversions. <!-- tomevault:4.0:skill_md:2026-04-11 -->
View on GitHub