Files
open-design/skills/blog-post/SKILL.md
Tom Huang 6f6bf31dd2 Refactor project name from "Open Claude Design" to "Open Design" (#1)
* Refactor project name from "Open Claude Design" to "Open Design"

- Updated project name in package.json, package-lock.json, and README files.
- Changed CLI commands and references from "ocd" to "od".
- Adjusted file structure references in documentation and code to reflect new naming conventions.
- Enhanced .gitignore to include new runtime data files.
- Updated metadata in LICENSE file to match new project name.

* Add contributing guidelines in English and Chinese

- Introduced CONTRIBUTING.md and CONTRIBUTING.zh-CN.md to provide clear instructions for contributors.
- Outlined contribution types, local setup instructions, and merging criteria for skills and design systems.
- Enhanced README files to reference the new contributing guidelines.
2026-04-28 16:03:35 +08:00

80 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: blog-post
description: |
A long-form article / blog post — masthead, hero image placeholder,
article body with figures and pull quotes, author byline, related posts.
Use when the brief asks for "blog", "article", "post", "essay", or
"case study".
triggers:
- "blog"
- "blog post"
- "article"
- "essay"
- "case study"
- "newsletter"
- "博客"
- "文章"
od:
mode: prototype
platform: desktop
scenario: marketing
featured: 11
preview:
type: html
entry: index.html
design_system:
requires: true
sections: [color, typography, layout, components]
---
# Blog Post Skill
Produce a single long-form article page — editorial layout, no chrome.
## Workflow
1. **Read the active DESIGN.md** (injected above). Lean into the typography
tokens — long-form is 70% type, 20% image, 10% chrome.
2. **Pick the topic** from the brief and write a real article — at least 600
words across 46 H2 sections. No lorem ipsum.
3. **Sections**, in order:
- **Masthead** — small wordmark + 46 nav links, plain.
- **Article header** — category eyebrow, headline (display token, large),
deck (12 sentence subhead), author name + role + date.
- **Hero image** — a 16:9 placeholder block using a DS-tinted gradient or
solid fill (no external images). Add a 1-line caption underneath.
- **Body** — alternating prose paragraphs with at least:
- 1 pull quote (large display type, accent rule on the left).
- 1 figure (image placeholder + caption).
- 1 list (numbered or bulleted).
- 1 inline blockquote.
- **Author footer** — author avatar (initials in a circle), bio paragraph.
- **Related** — 3 cards linking to other posts. Each card: tiny image
block, title, 1-line excerpt, date.
4. **Write** a single HTML document:
- `<!doctype html>` through `</html>`, CSS inline.
- Article body uses the DS body font, centered, max-width per DS layout
rule (typically 680720px).
- Drop caps (`first-letter`) only if the DS mood is editorial / serif —
skip on tech-y DSes.
- `data-od-id` on the headline, hero, body, pull quote, related grid.
5. **Self-check**:
- Type hierarchy is unambiguous — H1 is clearly the headline; H2s are
section dividers; pull quotes do not compete with H1.
- Line length 6075 chars for body prose.
- Accent appears at most twice (eyebrow + pull-quote rule, or one link).
- The page reads like a magazine, not a marketing landing.
## Output contract
Emit between `<artifact>` tags:
```
<artifact identifier="post-slug" type="text/html" title="Article Title">
<!doctype html>
<html>...</html>
</artifact>
```
One sentence before the artifact, nothing after.