astro-content

Create Astro/Starlight MDX content pages. Use when the user says "write a new article", "add a blog post", "create content in Tech/Life category", or "add an MDX page".

16 stars

Best use case

astro-content is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Create Astro/Starlight MDX content pages. Use when the user says "write a new article", "add a blog post", "create content in Tech/Life category", or "add an MDX page".

Teams using astro-content should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/astro-content/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/content-media/astro-content/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/astro-content/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How astro-content Compares

Feature / Agentastro-contentStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Create Astro/Starlight MDX content pages. Use when the user says "write a new article", "add a blog post", "create content in Tech/Life category", or "add an MDX page".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# astro-content

Create Astro/Starlight MDX content pages.

## Trigger Examples

- "Write a new article"
- "Add an article to Tech category"
- "Create a blog post"
- "Add an MDX page"

## Directory Structure

```
app/src/content/docs/
├── about-me/          # About Me section
│   └── overview.mdx
├── tech/              # Tech articles
│   └── *.mdx
└── life/              # Life articles
    └── *.mdx
```

## Execution Flow

### 0. Wall-Hitting Phase (Before Writing)

Before creating files, have a conversation with the user to clarify the article's direction:

1. **Clarify the core message**
   - Ask: "What do you want readers to take away?"
   - Identify the single most important point

2. **Dig into experiences and episodes**
   - Ask for concrete stories, failures, and learnings
   - Extract raw, unpolished details (these become authentic content)

3. **Decide writing style early**
   - Japanese: Confirm「だ・である調」vs「ですます調」before writing
   - English: Confirm formal vs conversational tone

4. **Verify title-content alignment**
   - Ensure the title matches the core message
   - If the content evolves, revisit the title

### 1. Confirm Category

Ask user for category:

| Category | Purpose |
|----------|---------|
| tech | Technical articles (Cloud, AI, DevOps, Architecture, etc.) |
| life | Lifestyle, hobbies, journals, etc. |

### 2. Gather Article Information

Confirm the following:

- **Title**: Article title
- **Description**: One-sentence summary
- **Slug**: URL path (e.g., `tech/genkit-intro` → `/tech/genkit-intro/`)
- **Draft**: Whether it's a draft (default: false)

### 3. Create MDX File

**File path**: `app/src/content/docs/{category}/{slug}.mdx`

**Frontmatter template**:

```yaml
---
title: <title>
description: <description>
draft: true  # Only if draft
---
```

**With hero image**:

```yaml
---
title: <title>
description: <description>
hero:
  tagline: <subtitle>
  image:
    alt: <image description>
    file: ../../../assets/<image-file>
---
```

### 4. Update sidebar.ts

Add new article to `app/src/sidebar.ts`:

```typescript
{
  label: "Tech",
  items: [
    { label: "<Article Title>", slug: "tech/<slug>" },
  ],
},
```

### 5. Assets (Optional)

If using images:

1. Place image in `app/src/assets/`
2. Import and use in MDX:

```mdx
import myImage from '../../../assets/my-image.png';

<img src={myImage.src} alt="Description" style="..." />
```

## Content Guidelines

1. **Language**: English or Japanese (follow user preference)
2. **Markdown**: Use GitHub Flavored Markdown
3. **Headings**: Start with `##` (`#` is auto-generated from title by Starlight)
4. **Lists**: Use bullet points for readability
5. **Code blocks**: Always specify language (`typescript`, `bash`, etc.)
6. **Emoji**: Use sparingly (only when user explicitly requests)

## Avoiding AI-like Writing

Common patterns that make articles feel "AI-generated" — avoid these:

### Headings

- **Avoid**: 「転機:〜」「結論:〜」「まとめ」 (feels formulaic)
- **Better**: Simple, direct headings that flow naturally from content

### Structure

- **Avoid**: Overly organized tables summarizing points (feels forced)
- **Better**: Let the narrative carry the message; tables only when genuinely helpful

### Introductions

