Create structured journal entries with YAML frontmatter, template-based sections, and compliance validation. Use when user asks to 'create journal entry', 'new journal', 'document [topic]', 'journal about [topic]', or needs to create timestamped .md files in YYYY/MM/ directories. Supports four entry types: general journal entries, troubleshooting sessions, learning notes, and article summaries. Keywords: journal, documentation, troubleshooting, learning, article-summary, YAML frontmatter, template schemas, validation.
Overall
score
91%
Does it follow best practices?
Validation for skill structure
Purpose
Quick automation (recommended)
npx prettier --write path/to/entry.mdnpx markdownlint-cli2 path/to/entry.mdbash scripts/validate-journal-entry.sh path/to/entry.md (accepts multiple files)Required tools
npx (for Prettier and markdownlint-cli2)bash, perl, rg (ripgrep), and GNU awk (or gawk) for the repository validatorYAML frontmatter (standardized)
All templates now include a standard YAML frontmatter that journal entries should adopt when appropriate. Fields:
title (string): descriptive titledate (YYYY-MM-DD): entry date — must match filename prefixauthors (array): list of author namestags (array): lowercase, hyphen-separated tagssource (string): optional URL or originstatus (string): draft, published, or other workflow statesExample frontmatter:
---
title: "Example — Investigating Service Crash"
date: 2025-09-01
authors:
- Thomas Roche
tags:
- troubleshooting
- systemd
source: ""
status: draft
---Checklist (run for every new or updated entry)
YYYY-MM-DD-slug.md (ISO 8601 date prefix must match entry date)YYYY/MM/ where YYYY and MM match the filename# Title - Month D, YYYY (exactly one H1)## Session Overview (or an equivalent short context section) presentAdd journal entry: [Brief Description] (YYYY-MM-DD)Common validator failures & fixes
Single H1 errors: remove extra H1s or convert them to H2 (##) and ensure date is present in the H1.Code block language missing: add the language after the opening fence, e.g., ```bashDuplicate headings or multiple blank lines: remove the duplicate section or extra blank lines.Filename/location mismatch: move or rename the file so the path and filename date match the H1 date.CI and pre-commit behavior
202*/**/*.md.Notes for AI agents
Reference
.opencode/checklist/compliance.md — link to this file from AGENT.md and other contributing docs.