Reconstructs journal entries from external systems: bulk-imports a historical work log from a legacy source system such as a deprecated Confluence page into dated entries, enriches ticket references with self-contained detail entries reconstructed from an issue tracker, and annotates links to systems that have since moved such as a Bitbucket-to-GitLab migration. Use when asked to import an old journal, migrate a log into the journal format, turn ticket mentions into entries, expand a log with ticket detail, or point old links at a new host. This is not for repairing frontmatter on entries that already exist in this format, which is the journal CLI's own backfill command. Produces validated dated entries compatible with journal-entry-creator, complete with bidirectional cross-links and annotated external links.
72
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Reconstruct journal entries from systems outside this repository: a bulk import of a historical work log, ticket references enriched into self-contained detail entries, and links repaired to point at systems that have since moved. Three independent modes, each callable on its own: Mode A (bulk import), Mode B (ticket enrichment), Mode C (external link migration). A common sequence runs Mode A first, then Mode B on selected tickets from the imported entries, then Mode C whenever an imported link points at a system that has since moved
These entries reconstruct history that already happened somewhere else; the job is transcription and synthesis, not authorship. Reconstruct, do not invent - every claim traces to the source log, the ticket, or its comments. Each detail entry must stand alone: a reader understands the task without opening the ticket or the original log. Synthesise, don't transcribe - a reconstructed discussion reads as what was decided and why, never as a comment-by-comment transcript. Follow the Data and Privacy Policy on every entry regardless of mode. At batch scale, trust the filesystem over an agent's self-report, and recompute remaining work from the repository on every resume rather than from a saved list.
Know when this is the wrong tool: a brand-new entry documenting today's work is journal-entry-creator's job, not
this skill's. Repairing missing title/date frontmatter keys on entries that already exist in the repo's format
is the journal CLI's own one-pass pantheon-journal backfill command - a different problem from reconstructing
entries that do not exist yet, and this skill deliberately avoids that name to keep the two apart.
This skill produces entries in the journal-entry-creator format and depends on it for the base frontmatter
schema, the tag taxonomy, and the structural validator
(journal-entry-creator/scripts/validate-journal-entry.sh). Read that skill's SKILL.md first if you have not
used it before - this skill assumes its conventions (triple-synced dates, single-H1 format, tag consistency) and
does not repeat them.
Confirm the companion CLI is present before using any pantheon-journal subcommand this skill references (e.g.
lint, index):
pantheon-journal --versionEach mode also needs read access to the relevant external system, however that access is provided in the current environment - a direct API, an export/download, or an MCP connector:
confluence_get_page-style tool for a
Confluence-backed source, or simply an exported markdown/HTML file).jira_get_issue-style tool).bash, awk (GNU awk / gawk - the bundled scripts use its 3-arg match() extension), prettier, and
markdownlint-cli2 (the repo's markdown toolchain) round out the requirements.
YYYY/MM/ entries.journal-entry-creator directly.title/date frontmatter on entries that already exist in this repo's format, use
pantheon-journal backfill - a one-pass batch repair, not a reconstruction from an external source.Bulk-imported entries (Mode A) use the plain journal-entry-creator frontmatter - nothing extra. Ticket-detail
entries (Mode B) follow
assets/schemas/ticket-detail-frontmatter.schema.json, a
superset of the base schema:
---
title: "PROJ-2058 - Move to fetching credentials at run time"
date: 2020-07-06
authors:
- Alex Rivera
tags:
- proj-2058
- credentials
- ticket-detail
- "2020"
source: "https://example.atlassian.net/browse/PROJ-2058"
status: published
---Field rules: title starts with the ticket key; date matches the filename; tags include the key lowercased,
topic tags, ticket-detail, and the year as a quoted string, and must match the ## Tags section; source is
the tracker's permalink to the ticket. ticket-detail extends journal-entry-creator's tag taxonomy type facet
alongside troubleshooting, learning, and ticket-refinement. Never set refinement_ticket on a
ticket-detail entry (see Anti-Patterns).
YYYY/MM/YYYY-MM-DD-imported-entry.md, dated by that section's
date. Preserve content verbatim; normalise only formatting. Use scripts/import-legacy-entries.sh as the
generator for a source with a "level-3 heading naming a date" shape.Full detail: Mode A Bulk Import.
fields including comment).Full detail: Mode B Ticket Enrichment (includes the fan-out pattern and pitfalls for enriching many tickets at once).
Full detail: Mode C External Link Migration.
Run for every file created or edited, then commit only when clean:
npx prettier --write <files>
npx markdownlint-cli2 --fix <files>
# imported entries and any other base-schema entry:
bash skills/documentation/journal-entry-creator/scripts/validate-journal-entry.sh <files>
# ticket-detail entries (runs the base validator too):
bash skills/documentation/journal-entry-import/scripts/validate-ticket-detail.sh <detail-files>refinement_ticket on a ticket-detail entryjournal-entry-creator's base validator then requires a ## Proposed Ticket Description section,
which is for an in-progress ticket-refinement draft - it does not apply to a closed historical ticket.refinement_ticket: PROJ-2058 in a ticket-detail entry's frontmatter.source and the metadata block only.continues_from / continued_by field to link a detail entry back to its log entry.## Related Entries plus a nested "Detailed entry:" bullet).## Decisions and Resolution section that quotes every comment in order.## Compliance. See the Data and Privacy Policy.status: "written", and git add-ing only the
current year.journal-entry-creator (sibling skill, same documentation/ domain) - base frontmatter, tag taxonomy, and the structural validator; read before using this skill at alla1083f4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.