TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Screenshot → native editable PowerPoint. Measure-first Cursor/Claude skill with layout.json, Layer A/B/C, gates before delivery.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Paste a slide screenshot. Get a native editable .pptx — real shapes, real text, grouped icons. Not a pasted picture.
Left: original screenshot · Right: PowerPoint slideshow raster of the rebuilt editable deck
Most “screenshot to PPT” tools embed the image. That looks fine until you need to edit a word, recolor a card, or move an icon.
This skill rebuilds the slide with object-level PowerPoint shapes and refuses to deliver until automated gates say the rebuild matches the photo.檢視完整 README ↗Paste a slide screenshot. Get a native editable
.pptx— real shapes, real text, grouped icons. Not a pasted picture.
Most “screenshot to PPT” tools embed the image. That looks fine until you need to edit a word, recolor a card, or move an icon.
This skill rebuilds the slide with object-level PowerPoint shapes and refuses to deliver until automated gates say the rebuild matches the photo.
| Area | What you get |
|---|---|
| Layout vs component | Same skill, two modes — full-page composition principles or nest/internals only (07-layout.md) |
| Layers A / B / C | Complex art → measured PNG crops (+ optional vectorize); structure → native shapes; text → editable runs (08-layers.md) |
| Contact sheet | Review every Layer A crop before build (scripts/contact_sheet.py) |
| png-fallback | Visible PPT image is PNG; SVG kept on disk when vectorize runs |
| layout.json assemble | Declarative build: scripts/build_pptx_from_layout.py (layout-json.md) |
| Optional OCR | Fill strings only onto already measured boxes (ocr_fill_text.py) |
| Job + local repair | Per-page dirs (init_job.py); fix one element, don’t rebuild the world (09-job-workflow.md) |
| Text↔text gaps | Always measure title→sub, label→body, sentence→link; one-liners stay wrap=False |
| No full-slide white backing | Page color via set_background only — no selectable full-slide rect |
| Progress = track + fill | Grey track (back) + black/accent fill (front) — two overlapping layers |
| Pre-delivery checklist | Category HARD gates before the three automated scripts (pre-delivery-checklist.md) |
| Text fidelity gate | check_text_fidelity.py — gaps, line-count, bold/regular vs photo |
| ROI compare | compare_rois.py — per-region MAE (header / title / cards / footer) |
| Progress detector | detect_progress_bar.py — track (back) + fill (front) |
Law in one line: measure every element against its neighbors — including text↔text and layers inside a shape. Never guess. Never copy pads from another screenshot.
pad_frac, not a guessed ptwrap=False) vs caption placeholders (wrap=True) only when the photo wrapsstCxn / endCxn when lines should stick to shapes; straight / elbow / curve from photo| Gate | Script | What it checks |
|---|---|---|
| Source | source_audit.py | Spec text boxes sit on real ink in the original photo; glyph height matches declared pt |
| Structure | verify_pptx.py | Shape type/size/position, font name/size/weight/color, sampled fill colors (slide_background = real slide fill, not a fake rect) |
| Visual | compare_render.py | Real PowerPoint slideshow raster vs original (card IoU / pixel MAE, no origin-stacked groups) |
XML that “looks right” is not enough. PowerPoint must draw it correctly.
git clone https://github.com/cliffkwok/screenshot-to-editable-pptx.git
mkdir -p ~/.cursor/skills
ln -s "$(pwd)/screenshot-to-editable-pptx" ~/.cursor/skills/screenshot-to-editable-ppt
pip3 install -r requirements.txt
Optional project rule (always-on reminder): copy .cursor/rules/screenshot-to-editable-ppt.mdc into your project’s .cursor/rules/.
/plugin marketplace add https://github.com/cliffkwok/screenshot-to-editable-pptx
/plugin install screenshot-to-editable-pptx@screenshot-to-editable-pptx
Then invoke the skill when you paste a screenshot and ask for an editable PowerPoint.
Clone this repo and point your agent’s skills folder at it (same layout as Cursor above).
pip3 install -r requirements.txt (python-pptx, Pillow, lxml)eng+chi_tra) for ocr_fill_text.py / line hintsexport_slide_png.py / visual compare (Quick Look is not a valid render)Paste a slide screenshot and ask:
Rebuild this as an editable PowerPoint — shapes, fonts, and colors must match.
The agent will:
layout.json / native helpers (page color = set_background, no full-slide white shape).pptx only if checklist + all three reports passAfter any edit: local repair when possible, then rebuild and re-run gates.
python3 scripts/init_job.py --job work/my-deck --image shot.png
# …measure → write pages/page_001/layout.json + assets…
python3 scripts/contact_sheet.py --assets pages/page_001/assets --out pages/page_001/assets/_contact_sheet.png
python3 scripts/ocr_fill_text.py --image pages/page_001/source.png --layout pages/page_001/layout.json --out pages/page_001/layout.json
python3 scripts/build_pptx_from_layout.py --layout pages/page_001/layout.json --assets-root pages/page_001 --out pages/page_001/page.pptx
python3 scripts/text_hints.py --image screenshot.png --out text_hints.json --overlay text_hints.png
python3 scripts/source_audit.py --spec spec.json --original screenshot.png --hints text_hints.json --out source_audit.json
python3 scripts/verify_pptx.py --pptx slide.pptx --spec spec.json --original screenshot.png --out verify_report.json
python3 scripts/export_slide_png.py --pptx slide.pptx --out render.png
python3 scripts/compare_render.py --original screenshot.png --render render.png --out compare
Exit 0 = pass. Exit 1 = do not deliver.
The main SKILL.md is a workflow map. Supporting files load only when needed:
| File | Purpose | Loaded when |
|---|---|---|
SKILL.md | Core workflow + hard gates | Always |
references/universal-measure-rule.md | Measure law + pipeline | Every rebuild |
references/pre-delivery-checklist.md | Category HARD checks | Before delivery |
references/rules/07–09 + layout-json | Layout mode, layers, jobs | Multi-region / multi-page / Layer A |
scripts/build_pptx_from_layout.py | Assemble from layout.json | Universal path |
scripts/contact_sheet.py / ocr_fill_text.py / init_job.py | Ops enrichments | When using layers / OCR / jobs |
scripts/text_hints.py | Ink boxes + glyph→pt | Before locking text into the spec |
scripts/source_audit.py | Spec vs original photo | Before claiming the layout is locked |
scripts/verify_pptx.py | Shape / font / color | Before visual compare |
scripts/export_slide_png.py + compare_render.py | Real PPT raster vs photo | Before delivery |
examples/walkthrough.md | End-to-end walkthrough | Onboarding |
frontend-slides is an HTML deck authoring skill — different product. What transfers for accuracy:
What does not transfer: style presets, CSS animation packs, Vercel deploy, PPT→HTML extraction. Those solve authoring/sharing, not photo→native-PPT reconstruction.
screenshot-to-editable-pptx/
├── SKILL.md
├── README.md
├── LICENSE
├── requirements.txt
├── .claude-plugin/marketplace.json
├── plugins/screenshot-to-editable-pptx/ # Claude Code plugin wrapper
├── scripts/ # measure · build · audit · verify · compare
├── references/
│ ├── universal-measure-rule.md
│ ├── pre-delivery-checklist.md
│ └── rules/ # 01–09 + LEARNINGS + layout-json
├── examples/
└── docs/ # GitHub Pages gallery
source_audit.Built for Cursor / Claude agent workflows. Packaging patterns inspired by @zarazhangrui/frontend-slides.
MIT — use it, modify it, share it.