Skip to content
Agentmart
Submit a tool

importer

Skill by jwentong

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying importer?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jwentong-importer

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The publisher has not written a description yet.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions: not checked yet.

What's inside

Skill name
importer
Description
None
License
MIT
Instructions
222 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • missing YAML frontmatter
  • name: missing
  • description: missing

Files (103)

  • .babelrc.cjs
  • .eslintignore
  • .eslintrc.cjs
  • .gitignore
  • DESIGN.md
  • LICENSE
  • README.md
  • SKILL.md
  • favicon.ico
  • index.html
  • package.json
  • rollup.config.js
  • extract-pptx-structure.js · scripts/
  • transvert.js · scripts/
  • transvert.ts · scripts/
  • toPptxtojson.ts · src/adapter/
  • types.ts · src/adapter/
  • serializePresentation.ts · src/export/
  • index.ts · src/import-pipeline/
  • mockContext.ts · src/import-pipeline/
  • transformParsedToSlides.ts · src/import-pipeline/
  • types.ts · src/import-pipeline/
  • index.ts · src/
  • Layout.ts · src/model/
  • Master.ts · src/model/
  • Presentation.ts · src/model/
  • Slide.ts · src/model/
  • Theme.ts · src/model/
  • BaseNode.ts · src/model/nodes/
  • ChartNode.ts · src/model/nodes/
  • GroupNode.ts · src/model/nodes/
  • MathNode.ts · src/model/nodes/
  • PicNode.ts · src/model/nodes/
  • ShapeNode.ts · src/model/nodes/
  • TableNode.ts · src/model/nodes/
  • shapes.ts · src/openmaic/configs/
  • svgPathParser.ts · src/openmaic/utils/
  • videoCodec.ts · src/openmaic/utils/
  • RelParser.ts · src/parser/
  • XmlParser.ts · src/parser/
  • ZipParser.ts · src/parser/
  • units.ts · src/parser/
  • RenderContext.ts · src/serializer/
  • StyleResolver.ts · src/serializer/
  • backgroundSerializer.ts · src/serializer/
  • borderMapper.ts · src/serializer/
  • chartSerializer.ts · src/serializer/
  • groupSerializer.ts · src/serializer/
  • imageSerializer.ts · src/serializer/
  • index.ts · src/serializer/
  • mathSerializer.ts · src/serializer/
  • shapeSerializer.ts · src/serializer/
  • slideSerializer.ts · src/serializer/
  • tableSerializer.ts · src/serializer/
  • textSerializer.md · src/serializer/
  • textSerializer.ts · src/serializer/
  • customGeometry.ts · src/shapes/
  • presets.ts · src/shapes/
  • shapeArc.ts · src/shapes/
  • vendor-shims.d.ts · src/types/
  • …and 43 more

SKILL.md (first lines)

# SKILL



`maic-importer` 开发规范。请先读 `DESIGN.md` 了解架构。



## 还原质量迭代(必读)



项目根目录 [`iterate-prompt.md`](../../iterate-prompt.md) 规定如何从 `comparison_run` 拉低分、聚类、写报告。每批迭代交付:



- `iteration-<version>-report.md`(仓库根目录)

- 针对本包的解析侧修复(渲染问题在 `packages/@openmaic/renderer`)



**test-0601-002**(deck:`第一节 养老服务管理概述`)要点:



| 现象 | 侧 | 查哪里 |

|---|---|---|

| Logo 上多 5 个空心圆 | 解析 | `layoutElements` 里 master 组「组合 7」;子椭圆 `grpFill` 勿把父组 fill 摊到每个 child → `shapeSerializer.ts` |

| 照片应是圆却变方 | 解析 | `p:pic` + `custGeom` → `imageSerializer.resolvePresetGeom` |

| 画布四周边框 | 渲染 | `SlideCanvas` `chrome`(截图须 `false`) |

| 文字整体偏上 | 解析+渲染 | `bodyPr@anchor` → `vAlign` → `transformParsedToSlides` + `BaseTextElement` |

| 正文偏粗、换行少 | 解析+渲染 | `replaceFontFamilyInHtml` / 文本框 `width` |



调试时 **一定要看 `layoutElements`**,Logo/页脚/master 装饰常在这里,不在 `elements`。



```bash

# 仓库根:拉低分

node --env-file=.env.development scripts/inspect-low-scores.mjs test-0601-002



# 本包:JSON(含 layoutElements)

npx tsx scripts/transvert.ts /path/to.pptx ./out.json

node -e "const s=require('./out.json').slides[1]; console.log(s.layoutElements?.length, s.elements?.length)"

```



## 修 bug 的标准流程



```bash

# 1. 解压 pptx 看源 XML

node scripts/extract-pptx-structure.js ./xxx.pptx ./out



# 2. 生成修改前的 JSON

npx tsx scripts/transvert.ts ./xxx.pptx ./before.json



# 3. 改代码



# 4. 生成修改后的 JSON,diff 对比

npx tsx scripts/transvert.ts ./xxx.pptx ./after.json

```



定位思路:JSON 数值错 → serializer;节点类型错 → model/Slide.ts;颜色错 → StyleResolver + color.ts;模板继承错 → RenderContext.ts;**master/layout 装饰** → `slideSerializer` 的 `layoutElements` + `shapeSerializer` 的 `grpFill` / `ln`+`noFill` vs `lnRef`。



## OOXML 陷阱(本 deck 已踩)



1. **`<a:grpFill/>`**:子形状由组级合成,JSON 里每个 child 的 `fill` 应为 `transparent`,**不能**把 `grpSpPr` 的 solidFill 抄到每个椭圆上,也**不能**用 `fillRef` 补色(test-0601-002 的 5 个 Logo 圆点即此类)。

2. **`<a:ln><a:noFill/></a:ln>`**:显式无描边优先于 `lnRef`(见 `shapeSerializer` 中 `noFillSuppressed`)。

3. **`p:pic` 圆形裁剪**:常为 `custGeom` 而非 `prstGeom prst="ellipse"`;仅读 `prstGeom` 会得到 `rect`。

4. **分层顺序**:`layoutElements`(master+layout)先画,`elements`(slide)后画——与 `transformParsedToSlides` 一致。



## 代码规范



- **TypeScript strict**,不用 `@ts-ignore`,`any` 仅在必要时局部使用并加注释

- **注释解释"为什么"**,不解释"做了什么"

From jwentong/SZU-AgentEduPlatform, MIT.

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Sep 10, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jwentong

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get importer running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying importer?

CallGet help
Cite this page

importer skill. Agent Mart. https://agentmart.dev/skills/jwentong-importer (last updated 2026-10-24)