skills/zudoesa-articlify/SKILL.md
Convert conversation context into an esa article via the zudoesa-writer subagent. ONLY invoke when the user explicitly asks — NEVER proactively propose. Triggers: 'write esa article', 'esa記事', 'esaに書いて', 'articlify for esa', or /zudoesa-articlify. Gathers context, creates a writing brief, delegates to the writer subagent.
npx skillsauth add takazudo/claude-resources zudoesa-articlifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Convert the current conversation into an esa article by crafting a detailed writing brief and delegating to the zudoesa-writer subagent.
--conversationWhen $ARGUMENTS contains --conversation, the article must preserve the actual
conversation as-is. This means:
NEVER summarize the conversation. Reproduce the actual dialogue flow faithfully.
Keep casual utterances. Words like 「なるほど」「ふーん」「どう思う?」「OK」
「hum...」are meaningful conversational texture — they make the article sound natural and human. Removing them makes it look AI-auto-written.
Minimal rewriting only. Typo fixes and light formatting are OK. Do NOT
restructure, condense, or rephrase the user's words beyond that.
PRESERVE THE ORIGINAL LANGUAGE. DO NOT TRANSLATE. This is critical. If the
conversation was in English, keep it in English. If it was in Japanese, keep it
in Japanese. If it was mixed, keep both languages as-is. Translating the
conversation to Japanese destroys the original text — it is a total loss of the
source material the user wanted to preserve. The whole point of --conversation
is to capture the raw dialogue, and translation defeats that purpose. The
surrounding frontmatter title and any minimal scaffolding headings MAY be in
Japanese, but the conversation body itself must remain in its original language.
Include the brief in the writing prompt with explicit instruction:
"This is a conversation-style article with --conversation mode. Preserve the
dialogue verbatim IN THE ORIGINAL LANGUAGE. Only fix typos and apply vocabulary
rules. Do NOT summarize, restructure, or translate. If the conversation is in
English, the article body must remain in English."
Review the conversation history and identify:
If images were provided in the conversation (attached screenshots, diagrams, etc.):
Determine the article slug from the topic (e.g., 20260209-package-json-organization)
Create the image directory in the esa repo:
mkdir -p $HOME/repos/w/esa/doc/public/img/articles/YYYYMMDD-slug/
Copy each image to that directory with a descriptive filename:
cp /path/to/source/image.png $HOME/repos/w/esa/doc/public/img/articles/YYYYMMDD-slug/descriptive-name.png
Record the image paths for the writing brief. The markdown reference format is:

Create a detailed, self-contained prompt that the writer subagent can use without any conversation context. The brief must include:
The brief should be written so that someone with zero context could write the full article from it alone.
Use the Agent tool to spawn the zudoesa-writer subagent with run_in_background: true so the user is not blocked during writing:
Agent tool:
subagent_type: zudoesa-writer
run_in_background: true
prompt: [the detailed writing brief from Step 2]
The subagent will:
--conversation is specified)sidebar_position using the formula 999999999999 - YYYYMMDDHHMM (ensures newest articles appear first)After the subagent completes, read the created article file and verify that:
sidebar_position is present in the frontmatter999999999999 - YYYYMMDDHHMMIf sidebar_position is missing or incorrect, fix it directly. This is critical — without it, the article appears at the bottom of the sidebar instead of the top.
After the subagent completes, report:
tools
Acceptance gate for a branch produced by an OpenAI Codex CLI run — usually Codex implementing a /big-plan epic that was handed off to it. Codex reports the work 'done' (or the user flags it WIP with corrections); this skill confirms the branch actually fulfils the original spec, fixes what falls short, and routes larger discoveries into GitHub issues. Use when: (1) User says '/finalize-codex-work', 'finalize codex work', 'confirm the codex work', 'check the codex branch', or 'codex said it's done', (2) A branch is the result of a Codex CLI session and needs verification against its spec issue/PR, (3) After assigning a /big-plan epic to Codex CLI. Pass -m/--merge to run /pr-complete -c at the end.
tools
Read a Figma design node directly from a share URL via the Figma REST API — no Dev Mode subscription, no MCP, no desktop app. Renders the node to PNG and dumps its full style/layout JSON so the design can be described, compared, or implemented. Use whenever the user gives a Figma design URL (figma.com/design/... or /file/...) and wants to see, read, inspect, reference, or implement that node — including `/fig-url-refer <url>`. This is the URL-based counterpart to `/figrefer` (which needs a Dev-plan desktop MCP); prefer this one when the input is a URL rather than a live desktop selection.
tools
Sync the user's Claude Code workflow skills into the OpenAI Codex CLI settings repo ($HOME/.codex) as Codex-native ports, fix the Codex .gitignore for new local state, then commit and push. Use when: (1) user says '/dev-codex-sync-settings-from-claude', 'sync codex settings', 'sync claude skills to codex', 'port skills to codex', or 'update codex from claude'; (2) after updating ~/.claude workflow skills (big-plan, x, x-as-pr, x-wt-teams) and Codex should catch up; (3) the $HOME/.codex repo has drifted behind $HOME/.claude. The ports are condensed Codex-native REWRITES, never file copies.
development
Analyze a video file (mov, mp4, webm, etc.) or a YouTube video by extracting still frames with ffmpeg and reading them chronologically with vision — Claude cannot ingest video files directly. Use whenever the user provides a video file path or YouTube URL and wants to know what happens in it: "read this video", "watch this video", "check this recording", "what happens in this .mov/.mp4", analyzing a screen recording of a UI bug, or verifying UI behavior captured in a video, even if they don't name this skill.