{"id":"tidy-timeline","repo":"jegork/paseo-tidy-timeline","url":"https://github.com/jegork/paseo-tidy-timeline","name":"tidy-timeline","description":"A Paseo plugin that folds noisy user messages into compact cards.","categories":["timeline","omp","productivity"],"platforms":[],"caveats":["Client-only; cards for omp's injected rows, long pastes fold for every provider","Paseo 0.8.0 streams assistant rows as blocks, so a card can be header-only until the agent is reloaded"],"images":[],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-09-14T08:29:20.978Z","addedAt":"2026-09-13T19:28:46Z","version":"0.2.1","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-14T08:27:38.731Z","commit":"d98950b490db5cf2ec3689767eb695710c24a7c3"},"license":"MIT","paseoVersionRequirement":">=0.8.0-beta.1","manifest":{"id":"tidy-timeline","requirements":{"paseo":">=0.8.0-beta.1"}},"repoMeta":{"stars":0,"defaultBranch":"main","pushedAt":"2026-09-13T22:04:05Z"},"owner":{"login":"jegork","avatarUrl":"https://avatars.githubusercontent.com/u/43540177?v=4"},"installNotesHtml":"<pre><code class=\"language-sh\">paseo plugin add jegork/paseo-tidy-timeline\n</code></pre>\n<p>Requires Paseo 0.8.</p>","readmeText":"# tidy-timeline\n\nA Paseo plugin that folds noisy user messages into compact cards.\n\n- **Skill card** — omp expands `/skill:name` into the conversation as a marker sentence followed by\n  the whole SKILL.md, which Paseo shows as a reply-sized wall of text. The card shows\n  `Skill · name` with a line count; tap to expand the body, copy it from the footer. Both shapes are\n  recognised: the body as its own assistant row (what Paseo's omp mapper emits) and the body bundled\n  into the user message.\n- **Inbox card** — omp's hub delivers subagent replies into the parent as one assistant row of\n  `<irc>` blocks. The card lists one collapsed row per message with the sender and a two-line\n  preview; tap to read, Copy underneath. The two delivery boilerplate lines are dropped. When Paseo\n  merges a delivery into the reply that was streaming, the row is split: the reply's own words stay\n  in place, rendered by the plugin, and the blocks become the card.\n- **Notice card** — omp's `<system-notice>` for a finished background job becomes one line,\n  \"Background job X has completed · status · duration · lines\", expanding to the result preview.\n  The closing tags and the \"full payload at agent://\" pointer are dropped.\n- **Paste card** — a user message with 24 or more lines, or 4000 or more characters, is almost\n  certainly pasted output. The card shows the first three lines and a \"more lines\" bar with\n  Show all and Copy. ANSI colour codes are stripped and the bar says so.\n\nCard bodies render a small markdown subset of their own, since Paseo exposes no markdown component\nto plugins: paragraphs, headings, bullet and numbered lists, fenced code, and inline code, bold and\nitalic, plus links, which open in the browser. Anything else stays literal.\n\nClient-only. Nothing runs on the daemon and nothing is stored.\n\n## Install\n\n```sh\npaseo plugin add jegork/paseo-tidy-timeline\n```\n\nRequires Paseo 0.8.\n\n## Streamed rows arrive in pieces\n\nPaseo 0.8 splits an assistant message into markdown blocks while it streams and runs transformers\nper block, so an injected row can reach the plugin as fragments. Whole rows get the full cards\nabove. Fragments degrade rather than break: a skill marker on its own becomes a header-only skill\ncard, an `<irc>` opener becomes \"Message from X\", trailer lines and closing tags are hidden, and a\nnotice header becomes a banner. The message paragraphs in between stay as ordinary markdown. A\nreload of the agent refetches whole rows and restores the full cards.\n\n Transformers may only target user, assistant, reasoning, tool-call, todo,\nerror, and compaction rows, so omp's \"mounted tool\" notifications stay as they are.\n"}