TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.