- **Avoid**: Starting with a dialogue or rhetorical question that feels staged
- **Better**: Jump into the topic directly or share a brief personal context

### Conclusions

- **Avoid**: Abrupt transition to "## 結論" with bullet-point summaries
- **Better**: Use a horizontal rule (`---`) and let the closing flow naturally from the content

### Tone

- **Avoid**: Overly balanced statements ("〜かもしれない" everywhere)
- **Better**: Take a stance when you have conviction; acknowledge uncertainty honestly when you don't

### Key principle

If a section feels "too neat" or "too organized," it probably needs more raw, human detail. Ask the user for specific episodes, failures, or emotions to make it authentic.

## Post-Creation Verification

After creation, suggest:

```bash
cd app && npm run build && npm run lint && npm run typecheck
```

Verify build succeeds.

Related Skills

wechat-content-skill

16
from diegosouzapw/awesome-omni-skill

公众号内容创作助手 - 帮助高效采集素材、筛选选题、创作优质文章

url-content-loading

16
from diegosouzapw/awesome-omni-skill

A URL content loading tool that extracts text or metadata from URLs across multiple platforms (YouTube, PTT, Twitter/X, Truth Social, Reddit, GitHub, and more). Use this when you need to load and extract content from social posts, videos, documents, or code repositories for scraping, data extraction, or content analysis.

social-content

16
from diegosouzapw/awesome-omni-skill

When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms. Also use when the user mentions 'LinkedIn post,' 'Twitter thread,' 'social media,' 'content calendar,' 'social scheduling,' 'engagement,' or 'viral content.' This skill covers content creation, repurposing, and platform-specific strategies.

seo-content

16
from diegosouzapw/awesome-omni-skill

Content quality and E-E-A-T assessment with AI citation readiness scoring. Evaluates Experience, Expertise, Authoritativeness, and Trustworthiness alongside word count analysis, readability metrics, keyword optimization, content structure, and Generative Engine Optimization (GEO) signals.

seo-content-refresher

16
from diegosouzapw/awesome-omni-skill

Identifies outdated elements in provided content and suggests updates to maintain freshness. Finds statistics, dates, and examples that need updating. Use PROACTIVELY for older content.

refresh-content

16
from diegosouzapw/awesome-omni-skill

Update existing content with fresh information and improvements.

instagram-content

16
from diegosouzapw/awesome-omni-skill

Creates viral Instagram Reels, Stories, and posts using the Hook-Substance-Payoff framework, with technical recording settings, engagement tactics, caption copywriting, and hashtag strategy. Use when scripting short-form video, writing IG captions, or developing Instagram content strategy. Trigger phrases: "Instagram reel", "IG post", "social media content", "stories script", "caption for Instagram". Do NOT use for long-form blog posts (use web-copy), product descriptions (use product-copy), or email campaigns (use newsletter).

gtse-social-content

16
from diegosouzapw/awesome-omni-skill

B2B social media content strategy for GTSE industrial supplies. Primary focus on LinkedIn for reaching trade professionals and procurement managers. Includes product demos, industry tips, and trade customer engagement. Adapted for industrial supplies B2B social marketing.

Generate educational content with fixed sections

16
from diegosouzapw/awesome-omni-skill

Generate educational content about any topic following a user-specified structure: include a set number of learning tips/tricks or activities, fun facts, Q&A pairs, jokes, and optionally extend with additional lines. Always list supplies for activities when requested.

didactic-content-generator

16
from diegosouzapw/awesome-omni-skill

Gere conteúdo didático de alta qualidade em HTML/CSS com ilustrações SVG, usando um sistema de Temas pré definidos e reutilizáveis. Capaz de criar ou editar apostilas, tutoriais e materiais educacionais que seguem filosofias pedagógicas claras.

Contentful Automation

16
from diegosouzapw/awesome-omni-skill

Automate headless CMS operations in Contentful -- list spaces, retrieve space metadata, and update space configurations through the Composio Contentful integration.

content-research-writer

16
from diegosouzapw/awesome-omni-skill

Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.