From work-journal
Create formal, fact-checked work journal entries after completing analysis work. Use when user asks to "summarize work", "document results", or "create work journal entry". Ensures code is committed, copies figures to attachments, and creates objective summaries with mandatory citations and report-checker verification. For quick reports without fact-checking, use the `report-in-markdown` skill.
How this skill is triggered — by the user, by Claude, or both
Slash command
/work-journal:work-journalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create formal, fact-checked work journal entries that document completed analysis work without interpretation or recommendations. Every claim must be cited and verified by the report-checker agent.
Create formal, fact-checked work journal entries that document completed analysis work without interpretation or recommendations. Every claim must be cited and verified by the report-checker agent.
Activate when user requests:
Before writing anything, locate project-specific guidance for documentation paths (for example in AGENTS.md, CLAUDE.md, project README, or .claude/ docs).
notes/ (if it exists, or create it)work journal/ (if user/project prefers this naming)WORK_JOURNAL_DIR = resolved directory for journal filesWORK_JOURNAL_ATTACHMENTS_DIR = ${WORK_JOURNAL_DIR}/attachmentsCheck if code has been committed:
git status
If uncommitted changes exist:
subagent_type="code-reviewer" then assist with git commitgit log -1 --pretty=format:"%H%n%s"If clean: Get latest commit: git log -1 --pretty=format:"%H%n%s"
If you have context from recent work:
If you don't have context:
Then read code files, output files, and documentation to gather information.
If figures exist in output folder:
mkdir -p "${WORK_JOURNAL_ATTACHMENTS_DIR}"
For PDF figures: Convert to PNG first, then copy:
uv run --with pdf2image python -c "
from pdf2image import convert_from_path
images = convert_from_path('Output/[subfolder]/figure.pdf')
images[0].save('${WORK_JOURNAL_ATTACHMENTS_DIR}/YYYY-MM-DD-description.png')
"
For PNG/other image figures: Copy directly:
cp Output/[subfolder]/figure.png "${WORK_JOURNAL_ATTACHMENTS_DIR}/YYYY-MM-DD-description.png"
In markdown:

Source: [Original](relative/path/from/report/to/original/figure.pdf)
One entry file at:
[WORK_JOURNAL_DIR]/YYYY-MM-DD-[Author]-[Description].md
Filename: YYYY-MM-DD-[Author]-[Description].md
Front Matter:
---
author: "[[Author]]"
date: YYYY-MM-DD
timestamp: "YYYY-MM-DDTHH:MM:SS"
session_id: "[from context or session-YYYYMMDD-HHMMSS]"
project: "[[ProjectName]]"
git_commit: [full hash if available]
git_message: "[message if available]"
tags: ["work-journal"]
permalink: working-journal/YYYY-MM-DD-author-description
---
Structure can be flexible, but typically include:
File references: When mentioning files (scripts, outputs, figures, tables), always create markdown links with paths resolved relative to the report file's location. Do not use bare paths.
Example: If the report is at notes/2026-03-07-report-analysis.md and the referenced file is at code/BOP/clean_data.py:
code/BOP/clean_data.pycode/BOP/clean_data.pyCompute the relative path from the markdown file's directory to the target file using ../ as needed.
✓ DO:
✗ DO NOT:
Good (Factual):
Bad (Speculative/Interpretive):
Every claim must link to supporting evidence:
[descriptive text](relative/path/from/report/to/file)pdf2image library)After creating the report, use the report-checker agent to verify quality:
Use Task tool with subagent_type="report-checker"
Pass: report path, code location, output location, objective
The agent will check:
If issues found, revise the report before finalizing.
npx claudepluginhub fuzhiyu/agentcontract --plugin work-journalGenerate polished standalone HTML reports summarizing work, investigations, or decisions. Opens in browser. Use after completing a ticket, debug session, or refactoring.
Generates structured Markdown research report from prior phase outputs like brainstorm, plans, code, tests, and plots. Integrates visuals, generates missing plots, verifies claim-evidence integrity.
Writes structured post-experiment research reports after analysis artifacts are ready. Produces decision-oriented narratives with statistical validation and next actions, writing into an Obsidian vault.