QinghongLin
- 46 skills
- 0 followers
- 8 hours ago last updated
- ▌ Editor 2 · qinghonglin bundleRead analyst.json and detective.json, make all editorial decisions — what the blog argues, which findings matter, narrative arc and section structure. Runs after the Analyst/Imagineer, before the Designer. No visual design. Outputs editor.md (prose) and editor.json (structure with edt_xx IDs).
- ▌ Analyst 2 · qinghonglin bundleExhaustively profile a dataset and list ALL possible analyses — distributions, correlations, rankings, trends, group comparisons, anomalies. Reads detective.json for context. Runs after the Detective/Scout, before the Editor. Outputs analyst.json with ana_xx IDs and chart-ready data_tables.
- ▌ Auditor 2 · qinghonglin bundleAudit a generated Data2Story blog for build correctness across ALL modalities by ACTUALLY RENDERING it in a real headless browser (when available) — catching blank/0-width charts, broken/oversized media, desktop+mobile overflow, and dead interactions that source inspection cannot see — then having vision agents review the screenshots, playtesting every interactive, and walking the flagship capability contract. Plus VIEW every image for a wrong/AI-faked subject. Fixes layout in place; sends content-correctness problems back to the owning role. Use at Stage 6 after the Programmer assembles index.html and before the Critic; re-runs each revision round. Triggers: a built index.html exists, or you need to confirm charts/media/interactions actually render.
- ▌ Designer 2 · qinghonglin bundleRead editor.md, editor.json, and analyst.json. Make data-driven creative visual decisions for every section — teaser, charts, images, videos, audio, maps, and interactive demos when they fit the data. Generate selected assets. No HTML. Outputs designer.json with des_xx IDs.
- ▌ Detective 2 · qinghonglin bundleResearch external context for a dataset — domain background, history, related studies, and why this data matters. Outputs detective.json (structured findings with det_xx IDs) before any analysis begins.
- ▌ Inspector 2 · qinghonglin bundleRun sentence-level traceability verification on a Data2Story blog (verify.py -> verifier.json), then emit the in-page Inspector panel (the reader-facing runnable verifier) + the verify/ artifacts (verify_map.json, run_cells.json, the reproducible notebook, cell_registry.json). Mostly Python; the runnable layer recomputes each computation in-browser from its inlined data and grades it against the published output, while the bundled notebook re-executes from raw data. Use verify.py at Stage 6.4 (after validate.py, before the Critic) and generate_viewer.py at Stage 7 after the Programmer authors the verify/ files and pastes the panel shell. Triggers: a built index.html plus the role JSONs exist, or you need the traceability map / the in-page runnable verifier.
- ▌ Programmer 2 · qinghonglin bundleRead editor.md, editor.json, analyst.json, and designer.json. Resolve chart data from analyst data_tables. Build the final index.html with data-* traceability attributes. Pure implementation — no editorial or visual decisions, no raw data access.
- ▌ Openrouter Text2music 2 · qinghonglin bundleGenerate atmospheric sound-design / SFX (NOT speech, NOT the front-of-blog BGM) via OpenRouter using Google Lyria 3 Pro.
- ▌ Run Exp · qinghonglinRun experiments based on the plan from read-exp. Reads check_exp.json and check_code.json, creates environment, runs experiments, compares against paper numbers.
- ▌
- ▌ Read Exp · qinghonglinReview experiment design and produce a prioritized reproduction plan. Targets claims with evidence_type "experiment" from check_claim.json. Output feeds into run-exp.
- ▌ Read Txt · qinghonglinCheck writing quality — grammar, typos, unclear phrasing, inconsistent terminology, logical flow issues. Scans the full paper text and reports issues by page.
- ▌ Read Vis · qinghonglinCheck a paper's visual presentation for layout, figure quality, spacing, and formatting issues. Use when reviewing paper polish before submission.
- ▌
- ▌ Read Claim · qinghonglinDeep extraction of all verifiable claims from a research paper. Actively proposes implicit claims, splits compound statements, and flags cross-reference inconsistencies.
- ▌ Read Prior · qinghonglinWeb-search validation of citation and novelty claims from check_claim.json. Checks whether cited facts are accurate and novelty claims ("first", "pioneering") hold against published literature.
- ▌ Read Theory · qinghonglinVerify theoretical claims — mathematical derivations, proofs, and formal arguments. Targets claims with evidence_type "theoretical" from check_claim.json.
- ▌ Vis Preview · qinghonglinGenerate an interactive HTML review with PDF page images (left) + code viewer with syntax highlighting (middle) + findings with bidirectional navigation (right). All findings are permanently highlighted on the PDF and clickable in both directions.
- ▌ Prepare Paper · qinghonglinOrganize a paper PDF and its codebase into clean reading artifacts. Use this before any other read-* skills.
- ▌ Find Data · qinghonglin bundleFind a dataset for a Data2Story blog. Accepts a topic, a URL, or a DIP-style category. Downloads + validates against 4 completeness gates before handing off to /data2story-pro. Local-first: searches Economist/Pudding/TidyTuesday clones before going online. Supports --validate-only to audit a folder you already have.
- ▌ Data2story · qinghonglinData Journalist Agent (Data2Story) — orchestrator: turn a dataset into a blog. Runs detective → analyst → editor → designer → programmer → auditor → inspector in sequence. Creates a versioned project folder for each run.
- ▌ Dataviz Craft · qinghonglin bundleA shared reference library for editorial-grade data-visualization craft — Vega-Lite-first with a D3 fallback for charts Vega-Lite can't express. Read by the Designer at chart selection (intent → ranked chart type), the Programmer at implementation (editorial Vega-Lite recipes, annotation layers, axis/label de-clutter, encoding craft), and the Auditor/Critic for chart-quality review. It encodes the FT Visual Vocabulary intent taxonomy, the Cleveland–McGill channel-accuracy ordering, the BBC bbplot de-clutter ruleset, and colorblind-safe encoding rules. Not a pipeline stage — a craft source, like frontend-design.
- ▌ Data2story Pro · qinghonglin bundleUse to turn a dataset into a verifiable multimedia blog (a data story / data-driven article / interactive dashboard from a dataset). Orchestrator for the Data Journalist Agent (Data2Story): a 7-team newsroom (14 agents) running detective → scout → analyst → imagineer → editor → copywriter → designer → interaction → hero → cinematographer → programmer → auditor → critic → inspector in sequence. Trigger when the user hands over a dataset (CSV/JSON/folder/path) and wants a published story, blog post, or interactive report built from it. Creates a versioned project folder per run.
- ▌ Frontend Design · qinghonglin bundleReusable UI/visual-design system for building polished, distinctive, multimedia-rich self-contained HTML stories. A shared reference library that the Data2Story Designer and Programmer borrow from so every blog looks intentional and editorial rather than generic. Not a pipeline stage — a design source.
- ▌ Sparring Partner · qinghonglin bundleThis skill should be used whenever the user wants to develop, refine, or stress-test an idea, plan, design, research direction, product/business concept, argument, or any decision with more than one reasonable path — i.e. whenever they want a thinking partner rather than a quick answer. Trigger it when the user says things like "let's brainstorm", "help me think through this", "poke holes in my idea", "be my devil's advocate", "roast this idea", "challenge my assumptions", "sanity-check my plan", "what am I missing?", "I have a rough idea for…", or shares a half-baked concept and wants to make it better — even if they never use the word "brainstorm". It makes Claude a rigorous, anti-sycophantic sparring partner that researches just-in-time, drives the idea through Frame → Diverge → Converge → Pressure-test → Decide, asks sharp questions, and refuses to rubber-stamp. Do NOT use it for simple factual lookups, well-defined tasks with one correct answer, or when the user just wants direct execution of a clear ins
- ▌ Editor · qinghonglin bundleRead analyst.json and detective.json, make all editorial decisions — what the blog argues, which findings matter, narrative arc and section structure. No visual design. Outputs editor.md (prose) and editor.json (structure with edt_xx IDs).
- ▌ Analyst · qinghonglin bundleExhaustively profile a dataset and list ALL possible analyses — distributions, correlations, rankings, trends, group comparisons, anomalies. Reads detective.json for context. Outputs analyst.json with ana_xx IDs and chart-ready data_tables.
- ▌ Auditor · qinghonglin bundleDetect and fix layout issues in generated HTML using visual rendering tests. Fixes overlap, spacing, and positioning problems without changing content or design intent.
- ▌ Hero · qinghonglin bundleCraft the COVER — the one animated <video> hero that opens the page above the headline, built from a Scout-verified still (or an abstract generated still) via a deterministic source ladder. The cover is animated by DEFAULT; a static <img> is only the recorded last rung. Owns the hero video + its static furniture; the Interaction Engineer owns the pick-a-side overlay, the Cinematographer stages the cover as cin_00. Reuses data-des=des_hero_video (no new provenance prefix). Outputs hero.json + assets/teaser.webm + _web.mp4 + .jpg poster.
- ▌ Designer · qinghonglin bundleRead editor.md, editor.json, and analyst.json. Make data-driven creative visual decisions for every section — teaser, charts, images, videos, audio, maps, and interactive demos when they fit the data. Generate selected assets. No HTML. Outputs designer.json with des_xx IDs.
- ▌ Frontend Design Pro · qinghonglin bundleShared UI/visual-design rule library for building polished, distinctive, multimedia-rich self-contained HTML stories. The Data2Story Designer and Programmer read it to choose a visual language (theme, type pairing, layout, components, motion) and implement it so every blog looks intentional and editorial, never templated. Use when designing or reshaping a story's look, picking fonts/colors/themes, building a hero/chart/card/map/audio component, adding motion or an interactive, or fixing a visual defect (invisible chart, overflow, broken media, AI-slop look). Not a pipeline stage — a design source consulted by other roles.
- ▌ Scout · qinghonglin bundleSource and VERIFY rich external media (music, high-value real photos/video) and the latest live status that the Detective's background pass didn't cover. Every asset carries a checked license + identity block; nothing unlicensed or misidentified passes downstream. Outputs scout.json (sct_xx) after the Detective, before analysis.
- ▌ Detective · qinghonglin bundleResearch external context for a dataset — domain background, history, related studies, and why this data matters. Outputs detective.json (structured findings with det_xx IDs) before any analysis begins.
- ▌ Inspector · qinghonglin bundleRun sentence-level traceability verification on a blog, then generate viewer.html with interactive evidence panel. No LLM needed — pure Python.
- ▌ Critic · qinghonglin bundleReview a finished Data2Story blog against the 5 quality rubric dimensions (visual_design, narrative_pacing, data_method_transparency, claim_data_alignment, insight_value), score each 1-7 with on-page evidence, and emit critic.json with pass/fail + targeted, surgical send-back instructions. Verifies every load-bearing claim/asset against its traceability chain before scoring; applies the caveat-survival, honest-accuracy, and third-party-attribution caps. Does NOT rewrite content — scores and sends back. Use at Stage 6.5 after the Auditor and after verify.py has produced verifier.json; re-runs each revision round. Triggers: a built index.html plus verifier.json exist, or you need to judge whether the article is actually good.
- ▌ Programmer · qinghonglin bundleRead editor.md, editor.json, analyst.json, and designer.json. Resolve chart data from analyst data_tables. Build the final index.html with data-* traceability attributes. Pure implementation — no editorial or visual decisions, no raw data access.
- ▌ Ideation · qinghonglin bundleFront stage for /data2story-pro when the reader has no dataset — only a vague idea. Converges the idea into a concrete, data-backed topic through a sparring-partner dialogue (anti-sycophantic, feasibility-pressure-tested), then acquires a REAL dataset through find-data, with a user checkpoint after each. Returns a validated DATA_DIR for the main pipeline. Not a newsroom role — runs upstream of Detective, before any dataset exists. Real data only; never a reason to synthesize data.
- ▌ Imagineer · qinghonglin bundleFan out MANY candidate interactive concepts from the data + narrative — the ideation pool the Editor curates a hero + supporting set from. Deliberate over-generation: one concept per finding worth making hands-on, each declaring its archetype, purpose, what the reader produces, and an honest feasibility (node-checked against the Analyst's client_model). Builds NOTHING on-page — img_xx concepts are internal and never reach HTML. Outputs imagineer.json after the Analyst, before the Editor.
- ▌ Copywriter · qinghonglin bundleName the piece — re-write the masthead (headline + standfirst + kicker), every section title, and every figure/photo/table caption to a research-driven titling standard, killing the AI-tell patterns (the 'flat statement. flat counter-statement.' two-beat above all) a competent default falls into. Reads editor.md/json + analyst.json + the resolved topic_profile; writes copywriter.json — STRINGS ONLY (masthead{headline,standfirst,kicker}, items{edt_xx:{title}, des_xx:{caption}}), each backed by a real ana_*. Names, never edits: it touches no finding, no number, no data-* id, no layout — so the Verify layer is untouched and the Programmer renders the masthead + figcaptions from copywriter.json verbatim. Runs at Stage 3.5, after the Editor, before the Designer.
- ▌ Interaction · qinghonglin bundleBuild the curated interactive SET the Editor approved: the ONE narrative-bound hero centerpiece (an explorable/scrollytelling that makes the reader PRODUCE the lead finding) PLUS the ranked supporting playgrounds — each bound to a distinct finding — to the same three-layer-number standard, plus animation/transition craft. Consumes editor.json.interactives + imagineer.json + the Analyst's client_model. Outputs interaction.json (centerpiece + supporting[] + playtest_handoff) for the Programmer; may reach back into the Editor's spine when the lead finding should be hands-on.
- ▌ Cinematographer · qinghonglin bundleDesign the MANDATORY cinematic scroll experience (every blog ships one): a full-bleed, scroll-driven background — primarily from the Scout's verified real imagery — plus the global motion choreography, so the narrative unfolds like a film as the reader scrolls. Owns the BACKGROUND layer + page-level motion (not the Designer's per-section visuals, not the Interaction centerpiece — it stages them inside the scroll). Outputs cinematographer.json (cin_xx scenes). There is no off path: a topic with no sourceable real imagery falls back to a generative-atmosphere or data-driven-spine background, never to a bare column.
- ▌ Openrouter Embeddings · qinghonglin bundleGenerate text embeddings via OpenRouter using Qwen3-Embedding-8B.
- ▌ Openrouter Text2image · qinghonglin bundleGenerate images via OpenRouter. Default model openai/gpt-5.4-image-2; any image-modality model can be passed via --model.
- ▌ Openrouter Text2music · qinghonglin bundleGenerate music (NOT speech) via OpenRouter using Google Lyria 3 Pro.
- ▌ Openrouter Text2video · qinghonglin bundleGenerate videos via OpenRouter using ByteDance Seedance 2.0.
- ▌ Openrouter Image2video · qinghonglin bundleAnimate a still image into a short video via OpenRouter. Default model google/veo-3.1-fast.