Skip to content

feat(skills): add data-report, which turns a dataset into an analytics page with a top bar and a sidebar - #407

Closed
onmax wants to merge 5 commits into
feat/charts-report-stylefrom
feat/data-report-skill
Closed

onmax wants to merge 5 commits into
feat/charts-report-stylefrom
feat/data-report-skill

Conversation

@onmax

@onmax onmax commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Someone with a large export and no BI tool has no path in comark-ui to the kind of page dashboards such as nuxt-evals and Slopalytics show: a strip of headline figures, a few findings, a section of charts per question, and a sidebar. The report skill writes a decision page from research, so it starts after the analysis, not from raw data.

This adds a data-report skill. It walks an agent from raw data to the page: profile the data, write four to seven questions, compute every number in one script it keeps, pick each chart from a house style, then build and screenshot the page. scripts/build.mjs wraps the Markdown in one self-contained HTML file. The file has a sticky top bar with a link per section, the report, and a sidebar with the outline and the frontmatter's facts about the data. Light and dark follow the system, with a toggle, and the sections in view are marked as you scroll. The build refuses a report with issues and prints each one.

references/charts.md maps each question shape to its chart and is a valid report itself, so the same script builds it into a chart gallery. references/example.md is a finished support-analytics report over made-up data, built from a seeded script so its numbers agree across charts. The skill gets a docs page, a line on the skills index, and a place in the editor test over every skill's example. A new "A data report" recipe holds the whole example, so the playground opens it as a preset next to the charts'.

This needs #406's chart props (heatmap, unit, log, description), so it's based on that branch.

I ran the build as the skill tells an agent to, in a fresh folder with comark-ui linked from this branch. It wrote the page and both screenshots, and refused a report with better="more". The ui build, editor.test.ts, workspace.test.ts and the docs lint pass. I also gave a fresh agent only this skill and the public export of this repository's 400 pull requests and last 1,000 Actions runs. It built the report in about 7 minutes and listed every place it had to guess; the fixes are in the last commit, and the rebuilt report is at https://drop.vitehub.dev/d/wrhphb6sqz1w/data-report-skill-test-comark-ui-github. With comark-ui from npm the build still refuses the page, since description, unit and log ship with #406. I haven't checked the page on a phone; under 1100px the sidebar moves under the report and under 640px the top bar drops its links.

@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-11T12:23:08.420286Z
We couldn’t complete this review. Comment @codex review to try again.
4ef8921 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@onmax

onmax commented Nov 11, 2026

Copy link
Copy Markdown
Owner Author

Example report and chart gallery on Drop, both built with scripts/build.mjs.

@onmax
onmax force-pushed the feat/data-report-skill branch from 133ee1f to 4ef8921 Compare November 11, 2026 12:26
@pkg-pr-new

pkg-pr-new Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

comark-annotate

pnpm add https://pkg.pr.new/comark-annotate@407

comark-badge

pnpm add https://pkg.pr.new/comark-badge@407

comark-cards

pnpm add https://pkg.pr.new/comark-cards@407

comark-carousel

pnpm add https://pkg.pr.new/comark-carousel@407

comark-cast

pnpm add https://pkg.pr.new/comark-cast@407

comark-charts

pnpm add https://pkg.pr.new/comark-charts@407

comark-chat

pnpm add https://pkg.pr.new/comark-chat@407

comark-chips

pnpm add https://pkg.pr.new/comark-chips@407

comark-cjk

pnpm add https://pkg.pr.new/comark-cjk@407

comark-code

pnpm add https://pkg.pr.new/comark-code@407

comark-code-notes

pnpm add https://pkg.pr.new/comark-code-notes@407

comark-colors

pnpm add https://pkg.pr.new/comark-colors@407

comark-comments

pnpm add https://pkg.pr.new/comark-comments@407

comark-critic

pnpm add https://pkg.pr.new/comark-critic@407

comark-deflist

pnpm add https://pkg.pr.new/comark-deflist@407

comark-details

pnpm add https://pkg.pr.new/comark-details@407

comark-diagrams

pnpm add https://pkg.pr.new/comark-diagrams@407

comark-diff

pnpm add https://pkg.pr.new/comark-diff@407

comark-embed

pnpm add https://pkg.pr.new/comark-embed@407

comark-fields

pnpm add https://pkg.pr.new/comark-fields@407

comark-figure

pnpm add https://pkg.pr.new/comark-figure@407

comark-file-tree

pnpm add https://pkg.pr.new/comark-file-tree@407

comark-footnotes

pnpm add https://pkg.pr.new/comark-footnotes@407

comark-github

pnpm add https://pkg.pr.new/comark-github@407

comark-icon

pnpm add https://pkg.pr.new/comark-icon@407

comark-include

pnpm add https://pkg.pr.new/comark-include@407

comark-keys

pnpm add https://pkg.pr.new/comark-keys@407

comark-links

pnpm add https://pkg.pr.new/comark-links@407

comark-linter

pnpm add https://pkg.pr.new/comark-linter@407

comark-magic-move

pnpm add https://pkg.pr.new/comark-magic-move@407

comark-mark

pnpm add https://pkg.pr.new/comark-mark@407

markdown-it-to-comark

pnpm add https://pkg.pr.new/markdown-it-to-comark@407

marked-to-comark

pnpm add https://pkg.pr.new/marked-to-comark@407

comark-mathml

pnpm add https://pkg.pr.new/comark-mathml@407

comark-media

pnpm add https://pkg.pr.new/comark-media@407

comark-metrics

pnpm add https://pkg.pr.new/comark-metrics@407

migrate-to-comark

pnpm add https://pkg.pr.new/migrate-to-comark@407

comark-outline

pnpm add https://pkg.pr.new/comark-outline@407

