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.
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.
About
Reviews
Write a reviewNo 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.
More from jwentong/SZU-AgentEduPlatform
- 0.552score
openmaic
jwentong
OpenMAIC assistant for setting up, generating, and extending OpenMAIC.
SkillBFreshness: B★ 1Claude Code +9 - 0.549score
ai-education-courseware
jwentong
Convert teacher PPTX/PDF materials into governed OpenMAIC courseware when source traceability, high-fidelity or Learning Skills enhancement, scene-by-scene…
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
teacher-course-planning
jwentong
Build or revise a course syllabus and teaching plan from teacher materials, course structure, knowledge graph, and explicit scheduling requirements.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
teacher-lesson-engineering
jwentong
Engineer lesson objectives, knowledge points, activities, courseware, narration, exercises, and rubrics inside a selected course lesson folder.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
teacher-visual-collaboration
jwentong
Analyze teacher-uploaded screenshots to diagnose courseware, layout, content, workflow, or course-structure issues and turn visual feedback into scoped actions.
SkillBFreshness: B★ 1Claude Code +9
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
- Repository
- github.com/jwentong/SZU-AgentEduPlatform
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jwentong
- 0.552score
openmaic
jwentong
OpenMAIC assistant for setting up, generating, and extending OpenMAIC.
SkillBFreshness: B★ 1Claude Code +9 - 0.549score
ai-education-courseware
jwentong
Convert teacher PPTX/PDF materials into governed OpenMAIC courseware when source traceability, high-fidelity or Learning Skills enhancement, scene-by-scene…
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
teacher-course-planning
jwentong
Build or revise a course syllabus and teaching plan from teacher materials, course structure, knowledge graph, and explicit scheduling requirements.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
teacher-lesson-engineering
jwentong
Engineer lesson objectives, knowledge points, activities, courseware, narration, exercises, and rubrics inside a selected course lesson folder.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
teacher-visual-collaboration
jwentong
Analyze teacher-uploaded screenshots to diagnose courseware, layout, content, workflow, or course-structure issues and turn visual feedback into scoped actions.
SkillBFreshness: B★ 1Claude Code +9
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.
Cite this page
importer skill. Agent Mart. https://agentmart.dev/skills/jwentong-importer (last updated 2026-10-24)