{"id":"a695fe34-a321-4b64-808c-3bab29b984fc","entityType":"agent","slug":"clawhub-ccmxigua-beamer-pipeline-public","name":"Beamer Pipeline Public","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ccmxigua-beamer-pipeline-public","canonicalPath":"/agent/clawhub-ccmxigua-beamer-pipeline-public","generatedAt":"2026-10-11T07:42:54.954Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T05:42:19.799Z","emptyReason":null},"description":"Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation. Skill: Beamer Pipeline Public Owner: ccmxigua Summary: Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation. Tags: academic:0.2.1, beamer:0.2.1, latest:0.3.1, latex:0.2.1, pipeline:0.2.1, slides:0.2.1 Version history: v0.3.1 | 2026-05-19T03:19:57.726Z | user Add Agent setup section to SKILL.md: document required pr","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s176p8sx1d8rt90bs5kkqh837s85m54t:beamer-pipeline-public","sourceUrl":"https://clawhub.ai/ccmxigua/beamer-pipeline-public","homepage":"https://clawhub.ai/ccmxigua/skills/beamer-pipeline-public","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ccmxigua/beamer-pipeline-public","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/ccmxigua/skills/beamer-pipeline-public","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation. Sk"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:42:19.799Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:42:19.799Z","emptyReason":null},"stars":null,"forks":null,"downloads":1143,"packageName":null,"latestVersion":"0.3.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:42:19.740Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T05:42:19.799Z","lastCrawledAt":"2026-10-11T05:42:19.740Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T05:42:19.740Z","lastVerifiedAt":null,"highlights":[{"version":"0.3.1","createdAt":"2026-05-19T03:19:57.726Z","changelog":"Add Agent setup section to SKILL.md: document required programmer/reviewer/tester agent ID configuration","fileCount":23,"zipByteSize":186780},{"version":"0.3.0","createdAt":"2026-05-19T01:46:18.361Z","changelog":"v0.3.0: Replace all hardcoded ~/clawd/* artifact-search paths with ~/.openclaw/* equivalents. Add run_agent_role.js and full repair/scanner suite (6 scripts). All 15 JS pass node -c. SKILL.md updated.","fileCount":22,"zipByteSize":184923},{"version":"0.2.4","createdAt":"2026-05-18T23:51:33.005Z","changelog":"- Major project reorganization: all core scripts, references, and templates moved to dedicated folders, clarifying structure. - 19 new files added for improved modularity (scripts for each pipeline stage, helpers, references, and templates). - 11 redundant or top-level files removed, eliminating duplication and legacy clutter. - Single point-of-entry: now all runner and support scripts reside in `scripts/`. - Documentation references and sample paper now found in the `examples/` and `references/` folders.","fileCount":22,"zipByteSize":184358},{"version":"0.2.3","createdAt":"2026-05-18T12:54:18.132Z","changelog":"Update core scripts v0.2.3","fileCount":14,"zipByteSize":28087},{"version":"0.2.1","createdAt":"2026-04-28T02:46:46.202Z","changelog":"Remove executable upstream-reference snapshots from the public package, add non-executable upstream design notes, and clarify that private OpenClaw runtime/session/database orchestration code is excluded.","fileCount":13,"zipByteSize":25351},{"version":"0.2.0","createdAt":"2026-04-28T02:25:22.981Z","changelog":"Public release of the local-first seven-phase Chinese academic Beamer pipeline runner with pluggable agent execution.","fileCount":14,"zipByteSize":205840}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s176p8sx1d8rt90bs5kkqh837s85m54t:beamer-pipeline-public","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T07:42:54.951Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ccmxigua-beamer-pipeline-public/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T05:42:19.799Z","emptyReason":null},"readme":"Skill: Beamer Pipeline Public\n\nOwner: ccmxigua\n\nSummary: Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation.\n\nTags: academic:0.2.1, beamer:0.2.1, latest:0.3.1, latex:0.2.1, pipeline:0.2.1, slides:0.2.1\n\nVersion history:\n\nv0.3.1 | 2026-05-19T03:19:57.726Z | user\n\nAdd Agent setup section to SKILL.md: document required programmer/reviewer/tester agent ID configuration\n\nv0.3.0 | 2026-05-19T01:46:18.361Z | user\n\nv0.3.0: Replace all hardcoded ~/clawd/* artifact-search paths with ~/.openclaw/* equivalents. Add run_agent_role.js and full repair/scanner suite (6 scripts). All 15 JS pass node -c. SKILL.md updated.\n\nv0.2.4 | 2026-05-18T23:51:33.005Z | auto\n\n- Major project reorganization: all core scripts, references, and templates moved to dedicated folders, clarifying structure.\n- 19 new files added for improved modularity (scripts for each pipeline stage, helpers, references, and templates).\n- 11 redundant or top-level files removed, eliminating duplication and legacy clutter.\n- Single point-of-entry: now all runner and support scripts reside in `scripts/`.\n- Documentation references and sample paper now found in the `examples/` and `references/` folders.\n\nv0.2.3 | 2026-05-18T12:54:18.132Z | user\n\nUpdate core scripts v0.2.3\n\nv0.2.1 | 2026-04-28T02:46:46.202Z | user\n\nRemove executable upstream-reference snapshots from the public package, add non-executable upstream design notes, and clarify that private OpenClaw runtime/session/database orchestration code is excluded.\n\nv0.2.0 | 2026-04-28T02:25:22.981Z | user\n\nPublic release of the local-first seven-phase Chinese academic Beamer pipeline runner with pluggable agent execution.\n\nArchive index:\n\nArchive v0.3.1: 23 files, 186780 bytes\n\nFiles: examples/sample-paper.md (396b), package.json (691b), references/beamer-pipeline-code-explanation.md (2860b), references/UPSTREAM_DESIGN_NOTES.md (930b), scripts/beamer_acceptance_contract.js (21221b), scripts/beamer_phase_blueprint.js (3929b), scripts/coverage_status.js (1715b), scripts/deck_equation_coverage_repair.js (18370b), scripts/deck_equation_coverage_scanner.js (17068b), scripts/deck_instruction_leak_repair.js (9610b), scripts/deck_language_render_guards.js (11601b), scripts/deck_notation_coverage_repair.js (6702b), scripts/deck_strategy_placeholder_repair.js (11692b), scripts/deck_symbol_canonicalization.js (16615b), scripts/prepare_task_assets.js (7597b), scripts/run_agent_role.js (586254b), scripts/run_beamer_public.js (16874b), scripts/slide_schema.js (6806b), scripts/slide_symbol_scanner.js (16950b), skill-card.md (2539b), SKILL.md (8568b), templates/beamer_contract.md (2687b), _meta.json (141b)\n\nFile v0.3.1:SKILL.md\n\n# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## v0.3.0\n\n- Removed all hardcoded `~/clawd/*` paths in artifact-search roots; replaced with `~/.openclaw/*` equivalents so the skill runs correctly on any OpenClaw installation.\n- Added `run_agent_role.js` with shared agent-role dispatch logic (programmer/reviewer/tester).\n- Added full repair/scanner script suite: equation coverage repair, instruction leak repair, notation coverage repair, strategy placeholder repair, equation coverage scanner, slide symbol scanner, and coverage status.\n- Enhanced `deck_language_render_guards.js` for output language constraints.\n- All 15 JS scripts pass `node -c` syntax verification.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5\n```\n\nSupported options:\n\n- `--init-only`: prepare workspace, localized assets, and contract only.\n- `--dry-run`: print the seven-phase plan and required artifacts.\n- `--phase <1-7>`: run one phase.\n- `--validate-phase <2-6>`: validate existing artifacts for a phase gate.\n- `--agent-cmd <command>`: command used to produce/repair artifacts for each phase.\n- `--latex-cmd <command>`: LaTeX command for phase 5, default `LATEXMK_BIN` or `latexmk`.\n- `--skip-assets`: skip `prepare_task_assets.js`.\n\n`--agent-cmd` placeholders:\n\n- `{prompt}`: generated phase prompt file path, shell-quoted.\n- `{phase}`: phase index.\n- `{phaseName}`: phase name.\n- `{out}`: output directory, shell-quoted.\n- `{input}`: source file path, shell-quoted.\n\n## Agent setup (required for default `--agent-cmd`)\n\nThe default agent command uses `{role}` which maps to three agent IDs:\n\n| Phase | Agent ID    |\n|-------|-------------|\n| 1-5   | programmer  |\n| 6     | reviewer    |\n| 7     | tester      |\n\nThese are **not** standard OpenClaw agent IDs — they must be configured in the user's\n`~/.openclaw/openclaw.json` under `agents.list`. A minimal configuration example:\n\n```json\n{\n  \"agents\": {\n    \"list\": [\n      { \"id\": \"main\", ... },\n      {\n        \"id\": \"programmer\",\n        \"name\": \"Programmer\",\n        \"model\": { \"primary\": \"your-model\" },\n        \"workspace\": \"/path/to/workspace\"\n      },\n      {\n        \"id\": \"reviewer\",\n        \"name\": \"Reviewer\",\n        \"model\": { \"primary\": \"your-model\" },\n        \"workspace\": \"/path/to/workspace\"\n      },\n      {\n        \"id\": \"tester\",\n        \"name\": \"Tester\",\n        \"model\": { \"primary\": \"your-model\" },\n        \"workspace\": \"/path/to/workspace\"\n      }\n    ]\n  }\n}\n```\n\n### Alternatives\n\n- **`--no-agent`**: skip all agent invocations and write prompt files only. Useful for inspection or manual execution.\n- **Custom `--agent-cmd`**: provide your own command, e.g. `--agent-cmd 'openclaw agent --agent main --message \"$(cat {prompt})\"'` to route all phases through a single agent.\n\n## Quality contract\n\nA generated deck should:\n\n- Preserve all source figures, tables, subfigures, and appendix figures/tables when available.\n- Expand slide count as needed; any target slide count is a lower bound, not a cap.\n- Include a roadmap page and conclusion-preview page.\n- Use formal Chinese academic presentation style.\n- Separate formal statements from intuition when both are needed.\n- Give full faithful Chinese translations for crucial theorem/proposition/lemma/corollary/definition/assumption statements.\n- Keep visible slide text free of internal scaffold labels such as `core_message`, `source_paragraph_ids`, `paragraph_ledger`, `核心信息`, `来源段落`, `这页负责`, and `服务于未读论文听众`.\n- Track figure/table/equation/notation/formal-statement coverage explicitly.\n- Define symbols, abbreviations, operators, and hyperparameters on first visible use using source-grounded definitions.\n\n## Included scripts\n\n### Pipeline runner\n- `scripts/run_beamer_public.js`: public seven-phase runner with pluggable agent execution.\n- `scripts/run_agent_role.js`: shared agent-role logic for programmer/reviewer/tester phases.\n- `scripts/beamer_phase_blueprint.js`: seven-phase names, goals, required artifacts, and planned-coverage gates.\n- `scripts/prepare_task_assets.js`: localizes markdown image URLs into `figures/` and writes `asset_manifest.json`.\n- `scripts/beamer_acceptance_contract.js`: validates final structured Beamer acceptance fields.\n\n### Repair scripts (auto-fix specific quality issues)\n- `scripts/deck_equation_coverage_repair.js`: repairs unresolved equation coverage entries.\n- `scripts/deck_instruction_leak_repair.js`: removes scaffold/internal instruction leakage from slide text.\n- `scripts/deck_notation_coverage_repair.js`: repairs missing or inconsistent notation coverage.\n- `scripts/deck_strategy_placeholder_repair.js`: replaces strategy placeholders with concrete content.\n\n### Scanner scripts (detect quality issues)\n- `scripts/deck_equation_coverage_scanner.js`: scans for equation coverage gaps.\n- `scripts/slide_symbol_scanner.js`: scans for symbol definition/usage inconsistencies.\n- `scripts/coverage_status.js`: computes coverage status across equation/notation/formal-statement dimensions.\n\n### Shared utilities\n- `scripts/deck_symbol_canonicalization.js`: shared symbol canonicalization helper.\n- `scripts/deck_language_render_guards.js`: render guard constraints for output language.\n- `scripts/slide_schema.js`: shared slide/equation block normalization helper.\n\n## Dependencies\n\nRequired:\n\n- Node.js 18+ or newer\n\nOptional:\n\n- A LaTeX distribution such as TeX Live or MacTeX\n- `latexmk` or `xelatex` for compiling `main.tex` to `main.pdf`\n- An OpenClaw or other agent runtime wired through `--agent-cmd`\n\n## Privacy and portability notes\n\nThis public package intentionally excludes:\n\n- Telegram bot tokens and session targets\n- `.openclaw` runtime state\n- SQLite task databases\n- launchd worker configuration\n- private OpenClaw runtime/session/database orchestration code\n- executable upstream reference snapshots\n- user-specific logs and caches\n- private source PDFs or historical task outputs\n\nDo not publish generated paper decks unless you have the right to redistribute their source content and figures.\n\nFile v0.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1779160797726\n}\n\nFile v0.3.1:references/beamer-pipeline-code-explanation.md\n\n# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing.\n\nFile v0.3.1:references/UPSTREAM_DESIGN_NOTES.md\n\n# Upstream Design Notes\n\nThis public skill is derived from a private local Beamer workflow, but the private runtime implementation is intentionally excluded from this package.\n\nThe public package keeps only the reusable, local-first Beamer contract and helper scripts:\n\n- seven-phase Beamer generation shape\n- prompt/workspace scaffolding\n- local asset preparation for Markdown image references\n- local validation helpers for slide/equation/acceptance contracts\n\nThe following private implementation layers are not included:\n\n- Telegram or slash-command adapters\n- private OpenClaw task queues or SQLite task databases\n- private agent session recovery code\n- local machine paths and launchd worker configuration\n- private logs, caches, PDFs, generated decks, or user-specific state\n\nIf you need to connect this skill to an agent runtime, use the documented `--agent-cmd` hook and provide your own command in your own environment.\n\nFile v0.3.1:examples/sample-paper.md\n\n# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit.\n\nFile v0.3.1:skill-card.md\n\n## Description:\n\nConvert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ccmxigua](https://clawhub.ai/user/ccmxigua)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and academic users use this skill to turn paper Markdown or structured notes into a local Beamer slide package with analysis, slide planning, equation and notation coverage, LaTeX source, and optional PDF output.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can fetch remote images referenced in input Markdown during asset preparation.\n\nMitigation: Run it on trusted papers or in a sandboxed environment, or use --skip-assets for untrusted Markdown.\n\nRisk: Default agent execution and recovery behavior can access local OpenClaw configuration, sessions, or prior task outputs.\n\nMitigation: Prefer --no-agent or an explicit --agent-cmd workflow until ~/.openclaw access and output-directory access are reviewed and constrained.\n\nRisk: Automatically generated academic decks may contain incorrect or incomplete equation coverage, notation definitions, translations, or rendered slide content.\n\nMitigation: Use the included validation gates and review analysis.json, slides.json, main.tex, and main.pdf before publishing or presenting the deck.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/ccmxigua/skills/beamer-pipeline-public)\n- [Beamer Pipeline Public Architecture Notes](artifact/references/beamer-pipeline-code-explanation.md)\n- [Upstream Design Notes](artifact/references/UPSTREAM_DESIGN_NOTES.md)\n- [Beamer Generation Contract](artifact/templates/beamer_contract.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown prompts and contracts, JSON artifacts, LaTeX source, optional PDF output, and CLI text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Writes files into a user-selected output directory; may invoke a configured agent command and LaTeX compiler.]\n\n## Skill Version(s):\n\n0.3.1 (source: server release metadata and package.json)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.3.1:templates/beamer_contract.md\n\n# Beamer generation contract\n\nUse this contract when converting a paper or paper notes into a Beamer package.\n\n## Required deliverables\n\nWrite all deliverables into one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` if compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\n## Content requirements\n\n- Preserve every source figure, table, subfigure, and appendix figure/table that is available from the source.\n- If content does not fit, split across more frames/pages; do not replace source material with “see paper”.\n- Treat any requested page count as a lower bound, not an upper bound.\n- Use Chinese academic presentation prose suitable for an audience that has not read the paper.\n- Include background, method, formal results, numerical study, insights, and conclusion significance.\n- Separate formal mathematical statements from economic/technical intuition when dense.\n- Translate crucial theorem/proposition/lemma/corollary/definition/assumption statements faithfully and fully into Chinese.\n- Give numerical experiments dedicated coverage rather than burying them in an appendix index.\n- Give each insight its own page when needed.\n\n## Visible text constraints\n\nDo not render internal planning metadata into visible Beamer text. Keep these only in JSON metadata or notes:\n\n- `core_message`\n- `source_paragraph_ids`\n- `paragraph_ledger`\n- coverage tracking labels\n- speaker-note scaffolding\n- `核心信息`\n- `来源段落`\n- `这页负责`\n- `服务于未读论文听众`\n\nUse natural academic wording instead of internal labels.\n\n## Equation and notation requirements\n\n- `equation_coverage` may mark an equation as covered only if the corresponding frame visibly contains an equation/align/math display.\n- Do not count a prose-only mention or notes-only mention as equation coverage.\n- If the source has a continuous numbered equation range with 3 or more equations, do not show only one representative formula and claim the whole range is covered.\n- Preserve exact equation numbers or ranges when available, for example `Eq. (1)`, `Eqs. (2)-(3)`, `Eq. (13)-(16)`.\n- Define abbreviations, symbols, operators, and hyperparameters on first visible use using source-supported definitions.\n- `notation_coverage` should include `source_paragraph_ids`, `source_quote`, `source_definition_summary`, and `defined_on_first_visible_use=true` when applicable.\n\n## Final acceptance fields\n\nThe final report should expose structured acceptance fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nFile v0.3.1:package.json\n\n{\n  \"name\": \"beamer-pipeline-public\",\n  \"version\": \"0.3.1\",\n  \"private\": false,\n  \"description\": \"Public OpenClaw skill for running a seven-phase Chinese academic Beamer pipeline. Updated with latest symbol canonicalization and acceptance contract modules.\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"beamer-pipeline-public\": \"scripts/run_beamer_public.js\"\n  },\n  \"scripts\": {\n    \"help\": \"node scripts/run_beamer_public.js --help\",\n    \"smoke\": \"node scripts/run_beamer_public.js --help && node scripts/run_beamer_public.js --input examples/sample-paper.md --out /tmp/beamer-pipeline-public-smoke --skip-assets --dry-run\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"license\": \"UNLICENSED\"\n}\n\nArchive v0.3.0: 22 files, 184923 bytes\n\nFiles: examples/sample-paper.md (396b), package.json (691b), references/beamer-pipeline-code-explanation.md (2860b), references/UPSTREAM_DESIGN_NOTES.md (930b), scripts/beamer_acceptance_contract.js (21221b), scripts/beamer_phase_blueprint.js (3929b), scripts/coverage_status.js (1715b), scripts/deck_equation_coverage_repair.js (18370b), scripts/deck_equation_coverage_scanner.js (17068b), scripts/deck_instruction_leak_repair.js (9610b), scripts/deck_language_render_guards.js (11601b), scripts/deck_notation_coverage_repair.js (6702b), scripts/deck_strategy_placeholder_repair.js (11692b), scripts/deck_symbol_canonicalization.js (16615b), scripts/prepare_task_assets.js (7597b), scripts/run_agent_role.js (586254b), scripts/run_beamer_public.js (16874b), scripts/slide_schema.js (6806b), scripts/slide_symbol_scanner.js (16950b), SKILL.md (7278b), templates/beamer_contract.md (2687b), _meta.json (141b)\n\nFile v0.3.0:SKILL.md\n\n# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## v0.3.0\n\n- Removed all hardcoded `~/clawd/*` paths in artifact-search roots; replaced with `~/.openclaw/*` equivalents so the skill runs correctly on any OpenClaw installation.\n- Added `run_agent_role.js` with shared agent-role dispatch logic (programmer/reviewer/tester).\n- Added full repair/scanner script suite: equation coverage repair, instruction leak repair, notation coverage repair, strategy placeholder repair, equation coverage scanner, slide symbol scanner, and coverage status.\n- Enhanced `deck_language_render_guards.js` for output language constraints.\n- All 15 JS scripts pass `node -c` syntax verification.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5\n```\n\nSupported options:\n\n- `--init-only`: prepare workspace, localized assets, and contract only.\n- `--dry-run`: print the seven-phase plan and required artifacts.\n- `--phase <1-7>`: run one phase.\n- `--validate-phase <2-6>`: validate existing artifacts for a phase gate.\n- `--agent-cmd <command>`: command used to produce/repair artifacts for each phase.\n- `--latex-cmd <command>`: LaTeX command for phase 5, default `LATEXMK_BIN` or `latexmk`.\n- `--skip-assets`: skip `prepare_task_assets.js`.\n\n`--agent-cmd` placeholders:\n\n- `{prompt}`: generated phase prompt file path, shell-quoted.\n- `{phase}`: phase index.\n- `{phaseName}`: phase name.\n- `{out}`: output directory, shell-quoted.\n- `{input}`: source file path, shell-quoted.\n\n## Quality contract\n\nA generated deck should:\n\n- Preserve all source figures, tables, subfigures, and appendix figures/tables when available.\n- Expand slide count as needed; any target slide count is a lower bound, not a cap.\n- Include a roadmap page and conclusion-preview page.\n- Use formal Chinese academic presentation style.\n- Separate formal statements from intuition when both are needed.\n- Give full faithful Chinese translations for crucial theorem/proposition/lemma/corollary/definition/assumption statements.\n- Keep visible slide text free of internal scaffold labels such as `core_message`, `source_paragraph_ids`, `paragraph_ledger`, `核心信息`, `来源段落`, `这页负责`, and `服务于未读论文听众`.\n- Track figure/table/equation/notation/formal-statement coverage explicitly.\n- Define symbols, abbreviations, operators, and hyperparameters on first visible use using source-grounded definitions.\n\n## Included scripts\n\n### Pipeline runner\n- `scripts/run_beamer_public.js`: public seven-phase runner with pluggable agent execution.\n- `scripts/run_agent_role.js`: shared agent-role logic for programmer/reviewer/tester phases.\n- `scripts/beamer_phase_blueprint.js`: seven-phase names, goals, required artifacts, and planned-coverage gates.\n- `scripts/prepare_task_assets.js`: localizes markdown image URLs into `figures/` and writes `asset_manifest.json`.\n- `scripts/beamer_acceptance_contract.js`: validates final structured Beamer acceptance fields.\n\n### Repair scripts (auto-fix specific quality issues)\n- `scripts/deck_equation_coverage_repair.js`: repairs unresolved equation coverage entries.\n- `scripts/deck_instruction_leak_repair.js`: removes scaffold/internal instruction leakage from slide text.\n- `scripts/deck_notation_coverage_repair.js`: repairs missing or inconsistent notation coverage.\n- `scripts/deck_strategy_placeholder_repair.js`: replaces strategy placeholders with concrete content.\n\n### Scanner scripts (detect quality issues)\n- `scripts/deck_equation_coverage_scanner.js`: scans for equation coverage gaps.\n- `scripts/slide_symbol_scanner.js`: scans for symbol definition/usage inconsistencies.\n- `scripts/coverage_status.js`: computes coverage status across equation/notation/formal-statement dimensions.\n\n### Shared utilities\n- `scripts/deck_symbol_canonicalization.js`: shared symbol canonicalization helper.\n- `scripts/deck_language_render_guards.js`: render guard constraints for output language.\n- `scripts/slide_schema.js`: shared slide/equation block normalization helper.\n\n## Dependencies\n\nRequired:\n\n- Node.js 18+ or newer\n\nOptional:\n\n- A LaTeX distribution such as TeX Live or MacTeX\n- `latexmk` or `xelatex` for compiling `main.tex` to `main.pdf`\n- An OpenClaw or other agent runtime wired through `--agent-cmd`\n\n## Privacy and portability notes\n\nThis public package intentionally excludes:\n\n- Telegram bot tokens and session targets\n- `.openclaw` runtime state\n- SQLite task databases\n- launchd worker configuration\n- private OpenClaw runtime/session/database orchestration code\n- executable upstream reference snapshots\n- user-specific logs and caches\n- private source PDFs or historical task outputs\n\nDo not publish generated paper decks unless you have the right to redistribute their source content and figures.\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1779155178361\n}\n\nFile v0.3.0:references/beamer-pipeline-code-explanation.md\n\n# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing.\n\nFile v0.3.0:references/UPSTREAM_DESIGN_NOTES.md\n\n# Upstream Design Notes\n\nThis public skill is derived from a private local Beamer workflow, but the private runtime implementation is intentionally excluded from this package.\n\nThe public package keeps only the reusable, local-first Beamer contract and helper scripts:\n\n- seven-phase Beamer generation shape\n- prompt/workspace scaffolding\n- local asset preparation for Markdown image references\n- local validation helpers for slide/equation/acceptance contracts\n\nThe following private implementation layers are not included:\n\n- Telegram or slash-command adapters\n- private OpenClaw task queues or SQLite task databases\n- private agent session recovery code\n- local machine paths and launchd worker configuration\n- private logs, caches, PDFs, generated decks, or user-specific state\n\nIf you need to connect this skill to an agent runtime, use the documented `--agent-cmd` hook and provide your own command in your own environment.\n\nFile v0.3.0:examples/sample-paper.md\n\n# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit.\n\nFile v0.3.0:templates/beamer_contract.md\n\n# Beamer generation contract\n\nUse this contract when converting a paper or paper notes into a Beamer package.\n\n## Required deliverables\n\nWrite all deliverables into one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` if compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\n## Content requirements\n\n- Preserve every source figure, table, subfigure, and appendix figure/table that is available from the source.\n- If content does not fit, split across more frames/pages; do not replace source material with “see paper”.\n- Treat any requested page count as a lower bound, not an upper bound.\n- Use Chinese academic presentation prose suitable for an audience that has not read the paper.\n- Include background, method, formal results, numerical study, insights, and conclusion significance.\n- Separate formal mathematical statements from economic/technical intuition when dense.\n- Translate crucial theorem/proposition/lemma/corollary/definition/assumption statements faithfully and fully into Chinese.\n- Give numerical experiments dedicated coverage rather than burying them in an appendix index.\n- Give each insight its own page when needed.\n\n## Visible text constraints\n\nDo not render internal planning metadata into visible Beamer text. Keep these only in JSON metadata or notes:\n\n- `core_message`\n- `source_paragraph_ids`\n- `paragraph_ledger`\n- coverage tracking labels\n- speaker-note scaffolding\n- `核心信息`\n- `来源段落`\n- `这页负责`\n- `服务于未读论文听众`\n\nUse natural academic wording instead of internal labels.\n\n## Equation and notation requirements\n\n- `equation_coverage` may mark an equation as covered only if the corresponding frame visibly contains an equation/align/math display.\n- Do not count a prose-only mention or notes-only mention as equation coverage.\n- If the source has a continuous numbered equation range with 3 or more equations, do not show only one representative formula and claim the whole range is covered.\n- Preserve exact equation numbers or ranges when available, for example `Eq. (1)`, `Eqs. (2)-(3)`, `Eq. (13)-(16)`.\n- Define abbreviations, symbols, operators, and hyperparameters on first visible use using source-supported definitions.\n- `notation_coverage` should include `source_paragraph_ids`, `source_quote`, `source_definition_summary`, and `defined_on_first_visible_use=true` when applicable.\n\n## Final acceptance fields\n\nThe final report should expose structured acceptance fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nFile v0.3.0:package.json\n\n{\n  \"name\": \"beamer-pipeline-public\",\n  \"version\": \"0.3.0\",\n  \"private\": false,\n  \"description\": \"Public OpenClaw skill for running a seven-phase Chinese academic Beamer pipeline. Updated with latest symbol canonicalization and acceptance contract modules.\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"beamer-pipeline-public\": \"scripts/run_beamer_public.js\"\n  },\n  \"scripts\": {\n    \"help\": \"node scripts/run_beamer_public.js --help\",\n    \"smoke\": \"node scripts/run_beamer_public.js --help && node scripts/run_beamer_public.js --input examples/sample-paper.md --out /tmp/beamer-pipeline-public-smoke --skip-assets --dry-run\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"license\": \"UNLICENSED\"\n}\n\nArchive v0.2.4: 22 files, 184358 bytes\n\nFiles: examples/sample-paper.md (396b), package.json (691b), references/beamer-pipeline-code-explanation.md (2860b), references/UPSTREAM_DESIGN_NOTES.md (930b), scripts/beamer_acceptance_contract.js (21221b), scripts/beamer_phase_blueprint.js (3929b), scripts/coverage_status.js (1715b), scripts/deck_equation_coverage_repair.js (18370b), scripts/deck_equation_coverage_scanner.js (17068b), scripts/deck_instruction_leak_repair.js (9610b), scripts/deck_language_render_guards.js (11601b), scripts/deck_notation_coverage_repair.js (6702b), scripts/deck_strategy_placeholder_repair.js (11692b), scripts/deck_symbol_canonicalization.js (16615b), scripts/prepare_task_assets.js (7597b), scripts/run_agent_role.js (586234b), scripts/run_beamer_public.js (16874b), scripts/slide_schema.js (6806b), scripts/slide_symbol_scanner.js (16950b), SKILL.md (5623b), templates/beamer_contract.md (2687b), _meta.json (141b)\n\nFile v0.2.4:SKILL.md\n\n# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5\n```\n\nSupported options:\n\n- `--init-only`: prepare workspace, localized assets, and contract only.\n- `--dry-run`: print the seven-phase plan and required artifacts.\n- `--phase <1-7>`: run one phase.\n- `--validate-phase <2-6>`: validate existing artifacts for a phase gate.\n- `--agent-cmd <command>`: command used to produce/repair artifacts for each phase.\n- `--latex-cmd <command>`: LaTeX command for phase 5, default `LATEXMK_BIN` or `latexmk`.\n- `--skip-assets`: skip `prepare_task_assets.js`.\n\n`--agent-cmd` placeholders:\n\n- `{prompt}`: generated phase prompt file path, shell-quoted.\n- `{phase}`: phase index.\n- `{phaseName}`: phase name.\n- `{out}`: output directory, shell-quoted.\n- `{input}`: source file path, shell-quoted.\n\n## Quality contract\n\nA generated deck should:\n\n- Preserve all source figures, tables, subfigures, and appendix figures/tables when available.\n- Expand slide count as needed; any target slide count is a lower bound, not a cap.\n- Include a roadmap page and conclusion-preview page.\n- Use formal Chinese academic presentation style.\n- Separate formal statements from intuition when both are needed.\n- Give full faithful Chinese translations for crucial theorem/proposition/lemma/corollary/definition/assumption statements.\n- Keep visible slide text free of internal scaffold labels such as `core_message`, `source_paragraph_ids`, `paragraph_ledger`, `核心信息`, `来源段落`, `这页负责`, and `服务于未读论文听众`.\n- Track figure/table/equation/notation/formal-statement coverage explicitly.\n- Define symbols, abbreviations, operators, and hyperparameters on first visible use using source-grounded definitions.\n\n## Included scripts\n\n- `scripts/run_beamer_public.js`: public seven-phase runner.\n- `scripts/beamer_phase_blueprint.js`: original seven-phase names, goals, required artifacts, and planned-coverage gates.\n- `scripts/prepare_task_assets.js`: localizes markdown image URLs into `figures/` and writes `asset_manifest.json`.\n- `scripts/beamer_acceptance_contract.js`: validates final structured Beamer acceptance fields.\n- `scripts/deck_symbol_canonicalization.js`: shared symbol canonicalization helper.\n- `scripts/slide_schema.js`: shared slide/equation block normalization helper.\n\n## Dependencies\n\nRequired:\n\n- Node.js 18+ or newer\n\nOptional:\n\n- A LaTeX distribution such as TeX Live or MacTeX\n- `latexmk` or `xelatex` for compiling `main.tex` to `main.pdf`\n- An OpenClaw or other agent runtime wired through `--agent-cmd`\n\n## Privacy and portability notes\n\nThis public package intentionally excludes:\n\n- Telegram bot tokens and session targets\n- `.openclaw` runtime state\n- SQLite task databases\n- launchd worker configuration\n- private OpenClaw runtime/session/database orchestration code\n- executable upstream reference snapshots\n- user-specific logs and caches\n- private source PDFs or historical task outputs\n\nDo not publish generated paper decks unless you have the right to redistribute their source content and figures.\n\nFile v0.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.4\",\n  \"publishedAt\": 1779148293005\n}\n\nFile v0.2.4:references/beamer-pipeline-code-explanation.md\n\n# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing.\n\nFile v0.2.4:references/UPSTREAM_DESIGN_NOTES.md\n\n# Upstream Design Notes\n\nThis public skill is derived from a private local Beamer workflow, but the private runtime implementation is intentionally excluded from this package.\n\nThe public package keeps only the reusable, local-first Beamer contract and helper scripts:\n\n- seven-phase Beamer generation shape\n- prompt/workspace scaffolding\n- local asset preparation for Markdown image references\n- local validation helpers for slide/equation/acceptance contracts\n\nThe following private implementation layers are not included:\n\n- Telegram or slash-command adapters\n- private OpenClaw task queues or SQLite task databases\n- private agent session recovery code\n- local machine paths and launchd worker configuration\n- private logs, caches, PDFs, generated decks, or user-specific state\n\nIf you need to connect this skill to an agent runtime, use the documented `--agent-cmd` hook and provide your own command in your own environment.\n\nFile v0.2.4:examples/sample-paper.md\n\n# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit.\n\nFile v0.2.4:templates/beamer_contract.md\n\n# Beamer generation contract\n\nUse this contract when converting a paper or paper notes into a Beamer package.\n\n## Required deliverables\n\nWrite all deliverables into one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` if compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\n## Content requirements\n\n- Preserve every source figure, table, subfigure, and appendix figure/table that is available from the source.\n- If content does not fit, split across more frames/pages; do not replace source material with “see paper”.\n- Treat any requested page count as a lower bound, not an upper bound.\n- Use Chinese academic presentation prose suitable for an audience that has not read the paper.\n- Include background, method, formal results, numerical study, insights, and conclusion significance.\n- Separate formal mathematical statements from economic/technical intuition when dense.\n- Translate crucial theorem/proposition/lemma/corollary/definition/assumption statements faithfully and fully into Chinese.\n- Give numerical experiments dedicated coverage rather than burying them in an appendix index.\n- Give each insight its own page when needed.\n\n## Visible text constraints\n\nDo not render internal planning metadata into visible Beamer text. Keep these only in JSON metadata or notes:\n\n- `core_message`\n- `source_paragraph_ids`\n- `paragraph_ledger`\n- coverage tracking labels\n- speaker-note scaffolding\n- `核心信息`\n- `来源段落`\n- `这页负责`\n- `服务于未读论文听众`\n\nUse natural academic wording instead of internal labels.\n\n## Equation and notation requirements\n\n- `equation_coverage` may mark an equation as covered only if the corresponding frame visibly contains an equation/align/math display.\n- Do not count a prose-only mention or notes-only mention as equation coverage.\n- If the source has a continuous numbered equation range with 3 or more equations, do not show only one representative formula and claim the whole range is covered.\n- Preserve exact equation numbers or ranges when available, for example `Eq. (1)`, `Eqs. (2)-(3)`, `Eq. (13)-(16)`.\n- Define abbreviations, symbols, operators, and hyperparameters on first visible use using source-supported definitions.\n- `notation_coverage` should include `source_paragraph_ids`, `source_quote`, `source_definition_summary`, and `defined_on_first_visible_use=true` when applicable.\n\n## Final acceptance fields\n\nThe final report should expose structured acceptance fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nFile v0.2.4:package.json\n\n{\n  \"name\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.4\",\n  \"private\": false,\n  \"description\": \"Public OpenClaw skill for running a seven-phase Chinese academic Beamer pipeline. Updated with latest symbol canonicalization and acceptance contract modules.\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"beamer-pipeline-public\": \"scripts/run_beamer_public.js\"\n  },\n  \"scripts\": {\n    \"help\": \"node scripts/run_beamer_public.js --help\",\n    \"smoke\": \"node scripts/run_beamer_public.js --help && node scripts/run_beamer_public.js --input examples/sample-paper.md --out /tmp/beamer-pipeline-public-smoke --skip-assets --dry-run\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"license\": \"UNLICENSED\"\n}\n\nArchive v0.2.3: 14 files, 28087 bytes\n\nFiles: .skillignore (765b), beamer_acceptance_contract.js (21221b), beamer_contract.md (2687b), beamer_phase_blueprint.js (3929b), beamer-pipeline-code-explanation.md (2860b), deck_symbol_canonicalization.js (16615b), package.json (691b), prepare_task_assets.js (7597b), run_beamer_public.js (16009b), sample-paper.md (396b), SKILL.md (5623b), slide_schema.js (6806b), UPSTREAM_DESIGN_NOTES.md (930b), _meta.json (141b)\n\nFile v0.2.3:SKILL.md\n\n# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5\n```\n\nSupported options:\n\n- `--init-only`: prepare workspace, localized assets, and contract only.\n- `--dry-run`: print the seven-phase plan and required artifacts.\n- `--phase <1-7>`: run one phase.\n- `--validate-phase <2-6>`: validate existing artifacts for a phase gate.\n- `--agent-cmd <command>`: command used to produce/repair artifacts for each phase.\n- `--latex-cmd <command>`: LaTeX command for phase 5, default `LATEXMK_BIN` or `latexmk`.\n- `--skip-assets`: skip `prepare_task_assets.js`.\n\n`--agent-cmd` placeholders:\n\n- `{prompt}`: generated phase prompt file path, shell-quoted.\n- `{phase}`: phase index.\n- `{phaseName}`: phase name.\n- `{out}`: output directory, shell-quoted.\n- `{input}`: source file path, shell-quoted.\n\n## Quality contract\n\nA generated deck should:\n\n- Preserve all source figures, tables, subfigures, and appendix figures/tables when available.\n- Expand slide count as needed; any target slide count is a lower bound, not a cap.\n- Include a roadmap page and conclusion-preview page.\n- Use formal Chinese academic presentation style.\n- Separate formal statements from intuition when both are needed.\n- Give full faithful Chinese translations for crucial theorem/proposition/lemma/corollary/definition/assumption statements.\n- Keep visible slide text free of internal scaffold labels such as `core_message`, `source_paragraph_ids`, `paragraph_ledger`, `核心信息`, `来源段落`, `这页负责`, and `服务于未读论文听众`.\n- Track figure/table/equation/notation/formal-statement coverage explicitly.\n- Define symbols, abbreviations, operators, and hyperparameters on first visible use using source-grounded definitions.\n\n## Included scripts\n\n- `scripts/run_beamer_public.js`: public seven-phase runner.\n- `scripts/beamer_phase_blueprint.js`: original seven-phase names, goals, required artifacts, and planned-coverage gates.\n- `scripts/prepare_task_assets.js`: localizes markdown image URLs into `figures/` and writes `asset_manifest.json`.\n- `scripts/beamer_acceptance_contract.js`: validates final structured Beamer acceptance fields.\n- `scripts/deck_symbol_canonicalization.js`: shared symbol canonicalization helper.\n- `scripts/slide_schema.js`: shared slide/equation block normalization helper.\n\n## Dependencies\n\nRequired:\n\n- Node.js 18+ or newer\n\nOptional:\n\n- A LaTeX distribution such as TeX Live or MacTeX\n- `latexmk` or `xelatex` for compiling `main.tex` to `main.pdf`\n- An OpenClaw or other agent runtime wired through `--agent-cmd`\n\n## Privacy and portability notes\n\nThis public package intentionally excludes:\n\n- Telegram bot tokens and session targets\n- `.openclaw` runtime state\n- SQLite task databases\n- launchd worker configuration\n- private OpenClaw runtime/session/database orchestration code\n- executable upstream reference snapshots\n- user-specific logs and caches\n- private source PDFs or historical task outputs\n\nDo not publish generated paper decks unless you have the right to redistribute their source content and figures.\n\nFile v0.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1779108858132\n}\n\nFile v0.2.3:beamer_contract.md\n\n# Beamer generation contract\n\nUse this contract when converting a paper or paper notes into a Beamer package.\n\n## Required deliverables\n\nWrite all deliverables into one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` if compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\n## Content requirements\n\n- Preserve every source figure, table, subfigure, and appendix figure/table that is available from the source.\n- If content does not fit, split across more frames/pages; do not replace source material with “see paper”.\n- Treat any requested page count as a lower bound, not an upper bound.\n- Use Chinese academic presentation prose suitable for an audience that has not read the paper.\n- Include background, method, formal results, numerical study, insights, and conclusion significance.\n- Separate formal mathematical statements from economic/technical intuition when dense.\n- Translate crucial theorem/proposition/lemma/corollary/definition/assumption statements faithfully and fully into Chinese.\n- Give numerical experiments dedicated coverage rather than burying them in an appendix index.\n- Give each insight its own page when needed.\n\n## Visible text constraints\n\nDo not render internal planning metadata into visible Beamer text. Keep these only in JSON metadata or notes:\n\n- `core_message`\n- `source_paragraph_ids`\n- `paragraph_ledger`\n- coverage tracking labels\n- speaker-note scaffolding\n- `核心信息`\n- `来源段落`\n- `这页负责`\n- `服务于未读论文听众`\n\nUse natural academic wording instead of internal labels.\n\n## Equation and notation requirements\n\n- `equation_coverage` may mark an equation as covered only if the corresponding frame visibly contains an equation/align/math display.\n- Do not count a prose-only mention or notes-only mention as equation coverage.\n- If the source has a continuous numbered equation range with 3 or more equations, do not show only one representative formula and claim the whole range is covered.\n- Preserve exact equation numbers or ranges when available, for example `Eq. (1)`, `Eqs. (2)-(3)`, `Eq. (13)-(16)`.\n- Define abbreviations, symbols, operators, and hyperparameters on first visible use using source-supported definitions.\n- `notation_coverage` should include `source_paragraph_ids`, `source_quote`, `source_definition_summary`, and `defined_on_first_visible_use=true` when applicable.\n\n## Final acceptance fields\n\nThe final report should expose structured acceptance fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nFile v0.2.3:beamer-pipeline-code-explanation.md\n\n# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing.\n\nFile v0.2.3:sample-paper.md\n\n# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit.\n\nFile v0.2.3:UPSTREAM_DESIGN_NOTES.md\n\n# Upstream Design Notes\n\nThis public skill is derived from a private local Beamer workflow, but the private runtime implementation is intentionally excluded from this package.\n\nThe public package keeps only the reusable, local-first Beamer contract and helper scripts:\n\n- seven-phase Beamer generation shape\n- prompt/workspace scaffolding\n- local asset preparation for Markdown image references\n- local validation helpers for slide/equation/acceptance contracts\n\nThe following private implementation layers are not included:\n\n- Telegram or slash-command adapters\n- private OpenClaw task queues or SQLite task databases\n- private agent session recovery code\n- local machine paths and launchd worker configuration\n- private logs, caches, PDFs, generated decks, or user-specific state\n\nIf you need to connect this skill to an agent runtime, use the documented `--agent-cmd` hook and provide your own command in your own environment.\n\nFile v0.2.3:package.json\n\n{\n  \"name\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.2\",\n  \"private\": false,\n  \"description\": \"Public OpenClaw skill for running a seven-phase Chinese academic Beamer pipeline. Updated with latest symbol canonicalization and acceptance contract modules.\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"beamer-pipeline-public\": \"scripts/run_beamer_public.js\"\n  },\n  \"scripts\": {\n    \"help\": \"node scripts/run_beamer_public.js --help\",\n    \"smoke\": \"node scripts/run_beamer_public.js --help && node scripts/run_beamer_public.js --input examples/sample-paper.md --out /tmp/beamer-pipeline-public-smoke --skip-assets --dry-run\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"license\": \"UNLICENSED\"\n}\n\nArchive v0.2.1: 13 files, 25351 bytes\n\nFiles: examples/sample-paper.md (396b), package.json (614b), references/beamer-pipeline-code-explanation.md (2860b), references/UPSTREAM_DESIGN_NOTES.md (930b), scripts/beamer_acceptance_contract.js (13740b), scripts/beamer_phase_blueprint.js (3929b), scripts/deck_symbol_canonicalization.js (14957b), scripts/prepare_task_assets.js (7597b), scripts/run_beamer_public.js (16009b), scripts/slide_schema.js (3242b), SKILL.md (5623b), templates/beamer_contract.md (2687b), _meta.json (141b)\n\nFile v0.2.1:SKILL.md\n\n# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5\n```\n\nSupported options:\n\n- `--init-only`: prepare workspace, localized assets, and contract only.\n- `--dry-run`: print the seven-phase plan and required artifacts.\n- `--phase <1-7>`: run one phase.\n- `--validate-phase <2-6>`: validate existing artifacts for a phase gate.\n- `--agent-cmd <command>`: command used to produce/repair artifacts for each phase.\n- `--latex-cmd <command>`: LaTeX command for phase 5, default `LATEXMK_BIN` or `latexmk`.\n- `--skip-assets`: skip `prepare_task_assets.js`.\n\n`--agent-cmd` placeholders:\n\n- `{prompt}`: generated phase prompt file path, shell-quoted.\n- `{phase}`: phase index.\n- `{phaseName}`: phase name.\n- `{out}`: output directory, shell-quoted.\n- `{input}`: source file path, shell-quoted.\n\n## Quality contract\n\nA generated deck should:\n\n- Preserve all source figures, tables, subfigures, and appendix figures/tables when available.\n- Expand slide count as needed; any target slide count is a lower bound, not a cap.\n- Include a roadmap page and conclusion-preview page.\n- Use formal Chinese academic presentation style.\n- Separate formal statements from intuition when both are needed.\n- Give full faithful Chinese translations for crucial theorem/proposition/lemma/corollary/definition/assumption statements.\n- Keep visible slide text free of internal scaffold labels such as `core_message`, `source_paragraph_ids`, `paragraph_ledger`, `核心信息`, `来源段落`, `这页负责`, and `服务于未读论文听众`.\n- Track figure/table/equation/notation/formal-statement coverage explicitly.\n- Define symbols, abbreviations, operators, and hyperparameters on first visible use using source-grounded definitions.\n\n## Included scripts\n\n- `scripts/run_beamer_public.js`: public seven-phase runner.\n- `scripts/beamer_phase_blueprint.js`: original seven-phase names, goals, required artifacts, and planned-coverage gates.\n- `scripts/prepare_task_assets.js`: localizes markdown image URLs into `figures/` and writes `asset_manifest.json`.\n- `scripts/beamer_acceptance_contract.js`: validates final structured Beamer acceptance fields.\n- `scripts/deck_symbol_canonicalization.js`: shared symbol canonicalization helper.\n- `scripts/slide_schema.js`: shared slide/equation block normalization helper.\n\n## Dependencies\n\nRequired:\n\n- Node.js 18+ or newer\n\nOptional:\n\n- A LaTeX distribution such as TeX Live or MacTeX\n- `latexmk` or `xelatex` for compiling `main.tex` to `main.pdf`\n- An OpenClaw or other agent runtime wired through `--agent-cmd`\n\n## Privacy and portability notes\n\nThis public package intentionally excludes:\n\n- Telegram bot tokens and session targets\n- `.openclaw` runtime state\n- SQLite task databases\n- launchd worker configuration\n- private OpenClaw runtime/session/database orchestration code\n- executable upstream reference snapshots\n- user-specific logs and caches\n- private source PDFs or historical task outputs\n\nDo not publish generated paper decks unless you have the right to redistribute their source content and figures.\n\nFile v0.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.1\",\n  \"publishedAt\": 1777344406202\n}\n\nFile v0.2.1:references/beamer-pipeline-code-explanation.md\n\n# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing.\n\nFile v0.2.1:references/UPSTREAM_DESIGN_NOTES.md\n\n# Upstream Design Notes\n\nThis public skill is derived from a private local Beamer workflow, but the private runtime implementation is intentionally excluded from this package.\n\nThe public package keeps only the reusable, local-first Beamer contract and helper scripts:\n\n- seven-phase Beamer generation shape\n- prompt/workspace scaffolding\n- local asset preparation for Markdown image references\n- local validation helpers for slide/equation/acceptance contracts\n\nThe following private implementation layers are not included:\n\n- Telegram or slash-command adapters\n- private OpenClaw task queues or SQLite task databases\n- private agent session recovery code\n- local machine paths and launchd worker configuration\n- private logs, caches, PDFs, generated decks, or user-specific state\n\nIf you need to connect this skill to an agent runtime, use the documented `--agent-cmd` hook and provide your own command in your own environment.\n\nFile v0.2.1:examples/sample-paper.md\n\n# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit.\n\nFile v0.2.1:templates/beamer_contract.md\n\n# Beamer generation contract\n\nUse this contract when converting a paper or paper notes into a Beamer package.\n\n## Required deliverables\n\nWrite all deliverables into one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` if compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\n## Content requirements\n\n- Preserve every source figure, table, subfigure, and appendix figure/table that is available from the source.\n- If content does not fit, split across more frames/pages; do not replace source material with “see paper”.\n- Treat any requested page count as a lower bound, not an upper bound.\n- Use Chinese academic presentation prose suitable for an audience that has not read the paper.\n- Include background, method, formal results, numerical study, insights, and conclusion significance.\n- Separate formal mathematical statements from economic/technical intuition when dense.\n- Translate crucial theorem/proposition/lemma/corollary/definition/assumption statements faithfully and fully into Chinese.\n- Give numerical experiments dedicated coverage rather than burying them in an appendix index.\n- Give each insight its own page when needed.\n\n## Visible text constraints\n\nDo not render internal planning metadata into visible Beamer text. Keep these only in JSON metadata or notes:\n\n- `core_message`\n- `source_paragraph_ids`\n- `paragraph_ledger`\n- coverage tracking labels\n- speaker-note scaffolding\n- `核心信息`\n- `来源段落`\n- `这页负责`\n- `服务于未读论文听众`\n\nUse natural academic wording instead of internal labels.\n\n## Equation and notation requirements\n\n- `equation_coverage` may mark an equation as covered only if the corresponding frame visibly contains an equation/align/math display.\n- Do not count a prose-only mention or notes-only mention as equation coverage.\n- If the source has a continuous numbered equation range with 3 or more equations, do not show only one representative formula and claim the whole range is covered.\n- Preserve exact equation numbers or ranges when available, for example `Eq. (1)`, `Eqs. (2)-(3)`, `Eq. (13)-(16)`.\n- Define abbreviations, symbols, operators, and hyperparameters on first visible use using source-supported definitions.\n- `notation_coverage` should include `source_paragraph_ids`, `source_quote`, `source_definition_summary`, and `defined_on_first_visible_use=true` when applicable.\n\n## Final acceptance fields\n\nThe final report should expose structured acceptance fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nFile v0.2.1:package.json\n\n{\n  \"name\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.1\",\n  \"private\": false,\n  \"description\": \"Public OpenClaw skill for running a seven-phase Chinese academic Beamer pipeline.\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"beamer-pipeline-public\": \"scripts/run_beamer_public.js\"\n  },\n  \"scripts\": {\n    \"help\": \"node scripts/run_beamer_public.js --help\",\n    \"smoke\": \"node scripts/run_beamer_public.js --help && node scripts/run_beamer_public.js --input examples/sample-paper.md --out /tmp/beamer-pipeline-public-smoke --skip-assets --dry-run\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"license\": \"UNLICENSED\"\n}\n\nArchive v0.2.0: 14 files, 205840 bytes\n\nFiles: examples/sample-paper.md (396b), package.json (614b), references/beamer-pipeline-code-explanation.md (2860b), references/dev_pipeline_orchestrator.upstream-reference.js (388258b), references/run_agent_role.upstream-reference.js (454147b), scripts/beamer_acceptance_contract.js (13740b), scripts/beamer_phase_blueprint.js (3929b), scripts/deck_symbol_canonicalization.js (14957b), scripts/prepare_task_assets.js (7597b), scripts/run_beamer_public.js (16009b), scripts/slide_schema.js (3242b), SKILL.md (5518b), templates/beamer_contract.md (2687b), _meta.json (141b)\n\nFile v0.2.0:SKILL.md\n\n# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5\n```\n\nSupported options:\n\n- `--init-only`: prepare workspace, localized assets, and contract only.\n- `--dry-run`: print the seven-phase plan and required artifacts.\n- `--phase <1-7>`: run one phase.\n- `--validate-phase <2-6>`: validate existing artifacts for a phase gate.\n- `--agent-cmd <command>`: command used to produce/repair artifacts for each phase.\n- `--latex-cmd <command>`: LaTeX command for phase 5, default `LATEXMK_BIN` or `latexmk`.\n- `--skip-assets`: skip `prepare_task_assets.js`.\n\n`--agent-cmd` placeholders:\n\n- `{prompt}`: generated phase prompt file path, shell-quoted.\n- `{phase}`: phase index.\n- `{phaseName}`: phase name.\n- `{out}`: output directory, shell-quoted.\n- `{input}`: source file path, shell-quoted.\n\n## Quality contract\n\nA generated deck should:\n\n- Preserve all source figures, tables, subfigures, and appendix figures/tables when available.\n- Expand slide count as needed; any target slide count is a lower bound, not a cap.\n- Include a roadmap page and conclusion-preview page.\n- Use formal Chinese academic presentation style.\n- Separate formal statements from intuition when both are needed.\n- Give full faithful Chinese translations for crucial theorem/proposition/lemma/corollary/definition/assumption statements.\n- Keep visible slide text free of internal scaffold labels such as `core_message`, `source_paragraph_ids`, `paragraph_ledger`, `核心信息`, `来源段落`, `这页负责`, and `服务于未读论文听众`.\n- Track figure/table/equation/notation/formal-statement coverage explicitly.\n- Define symbols, abbreviations, operators, and hyperparameters on first visible use using source-grounded definitions.\n\n## Included scripts\n\n- `scripts/run_beamer_public.js`: public seven-phase runner.\n- `scripts/beamer_phase_blueprint.js`: original seven-phase names, goals, required artifacts, and planned-coverage gates.\n- `scripts/prepare_task_assets.js`: localizes markdown image URLs into `figures/` and writes `asset_manifest.json`.\n- `scripts/beamer_acceptance_contract.js`: validates final structured Beamer acceptance fields.\n- `scripts/deck_symbol_canonicalization.js`: shared symbol canonicalization helper.\n- `scripts/slide_schema.js`: shared slide/equation block normalization helper.\n\n## Dependencies\n\nRequired:\n\n- Node.js 18+ or newer\n\nOptional:\n\n- A LaTeX distribution such as TeX Live or MacTeX\n- `latexmk` or `xelatex` for compiling `main.tex` to `main.pdf`\n- An OpenClaw or other agent runtime wired through `--agent-cmd`\n\n## Privacy and portability notes\n\nThis public package intentionally excludes:\n\n- Telegram bot tokens and session targets\n- `.openclaw` runtime state\n- SQLite task databases\n- launchd worker configuration\n- user-specific logs and caches\n- private source PDFs or historical task outputs\n\nDo not publish generated paper decks unless you have the right to redistribute their source content and figures.\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1777343122981\n}\n\nFile v0.2.0:references/beamer-pipeline-code-explanation.md\n\n# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing.\n\nFile v0.2.0:examples/sample-paper.md\n\n# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit.\n\nFile v0.2.0:templates/beamer_contract.md\n\n# Beamer generation contract\n\nUse this contract when converting a paper or paper notes into a Beamer package.\n\n## Required deliverables\n\nWrite all deliverables into one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` if compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\n## Content requirements\n\n- Preserve every source figure, table, subfigure, and appendix figure/table that is available from the source.\n- If content does not fit, split across more frames/pages; do not replace source material with “see paper”.\n- Treat any requested page count as a lower bound, not an upper bound.\n- Use Chinese academic presentation prose suitable for an audience that has not read the paper.\n- Include background, method, formal results, numerical study, insights, and conclusion significance.\n- Separate formal mathematical statements from economic/technical intuition when dense.\n- Translate crucial theorem/proposition/lemma/corollary/definition/assumption statements faithfully and fully into Chinese.\n- Give numerical experiments dedicated coverage rather than burying them in an appendix index.\n- Give each insight its own page when needed.\n\n## Visible text constraints\n\nDo not render internal planning metadata into visible Beamer text. Keep these only in JSON metadata or notes:\n\n- `core_message`\n- `source_paragraph_ids`\n- `paragraph_ledger`\n- coverage tracking labels\n- speaker-note scaffolding\n- `核心信息`\n- `来源段落`\n- `这页负责`\n- `服务于未读论文听众`\n\nUse natural academic wording instead of internal labels.\n\n## Equation and notation requirements\n\n- `equation_coverage` may mark an equation as covered only if the corresponding frame visibly contains an equation/align/math display.\n- Do not count a prose-only mention or notes-only mention as equation coverage.\n- If the source has a continuous numbered equation range with 3 or more equations, do not show only one representative formula and claim the whole range is covered.\n- Preserve exact equation numbers or ranges when available, for example `Eq. (1)`, `Eqs. (2)-(3)`, `Eq. (13)-(16)`.\n- Define abbreviations, symbols, operators, and hyperparameters on first visible use using source-supported definitions.\n- `notation_coverage` should include `source_paragraph_ids`, `source_quote`, `source_definition_summary`, and `defined_on_first_visible_use=true` when applicable.\n\n## Final acceptance fields\n\nThe final report should expose structured acceptance fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nFile v0.2.0:package.json\n\n{\n  \"name\": \"beamer-pipeline-public\",\n  \"version\": \"0.2.0\",\n  \"private\": false,\n  \"description\": \"Public OpenClaw skill for running a seven-phase Chinese academic Beamer pipeline.\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"beamer-pipeline-public\": \"scripts/run_beamer_public.js\"\n  },\n  \"scripts\": {\n    \"help\": \"node scripts/run_beamer_public.js --help\",\n    \"smoke\": \"node scripts/run_beamer_public.js --help && node scripts/run_beamer_public.js --input examples/sample-paper.md --out /tmp/beamer-pipeline-public-smoke --skip-assets --dry-run\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  },\n  \"license\": \"UNLICENSED\"\n}","readmeExcerpt":"Skill: Beamer Pipeline Public Owner: ccmxigua Summary: Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation. Tags: academic:0.2.1, beamer:0.2.1, latest:0.3.1, latex:0.2.1, pipeline:0.2.1, slides:0.2.1 Version history: v0.3.1 | 2026-05-19T03:19:57.726Z | user Add Agent setup section to SKILL.md: document required pr","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"node scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5"},{"language":"json","snippet":"{\n  \"agents\": {\n    \"list\": [\n      { \"id\": \"main\", ... },\n      {\n        \"id\": \"programmer\",\n        \"name\": \"Programmer\",\n        \"model\": { \"primary\": \"your-model\" },\n        \"workspace\": \"/path/to/workspace\"\n      },\n      {\n        \"id\": \"reviewer\",\n        \"name\": \"Reviewer\",\n        \"model\": { \"primary\": \"your-model\" },\n        \"workspace\": \"/path/to/workspace\"\n      },\n      {\n        \"id\": \"tester\",\n        \"name\": \"Tester\",\n        \"model\": { \"primary\": \"your-model\" },\n        \"workspace\": \"/path/to/workspace\"\n      }\n    ]\n  }\n}"},{"language":"text","snippet":"node scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/"},{"language":"bash","snippet":"node scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5"},{"language":"text","snippet":"node scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/"},{"language":"bash","snippet":"node scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-only\nnode scripts/run_beamer_public.js --input paper.md --out out --phase 1 --agent-cmd 'your-agent --prompt {prompt}'\nnode scripts/run_beamer_public.js --input paper.md --out out --validate-phase 5"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"# Beamer Pipeline Public\n\nConvert academic papers or structured paper notes into a Chinese academic Beamer deliverable through the same seven-phase pipeline shape as the original `/beamer` shortcut, while keeping the public package free of private Telegram queue, worker, session, and local-path coupling.\n\n## v0.3.0\n\n- Removed all hardcoded `~/clawd/*` paths in artifact-search roots; replaced with `~/.openclaw/*` equivalents so the skill runs correctly on any OpenClaw installation.\n- Added `run_agent_role.js` with shared agent-role dispatch logic (programmer/reviewer/tester).\n- Added full repair/scanner script suite: equation coverage repair, instruction leak repair, notation coverage repair, strategy placeholder repair, equation coverage scanner, slide symbol scanner, and coverage status.\n- Enhanced `deck_language_render_guards.js` for output language constraints.\n- All 15 JS scripts pass `node -c` syntax verification.\n\n## What this skill does\n\nThis skill provides a publishable, local-first Beamer pipeline runner. It preserves the original seven-stage contract:\n\n1. `analysis` / 分析: build `analysis.json` with paragraph, figure, table, equation, notation, and formal-statement ledgers.\n2. `slides_outline_skeleton` / slides 大纲: build `slides.json` with roadmap, conclusion preview, body/appendix split, and slide skeletons.\n3. `equation_coverage` / 公式覆盖: resolve `equation_coverage` to concrete slide/frame mappings.\n4. `notation_consistency` / 记号一致性: resolve `notation_coverage`, first visible definitions, and cross-slide consistency.\n5. `compile_and_structural_repair` / 编译与结构修复: produce `main.tex`, compile or repair `main.pdf`, and check structural alignment.\n6. `review_and_auto_rework` / reviewer 审核与自动返工: convert reviewer failures into repair work and revalidate.\n7. `final_acceptance_delivery` / 终验与交付: package final artifacts and require ready-for-review acceptance fields.\n\nThe public runner creates phase prompts, phase logs, state files, workspace contracts, and local validation gates. Agent execution is intentionally pluggable via `--agent-cmd` so that ClawHub users can attach their own OpenClaw or LLM runtime without shipping Yilin's private Telegram worker/session implementation.\n\n## Deliverable folder\n\nThe pipeline writes one canonical output directory containing, as phases progress:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when LaTeX compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n- `beamer_task_contract.md`\n- `beamer_pipeline_state.json`\n- `beamer_phase_log.jsonl`\n- `phase_<n>_<name>_prompt.md`\n\n## Inputs\n\n- A source document path, usually Markdown converted from a paper, or a paper-note file.\n- An output directory.\n- Optional execution flags for dry-run, single-phase execution, validation, asset preparation, LaTeX command, and agent command.\n\n## CLI usage\n\n```bash\nnode scripts/run_beamer_public.js --input paper.md --out out --dry-run\nnode scripts/run_beamer_public.js --input paper.md --out out --init-"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70tcaskv1wcpzwtrmm9n0xq1812kdk\",\n  \"slug\": \"beamer-pipeline-public\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1779160797726\n}"},{"path":"references/beamer-pipeline-code-explanation.md","content":"# Beamer Pipeline Public Architecture Notes\n\nThis document summarizes the reusable public subset of the Beamer pipeline. It intentionally omits private Telegram queue, launchd worker, OpenClaw session, local user path, and historical task-cache details from the upstream implementation.\n\n## Public package scope\n\nThe public skill is centered on a local-first Beamer conversion contract:\n\n1. Prepare local source assets.\n2. Generate or guide generation of `analysis.json`.\n3. Generate or guide generation of `slides.json`.\n4. Generate `main.tex`.\n5. Compile `main.tex` to `main.pdf` when a LaTeX toolchain is available.\n6. Validate structured final acceptance fields.\n\n## Included public files\n\n- `SKILL.md`: skill-facing usage, inputs, outputs, and privacy notes.\n- `templates/beamer_contract.md`: reusable Beamer generation contract.\n- `scripts/run_beamer_public.js`: minimal public CLI wrapper.\n- `scripts/prepare_task_assets.js`: markdown image localization and `asset_manifest.json` writer.\n- `scripts/beamer_acceptance_contract.js`: structured final acceptance-field validator.\n- `scripts/deck_symbol_canonicalization.js`: symbol canonicalization helper.\n- `scripts/slide_schema.js`: slide/equation block normalization helper.\n\n## Public call chain\n\n```text\nnode scripts/run_beamer_public.js --input <source.md> --out <output-dir>\n  -> scripts/prepare_task_assets.js <source.md> <output-dir> --mode beamer\n  -> templates/beamer_contract.md copied into <output-dir>/beamer_task_contract.md\n  -> downstream OpenClaw/agent generation uses that contract\n  -> final output directory contains analysis.json, slides.json, main.tex, main.pdf, README.md, asset_manifest.json, figures/\n```\n\n## Artifact contract\n\nA successful Beamer package should place every generated artifact in one canonical output directory:\n\n- `analysis.json`\n- `slides.json`\n- `main.tex`\n- `main.pdf` when compilation succeeds\n- `README.md`\n- `asset_manifest.json`\n- `figures/`\n\nGenerated artifacts should not be split across historical fallback directories.\n\n## Validation contract\n\nThe final response or machine-readable final report should expose these structured fields:\n\n- `compile_status`\n- `readability_status`\n- `tex_warnings`\n- `layout_policy`\n- `visible_prose_recovery_hint`\n- `visible_prose_fidelity_final`\n- `render_fidelity_safeguards`\n\nThese fields are checked by `scripts/beamer_acceptance_contract.js`.\n\n## Explicit exclusions\n\nThe public package does not include the private upstream runtime layers:\n\n- messaging/slash-command adapters\n- task queue database\n- progress notifier\n- long-running worker launcher\n- local agent session recovery\n- local machine paths\n- private logs, caches, PDFs, and generated decks\n\nThe upstream reference snapshots, if present during local development, are excluded from publication by `.skillignore` and require manual review before sharing."},{"path":"references/UPSTREAM_DESIGN_NOTES.md","content":"# Upstream Design Notes\n\nThis public skill is derived from a private local Beamer workflow, but the private runtime implementation is intentionally excluded from this package.\n\nThe public package keeps only the reusable, local-first Beamer contract and helper scripts:\n\n- seven-phase Beamer generation shape\n- prompt/workspace scaffolding\n- local asset preparation for Markdown image references\n- local validation helpers for slide/equation/acceptance contracts\n\nThe following private implementation layers are not included:\n\n- Telegram or slash-command adapters\n- private OpenClaw task queues or SQLite task databases\n- private agent session recovery code\n- local machine paths and launchd worker configuration\n- private logs, caches, PDFs, generated decks, or user-specific state\n\nIf you need to connect this skill to an agent runtime, use the documented `--agent-cmd` hook and provide your own command in your own environment."},{"path":"examples/sample-paper.md","content":"# Sample Paper\n\nThis is a tiny public sample used only for smoke testing the Beamer seven-phase pipeline runner.\n\n## Model\n\nLet $X_t$ denote a state variable and let $V(t,x)$ be a value function.\n\n\\[\n  V_t + \\mu x V_x + \\frac{1}{2}\\sigma^2 x^2 V_{xx} - rV = 0.\n\\]\n\n## Result\n\nThe Beamer deck should explain the model, define symbols before first visible use, and keep equation coverage explicit."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation. Skill: Beamer Pipeline Public Owner: ccmxigua Summary: Convert academic papers or notes into Chinese academic Beamer slides using a seven-phase local pipeline with pluggable agent execution and LaTeX compilation. Tags: academic:0.2.1, beamer:0.2.1, latest:0.3.1, latex:0.2.1, pipeline:0.2.1, slides:0.2.1 Version history: v0.3.1 | 2026-05-19T03:19:57.726Z | user Add Agent setup section to SKILL.md: document required pr","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1319,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T05:42:19.799Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T05:42:19.799Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:42:54.954Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}