comark-properties

pnpm add https://pkg.pr.new/comark-properties@407

comark-qr

pnpm add https://pkg.pr.new/comark-qr@407

comark-quiz

pnpm add https://pkg.pr.new/comark-quiz@407

comark-reading-time

pnpm add https://pkg.pr.new/comark-reading-time@407

remark-to-comark

pnpm add https://pkg.pr.new/remark-to-comark@407

comark-sources

pnpm add https://pkg.pr.new/comark-sources@407

comark-steps

pnpm add https://pkg.pr.new/comark-steps@407

comark-table

pnpm add https://pkg.pr.new/comark-table@407

comark-tabs

pnpm add https://pkg.pr.new/comark-tabs@407

comark-tests

pnpm add https://pkg.pr.new/comark-tests@407

comark-time

pnpm add https://pkg.pr.new/comark-time@407

comark-ui

pnpm add https://pkg.pr.new/comark-ui@407

comark-xref

pnpm add https://pkg.pr.new/comark-xref@407

comark-zoom

pnpm add https://pkg.pr.new/comark-zoom@407

commit: 79b5c8a

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Section tracking does not work with the default renderer, and the documented build setup needs two corrections to run successfully from a clean environment.

Reviewed changes — Reviewed the new data-report skill, its standalone HTML builder, references, and documentation integration.

  • Dataset-to-report workflow: Adds instructions for profiling data, computing reproducible figures, choosing charts, and delivering the report with its analysis script.
  • HTML report builder: Adds sticky section navigation, an outline and metadata sidebar, light/dark switching, issue rejection, and optional screenshots.
  • Examples and integration: Adds the chart gallery, support-analytics example, skill metadata, docs page and index entry, and editor round-trip coverage.

Validation: workspace build and docs lint passed; focused tests passed with 586 tests and one skipped. Built both references, checked desktop/mobile rendering and theme switching, and exercised screenshot generation and invalid-input rejection.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-6.1-sol(xhigh) | 𝕏

Comment thread skills/data-report/scripts/build.mjs Resolved
Comment thread skills/data-report/SKILL.md Resolved
Comment thread skills/data-report/SKILL.md Resolved
@vite-hub

vite-hub Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor
Session Status Started Duration
Pending Completed Not started —

Latest result

Pull request closed.

Final answers

Session

Pull request closed.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

Session

Waiting for open parent PR #406 to merge; this child has nothing left to repair.

@onmax
onmax force-pushed the feat/charts-report-style branch from cb63d5c to 5548820 Compare November 11, 2026 13:05
@onmax
onmax force-pushed the feat/data-report-skill branch from a429b26 to 79b5c8a Compare November 11, 2026 13:05

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found. No P0 or P1 findings remain.

Reviewed changes — Reviewed the changes since the prior Pullfrog review, including the navigation repairs, build instructions, refreshed example, and newly added recipe.

  • Fixed section navigation: Resolved outline targets by ID and applied scroll offsets to wrapped headings, restoring current-section tracking and positioning headings below the sticky header.
  • Corrected build setup: Documented copying the builder beside report.md and installing Chromium before generating screenshots.
  • Added navigation regression tests: Covered the generated report's seven outline targets, active links in both navigation areas, and fragment positioning.
  • Added the report recipe: Registered the complete report as a playable preset and refreshed the example's figures and answerability chart.

Validation: both navigation E2E tests passed, including repeated parallel runs; focused editor, skill, and workspace tests passed with 591 tests and one skipped. Docs lint and focused E2E lint passed. The recipe loaded and rendered eight charts, the copied builder produced both screenshots, and desktop/mobile fragment navigation left headings below the header. Full workspace build attempts reached [timed out after 120000ms]; direct UI and linter builds passed.

Pullfrog  | View workflow run | Using gpt-6.1-sol(xhigh) | 𝕏

@onmax
onmax force-pushed the feat/data-report-skill branch from 79b5c8a to d37839d Compare November 11, 2026 14:36
onmax and others added 4 commits November 11, 2026 15:55
The build names a missing package instead of throwing, and saves screenshots in slices with the Data folds closed. The skill says how to handle several sources, prints the stats table from the script, counts series and bars apart, says to install a current comark-ui when props are refused, and adds a spread-per-name chart.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ No P0 or P1 findings remain. One small dependency-diagnostic fix is noted inline.

Reviewed changes — Reviewed the incremental changes since the prior Pullfrog review, excluding unchanged content carried through the rebase.

  • Refined the analysis workflow: Clarified multiple-source profiling, generated headline tables, category limits, metadata, and screenshot checks.
  • Expanded chart guidance: Added the median/p90 dumbbell example and clarified palette ordering, stacked labels, supported props, and linear money comparisons.
  • Extended dependency resolution: Added report-directory fallback and installation guidance when a required module cannot be resolved.
  • Sliced screenshot output: Saved numbered light/dark images up to 1400px tall while leaving Data folds closed.

Validation: workspace build and docs lint passed; focused editor, skills, and workspace tests passed with 591 tests and one skipped; both navigation E2Es passed. The copied builder resolved dependencies from the report directory and generated both references with correctly sized slices in both themes. The missing-preset case reproduced the diagnostic defect below.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-6.1-sol(xhigh) | 𝕏

} catch {}
}
console.error(
`Can't find ${name} from this folder or the report's. Install it here: pnpm add ${name}`,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 · Class: dependency diagnostics treat import subpaths as package names. With comark and @comark/html installed but the preset missing, this prints pnpm add comark-ui/html; pnpm interprets that as the GitHub repository comark-ui/html, not the npm package, so following the recovery instruction does not install the dependency. Suggest pnpm add comark-ui for this import while preserving @comark/html as a scoped package name.

@onmax onmax closed this Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant