Markitdown
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
(new) Turn a process analysis into a polished, client-ready report, first an HTML deck you review, then a matching PDF.
$ npx skills add deusXmachina-dev/memorylane --skill report-new -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deusXmachina-dev/memorylane report-new --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/deusXmachina-dev/memorylane.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/memorylane/skills/report-new .claude/skills/report-new && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "report-new" agent skill from https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-new into .claude/skills/report-new/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-new", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-newType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add deusXmachina-dev/memorylane --skill report-new -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deusXmachina-dev/memorylane report-new --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deusXmachina-dev/memorylane.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/memorylane/skills/report-new .agents/skills/report-new && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "report-new" agent skill from https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-new into .agents/skills/report-new/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-new", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deusXmachina-dev/memorylane --skill report-new -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deusXmachina-dev/memorylane report-new --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deusXmachina-dev/memorylane.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/memorylane/skills/report-new .cursor/skills/report-new && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "report-new" agent skill from https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-new into .cursor/skills/report-new/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-new", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/deusXmachina-dev/memorylane.git --path plugins/memorylane/skills/report-new--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add deusXmachina-dev/memorylane --skill report-new -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deusXmachina-dev/memorylane report-new --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deusXmachina-dev/memorylane.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/memorylane/skills/report-new .gemini/skills/report-new && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "report-new" agent skill from https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-new into .gemini/skills/report-new/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-new", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install deusXmachina-dev/memorylane report-newInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add deusXmachina-dev/memorylane --skill report-new -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/deusXmachina-dev/memorylane.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/memorylane/skills/report-new .github/skills/report-new && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "report-new" agent skill from https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-new into .github/skills/report-new/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-new", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deusXmachina-dev/memorylane --skill report-new -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install deusXmachina-dev/memorylane report-new --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deusXmachina-dev/memorylane.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/memorylane/skills/report-new .opencode/skills/report-new && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "report-new" agent skill from https://github.com/deusXmachina-dev/memorylane/tree/main/plugins/memorylane/skills/report-new into .opencode/skills/report-new/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-new", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
report-new(new) Turn a process analysis into a polished, client-ready report, first an HTML deck you review, then a matching PDF.
Report New is an agent skill from deusXmachina-dev/memorylane. (new) Turn a process analysis into a polished, client-ready report, first an HTML deck you review, then a matching PDF. Use to package an analysis into an exec report or PDF. Shows the deck for approval before making the PDF, and never makes up numbers.
Its SKILL.md is about 7.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including assets (for example `assets/make-pdf.sh`).
It sits in Documents & Office, covering PDF. The licence is GPL-3.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 16abbe0. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashGlobGrepTaskAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell and JavaScript), which the agent can run.
Shell commands in SKILL.md call:
bashcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Report New loads about 7.9k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 3,927 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Task, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from deusXmachina-dev/memorylane at commit 16abbe0, republished under its GPL-3.0 licence (© deusXmachina-dev). 3,927 words, ~7,896 tokens.
.claude/skills/report-new/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Turns a process-mining ledger (where time goes, repeated processes, automation, savings, all basis-labelled) into the deliverable an exec says "YES" to: a clean, visual, defensible HTML + PDF. The ledger is the input; this skill renders and persuades. Runs independently of any analysis skill: if input is missing, it asks.
Two hard requirements:
assets/components.html). Less prose, more structure.
Recommendations are hyper-specific to this customer: their actual tools,
the concrete mechanism, the human remainder. Never invent a number, app, tool
or step not in the ledger.Never fabricate. Always nudge. Any missing key input (a ledger, a bound field, a role/department label, client name, logo, cost rate) → STOP and ask in one batched question. Never invent identity, numbers, roles, tools, or steps to fill a gap or smooth a layout. This overrides speed and overrides every default below.
HTML first. PDF only after the user approves (mandatory stop). The user
ALWAYS reviews the HTML deck before any PDF exists. Render report.html, show
it, then STOP and wait for explicit approval ("yes" / "approved" / "ship it").
Never generate the HTML and the PDF in the same turn; never jump to a PDF or a
*-final.* file unprompted. The ONLY PDF allowed before approval is the
throwaway /tmp overflow probe in stage 5 (internal QA, never presented as the
deliverable). If you have not received approval in this conversation, end your
turn after the review step (stage 6). This overrides speed.
Source: one or more process-analysis*.md files in the working dir. Each file
embeds the full ledger as a single fenced ```json code block (the last
fenced json block in the file, so a json snippet quoted earlier in the
narrative can't be grabbed by mistake); extract that block to get the ledger
object, and use the narrative text above it for wording. Each ledger is one
observed person (the analysis is single-user by construction). Any producer
of the same shape works. Never print a ledger's source filename or any
per-person file label anywhere in the deck or appendix (a filename like
process-analysis-jane.md is itself an identifier); refer to ledgers by role
only.
process-analysis*.md (and any paths the user
gives), then extract each file's embedded json block. 1 file → single-user
report. 2+ → consolidated report (§7 stage 2).meta.user_role (and ideally department) for
grouping. If a ledger lacks a role label, ask which role/department it
belongs to; never guess.Expected ledger shape (top-level keys + the leaves the report binds; omit any element whose field is absent, per §2):
meta: user_role, department, location, window, active_days,
measurement_scope, cost_basis (rate, derivation, basis); optional
report_title, client.exec_rollup: total_repetitive_hours_per_week, automatable_pct,
capacity_unlocked_pct, hours_saved_per_year, dollars_saved_per_year_net,
fte_capacity_unlocked_this_person, overall_confidence{grade,why}, shown_caveat.
Headline figures = {low,base,high,basis}.baseline: total_active_hours, active_days, app_time_share[]{app,pct,hours},
deep_work_share.processes[]: name, category, role_department, tier,
frequency{occurrences_clean,occurrences_possible,period}, time_per_instance_min,
common_path{description,approx_coverage_pct}, steps[]{action,app,input,output,
time_min,pain,automatable,basis}, automation{verdict,future_state,route,
effort_tier,work_nature,mechanism,feasibility,tool,automatable_fraction_low,
automatable_fraction_high,human_remainder,automation_cost},
scores{impact_hours,automatability,effort,priority_rank}, confidence{grade},
savings{annual_hours_saved,gross_annual_dollars_saved,net_annual_dollars_saved,payback_months,dominant_uncertainty}.systems_landscape[], reasoning_log[](+counts), assumptions[],
what_would_sharpen[], narrative_summary, review{reproducibility_note}.assets/components.html shows the exact field→page binding on sample data.
Intake gate. Ask ONCE in a single batched AskUserQuestion for everything
missing. Cosmetic fields take a default on skip; data-affecting gaps are never
invented (per the rule above): label them missing/estimated or omit:
meta.location/market suggests Philippines, Malaysia, Czech Republic,
Slovakia, Germany, Austria, or Switzerland) and currency if not carried
in cost_basis (see §2's locale table for the separator convention + symbol
per market).The ledger labels every exec number seen / reasoned / estimated with a
shown_caveat and a reasoning log. Surface them, or this becomes slop:
seen green ·
reasoned blue · estimated amber) or the inline .basis micro-label. No
bare numbers.shown_caveat near the headlines (cover note + exec summary).Number + money formatting (house style, from shipped reports; currency follows the ledger, A$ shown as the example).
Locale first, before applying the house style below. The comma-thousands /
period-decimal pattern in the examples below (~A$6,200) is the English-market
convention (Philippines, Malaysia, Australia, New Zealand business English). It is
NOT universal:
~15.500 Kč or ~15 500,00 Kč, not 15,500.00).~4 200,00 €).~4.200,00 €).CHF 4'200.00); confirm with the client which they use.
Detect the target locale from the ledger's meta.location/cost_basis.currency
and the client's market, then apply THAT locale's separator convention
consistently across every page; never default to the English pattern for a
non-English-convention market. Rounding grain, ~ usage, and the "New capacity
unlocked" wording rules below apply the same regardless of locale, only the
separator and symbol change.Report language. The house style and copy below is written in English. If
the client requests the deck in a local language (Filipino/Tagalog, Bahasa
Malaysia, Czech, Slovak, German), translate the narrative, page titles, KPI
labels, and chip display text into that language, but never translate the
underlying ledger enum values (basis: seen|reasoned|estimated,
verdict: kill|leave_as_is|redesign|automate, etc.); those stay in English so
the JSON keeps parsing/reconciling correctly, only their rendered label changes.
Ask which language the deck should ship in during intake (§1) if the client's
market suggests it is not English; default to English if unstated.
1h/week (2%) (no space inside 1h, one space before the
parenthesis). Shipped: 1h/week (2%), 3h/week (8%), 4h/week (5%), ~1 FTE (5%).~ and full digits with a comma
(~A$6,200, ~A$3,500, ~A$500, total ~A$15,000); exec KPI tiles and the
measured/total rows are the rounded grain with NO ~ (A$4k, A$11k, A$15k,
A$100k+); the headline reads save A$100k (no ~, no +). ~ is used ONLY on
per-process dollars, the in-scope total, and the illustrative figures (~A$100k+,
~1 FTE, ~15% of a workday), never on exec/measured rows or the headline.Data-confidence banner (read the thinness, say it). Compute a tier from the
ledger's coverage (total active hours, active days, #people, window) and show it
as a one-line .databanner near the headlines (cover + exec); fold it into the
scope line too. Tiers and voice:
<top finding>.
Reasonable extrapolation: <X>. Act on the top one; get more data before the
rest." Friendly, confident, actionable, never a disclaimer dump.
Thin data also: widen the ranges, push figures to estimated, and lead with the
single most reasonable extrapolation + the one action, not a hedge.Voice, no essays. Short, plain, compelling. Fragments and bullets over
paragraphs; label, number, basis, done. The only running prose is the ledger's
narrative_summary (<100 words) and the conclusion. State data thinness in ONE
line (the banner), never a wall of caveats. Friendly and direct: "little data,
here's the read, here's the reasonable extrapolation, here's the one move."
In assets/ beside this file:
report.css — full design system + print rules. Inline it into a
<style> tag. The whole report is one self-contained HTML file: CSS
inlined, charts as inline SVG/CSS, images as data URIs, no external links,
no CDN, no JS. This is what makes the PDF portable and faithful.components.html — rendered reference gallery of every section archetype
on sample data. Clone these blocks, bind real values, match the look.render-pdf.mjs + make-pdf.sh — the PDF pipeline (§7–8).Brand tokens live in the CSS (do not re-pick): --accent warm amber, --panel
deep ink-navy (cover + bands), Inter sans / Geist mono, near-white body.
App/tool logos. Every app named in a process renders its real logo from a maintained icon map (data-URI'd, never linked); for a tool with no logo file, inline a small SVG glyph. Never show a generic globe placeholder in the final deck, and flag any missing icon at verify rather than substituting one.
Tables. Span the full page width with balanced colgroups. Right-align numeric and money columns to the column edge; center small metric columns; never leave left-hugging gaps in wide columns.
The report carries the client's identity, like a consulting deliverable.
curl -L -o /tmp/logo.<ext> "<url>"; then encode to a data URI
(base64 -i /tmp/logo.png → data:image/png;base64,…). SVG can be inlined or
data-URI'd. Use <img src="data:…"> so it survives into the PDF..cover__client lockup ("Prepared for" + logo),
logo max-height:44px, aspect preserved.<img class="foot-logo"> (height:14px) + the company
name in the footer text. The CSS caps both dimensions; keep aspect ratio for
wide and square logos alike..plain if the logo is already light. The footer is light,
so a light/white logo there needs a dark plate, add one.Per-app icons (time-by-application appendix), and the acquisition gotchas we hit shipping:
data:image/png;base64,…, brand SVG →
data:image/svg+xml;base64,…. Size each at
width:20px;height:20px;border-radius:4px;object-fit:contain.favicon.ico is sometimes actually a PNG (one client's was a 231×231
PNG named .ico). Detect with file, convert/rename with sips before use.cdn.simpleicons.org can return 0 bytes; fall back to jsdelivr
(cdn.jsdelivr.net/npm/simple-icons@<v>/icons/<name>.svg).fill before inlining
(e.g. Slack #4A154B, OpenAI/ChatGPT #10A37F).#9B9690), never
a brand logo.The report is a stack of .page elements; each is exactly one A4-landscape
sheet (fixed size in report.css). Print maps one .page → one PDF page
via break-after: page. Pages are composed to fit, not reflowed, so breaks
are deterministic and nothing splits mid-element.
.page blocks.break-inside: avoid on cards/tables/rows and
print-color-adjust: exact (backgrounds/chips/gradients print).@page + --page-w/--page-h (noted in the CSS).Cover first, appendix/conclusion last; reorder the middle for narrative.
| Page | Source | Archetype |
|---|---|---|
| Cover | meta, exec_rollup (4 KPIs + caveat), client logo/name | .cover |
| Exec summary | exec_rollup, top processes, narrative_summary, confidence | KPI row + .card-grid |
| Baseline | baseline (app bars, active days, hours, deep-work) | .bars, KPI, range |
| Process scoring | processes[].scores, category, frequency, confidence, verdict | .tbl + .dots + chips |
| Automation matrix | processes[].scores (impact × automatability) | .matrix + .bub |
| Process detail (top ~5–7 by rank) | processes[]: common_path, steps, automation, savings | step table + savings card |
| Long-tail table | lower-ranked processes[] | .tbl (light) |
| Systems landscape | systems_landscape[] | .sys-grid + status chips |
| Opportunities | top processes by net ROI | .opp cards |
| Appendix | reasoning_log(+counts), assumptions, what_would_sharpen, cost derivation, reproducibility_note | .logrow, .assume, cards |
| Conclusion | narrative_summary + headline tallies | .story + .statlist |
Chips: basis seen|reasoned|estimated→chip--seen|--reason|--est; confidence
high|medium|low→chip--hi|--med|--lo; verdict kill|leave_as_is|redesign| automate→chip--kill|--leave|--redesign|--auto (matches the ledger's
automation.verdict enum exactly, not a paraphrase); future_state
no_change|ai_augmented|human_in_the_loop|automated|eliminated→its own chevron
chip; category→chip--cat; system status→chip--status.
Per-process framing (the actionable core): Symptom → Time → Solution. Solution must be concrete and customer-specific: trigger → their named tool → action → what stays human, plus 2–4 actionable bullets. No generic "automate X". Detail the strongest ~5–7 fully; list the rest in the long-tail table. A "Not worth it" process is shown and explained, never forced into an automation.
Label consistency: every step chip and the future-state scale match the appendix legend's definitions, and each process's overall recommendation is consistent with its steps (an AI-augmented or human-in-the-loop process keeps at least one human/judgment step; flag an all-automate step list under an augmented label). Show recurrence: carry each process's observed run-frequency into its detail tile and any opportunities table, and treat recurrence as the largest single uncertainty.
Conclusion = narrative_summary plus a punchy stat-list (processes found / worth
automating now / repetitive hours / $ recoverable / scope).
Multi-user (cohort) layout. With 2+ ledgers, the exec rollup is AGGREGATED across the population; processes are reported per role/department (founder's rule: numbers aggregate, workflows split by role). Add:
.tbl +
.bar-track).<role>s") + one line on path divergence. Never average two genuinely
different processes (see §7 stage 2).Optional sales-deck sections (shipped patterns, archetypes in components.html).
Use when the deck is a client-facing proposal, not just an internal map:
.tbl): columns Function, Processes, Automatable, New capacity unlocked,
Annual savings, with a "Measured (N users)" total row and a clearly-labelled
"Company-wide (illustrative)" extrapolated row..page.divider): a full-bleed dark interstitial
carrying a 01/02/03 index + the section title (e.g. "Automation
Opportunities", "Next Steps", "Appendix")..opt cards + .confirm box): the
user-supplied options (A/B/C) and an amber "To confirm before we start" box for
client open items (deployment, regulatory). Options + open items are
CLIENT-SUPPLIED, never invented..tba-fn bars): per-function logo bars showing
the top apps that make up roughly 80% of captured time per function (minimum 3
apps), the rest bundled into a dimmed "Other" row. Source: baseline.app_time_share[].Fan out sub-agents via Task where parallel (one per role to consolidate, one
per process for detail pages), then assemble; else do them in order.
meta,
exec_rollup, processes, baseline. Thin/missing/unlabelled → ask (§1).
Resolve report-meta + logo.meta.user_role/department. Within a role, cluster matching processes (same
category + step shape + tools) into one consolidated process,
conservatively: if two runs differ materially, keep them separate and note
the divergence, never average distinct work. Merge each metric as a range
across people (min–median–max) and record coverage "K of N". Recompute the
exec rollup as the cohort sum (scope: N people, M roles); per-role rollups =
sums within each role; never double-count an activity. When one automation
serves several people/roles, savings still sum per person but its cost is
shared once, not charged per role (else net ROI is understated). One
sub-agent per role works well. 1 ledger → skip, scope n=1.report.html in the working dir: one self-contained file (§3),
clone archetypes, bind real values, enforce the honesty contract (§2), embed
the logo (§4). Tight copy: label, number, basis, done. When many near-identical
pages repeat (one per process), generate them from a single data array, not
hand-edited HTML, so a shared number cannot drift between pages.bash assets/make-pdf.sh report.html /tmp/report-preview.pdf --shots /tmp/report-shots
→ per-page PNGs + overflow report (exit 2 = a page overflows; split it and
re-run) + a page-count check. The /tmp PDF is a throwaway overflow probe;
never present it as the deliverable. Self-review vs components.html:
alignment, hierarchy, every number chipped, no clipping, and every figure
reconciles across pages (per-process → function subtotal → exec headline; any
number repeated on multiple pages matches). Assert the rendered HTML contains
zero em dashes. Two more cheap text checks (wired into make-pdf.sh): count
<section class="page blocks against the planned page count, and scan for an
accidentally duplicated money string (a regex like
A?\$[\d,]+\s+(<b>)?A?\$[\d,]+ catches a value printed twice).
PII scan (mandatory, before the review gate): regex-scan the rendered
report.html text for emails ([\w.+-]+@[\w-]+\.\w), phone-number patterns,
@handles, credential/token URL params ((token|key|secret|sig|signature| auth|session|sid|apikey|api_key|password)=..., a JWT, an AWS/API key
pattern), card/bank numbers (Luhn-gated) and IBANs, and national IDs across
every market this ships to, not just US SSN (see the analyst skill's
Privacy scrub for the exact per-market regex: Philippines SSS/TIN/PhilHealth,
Malaysia NRIC, Czech/Slovak rodné číslo, Germany/Austria Steuer-ID or
Sozialversicherungsnummer, Switzerland AHV/AVS, Australia TFN/Medicare, New
Zealand IRD); also grep for the observed person's actual name if the user
supplied one anywhere, for any ledger source filename (per §1), and for
keyword triggers ("DOB", "Passport No", "SSN", "diagnosis", "MRN", "patient")
that flag content needing a generic paraphrase. Any hit → fix the source
binding (never hand-edit the HTML to hide it) and re-render before showing the
deck. A hit on a kept file/filter/URL-path/formula name is not a match;
don't strip those.report.html live in-workspace; on this Mac, open report.html and/or show
the stage-5 page PNGs inline. Then stop and wait for explicit approval.
Collect changes, edit, re-verify (5), show again, repeat until the user
approves. Surgical edits: when the user asks to change one thing, change ONLY
that property and preserve all sibling styling (color, padding, borders,
radius); reverting means restoring the exact prior values, not a fresh
redesign; re-render and show before/after. Do not proceed to stage 7 without an explicit
"yes / approved / ship it" in this conversation.report-final.html;
bash assets/make-pdf.sh report-final.html report-final.pdf. Verify: page
count == .page count, no overflow, backgrounds/chips intact. Report file
paths, page count, PDF engine used, and any caveat. Write the deliverable to
ONE canonical, human-named file and, on any regeneration, overwrite that same
path; state the exact path back to the user. Do not scatter multiple
differently-named copies (it leads to the user opening a stale file).Default to Playwright Chromium so every render auto-checks overflow
(render-pdf.mjs measures content vs sheet height and flags clipping). If absent,
the verify/finalize steps install it once: npm i -D playwright && npx playwright install chromium. make-pdf.sh also cross-checks expected .page count vs the
PDF's actual page count and warns on mismatch (any engine).
Fallbacks, only if install is impossible (offline/locked sandbox), best-first:
--headless=new --print-to-pdf — good fidelity (CSS forces
print-color-adjust: exact); overflow NOT measured, so say so and eyeball
every page.components.html is the ceiling for prose density; go under.© deusXmachina-dev, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (assets) in plugins/memorylane/skills/report-new of deusXmachina-dev/memorylane.
Open the folder on GitHubat commit 16abbe0
Report New next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Report New this skilldeusXmachina-dev/memorylane | 121 | — | ~7.9k | Automated safety check: Notes | GPL-3.0 | |
| MarkitdownImCa0/just-laws | 782 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Gzh Designisjiamu/gzh-design-skill | 3.9k | 1 repos | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| GenOffice Document CLIgenspark-ai/genoffice | 9k | — | ~19k | Automated safety check: Pass | Apache-2.0 | |
| Harness Book Best Practicewquguru/harness-books | 3.2k | — | ~4.1k | Automated safety check: Pass | None | |
| Bookforge Korean Ebook PDF Makergongnyang/bookforge | 315 | 1 repos | ~1.7k | Automated safety check: Pass | MIT |
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
isjiamu/gzh-design-skill
微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…
genspark-ai/genoffice
Creates, converts, reads and edits real pptx, xlsx, docx and PDF files locally through the genoffice command line.
wquguru/harness-books
Best practices for working on the Harness books repo. An agent skill from wquguru/harness-books.
gongnyang/bookforge
Produces book-style Korean ebook PDFs from a topic or finished manuscript, with six design styles, real book parts and quality-check gates before output.
aws-samples/amazon-bedrock-agents-healthcare-lifesciences
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.
deusXmachina-dev/memorylane
Create SQLite migrations for MemoryLane storage schema changes.
deusXmachina-dev/memorylane
Prepare a MemoryLane release by updating the version and release notes, then creating and pushing the tagged release commit that triggers CI.
deusXmachina-dev/memorylane
(new) Find a person's repeated tasks from their screen activity, and what each one is worth automating, with the time and money saved.
deusXmachina-dev/memorylane
Write step-by-step automation instructions for a workflow, tailored to your tool (Claude, n8n or Zapier).
deusXmachina-dev/memorylane
Discover repeated workflow patterns from screen activity and suggest automations
deusXmachina-dev/memorylane
Summarize what you've been doing in the last 30 minutes. An agent skill from deusXmachina-dev/memorylane.
Categories
(new) Turn a process analysis into a polished, client-ready report, first an HTML deck you review, then a matching PDF. Report New is an agent skill from deusXmachina-dev/memorylane. (new) Turn a process analysis into a polished, client-ready report, first an HTML deck you review, then a matching PDF.
Report New fits situations like: package an analysis into an exec report; tasks that involve PDF.
Run `npx skills add deusXmachina-dev/memorylane --skill report-new -a claude-code`. Or copy the skill folder (plugins/memorylane/skills/report-new in deusXmachina-dev/memorylane) into .claude/skills/report-new in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deusXmachina-dev/memorylane --skill report-new -a codex`. Or copy the skill folder (plugins/memorylane/skills/report-new in deusXmachina-dev/memorylane) into .agents/skills/report-new in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add deusXmachina-dev/memorylane --skill report-new -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report-new, .gemini/skills/report-new, .github/skills/report-new and .opencode/skills/report-new in your project.
Going by SKILL.md and its folder, Report New needs a shell and JavaScript for the scripts in its folder and the command-line tools its instructions call (bash and curl). Our summary lists: Node.js; A Bash shell. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, Task, AskUserQuestion.
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Report New is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.9k tokens (SKILL.md is roughly 32k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Report New: Markitdown (ImCa0/just-laws, 782 stars), Gzh Design (isjiamu/gzh-design-skill, 3.9k stars), GenOffice Document CLI (genspark-ai/genoffice, 9k stars) and Harness Book Best Practice (wquguru/harness-books, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
deusXmachina-dev (a GitHub organization) maintains it in deusXmachina-dev/memorylane, which has 121 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.
Source: deusXmachina-dev/memorylane on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.