Log-to-Post
Log what you built (text, images, commits, branches); get LinkedIn, X, Reddit, and standup copy in one go. One base path holds logs/ and posts/ by day.
Base path (first run or unknown)
- If the base path for logs and posts is not known, ask once: "Where should I store your logs and posts? (e.g.
~/dev-logor./log-to-post)" - Persist the choice by creating a marker file at that path:
.log-to-postwith a single linebasePath: .(or the chosen path). On later runs, iflogs/andposts/exist under a candidate path, or.log-to-postexists, use that as the base path without asking again. - Under the base path ensure two folders exist:
logs/andposts/.
Log structure and format
- One file per day:
logs/YYYY-MM-DD.md. - Each log entry in the file must follow the structure in references/log-format.md: entry type, content, optional links/tags.
- Entry types:
started|running|blocked|discovered|shipped|learning.
Collecting from different inputs
-
"Log: " prefix
If the user's message starts withLog:(capital L, colon, space), treat the rest of the message as content to log. Strip the prefix, parse into one or more log entries, infer entry type from context, and append to today's log file. No need to ask for confirmation—just log it. -
Free text / agent chat
Parse the user message or pasted conversation into one or more log entries. Infer entry type from context (e.g. "shipped", "discovered", "blocked"). Append to today's log file (logs/YYYY-MM-DD.md) using the format in references/log-format.md. -
Images
Describe or transcribe the image content in one or two sentences, assign an entry type, and append as a log entry to today's file. Infer entry type from the image when possible (e.g. screenshot of terminal/code →shippedordiscovered, diagram or doc →learning). Only ask the user for type when it's ambiguous. -
Git commits
Rungit log(e.g.git log -n 20 --onelineor with--format=...) in the repo the user indicates. For each relevant commit, include the branch name when available (e.g.git logwith%(refname:short)orgit branch --show-currentfor the repo). Write a short log entry (e.g. typeshippedordiscovered) with optionalbranchandrepoin the entry metadata, and append to today's log file. Optionally include commit link inlinks. -
Multiple entries in one go
When the user dumps several items (bullets, paragraphs, or a list), create one log entry per item and append all to the same day file.
Writing logs
- Read existing
logs/YYYY-MM-DD.mdif present; append new entries without duplicating. Use the same heading/entry format as in references. - If the file does not exist, create it with a short date heading and then the new entries.
Generating post ideas and drafts
- When the user asks for "post ideas", "drafts", "standup from my logs", or "turn my log into posts":
- Resolve base path. List available log files (e.g. under
logs/*.md) and show a short summary: "You have logs for [list dates]. Use all, a date range, or only certain entry types (e.g. shipped + discovered)? Default: today + last 2 days if you don't specify." Only after the user confirms or accepts the default, proceed. - Read the content from the chosen
logs/YYYY-MM-DD.mdfile(s). Aggregate the entry contents (and optional project name) into a single text block. - Use the content philosophy and platform rules in references/prompts-and-platforms.md to generate. Each output format uses a distinct style per that reference. Produce:
- One draft per format (LinkedIn, X, Reddit, Standup), or
- A single "post ideas" section with 2–3 bullet ideas and then one draft per format if the user wants full drafts.
- Write output under
posts/:- Either one file per day:
posts/YYYY-MM-DD.mdcontaining all formats (LinkedIn, X, Reddit, Standup) with clear headings, or - One file per platform per day:
posts/YYYY-MM-DD-linkedin.md,posts/YYYY-MM-DD-twitter.md,posts/YYYY-MM-DD-reddit.md,posts/YYYY-MM-DD-standup.md.
- Either one file per day:
- Prefer the single-file-per-day format unless the user asks for separate files per platform.
- Resolve base path. List available log files (e.g. under
Checklist for "log this" requests
- Resolve base path (ask or infer from
.log-to-post/ existinglogs/). - Ensure
logs/andposts/exist. - Parse input (text / image / git) into entries with type and content.
- Append to
logs/YYYY-MM-DD.mdusing the reference format.
Checklist for "generate posts" requests
- Resolve base path. Prompt user on which logs/dates/themes (or use default: today + last 2 days); then read and aggregate only the chosen set.
- Read and aggregate log content from the chosen file(s).
- Generate drafts using references/prompts-and-platforms.md (one per format: LinkedIn, X, Reddit, Standup).
- Write to
posts/YYYY-MM-DD.md(or per-platform files if requested).
Additional resources
- references/log-format.md — Log entry format and fields. Read when collecting or writing log entries (any input type or appending to logs).
- references/prompts-and-platforms.md — Content philosophy and platform rules. Read when generating post ideas or drafts (LinkedIn, X, Reddit, Standup).