Conversation
chore:add scripts
feat(slides): add template-first guidance to lark-slides skill
docs: restructure slide templates to flat layout with catalog routing
- Move 42 template XMLs from 8 category subdirs into single templates/ dir
- Encode category in filename: {category}--{name}.xml
- Add template-catalog.md as lightweight routing index (scene/tone/formality)
- Update SKILL.md workflow to include template matching step (Step 2)
- Update style guide to reference templates instead of hardcoded colors
docs: add categorized slides template XML references
Add 42 slide templates extracted from API responses, organized by category:
office(8), product(6), operations(4), marketing(8), hr(3), administration(4), personal(6), misc(3)
Change-Id: Ib3d85ffd7563a1693d4ed603fe9435fd716890ca
📝 WalkthroughWalkthroughThis PR expands the lark-slides skill documentation and template library, introducing mandatory template-selection workflows, enhanced XML validation procedures, a comprehensive template catalog with metadata and routing indices, and 14 new presentation templates across administration, HR, and marketing domains. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #684 +/- ##
==========================================
+ Coverage 62.96% 63.04% +0.08%
==========================================
Files 436 437 +1
Lines 38605 38847 +242
==========================================
+ Hits 24307 24491 +184
- Misses 12150 12184 +34
- Partials 2148 2172 +24 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
🚀 PR Preview Install Guide🧰 CLI updatenpm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@b8d79bbe1b7ab22cf3a4a3327fde37ca8c766297🧩 Skill updatenpx skills add larksuite/cli#feat/slides-template-pr-b8d79bb -y -g |
There was a problem hiding this comment.
Actionable comments posted: 8
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
🟡 Minor comments (20)
skills/lark-slides/references/templates/marketing--marketing_plan.xml-1-2 (1)
1-2:⚠️ Potential issue | 🟡 MinorDrop the draft suffix from the presentation title.
裂图重新上传reads like an internal editing note and will leak into the generated deck title.✏️ Suggested fix
- <title>营销策划方案-裂图重新上传</title> + <title>营销策划方案</title>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--marketing_plan.xml` around lines 1 - 2, The presentation title currently includes an internal draft suffix; update the <presentation> metadata by editing the <title> element value so it no longer contains "裂图重新上传" (i.e., change the <title> text from "营销策划方案-裂图重新上传" to a clean title like "营销策划方案"), ensuring only the visible deck title is published and no internal editing notes remain.skills/lark-slides/references/templates/hr--onboarding.xml-56-60 (1)
56-60:⚠️ Potential issue | 🟡 MinorAvoid hard-coding May 4, 2026 in the template.
A reusable onboarding deck will start shipping the wrong default date as soon as May 4, 2026 passes. This should be a placeholder or generic date field instead.
✏️ Suggested fix
- <span color="rgba(44, 40, 64, 1)" fontSize="16">2026.05.04</span> + <span color="rgba(44, 40, 64, 1)" fontSize="16">YYYY.MM.DD</span>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/hr--onboarding.xml` around lines 56 - 60, Replace the hard‑coded "2026.05.04" string inside the <span> element in the onboarding template with a reusable placeholder (for example {{ONBOARDING_DATE}}) or a generic label (e.g., "DATE") so the template doesn't ship a fixed date; update the <content>/<p>/<span> where the date currently appears and ensure the rendering code that processes this template (the consumer of the <span> value) can substitute either a provided date or a runtime default (like today) instead of relying on the literal "2026.05.04".skills/lark-slides/references/templates/marketing--marketing_plan.xml-572-578 (1)
572-578:⚠️ Potential issue | 🟡 MinorKeep the quarter label consistent with the rest of the deck.
This sidebar says
European Market Q3 Planning, while the cover and surrounding slides useQ1. Looks like a typo.✏️ Suggested fix
- <span color="rgba(147, 150, 156, 1)" fontSize="12"> European Market Q3 Planning</span> + <span color="rgba(147, 150, 156, 1)" fontSize="12"> European Market Q1 Planning</span>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--marketing_plan.xml` around lines 572 - 578, The sidebar text "European Market Q3 Planning" in the <shape ... type="text"> element (the node containing the <content> with "European Market Q3 Planning") is inconsistent with the rest of the deck; update that text to "European Market Q1 Planning" so the quarter label matches the cover and surrounding slides, preserving existing formatting attributes (fontSize, color, bold, padding, rotation).skills/lark-slides/references/templates/marketing--business_plan.xml-1515-1518 (1)
1515-1518:⚠️ Potential issue | 🟡 MinorAlign this finance header with the section divider.
The section intro just above is
05 财务计划, but this slide header says04 财务计划. That breaks the deck’s internal numbering.✏️ Suggested fix
- <p>04 财务计划</p> + <p>05 财务计划</p>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--business_plan.xml` around lines 1515 - 1518, The slide header text inside the <shape width="202" height="41" topLeftX="731" topLeftY="16" type="text"> element (content with textType="caption" and the <p> node currently reading "04 财务计划") is numbered incorrectly and misaligned; update the <p> content to "05 财务计划" to match the section divider and adjust its positioning/textAlign to match the section divider’s alignment (use the same padding, fontSize, bold, and textAlign values as the section divider) so the header number and alignment are consistent.skills/lark-slides/references/templates/hr--onboarding.xml-648-680 (1)
648-680:⚠️ Potential issue | 🟡 MinorRemove the duplicated CTA icon pair.
The ellipse and arrow at
(822,244)/(831,252)are declared twice. That doubles the overlay and makes the slide harder to edit cleanly.✏️ Suggested fix
- <icon width="25" height="25" topLeftX="831" topLeftY="252" alpha="0.2" iconType="iconpark/Arrows/arrow-right.svg"> - <border color="rgba(44, 40, 64, 1)" width="1" lineJoin="miter" miterLimit="10"/> - </icon> - <shape width="42" height="42" topLeftX="822" topLeftY="244" alpha="0.2" type="ellipse"> - <border color="rgba(44, 40, 64, 1)" width="1" lineJoin="miter" miterLimit="10"/> - </shape>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/hr--onboarding.xml` around lines 648 - 680, The XML contains a duplicated CTA pair: two shape elements (type="ellipse" topLeftX="822" topLeftY="244" width="42" height="42") and two icon elements (iconType="iconpark/Arrows/arrow-right.svg" topLeftX="831" topLeftY="252" width="25" height="25"); remove the redundant pair (either the first or the second occurrence) so only one ellipse shape and one arrow icon remain, preserving the remaining element's border and alpha attributes to keep styling.skills/lark-slides/references/templates/administration--annual_gala.xml-34-45 (1)
34-45:⚠️ Potential issue | 🟡 MinorAvoid hard-coding the event year in a reusable template.
2026 年会盛典will be wrong for any deck created after 2026. Use a placeholder year or generic title so the template stays reusable.✏️ Suggested fix
- <span color="rgba(255, 255, 255, 1)" fontSize="64">202</span> + <span color="rgba(255, 255, 255, 1)" fontSize="64">20X</span> ... - <span color="rgba(255, 255, 255, 1)" fontSize="64">6</span> + <span color="rgba(255, 255, 255, 1)" fontSize="64">X</span>Or replace the whole line with a neutral placeholder like
年度年会盛典.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/administration--annual_gala.xml` around lines 34 - 45, The template currently hard-codes the event year across the title spans (see the <shape ... type="text"> block and the <content textType="title"> with the <span> nodes containing "202" and "6"); replace those hard-coded year spans with a reusable placeholder or neutral text (e.g., a single span containing "年度年会盛典" or a placeholder like "{{year}} 年会盛典") so the title remains correct for decks created after 2026.skills/lark-slides/references/templates/marketing--business_plan.xml-361-366 (1)
361-366:⚠️ Potential issue | 🟡 MinorFix the duplicated member number on the third team card.
The third slot is labeled
团队成员#2again, so the template ships with two `#2` entries instead of `#1 / `#2` / `#3.✏️ Suggested fix
- <span fontSize="16">团队成员 `#2`</span> + <span fontSize="16">团队成员 `#3`</span>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--business_plan.xml` around lines 361 - 366, The third team-card's text node currently reads "团队成员 `#2`" causing duplicate numbering; locate the <shape> element whose attributes include topLeftX="188" and topLeftY="375" (the text content block with fontSize="16" and bold="true") and change the inner text from "团队成员 `#2`" to "团队成员 `#3`" so the cards read `#1` / `#2` / `#3`.skills/lark-slides/references/templates/marketing--brand_operations_plan.xml-2-2 (1)
2-2:⚠️ Potential issue | 🟡 MinorRemove the internal upload note from the template title.
裂图重新上传reads like an authoring note, not deck metadata. Leaving it in<title>can leak into search/index output and makes this template look unfinished.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--brand_operations_plan.xml` at line 2, The template title currently contains an internal authoring note "裂图重新上传" inside the <title> element; remove that note so the <title> reads only "品牌运营计划" (or otherwise only the public-facing deck metadata), and if the internal note must be preserved move it out of <title> into an internal comment or metadata field instead; update the <title> element in the template accordingly.skills/lark-slides/references/templates/marketing--brand_logo_design.xml-527-552 (1)
527-552:⚠️ Potential issue | 🟡 MinorRemove the stacked duplicate caption shapes.
Each of these slides has multiple caption boxes at the same coordinates. It looks fine until someone edits one of them, then stale duplicates remain underneath and the slide becomes hard to maintain.
Also applies to: 960-985
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--brand_logo_design.xml` around lines 527 - 552, There are stacked duplicate text shapes at the same coordinates (text shapes with topLeftX="263" topLeftY="459" and the nearby duplicate at topLeftX="262" topLeftY="459") causing maintenance issues; remove the redundant duplicate text <shape> elements and keep a single authoritative caption element (retain the one with the intended attributes such as padding/fontSize/color) and ensure the background rect (shape type="rect" at topLeftX="239" topLeftY="435") remains intact; apply the same de-duplication cleanup for the other occurrences referenced around lines 960-985 so each caption position has only one text <shape>.skills/lark-slides/references/templates/marketing--brand_communication.xml-139-148 (1)
139-148:⚠️ Potential issue | 🟡 MinorKeep the section 02 name consistent.
Line 145 uses
品牌传播分析, while the divider and running captions later switch to品牌分析传播. That makes the TOC and slide chrome disagree.Also applies to: 469-472, 539-547, 646-653
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--brand_communication.xml` around lines 139 - 148, Section 02's title text is inconsistent: some <shape> content <span> values read "品牌传播分析" while divider/running-caption occurrences read "品牌分析传播"; pick a single canonical string (e.g., "品牌传播分析") and update all instances so they match, editing the <content>/<p>/<span> text inside the relevant <shape> elements and any divider or running-caption elements that currently contain "品牌分析传播" to the chosen canonical text.skills/lark-slides/references/template-catalog.md-3-9 (1)
3-9:⚠️ Potential issue | 🟡 MinorFix the broken blockquote formatting at the top.
The blank lines inside this note trigger markdownlint
MD028and can render as separate blockquotes. Keep it as one continuous blockquote or switch these paragraphs to normal text.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/template-catalog.md` around lines 3 - 9, The top note is broken into multiple blockquote paragraphs causing MD028; fix it by removing the blank lines between the lines that start with ">" so the entire instructional note becomes a single continuous blockquote, or alternatively convert the separate blockquote paragraphs into normal paragraphs (remove leading ">" on subsequent lines) so the content about template-index.json, ../scripts/template-tool.py, and light_general.xml / dark_general.xml renders as one coherent block of text rather than multiple blockquotes.skills/lark-slides/references/templates/hr--employee_training_workshop.xml-2-2 (1)
2-2:⚠️ Potential issue | 🟡 MinorAlign the deck title with the template identity.
Line 2 exports the presentation as
员工培训训练, while the cover copy at Lines 128-137 says员工培训 / 训练模版and the file itself is theemployee_training_workshoptemplate. Shipping those three names out of sync will make this template look inconsistent to end users.Also applies to: 124-141
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/hr--employee_training_workshop.xml` at line 2, The deck title in the <title> element is inconsistent with the cover copy and the template identity (employee_training_workshop); update the <title> element value to exactly match the cover slide copy ("员工培训 / 训练模版") and confirm the cover text and any other occurrences in the file use the same phrase so the <title> element, cover slide text, and template identity (employee_training_workshop) are consistent.skills/lark-slides/references/templates/administration--company_intro.xml-283-290 (1)
283-290:⚠️ Potential issue | 🟡 MinorReplace the truncated card title.
Line 287 currently renders only
企业, so this slide ships with an obviously incomplete visible heading.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/administration--company_intro.xml` around lines 283 - 290, The card title is truncated to just "企业" in the text shape element; update the <shape> / <content> text node (the <p><strong><span ...> value) used for the slide title so it contains the full intended heading (e.g., a complete phrase like "企业简介" or the agreed full title) and preserve existing attributes (fontSize, color, bold, textAlign, padding) so only the inner text/span content changes; locate the shape element with width="278" height="44" topLeftX="533" topLeftY="316" and modify its <span> text accordingly.skills/lark-slides/references/templates/administration--company_intro.xml-482-487 (1)
482-487:⚠️ Potential issue | 🟡 MinorSeveral section headers still use copied or mistyped text.
Line 485 misspells
INTRODUCTION, Lines 566 and 647 still sayTEAM INTRODUCTION, and Lines 820-827 still render the企业介绍section title inside the 产品服务 block. These labels will make the generated deck look inconsistent.Also applies to: 563-569, 644-649, 818-830
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/administration--company_intro.xml` around lines 482 - 487, Fix the mistyped and misplaced section headers: update the <span> text values in the relevant <shape type="text"> elements so "ENTERPRISE INTRODUTION" becomes "ENTERPRISE INTRODUCTION", change any incorrect "TEAM INTRODUCTION" occurrences to the intended header (e.g., "TEAM INTRODUCTION" or the correct localized label), and move or correct the Chinese title "企业介绍" so it appears under the proper 企业介绍 section instead of inside the 产品服务 block; locate these shapes by their span text and surrounding <shape type="text"> elements and edit the span content accordingly.skills/lark-slides/references/templates/marketing--product_whitepaper.xml-79-106 (1)
79-106:⚠️ Potential issue | 🟡 MinorKeep the TOC and section dividers in sync.
The TOC routes users to
产品功能and来自用户的声音, but the section dividers later render产品介绍and来自客户的声音. Those visible mismatches make the deck feel inconsistent once generated.Also applies to: 163-170, 826-833
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--product_whitepaper.xml` around lines 79 - 106, TOC entries and section divider labels are inconsistent: the TOC shapes currently use the strings "产品功能" and "来自用户的声音" while later section divider shapes render "产品介绍" and "来自客户的声音"; update the labels so they match across the deck by making the section divider text identical to the TOC text (or vice‑versa) — locate the shape content elements containing the strong text nodes ("产品功能", "来自用户的声音", "产品介绍", "来自客户的声音") and unify the strings, and apply the same fix to the other similar shape blocks flagged in the review.skills/lark-slides/references/templates/marketing--product_whitepaper.xml-2-2 (1)
2-2:⚠️ Potential issue | 🟡 MinorThe cover title does not match the template metadata.
Line 2 names this deck
产品白皮书, but Lines 33-34 render互联网产品展示on the cover. If this file is meant to be the whitepaper template, the metadata and opening slide should tell the same story.Also applies to: 29-37
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--product_whitepaper.xml` at line 2, The file's <title> element currently reads "产品白皮书" but the cover slide text (the element that renders "互联网产品展示" on the opening slide and the same content around lines 29-37) is inconsistent; update either the <title> value or the cover slide text so both match (e.g., change the <title> to "互联网产品展示" or replace the cover slide's displayed string with "产品白皮书"), and ensure you update both the title tag and the cover slide/text element(s) so metadata and the rendered first slide are identical.skills/lark-slides/references/templates/hr--employee_training_workshop.xml-19-123 (1)
19-123:⚠️ Potential issue | 🟡 MinorRemove the duplicated cover elements.
Lines 74-123 repeat the decorative objects from Lines 19-68, and the page number is also duplicated at Lines 160-173. Because several of these repeated shapes use alpha values below 1, the cover will render darker/heavier than intended and be harder to edit.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/hr--employee_training_workshop.xml` around lines 19 - 123, The file contains a duplicated block of decorative <shape> elements (the sequence starting with shape width="100" topLeftX="20" rotation="54" type="ellipse" and repeating the slides-full-round-rect/ellipse shapes) — remove the second occurrence of that entire repeated block (the copy that duplicates the shapes with topLeftX values 20, -61, 621, 54, 378, 343, 822, 925, 345, 435) so only one set remains; also remove the duplicated page-number element (the repeated page number block that appears later) so there is a single page number entry. Ensure you keep the first occurrence of each element and delete the subsequent duplicates to restore correct cover appearance and alpha handling.skills/lark-slides/references/templates/marketing--roadshow_business_plan.xml-784-792 (1)
784-792:⚠️ Potential issue | 🟡 MinorFix the copied section headers before adding this to the catalog.
Lines 784-792 still show
市场分析 / 用户需求, Lines 1042-1050 still show产品服务 / 用户需求, and Lines 1216-1224 still show运营计划 / Planeven though the surrounding slides are for later sections. These mismatches will confuse users when they navigate the generated deck.Also applies to: 1042-1050, 1216-1224
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--roadshow_business_plan.xml` around lines 784 - 792, Several slide text blocks were copied with wrong section headers (e.g., shapes containing "市场分析" paired with a sub-headline "用户需求", shapes "产品服务" paired with "用户需求", and shapes with "运营计划" paired with "Plan"); update each mismatched shape so the sub-headline matches the surrounding slide section. Locate the shape elements whose content currently reads "用户需求" (the sub-headline under "市场分析" and under "产品服务") and the shape where the sub-headline reads "Plan" under "运营计划" and replace those text nodes so each sub-headline matches its parent section heading (or the intended local heading for that slide) and maintain existing styling attributes (textType, fontSize, bold, color, padding).skills/lark-slides/references/templates/marketing--marketing_strategy.xml-1281-1285 (1)
1281-1285:⚠️ Potential issue | 🟡 MinorTypo:
SOEshould beSEO.The budget table row label reads
SOE 优化but the corresponding action-plan badge on Line 1111 (same file) isSEO优化#3``. Align both toSEO 优化so the budget allocation row matches the action plan it's funding.✏️ Proposed fix
- <span color="rgba(255, 255, 255, 1)" fontSize="14">SOE 优化</span> + <span color="rgba(255, 255, 255, 1)" fontSize="14">SEO 优化</span>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--marketing_strategy.xml` around lines 1281 - 1285, The label text in the content/span element currently reads "SOE 优化" and should be corrected to "SEO 优化" to match the action-plan badge "SEO优化 `#3`"; locate the <content> element containing the <span> with fontSize="14" and color="rgba(255, 255, 255, 1)" (the snippet showing "SOE 优化") and update its inner text to "SEO 优化" so the budget allocation row matches the action plan.skills/lark-slides/references/templates/marketing--marketing_strategy.xml-847-866 (1)
847-866:⚠️ Potential issue | 🟡 MinorDuplicate "你的团队" / "2025.09.12" shapes overlap on the same slide.
Lines 847–851 and 862–866 both place a
2025.09.12caption attopLeftX="845" topLeftY="425" rotation="90", and Lines 852–856 and 857–861 both place a你的团队caption attopLeftX="845" topLeftY="80" rotation="90". The earlier copies are missingcolor="rgba(255, 255, 255, 1)", so they fall back to the themecaptioncolor (#808080FF) and stack underneath the white copies, producing visible text overlap/halo on render.Looks like a copy-paste artifact — drop the duplicate (uncolored) pair.
🛠️ Suggested cleanup
- <shape width="176" height="38" topLeftX="845" topLeftY="425" rotation="90" type="text"> - <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12"> - <p>2025.09.12</p> - </content> - </shape> - <shape width="176" height="38" topLeftX="845" topLeftY="80" rotation="90" type="text"> - <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12"> - <p>你的团队</p> - </content> - </shape> <shape width="176" height="38" topLeftX="845" topLeftY="80" rotation="90" type="text"> <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12" color="rgba(255, 255, 255, 1)"> <p>你的团队</p> </content> </shape> <shape width="176" height="38" topLeftX="845" topLeftY="425" rotation="90" type="text"> <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12" color="rgba(255, 255, 255, 1)" textAlign="right"> <p>2025.09.12</p> </content> </shape>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/marketing--marketing_strategy.xml` around lines 847 - 866, There are duplicated text <shape> elements causing overlapping captions: remove the uncolored pair (the two <shape> elements that have topLeftX="845" topLeftY="425" rotation="90" type="text" and topLeftX="845" topLeftY="80" rotation="90" which lack color="rgba(255, 255, 255, 1)"), leaving only the colored versions that include color="rgba(255, 255, 255, 1)" so "你的团队" and "2025.09.12" appear once each without the underlying gray copies.
🧹 Nitpick comments (1)
skills/lark-slides/references/templates/administration--corporate_culture.xml (1)
390-417: Slide "发展历程" lacks meaningful body content.This slide only contains a title and orange accent bar; the actual timeline is represented by
<undefined type="fallback"/>on Line 412. Users picking this template will get a near-empty slide for a development-history page. Consider replacing the fallback with a real timeline skeleton (year markers + value cards), similar to what the "市场前景" slide (Lines 1234–1464) provides, so the template is usable out of the box.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/lark-slides/references/templates/administration--corporate_culture.xml` around lines 390 - 417, The "发展历程" slide currently only has a title shape and an <undefined type="fallback"/> placeholder, leaving the slide empty; replace that fallback with a concrete timeline skeleton: add sequential year marker shapes and corresponding value-card text shapes (e.g., small rect markers and text blocks) positioned horizontally or vertically to form a timeline, include at least 3–5 year markers with sample placeholder text, and mirror the structure/style used by the "市场前景" slide (use similar shape types, content blocks, and font/color attributes) so the slide titled "发展历程" becomes a usable development-history template.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@skills/lark-slides/references/template-catalog.md`:
- Around line 190-196: The page-type index for brand_communication.xml is wrong
because divider slides exist at 3, 7, 10, 14 in
marketing--brand_communication.xml; update the "页型索引" line so it lists the
divider pages as sections and adjusts the content ranges accordingly (keep 封面
`1` | 目录 `2`, change `分节 无` to `分节 3, 7, 10, 14` and change `内容 3-10, 12-16` to
`内容 4-6, 8-9, 11-13, 15-16`), leaving the 结尾 `17` unchanged so readers won't
treat divider slides as regular content.
- Around line 222-228: The section-divider index in brand_operations_plan.xml is
off: the fourth divider is actually at page 13 (not 12), so update the “分节页”
list to 3, 6, 9, 13, 15 and adjust the page-range map accordingly so content
ranges read 4-5, 7-8, 10-12, 14, 16-17 (keeping cover=1, toc=2 and ending=18).
In `@skills/lark-slides/references/templates/hr--employee_training.xml`:
- Around line 7-12: The shared theme's default textStyles (title, headline,
sub-headline, body) are set to black, causing unreadable text on a dark deck;
update the theme's <textStyles> entries for title, headline, sub-headline, and
body to use a light/white color (e.g., set fontColor to a white opaque value) so
any shapes that inherit these styles remain legible—leave caption as-is. Locate
the textStyles block containing the title, headline, sub-headline, and body tags
and change their fontColor attributes accordingly.
- Around line 49-78: There are two overlapping bottom-left company placeholder
text shapes (the shape with width="202" height="41" topLeftX="51" topLeftY="462"
type="text" and the other with width="202" height="39" topLeftX="58"
topLeftY="462" type="text"); remove or consolidate them into a single text shape
to avoid rendering overlap, choose the desired content and styling (e.g., keep
the more fully-specified element with fontSize, color, padding, and text
"输入互联网公司" or "输入你的互联网公司"), delete the duplicate element, and ensure the
remaining shape has the correct topLeftX/topLeftY, padding and font attributes
so the cover displays a single editable company placeholder.
In `@skills/lark-slides/references/templates/marketing--brand_logo_design.xml`:
- Around line 577-579: Remove the stray <shape> element that sits outside the
slide canvas (the element with width="192" height="44" topLeftX="852"
topLeftY="717" type="text") from the template so it no longer appears in the
file; locate the shape block in marketing--brand_logo_design.xml and delete that
entire <shape>...</shape> node to prevent out-of-bounds lint failures and remove
the leftover artifact.
- Around line 1212-1273: The hex labels under the color circles are incorrect;
update the three text <span> values to match their corresponding <fillColor>
values: for the ellipse with fillColor="rgba(41, 185, 246, 1)" (ellipse at
topLeftX="717" topLeftY="103") change the caption <span> from "#86DBFF" to
"#29B9F6"; for the ellipse with fillColor="rgba(225, 234, 255, 1)" (ellipse at
topLeftX="717" topLeftY="314") change the caption <span> from "#C6E7FF" to
"#E1EAFF"; and for the ellipse with fillColor="rgba(0, 145, 227, 1)" (ellipse at
topLeftX="509" topLeftY="103") change the caption <span> from "#1C66F6" to
"#0091E3".
In
`@skills/lark-slides/references/templates/marketing--brand_operations_plan.xml`:
- Around line 1040-1063: Rename the two content/title shapes that still say
"Activity Ideas" and the headline "活动思路" to use the section name "营销推广" so they
match the `05 / 营销推广` divider; specifically update the shape containing the text
node with "<p> Activity Ideas</p>" and the shape with the headline "<p>活动思路</p>"
to "<p>营销推广</p>" (and apply the same change to the duplicate slides referenced
at lines 1170-1192).
In `@skills/lark-slides/references/templates/marketing--marketing_strategy.xml`:
- Around line 7-13: The theme sets a dark background via background.fillColor
but leaves textStyles.title, headline, sub-headline and body fontColor as black
(`#000000FF`), which will render unreadable default text; update the theme so
defaults match the dark background by either removing explicit fontColor entries
from textStyles (letting per-slide <span>/<content> colors take precedence) or
change those textStyles fontColor values to white (`#FFFFFFFF`) while keeping
caption as-is, ensuring you edit the textStyles block (title, headline,
sub-headline, body) to prevent black-on-dark defaults.
---
Minor comments:
In `@skills/lark-slides/references/template-catalog.md`:
- Around line 3-9: The top note is broken into multiple blockquote paragraphs
causing MD028; fix it by removing the blank lines between the lines that start
with ">" so the entire instructional note becomes a single continuous
blockquote, or alternatively convert the separate blockquote paragraphs into
normal paragraphs (remove leading ">" on subsequent lines) so the content about
template-index.json, ../scripts/template-tool.py, and light_general.xml /
dark_general.xml renders as one coherent block of text rather than multiple
blockquotes.
In `@skills/lark-slides/references/templates/administration--annual_gala.xml`:
- Around line 34-45: The template currently hard-codes the event year across the
title spans (see the <shape ... type="text"> block and the <content
textType="title"> with the <span> nodes containing "202" and "6"); replace those
hard-coded year spans with a reusable placeholder or neutral text (e.g., a
single span containing "年度年会盛典" or a placeholder like "{{year}} 年会盛典") so the
title remains correct for decks created after 2026.
In `@skills/lark-slides/references/templates/administration--company_intro.xml`:
- Around line 283-290: The card title is truncated to just "企业" in the text
shape element; update the <shape> / <content> text node (the <p><strong><span
...> value) used for the slide title so it contains the full intended heading
(e.g., a complete phrase like "企业简介" or the agreed full title) and preserve
existing attributes (fontSize, color, bold, textAlign, padding) so only the
inner text/span content changes; locate the shape element with width="278"
height="44" topLeftX="533" topLeftY="316" and modify its <span> text
accordingly.
- Around line 482-487: Fix the mistyped and misplaced section headers: update
the <span> text values in the relevant <shape type="text"> elements so
"ENTERPRISE INTRODUTION" becomes "ENTERPRISE INTRODUCTION", change any incorrect
"TEAM INTRODUCTION" occurrences to the intended header (e.g., "TEAM
INTRODUCTION" or the correct localized label), and move or correct the Chinese
title "企业介绍" so it appears under the proper 企业介绍 section instead of inside the
产品服务 block; locate these shapes by their span text and surrounding <shape
type="text"> elements and edit the span content accordingly.
In `@skills/lark-slides/references/templates/hr--employee_training_workshop.xml`:
- Line 2: The deck title in the <title> element is inconsistent with the cover
copy and the template identity (employee_training_workshop); update the <title>
element value to exactly match the cover slide copy ("员工培训 / 训练模版") and confirm
the cover text and any other occurrences in the file use the same phrase so the
<title> element, cover slide text, and template identity
(employee_training_workshop) are consistent.
- Around line 19-123: The file contains a duplicated block of decorative <shape>
elements (the sequence starting with shape width="100" topLeftX="20"
rotation="54" type="ellipse" and repeating the slides-full-round-rect/ellipse
shapes) — remove the second occurrence of that entire repeated block (the copy
that duplicates the shapes with topLeftX values 20, -61, 621, 54, 378, 343, 822,
925, 345, 435) so only one set remains; also remove the duplicated page-number
element (the repeated page number block that appears later) so there is a single
page number entry. Ensure you keep the first occurrence of each element and
delete the subsequent duplicates to restore correct cover appearance and alpha
handling.
In `@skills/lark-slides/references/templates/hr--onboarding.xml`:
- Around line 56-60: Replace the hard‑coded "2026.05.04" string inside the
<span> element in the onboarding template with a reusable placeholder (for
example {{ONBOARDING_DATE}}) or a generic label (e.g., "DATE") so the template
doesn't ship a fixed date; update the <content>/<p>/<span> where the date
currently appears and ensure the rendering code that processes this template
(the consumer of the <span> value) can substitute either a provided date or a
runtime default (like today) instead of relying on the literal "2026.05.04".
- Around line 648-680: The XML contains a duplicated CTA pair: two shape
elements (type="ellipse" topLeftX="822" topLeftY="244" width="42" height="42")
and two icon elements (iconType="iconpark/Arrows/arrow-right.svg" topLeftX="831"
topLeftY="252" width="25" height="25"); remove the redundant pair (either the
first or the second occurrence) so only one ellipse shape and one arrow icon
remain, preserving the remaining element's border and alpha attributes to keep
styling.
In `@skills/lark-slides/references/templates/marketing--brand_communication.xml`:
- Around line 139-148: Section 02's title text is inconsistent: some <shape>
content <span> values read "品牌传播分析" while divider/running-caption occurrences
read "品牌分析传播"; pick a single canonical string (e.g., "品牌传播分析") and update all
instances so they match, editing the <content>/<p>/<span> text inside the
relevant <shape> elements and any divider or running-caption elements that
currently contain "品牌分析传播" to the chosen canonical text.
In `@skills/lark-slides/references/templates/marketing--brand_logo_design.xml`:
- Around line 527-552: There are stacked duplicate text shapes at the same
coordinates (text shapes with topLeftX="263" topLeftY="459" and the nearby
duplicate at topLeftX="262" topLeftY="459") causing maintenance issues; remove
the redundant duplicate text <shape> elements and keep a single authoritative
caption element (retain the one with the intended attributes such as
padding/fontSize/color) and ensure the background rect (shape type="rect" at
topLeftX="239" topLeftY="435") remains intact; apply the same de-duplication
cleanup for the other occurrences referenced around lines 960-985 so each
caption position has only one text <shape>.
In
`@skills/lark-slides/references/templates/marketing--brand_operations_plan.xml`:
- Line 2: The template title currently contains an internal authoring note
"裂图重新上传" inside the <title> element; remove that note so the <title> reads only
"品牌运营计划" (or otherwise only the public-facing deck metadata), and if the
internal note must be preserved move it out of <title> into an internal comment
or metadata field instead; update the <title> element in the template
accordingly.
In `@skills/lark-slides/references/templates/marketing--business_plan.xml`:
- Around line 1515-1518: The slide header text inside the <shape width="202"
height="41" topLeftX="731" topLeftY="16" type="text"> element (content with
textType="caption" and the <p> node currently reading "04 财务计划") is numbered
incorrectly and misaligned; update the <p> content to "05 财务计划" to match the
section divider and adjust its positioning/textAlign to match the section
divider’s alignment (use the same padding, fontSize, bold, and textAlign values
as the section divider) so the header number and alignment are consistent.
- Around line 361-366: The third team-card's text node currently reads "团队成员 `#2`"
causing duplicate numbering; locate the <shape> element whose attributes include
topLeftX="188" and topLeftY="375" (the text content block with fontSize="16" and
bold="true") and change the inner text from "团队成员 `#2`" to "团队成员 `#3`" so the cards
read `#1` / `#2` / `#3`.
In `@skills/lark-slides/references/templates/marketing--marketing_plan.xml`:
- Around line 1-2: The presentation title currently includes an internal draft
suffix; update the <presentation> metadata by editing the <title> element value
so it no longer contains "裂图重新上传" (i.e., change the <title> text from
"营销策划方案-裂图重新上传" to a clean title like "营销策划方案"), ensuring only the visible deck
title is published and no internal editing notes remain.
- Around line 572-578: The sidebar text "European Market Q3 Planning" in the
<shape ... type="text"> element (the node containing the <content> with
"European Market Q3 Planning") is inconsistent with the rest of the deck; update
that text to "European Market Q1 Planning" so the quarter label matches the
cover and surrounding slides, preserving existing formatting attributes
(fontSize, color, bold, padding, rotation).
In `@skills/lark-slides/references/templates/marketing--marketing_strategy.xml`:
- Around line 1281-1285: The label text in the content/span element currently
reads "SOE 优化" and should be corrected to "SEO 优化" to match the action-plan
badge "SEO优化 `#3`"; locate the <content> element containing the <span> with
fontSize="14" and color="rgba(255, 255, 255, 1)" (the snippet showing "SOE 优化")
and update its inner text to "SEO 优化" so the budget allocation row matches the
action plan.
- Around line 847-866: There are duplicated text <shape> elements causing
overlapping captions: remove the uncolored pair (the two <shape> elements that
have topLeftX="845" topLeftY="425" rotation="90" type="text" and topLeftX="845"
topLeftY="80" rotation="90" which lack color="rgba(255, 255, 255, 1)"), leaving
only the colored versions that include color="rgba(255, 255, 255, 1)" so "你的团队"
and "2025.09.12" appear once each without the underlying gray copies.
In `@skills/lark-slides/references/templates/marketing--product_whitepaper.xml`:
- Around line 79-106: TOC entries and section divider labels are inconsistent:
the TOC shapes currently use the strings "产品功能" and "来自用户的声音" while later
section divider shapes render "产品介绍" and "来自客户的声音"; update the labels so they
match across the deck by making the section divider text identical to the TOC
text (or vice‑versa) — locate the shape content elements containing the strong
text nodes ("产品功能", "来自用户的声音", "产品介绍", "来自客户的声音") and unify the strings, and
apply the same fix to the other similar shape blocks flagged in the review.
- Line 2: The file's <title> element currently reads "产品白皮书" but the cover slide
text (the element that renders "互联网产品展示" on the opening slide and the same
content around lines 29-37) is inconsistent; update either the <title> value or
the cover slide text so both match (e.g., change the <title> to "互联网产品展示" or
replace the cover slide's displayed string with "产品白皮书"), and ensure you update
both the title tag and the cover slide/text element(s) so metadata and the
rendered first slide are identical.
In
`@skills/lark-slides/references/templates/marketing--roadshow_business_plan.xml`:
- Around line 784-792: Several slide text blocks were copied with wrong section
headers (e.g., shapes containing "市场分析" paired with a sub-headline "用户需求",
shapes "产品服务" paired with "用户需求", and shapes with "运营计划" paired with "Plan");
update each mismatched shape so the sub-headline matches the surrounding slide
section. Locate the shape elements whose content currently reads "用户需求" (the
sub-headline under "市场分析" and under "产品服务") and the shape where the sub-headline
reads "Plan" under "运营计划" and replace those text nodes so each sub-headline
matches its parent section heading (or the intended local heading for that
slide) and maintain existing styling attributes (textType, fontSize, bold,
color, padding).
---
Nitpick comments:
In
`@skills/lark-slides/references/templates/administration--corporate_culture.xml`:
- Around line 390-417: The "发展历程" slide currently only has a title shape and an
<undefined type="fallback"/> placeholder, leaving the slide empty; replace that
fallback with a concrete timeline skeleton: add sequential year marker shapes
and corresponding value-card text shapes (e.g., small rect markers and text
blocks) positioned horizontally or vertically to form a timeline, include at
least 3–5 year markers with sample placeholder text, and mirror the
structure/style used by the "市场前景" slide (use similar shape types, content
blocks, and font/color attributes) so the slide titled "发展历程" becomes a usable
development-history template.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 97cf0a9c-76b0-4ac3-8af2-867620ed2b81
📒 Files selected for processing (50)
skills/lark-slides/SKILL.mdskills/lark-slides/references/slide-templates.mdskills/lark-slides/references/template-catalog.mdskills/lark-slides/references/template-index.jsonskills/lark-slides/references/templates/administration--all_hands_meeting.xmlskills/lark-slides/references/templates/administration--annual_gala.xmlskills/lark-slides/references/templates/administration--company_intro.xmlskills/lark-slides/references/templates/administration--corporate_culture.xmlskills/lark-slides/references/templates/hr--employee_training.xmlskills/lark-slides/references/templates/hr--employee_training_workshop.xmlskills/lark-slides/references/templates/hr--onboarding.xmlskills/lark-slides/references/templates/marketing--brand_communication.xmlskills/lark-slides/references/templates/marketing--brand_logo_design.xmlskills/lark-slides/references/templates/marketing--brand_operations_plan.xmlskills/lark-slides/references/templates/marketing--business_plan.xmlskills/lark-slides/references/templates/marketing--marketing_plan.xmlskills/lark-slides/references/templates/marketing--marketing_strategy.xmlskills/lark-slides/references/templates/marketing--product_whitepaper.xmlskills/lark-slides/references/templates/marketing--roadshow_business_plan.xmlskills/lark-slides/references/templates/misc--book_sharing.xmlskills/lark-slides/references/templates/misc--club_event_plan.xmlskills/lark-slides/references/templates/misc--student_career_plan.xmlskills/lark-slides/references/templates/office--dark_general.xmlskills/lark-slides/references/templates/office--dept_annual_report.xmlskills/lark-slides/references/templates/office--light_general.xmlskills/lark-slides/references/templates/office--project_kickoff.xmlskills/lark-slides/references/templates/office--quarterly_review.xmlskills/lark-slides/references/templates/office--work_report.xmlskills/lark-slides/references/templates/office--work_summary.xmlskills/lark-slides/references/templates/office--work_summary_report.xmlskills/lark-slides/references/templates/operations--brand_logo_design.xmlskills/lark-slides/references/templates/operations--brand_operations_plan.xmlskills/lark-slides/references/templates/operations--marketing_plan.xmlskills/lark-slides/references/templates/operations--product_promotion.xmlskills/lark-slides/references/templates/personal--experience_sharing.xmlskills/lark-slides/references/templates/personal--personal_resume.xmlskills/lark-slides/references/templates/personal--promotion_defense.xmlskills/lark-slides/references/templates/personal--promotion_report.xmlskills/lark-slides/references/templates/personal--self_intro.xmlskills/lark-slides/references/templates/personal--teaching_sharing.xmlskills/lark-slides/references/templates/product--business_case_analysis.xmlskills/lark-slides/references/templates/product--market_analysis.xmlskills/lark-slides/references/templates/product--product_analysis.xmlskills/lark-slides/references/templates/product--product_intro.xmlskills/lark-slides/references/templates/product--product_promotion.xmlskills/lark-slides/references/templates/product--product_promotion_2.xmlskills/lark-slides/scripts/layout-lint.pyskills/lark-slides/scripts/layout_lint_test.pyskills/lark-slides/scripts/template-tool.pyskills/lark-slides/scripts/template_tool_test.py
| ### brand_communication.xml — 品牌传播方案 | ||
|
|
||
| - 17 页 | 色调:dark | 正式度:formal | ||
| - 配色:黑色图片底图,青绿渐变 `#59c2ff → #a1ffc8` 点缀,半透明白色卡片 | ||
| - 结构:封面 → 目录 → 内容×8 → 数据 → 内容×5 → 结尾 | ||
| - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-10, 12-16` | 结尾 `17` | ||
| - **适用**:品牌传播、公关方案。青绿科技感 + 暗色背景 |
There was a problem hiding this comment.
The brand_communication page-type index does not match the template.
marketing--brand_communication.xml has divider slides at 3, 7, 10, and 14. With the current 分节 无 / 内容 3-10, 12-16 guidance, readers will extract divider pages as content and miss the real section boundaries.
Suggested correction
-- 结构:封面 → 目录 → 内容×8 → 数据 → 内容×5 → 结尾
-- 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-10, 12-16` | 结尾 `17`
+- 结构:封面 → 目录 → [分节页 → 内容]×4 → 结尾
+- 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 7, 10, 14` | 内容 `4-6, 8-9, 11-13, 15-16` | 结尾 `17`🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/template-catalog.md` around lines 190 - 196,
The page-type index for brand_communication.xml is wrong because divider slides
exist at 3, 7, 10, 14 in marketing--brand_communication.xml; update the "页型索引"
line so it lists the divider pages as sections and adjusts the content ranges
accordingly (keep 封面 `1` | 目录 `2`, change `分节 无` to `分节 3, 7, 10, 14` and change
`内容 3-10, 12-16` to `内容 4-6, 8-9, 11-13, 15-16`), leaving the 结尾 `17` unchanged
so readers won't treat divider slides as regular content.
| ### brand_operations_plan.xml — 品牌运营计划 | ||
|
|
||
| - 18 页 | 色调:light | 正式度:formal | ||
| - 配色:浅灰底 `#eff2f6`,中蓝 `#3c6fe5` 点缀 | ||
| - 结构:封面 → 目录 → [分节页 → 内容]×5 → 结尾(5 个分节,结构最清晰) | ||
| - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12, 15` | 内容 `4-5, 7-8, 10-11, 13-14, 16-17` | 结尾 `18` | ||
| - **适用**:品牌运营、年度运营计划。蓝灰企业风,分节最规范 |
There was a problem hiding this comment.
The brand_operations_plan index is off by one section.
marketing--brand_operations_plan.xml puts the last two divider slides at 13 and 15, not 12 and 15. The current ranges point “分节” readers at a content slide and skip the actual divider at 13.
Suggested correction
-- 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12, 15` | 内容 `4-5, 7-8, 10-11, 13-14, 16-17` | 结尾 `18`
+- 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 13, 15` | 内容 `4-5, 7-8, 10-12, 14, 16-17` | 结尾 `18`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### brand_operations_plan.xml — 品牌运营计划 | |
| - 18 页 | 色调:light | 正式度:formal | |
| - 配色:浅灰底 `#eff2f6`,中蓝 `#3c6fe5` 点缀 | |
| - 结构:封面 → 目录 → [分节页 → 内容]×5 → 结尾(5 个分节,结构最清晰) | |
| - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12, 15` | 内容 `4-5, 7-8, 10-11, 13-14, 16-17` | 结尾 `18` | |
| - **适用**:品牌运营、年度运营计划。蓝灰企业风,分节最规范 | |
| ### brand_operations_plan.xml — 品牌运营计划 | |
| - 18 页 | 色调:light | 正式度:formal | |
| - 配色:浅灰底 `#eff2f6`,中蓝 `#3c6fe5` 点缀 | |
| - 结构:封面 → 目录 → [分节页 → 内容]×5 → 结尾(5 个分节,结构最清晰) | |
| - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 13, 15` | 内容 `4-5, 7-8, 10-12, 14, 16-17` | 结尾 `18` | |
| - **适用**:品牌运营、年度运营计划。蓝灰企业风,分节最规范 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/template-catalog.md` around lines 222 - 228,
The section-divider index in brand_operations_plan.xml is off: the fourth
divider is actually at page 13 (not 12), so update the “分节页” list to 3, 6, 9,
13, 15 and adjust the page-range map accordingly so content ranges read 4-5,
7-8, 10-12, 14, 16-17 (keeping cover=1, toc=2 and ending=18).
| <textStyles> | ||
| <title fontColor="#000000FF" fontSize="48"/> | ||
| <headline fontColor="#000000FF" fontSize="36"/> | ||
| <sub-headline fontColor="#000000FF"/> | ||
| <body fontColor="#000000FF"/> | ||
| <caption fontColor="#808080FF" fontSize="14"/> |
There was a problem hiding this comment.
Use light text defaults in the shared theme.
This deck is dark, but the shared <theme> still defaults title, headline, sub-headline, and body to black. Any new text that relies on theme styles instead of explicit per-shape colors will render unreadably.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/templates/hr--employee_training.xml` around
lines 7 - 12, The shared theme's default textStyles (title, headline,
sub-headline, body) are set to black, causing unreadable text on a dark deck;
update the theme's <textStyles> entries for title, headline, sub-headline, and
body to use a light/white color (e.g., set fontColor to a white opaque value) so
any shapes that inherit these styles remain legible—leave caption as-is. Locate
the textStyles block containing the title, headline, sub-headline, and body tags
and change their fontColor attributes accordingly.
| <shape width="202" height="41" topLeftX="51" topLeftY="462" type="text"> | ||
| <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="14" autoFit="shape-auto-fit"> | ||
| <p>输入你的互联网公司</p> | ||
| </content> | ||
| </shape> | ||
| <shape width="16" height="15" topLeftX="78" topLeftY="60" flipX="true" type="round2diag-rect"> | ||
| <fill> | ||
| <fillColor color="rgba(255, 255, 255, 1)"/> | ||
| </fill> | ||
| </shape> | ||
| <shape width="36" height="16" topLeftX="48" topLeftY="50" rotation="90" flipX="true" type="round2diag-rect"> | ||
| <fill> | ||
| <fillColor color="rgba(255, 255, 255, 1)"/> | ||
| </fill> | ||
| </shape> | ||
| <shape width="16" height="15" topLeftX="78" topLeftY="39" type="ellipse"> | ||
| <fill> | ||
| <fillColor color="rgba(255, 255, 255, 1)"/> | ||
| </fill> | ||
| </shape> | ||
| <shape width="202" height="41" topLeftX="712" topLeftY="28" type="text"> | ||
| <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="14" fontFamily="undefined" color="rgba(255, 255, 255, 1)" backgroundColor="rgba(0, 0, 0, 0)" bold="false" italic="false" underline="false" strikethrough="false" list="none" listStyle="circle-hollow-square" textAlign="right" autoFit="shape-auto-fit"> | ||
| <p list="none" textAlign="right">公司名字</p> | ||
| </content> | ||
| </shape> | ||
| <shape width="202" height="39" topLeftX="58" topLeftY="462" type="text"> | ||
| <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12" fontFamily="undefined" color="rgba(255, 255, 255, 1)" backgroundColor="rgba(0, 0, 0, 0)" bold="false" italic="false" underline="false" strikethrough="false" list="none" listStyle="circle-hollow-square" textAlign="left" autoFit="shape-auto-fit"> | ||
| <p>输入互联网公司</p> | ||
| </content> | ||
| </shape> |
There was a problem hiding this comment.
Consolidate the duplicate company placeholders on the cover.
Lines 49-53 and 74-78 place two nearly identical text boxes in the same bottom-left area. They will render on top of each other and make the cover harder to edit cleanly.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/templates/hr--employee_training.xml` around
lines 49 - 78, There are two overlapping bottom-left company placeholder text
shapes (the shape with width="202" height="41" topLeftX="51" topLeftY="462"
type="text" and the other with width="202" height="39" topLeftX="58"
topLeftY="462" type="text"); remove or consolidate them into a single text shape
to avoid rendering overlap, choose the desired content and styling (e.g., keep
the more fully-specified element with fontSize, color, padding, and text
"输入互联网公司" or "输入你的互联网公司"), delete the duplicate element, and ensure the
remaining shape has the correct topLeftX/topLeftY, padding and font attributes
so the cover displays a single editable company placeholder.
| <shape width="192" height="44" topLeftX="852" topLeftY="717" type="text"> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="16"/> | ||
| </shape> |
There was a problem hiding this comment.
Delete the stray text box outside the slide canvas.
This shape sits completely outside the 960×540 page, so it never renders and is likely to fail the new bounds lint. It looks like a leftover artifact.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/templates/marketing--brand_logo_design.xml`
around lines 577 - 579, Remove the stray <shape> element that sits outside the
slide canvas (the element with width="192" height="44" topLeftX="852"
topLeftY="717" type="text") from the template so it no longer appears in the
file; locate the shape block in marketing--brand_logo_design.xml and delete that
entire <shape>...</shape> node to prevent out-of-bounds lint failures and remove
the leftover artifact.
| <shape width="146" height="146" topLeftX="717" topLeftY="103" type="ellipse"> | ||
| <fill> | ||
| <fillColor color="rgba(41, 185, 246, 1)"/> | ||
| </fill> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="28" color="rgba(255, 255, 255, 0.949)" bold="true"> | ||
| <p> | ||
| <strong> | ||
| <span color="rgba(255, 255, 255, 0.949)" fontSize="28">25%</span> | ||
| </strong> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="146" height="44" topLeftX="717" topLeftY="249" type="text"> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="16" color="rgba(31, 35, 41, 1)" bold="true" textAlign="center"> | ||
| <p> | ||
| <strong> | ||
| <span color="rgba(31, 35, 41, 1)" fontSize="16">#86DBFF</span> | ||
| </strong> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="146" height="146" topLeftX="717" topLeftY="314" type="ellipse"> | ||
| <fill> | ||
| <fillColor color="rgba(225, 234, 255, 1)"/> | ||
| </fill> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="28" color="rgba(31, 35, 41, 1)" bold="true"> | ||
| <p> | ||
| <strong> | ||
| <span fontSize="28">5%</span> | ||
| </strong> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="146" height="44" topLeftX="717" topLeftY="460" type="text"> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="16" color="rgba(31, 35, 41, 1)" bold="true" textAlign="center"> | ||
| <p> | ||
| <strong> | ||
| <span color="rgba(31, 35, 41, 1)" fontSize="16">#C6E7FF</span> | ||
| </strong> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="146" height="146" topLeftX="509" topLeftY="103" type="ellipse"> | ||
| <fill> | ||
| <fillColor color="rgba(0, 145, 227, 1)"/> | ||
| </fill> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="30" color="rgba(251, 251, 251, 1)" bold="true"> | ||
| <p> | ||
| <strong> | ||
| <span color="rgba(251, 251, 251, 1)" fontSize="30">60%</span> | ||
| </strong> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="146" height="44" topLeftX="509" topLeftY="249" type="text"> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="16" color="rgba(31, 35, 41, 1)" bold="true" textAlign="center"> | ||
| <p> | ||
| <strong> | ||
| <span color="rgba(31, 35, 41, 1)" fontSize="16">#1C66F6</span> | ||
| </strong> | ||
| </p> | ||
| </content> |
There was a problem hiding this comment.
The displayed hex labels no longer match the actual fills.
On this palette slide, the circles are #29B9F6, #E1EAFF, and #0091E3, but the captions still say #86DBFF, #C6E7FF, and #1C66F6. That makes the template self-contradictory for anyone reusing the color spec.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/templates/marketing--brand_logo_design.xml`
around lines 1212 - 1273, The hex labels under the color circles are incorrect;
update the three text <span> values to match their corresponding <fillColor>
values: for the ellipse with fillColor="rgba(41, 185, 246, 1)" (ellipse at
topLeftX="717" topLeftY="103") change the caption <span> from "#86DBFF" to
"#29B9F6"; for the ellipse with fillColor="rgba(225, 234, 255, 1)" (ellipse at
topLeftX="717" topLeftY="314") change the caption <span> from "#C6E7FF" to
"#E1EAFF"; and for the ellipse with fillColor="rgba(0, 145, 227, 1)" (ellipse at
topLeftX="509" topLeftY="103") change the caption <span> from "#1C66F6" to
"#0091E3".
| <shape width="225" height="41" topLeftX="32" topLeftY="167" type="text"> | ||
| <content paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="14" color="rgba(43, 47, 54, 1)" bold="false"> | ||
| <p> Activity Ideas</p> | ||
| </content> | ||
| </shape> | ||
| <shape width="207" height="74" topLeftX="32" topLeftY="239" type="text"> | ||
| <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12" color="rgba(124, 125, 126, 1)"> | ||
| <p> | ||
| <span color="rgba(124, 125, 126, 1)">描述相关的信息以解释你的标题。现在就开始打字吧。写任何你想表达的内容</span> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="207" height="74" topLeftX="32" topLeftY="317" type="text"> | ||
| <content textType="caption" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="12" color="rgba(124, 125, 126, 1)"> | ||
| <p> | ||
| <span color="rgba(124, 125, 126, 1)">描述相关的信息以解释你的标题。现在就开始打字吧。写任何你想表达的内容</span> | ||
| </p> | ||
| </content> | ||
| </shape> | ||
| <shape width="270" height="92" topLeftX="27" topLeftY="93" type="text"> | ||
| <content textType="headline" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="48" color="rgba(60, 111, 229, 1)" bold="true"> | ||
| <p>活动思路</p> | ||
| </content> | ||
| </shape> |
There was a problem hiding this comment.
Rename the section 05 content slides to match 营销推广.
After the 05 / 营销推广 divider, these two slides still use Activity Ideas / 活动思路. That breaks the section narrative and makes the page-type index harder to trust.
Suggested fix
- <p> Activity Ideas</p>
+ <p>Marketing Promotion</p>
...
- <p>活动思路</p>
+ <p>营销推广</p>Also applies to: 1170-1192
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/templates/marketing--brand_operations_plan.xml`
around lines 1040 - 1063, Rename the two content/title shapes that still say
"Activity Ideas" and the headline "活动思路" to use the section name "营销推广" so they
match the `05 / 营销推广` divider; specifically update the shape containing the text
node with "<p> Activity Ideas</p>" and the shape with the headline "<p>活动思路</p>"
to "<p>营销推广</p>" (and apply the same change to the duplicate slides referenced
at lines 1170-1192).
| <textStyles> | ||
| <title fontColor="#000000FF" fontSize="48"/> | ||
| <headline fontColor="#000000FF" fontSize="28"/> | ||
| <sub-headline fontColor="#000000FF"/> | ||
| <body fontColor="#000000FF"/> | ||
| <caption fontColor="#808080FF"/> | ||
| </textStyles> |
There was a problem hiding this comment.
Theme default text colors clash with dark background.
The theme declares background.fillColor as rgba(11, 11, 11, 1) (Line 5), but the default title/headline/sub-headline/body fontColor are all #000000FF (black). On the slides that don't override the per-element color, this would render black text on a near-black background. Most slides in this template do override the color in <span>/<content> to white, but the theme defaults are misleading and risky for any downstream slide that omits an explicit color.
Consider either dropping the explicit fontColor from these textStyles so per-slide colors win cleanly, or aligning the defaults with the dark background (e.g., #FFFFFFFF).
🛠️ Suggested theme fix
<textStyles>
- <title fontColor="#000000FF" fontSize="48"/>
- <headline fontColor="#000000FF" fontSize="28"/>
- <sub-headline fontColor="#000000FF"/>
- <body fontColor="#000000FF"/>
- <caption fontColor="#808080FF"/>
+ <title fontColor="#FFFFFFFF" fontSize="48"/>
+ <headline fontColor="#FFFFFFFF" fontSize="28"/>
+ <sub-headline fontColor="#FFFFFFFF"/>
+ <body fontColor="#FFFFFFFF"/>
+ <caption fontColor="#808080FF"/>
</textStyles>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/lark-slides/references/templates/marketing--marketing_strategy.xml`
around lines 7 - 13, The theme sets a dark background via background.fillColor
but leaves textStyles.title, headline, sub-headline and body fontColor as black
(`#000000FF`), which will render unreadable default text; update the theme so
defaults match the dark background by either removing explicit fontColor entries
from textStyles (letting per-slide <span>/<content> colors take precedence) or
change those textStyles fontColor values to white (`#FFFFFFFF`) while keeping
caption as-is, ensuring you edit the textStyles block (title, headline,
sub-headline, body) to prevent black-on-dark defaults.
Summary
Add template-based PPT generation support for the lark-slides skill, including template catalog metadata and helper scripts that reduce template selection and layout risks.
Changes
Test Plan
Related Issues
Summary by CodeRabbit
Documentation
New Features