본문으로 건너뛰기
cccskills
무료GitHub에 공개

notion-to-blog

Transfer a Notion blog draft into an MDX file, a Markdown format with components, for the Wasp website. Preserve text formatting, download and optimize images, and prepare metadata and links according to blog conventions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Transfer a blog post from Notion to the Wasp blog. Fetches content, downloads and optimizes images, and creates a properly formatted MDX file.

연동 도구Notion

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Move a Notion draft into the Wasp blog
  • Convert article images to WebP
  • Preserve headings, code blocks, and text formatting
  • Prepare blog metadata and internal links

포함된 파일(1)

  • SKILL.md3.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Transfer a Notion page to the Wasp blog

Given a Notion page URL, convert it into an MDX blog post for the Wasp website at web/blog/.

Step 1: Fetch the Notion page

  1. Extract the page ID from the URL (the UUID at the end, formatted with dashes: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
  2. Use mcp__notion__API-retrieve-a-page to get page metadata (title, properties).
  3. Use mcp__notion__API-get-block-children to fetch all content blocks. Notion paginates at 100 blocks — check has_more and next_cursor to fetch all pages.

Step 2: Parse the content

The Notion page may contain WIP/working notes before and after the actual blog post. Ask the user where the actual post starts and ends if unclear. Typically:

  • The post starts at the first heading_1 block
  • WIP sections are often marked with a ## WIP heading or appear after a divider near the end

Use a Python script (via Bash) to parse the JSON block data because it can be very large (50K+ tokens). The script should:

  • Extract blocks in the post range
  • Convert each block to markdown based on its type:
    • heading_1/2/3 → # / ## / ###
    • paragraph → plain text with formatting
    • bulleted_list_item → -
    • numbered_list_item → 1.
    • code → fenced code block with language
    • image → collect URL and caption
    • quote → >
    • callout → > {emoji}
    • divider → ---
    • table_of_contents → skip (Docusaurus handles this)
  • Preserve rich text formatting: bold (**), italic (*), code (`), strikethrough (~~), links ([text](url))
  • Collect all image URLs and captions separately

Step 3: Download and optimize images

  1. Create directory: web/static/img/<post-slug>/
  2. Download all images using curl (Notion URLs are temporary signed S3 URLs — download immediately).
  3. Give images descriptive names based on their context/caption.
  4. Convert all images to WebP using cwebp -q 85 for smaller file sizes.
  5. Remove the original files after conversion.

Step 4: Create the MDX file

Create web/blog/YYYY-MM-DD-<slug>.mdx following these conventions:

Frontmatter:

---
title: "Post Title"
authors: [authorHandle]  # from web/blog/authors.yml
image: /img/<post-slug>/banner.webp
tags: [wasp, tag2, tag3]  # 3-6 lowercase tags
keywords: ["keyword1", "keyword2", ...]  # 10+ for SEO
description: "SEO summary under 160 chars."
---

Content rules:

  • Add import { ImgWithCaption } from './components/ImgWithCaption'; after frontmatter
  • Add {/* truncate */} after the opening hook paragraph (this controls the blog listing excerpt)
  • Use <ImgWithCaption source="..." caption="..." alt="..." /> for ALL images. Omit caption prop if there's no caption. When a caption contains double quotes, use single quotes for the prop value instead: caption='text with "quotes" in it'
  • Make ALL URLs pointing to wasp.sh or wasp-lang.dev relative (e.g., https://wasp.sh/blog/... → /blog/..., https://wasp.sh/docs/... → /docs/..., https://wasp-lang.dev/docs/... → /docs/...). This applies to both markdown links and any other references throughout the entire post.
  • Keep external URLs (GitHub, Twitter, etc.) as-is

Step 5: Verify with the user

Show a summary of what was created:

  • File path
  • Number of images downloaded and total size savings from WebP conversion
  • Any decisions made (title choice, skipped sections, etc.)
  • Remind user to review anchor links in TL;DR sections

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Convert Wasp blog articles from MDX, a Markdown format with components, into files for DEV.to and Medium. Create or update DEV.to drafts, prepare Medium content, and optionally upload local videos to YouTube.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Prepare Wasp blog articles for DEV.to and Medium
  • Create DEV.to drafts or update existing articles
  • Prepare article sections and images for Medium
wasp-lang/wasp1.9만2026년 10월 23일 업데이트

Review content for citation in AI search answers. Use checklists covering clear definitions, sourced data, author information, FAQs, and structured data, then plan how to monitor citations, brand mentions, and AI-referred traffic.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing articles for citation in AI search answers
  • Organizing definitions, sources, and FAQs in content
  • Checking author details and structured data
wasp-lang/wasp1.9만2026년 10월 23일 업데이트

Create social posts and weekly content calendars tailored to each platform and audience. Repurpose existing articles, plan interactions with readers, and use performance metrics to refine topics, opening lines, formats, and posting times.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Plan a weekly social content calendar
  • Adapt blog articles into posts for multiple platforms
  • Write opening lines and post drafts
wasp-lang/wasp1.9만2026년 10월 23일 업데이트

Review code changes for correctness, readable names, clear interfaces, and design problems. Examine duplication, hidden assumptions, and unnecessary abstractions, then report actionable findings with file locations, explanations, and concrete suggestions for fixes.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Review pull request changes
  • Check names and function interfaces
  • Find duplication and unclear responsibilities
wasp-lang/wasp1.9만2026년 10월 23일 업데이트

wasp-lang의 스킬 모두 보기

이 스킬의 문제 신고