Back to list
JaviMaligno

blog-writer

by JaviMaligno

Personal brand website - AI Agent Architect

0🍴 0📅 Jan 23, 2026

SKILL.md


name: blog-writer description: Write bilingual blog articles for the personal website. Use when creating a new blog post, article, or writing content for the blog. Handles EN/ES translations, frontmatter, and content structure.

Blog Article Writer

Create bilingual (English/Spanish) blog articles for javieraguilar.ai.

File Locations

  • English: src/content/blog/en/[slug].md
  • Spanish: src/content/blog/es/[slug].md
  • Images: public/blog/[image-name].png (referenced as /blog/[image-name].png)

Required Frontmatter Format

Both EN and ES files must include this exact frontmatter:

---
title: "Article Title Here"
description: "A concise description for SEO and preview cards (1-2 sentences)."
pubDate: YYYY-MM-DD
tags: ["Tag1", "Tag2", "Tag3"]
lang: en  # or es
translationKey: article-slug
---

Field Requirements

FieldRequiredNotes
titleYesTranslated per language
descriptionYesTranslated, SEO-friendly, 1-2 sentences
pubDateYesSame date for both languages
tagsYesTranslated (e.g., "AI" → "IA")
langYesMust be en or es
translationKeyYesSame value for EN/ES pair (kebab-case)

LinkedIn Automation (Optional)

CampoTipoDescripción
linkedinImagestringRuta a imagen para LinkedIn (ej: /blog/linkedin-card.png)

Notas:

  • Campo opcional
  • Solo se usa para auto-publicación en LinkedIn
  • Si se omite, el post en LinkedIn será solo texto
  • Ruta debe apuntar a archivo en public/blog/
  • Formatos: PNG, JPG, WEBP
  • Tamaño recomendado: 1200x627px

Ejemplo:

---
title: "Mi Artículo"
description: "Descripción del artículo"
pubDate: 2026-01-07
tags: ["AI", "Automation"]
lang: en
translationKey: mi-articulo
linkedinImage: /blog/linkedin-card.png  # Opcional
---

Bilingual Workflow

  1. Always create both files with matching translationKey
  2. Use the same pubDate for synchronized release
  3. Translate tags appropriately (common: AI→IA, Automation→Automatización)
  4. Keep translationKey identical in both files

Content Structure

Follow this pattern:

Opening paragraph establishing context and the problem/topic.

## Section Heading

Content with clear explanations. Focus on "why" not just "how".

### Subsection (if needed)

- Bullet points for lists
- Keep them concise

## Another Section

Include practical examples:

```language
code block with syntax highlighting

Conclusion/Next Steps

Wrap up with actionable takeaways or links.


Footer with links to resources, repos, etc.


## Writing Style

- **Tone**: Professional but conversational
- **Focus**: Practical value, real examples
- **Length**: 800-2000 words typically
- **Structure**: Clear headings, scannable sections
- **Code**: Include relevant code snippets with language identifiers
- **Images**: Reference as `/blog/image-name.png`

## Tag Conventions

Common tag translations:

| English | Spanish |
|---------|---------|
| AI | IA |
| Automation | Automatización |
| Machine Learning | Machine Learning |
| Development | Desarrollo |
| Architecture | Arquitectura |

## Example Frontmatter Pair

**English** (`src/content/blog/en/my-new-post.md`):
```yaml
---
title: "Building Something Cool"
description: "How I built a tool that solves a real problem."
pubDate: 2025-01-03
tags: ["AI", "Automation", "Claude"]
lang: en
translationKey: my-new-post
---

Spanish (src/content/blog/es/my-new-post.md):

---
title: "Construyendo Algo Genial"
description: "Cómo construí una herramienta que resuelve un problema real."
pubDate: 2025-01-03
tags: ["IA", "Automatización", "Claude"]
lang: es
translationKey: my-new-post
---

Writing from LinkedIn Posts

When repurposing a LinkedIn post into a blog article:

  1. Fetch the post using WebFetch to extract the content
  2. Download any images from the post to public/blog/
  3. Expand the content - LinkedIn posts are short; blog articles should:
    • Add more context and background
    • Include code examples if relevant
    • Expand on points that were condensed
    • Add sections the post didn't have room for
  4. Keep the core message but make it more comprehensive
  5. Use original post date as pubDate for authenticity

LinkedIn Image Download

Images from LinkedIn posts should be:

  • Downloaded to public/blog/[descriptive-name].png
  • Named descriptively (e.g., azure-content-filter-demo.png)
  • Referenced in markdown as /blog/[name].png

Checklist Before Publishing

  • Both EN and ES files created
  • Matching translationKey in both
  • Same pubDate in both
  • Tags translated appropriately
  • lang field matches file location
  • Images placed in public/blog/
  • Links are valid and functional

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon