Skill Tracer
Skills › Scientific Agent Skills › pptx-posters › source_ledger.md

source_ledger.md

283 lines · skills/pptx-posters/references/source_ledger.md at 5f2bc03

Open on GitHub
1# Source ledger
2
3Latest API/workflow review: **2026-10-01**. Original research cutoff:
4**2026-07-24**. Recheck live organizer, printer, package, and application guidance
5before production use.
6
7This ledger records the upstream basis for skill behavior. It is not a poster's
8scientific bibliography.
9
10Method: current official documentation, python-pptx tagged source, and official
11PyPI release metadata were compared with all bundled scripts. The current exact
12pins passed 52 local tests on Python 3.13.3, including UTC conversion, core metadata
13limits, contain placement, deterministic generation, and path checks. Microsoft
14PowerPoint, screen-reader, PDF export, and printer behavior remain manual checks.
15The historical IEEE DSC example is explicitly bounded below; it was not
16independently refreshed. These documentation checks are not authenticated service
17tests: the shipped tools make no API calls.

Source ledger

Latest API/workflow review: 2026-10-01. Original research cutoff: 2026-07-24. Recheck live organizer, printer, package, and application guidance before production use.

This ledger records the upstream basis for skill behavior. It is not a poster's scientific bibliography.

Method: current official documentation, python-pptx tagged source, and official PyPI release metadata were compared with all bundled scripts. The current exact pins passed 52 local tests on Python 3.13.3, including UTC conversion, core metadata limits, contain placement, deterministic generation, and path checks. Microsoft PowerPoint, screen-reader, PDF export, and printer behavior remain manual checks. The historical IEEE DSC example is explicitly bounded below; it was not independently refreshed. These documentation checks are not authenticated service tests: the shipped tools make no API calls.

Raw lines 1 to 18
19## Microsoft PowerPoint

Microsoft PowerPoint

Raw lines 19 to 20
21### Poster-specific product guidance
23- [Microsoft Create poster templates for PowerPoint](https://create.microsoft.com/en-us/templates/posters)
24 (official Microsoft Create, now redirected to PowerPoint templates; checked 2026-10-01).
25 - Describes editable PowerPoint poster/flyer templates and saving, printing, or
26 sending the result as PDF.
28Skill impact: confirms PowerPoint as a supported poster authoring format, but does
29not establish research-poster dimensions or printer requirements. This strict
30generator does not ingest downloaded templates or use the page's AI design features.

Poster-specific product guidance

  • Microsoft Create poster templates for PowerPoint (official Microsoft Create, now redirected to PowerPoint templates; checked 2026-10-01).
  • Describes editable PowerPoint poster/flyer templates and saving, printing, or sending the result as PDF.

Skill impact: confirms PowerPoint as a supported poster authoring format, but does not establish research-poster dimensions or printer requirements. This strict generator does not ingest downloaded templates or use the page's AI design features.

Raw lines 21 to 31
32### Slide dimensions and scaling
34- [Change the size of your PowerPoint slides](https://support.microsoft.com/en-us/office/change-the-size-of-your-powerpoint-slides-040a811c-be43-40b9-8d04-0de5ed79987e)
35 (Microsoft Support; checked 2026-10-01; no publication date exposed).
36 - Custom width/height each range from 1 to 56 inches.
37 - Units can be inches, centimeters, or pixels; PowerPoint converts them.
38 - All slides in a presentation have the same size.
39 - Maximize can cause content not to fit; Ensure Fit can make content smaller.
41Skill impact: enforce 1–56 inches, one slide, exact aspect ratio, explicit physical
42scale, and no reuse/resizing of existing content.

Slide dimensions and scaling

  • Change the size of your PowerPoint slides (Microsoft Support; checked 2026-10-01; no publication date exposed).
  • Custom width/height each range from 1 to 56 inches.
  • Units can be inches, centimeters, or pixels; PowerPoint converts them.
  • All slides in a presentation have the same size.
  • Maximize can cause content not to fit; Ensure Fit can make content smaller.

Skill impact: enforce 1–56 inches, one slide, exact aspect ratio, explicit physical scale, and no reuse/resizing of existing content.

Raw lines 32 to 43
44### Export
46- [Export a presentation](https://support.microsoft.com/en-us/powerpoint/export-a-presentation)
47 (Microsoft Support; checked 2026-10-01).
48 - Standard is the option for publishing online and printing; Minimum size
49 prioritizes a smaller file.
51- [Create accessible PDFs](https://support.microsoft.com/en-us/accessibility/office-accessibility/create-accessible-pdfs)
52 (Microsoft Support; checked 2026-10-01).
53 - On macOS, the electronic-distribution/accessibility route sends the document to
54 Microsoft's online conversion service; quality settings do not imply local-only
55 processing. Object hyperlinks are preserved only by that documented route.
57Skill impact: provide a manual export plan with separate canvas and final-artboard
58PDF point dimensions, and require independent page-size/print checks. Scaled canvas
59output needs confirmed printer scaling or a checked full-size derivative. The
60scripts do not export PDF, invoke Office, or contact the conversion service.

Export

  • Export a presentation (Microsoft Support; checked 2026-10-01).
  • Standard is the option for publishing online and printing; Minimum size prioritizes a smaller file.
  • Create accessible PDFs (Microsoft Support; checked 2026-10-01).
  • On macOS, the electronic-distribution/accessibility route sends the document to Microsoft's online conversion service; quality settings do not imply local-only processing. Object hyperlinks are preserved only by that documented route.

Skill impact: provide a manual export plan with separate canvas and final-artboard PDF point dimensions, and require independent page-size/print checks. Scaled canvas output needs confirmed printer scaling or a checked full-size derivative. The scripts do not export PDF, invoke Office, or contact the conversion service.

Raw lines 44 to 61
62### Accessibility
64- [Make your PowerPoint presentations accessible to people with disabilities](https://support.microsoft.com/en-us/office/make-your-powerpoint-presentations-accessible-to-people-with-disabilities-6f7772b2-2f33-4bd2-8ca7-dae3b2b3ef25)
65 (Microsoft Support; checked 2026-10-01).
66 - Use Accessibility Checker and Reading Order pane.
67 - Add alt text to visuals.
68 - Do not use color alone.
69 - Use sufficient text/background contrast.
70 - Use meaningful hyperlink text.
71 - Test with a screen reader.
72 - Recommends 18 pt or larger for ordinary slides.
74- [Rules for the Accessibility Checker](https://support.microsoft.com/en-us/accessibility/office-accessibility/rules-for-the-accessibility-checker)
75 (Microsoft Support).
76 - Includes missing alt text and logical reading order checks.
78- [PowerPoint PDF Accessibility](https://learn.microsoft.com/en-us/office/pdf/powerpoint/powerpointpdfaccessibility)
79 (Microsoft Learn; checked 2026-10-01).
80 - Documents tagged-PDF behavior and applicable PowerPoint versions/channels.
82Skill impact: automate only structural checks; require final Accessibility Checker,
83reading-order, screen-reader, and exported-PDF review. The 18 pt recommendation is
84identified as slide-specific, not a universal poster minimum.

Accessibility

  • PowerPoint PDF Accessibility (Microsoft Learn; checked 2026-10-01).
  • Documents tagged-PDF behavior and applicable PowerPoint versions/channels.

Skill impact: automate only structural checks; require final Accessibility Checker, reading-order, screen-reader, and exported-PDF review. The 18 pt recommendation is identified as slide-specific, not a universal poster minimum.

Raw lines 62 to 85
86### Fonts, pictures, and media
88- [Benefits of embedding custom fonts](https://support.microsoft.com/en-us/office/benefits-of-embedding-custom-fonts-cb3982aa-ea76-4323-b008-86670f222dbc)
89 (Microsoft Support; checked 2026-10-01).
90 - Embedding can preserve layout, styling, and characters when a recipient lacks a
91 font, but not all fonts permit embedding.
92 - Embedding only used characters limits later editing; embedding all characters is
93 the PowerPoint option intended for editing by others.
95- [Change the default resolution for inserting pictures in Office](https://support.microsoft.com/en-us/office/change-the-default-resolution-for-inserting-pictures-in-office-f4aca5b4-6332-48c6-9488-bf5e0094a7d2)
96 and [Turn off picture compression](https://support.microsoft.com/en-us/office/turn-off-picture-compression-81a6b603-0266-4451-b08e-fc1bf58da658)
97 (Microsoft Support; checked 2026-10-01).
98 - Microsoft documents High fidelity/minimal compression and a per-document option
99 not to compress images.
101- [Video and audio file formats supported in PowerPoint](https://support.microsoft.com/en-us/office/video-and-audio-file-formats-supported-in-powerpoint-d8b12450-26db-4c7b-a5c1-593d3418fb59)
102 (Microsoft Support; checked 2026-10-01).
103 - PowerPoint supports several audio/video formats and notes deprecations beginning
104 in version 2505 for older formats.
106Skill impact: the generator records font names but does not install or embed fonts;
107availability, embedding rights, substitution, and the exported PDF are checked
108manually. It accepts only fully decoded local PNG/JPEG still images, reports effective
109DPI, and excludes every audio/video or linked-media feature from its package profile.

Fonts, pictures, and media

  • Benefits of embedding custom fonts (Microsoft Support; checked 2026-10-01).
  • Embedding can preserve layout, styling, and characters when a recipient lacks a font, but not all fonts permit embedding.
  • Embedding only used characters limits later editing; embedding all characters is the PowerPoint option intended for editing by others.

Skill impact: the generator records font names but does not install or embed fonts; availability, embedding rights, substitution, and the exported PDF are checked manually. It accepts only fully decoded local PNG/JPEG still images, reports effective DPI, and excludes every audio/video or linked-media feature from its package profile.

Raw lines 86 to 110
111### Color API
113- [PowerPoint ColorFormat.RGB property](https://learn.microsoft.com/en-us/office/vba/api/powerpoint.colorformat.rgb)
114 (Microsoft Learn).
116Skill impact: author opaque sRGB colors, label PowerPoint as an RGB workflow, and
117block claims of CMYK readiness until printer-approved conversion/proof.

Color API

Skill impact: author opaque sRGB colors, label PowerPoint as an RGB workflow, and block claims of CMYK readiness until printer-approved conversion/proof.

Raw lines 111 to 118
119### File formats and macros
121- [File formats supported in PowerPoint](https://support.microsoft.com/en-us/office/file-formats-that-are-supported-in-powerpoint-252c6fa0-a4bc-41be-ac82-b77c9773f9dc)
122 (Microsoft Support).
123 - Identifies `.pptm` as a VBA-containing macro-enabled presentation.
125- [Save a presentation that contains VBA macros](https://support.microsoft.com/en-us/office/save-a-presentation-that-contains-vba-macros-e6010530-f899-49a9-9fa5-78338a1c2580)
126 (Microsoft Support).
127 - Macro-bearing presentations require macro-enabled extensions such as `.pptm`.
129Skill impact: accept/generate only `.pptx`, then inspect content types and package
130parts rather than trusting the extension alone.

File formats and macros

Skill impact: accept/generate only .pptx, then inspect content types and package parts rather than trusting the extension alone.

Raw lines 119 to 131
132## Office Open XML and packaging
134- [ECMA-376](https://ecma-international.org/publications-and-standards/standards/ecma-376/)
135 (Ecma International).
136 - Defines Office Open XML vocabularies, document representation, and packaging.
138- [ISO/IEC 29500-2:2021](https://www.iso.org/standard/77818.html)
139 (ISO).
140 - Defines Open Packaging Conventions for combining parts and relationships.
142- [Open XML SDK overview](https://learn.microsoft.com/en-us/office/open-xml/open-xml-sdk)
143 (Microsoft Learn).
144 - Connects the SDK and file formats to ECMA-376 and ISO/IEC 29500.
146- [IOpcRelationship::GetTargetMode](https://learn.microsoft.com/en-us/windows/win32/api/msopc/nf-msopc-iopcrelationship-gettargetmode)
147 (Microsoft Learn).
148 - Distinguishes internal package-part targets from external targets.
150- [PowerPoint `.pptx` extensions to Office Open XML](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-pptx/efd8bb2d-d888-4e2e-af25-cad476730c9f)
151 (Microsoft Open Specifications; published protocol revision shown as 2024-08-20
152 during research).
154- [PresentationML OLE Object](https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.presentation.oleobject?view=openxml-3.0.1)
155 (Microsoft Learn / ISO schema remarks).
156 - OLE objects can contain embedded or linked objects/controls.
158- [Presentation NonVisualDrawingProperties](https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.presentation.nonvisualdrawingproperties?view=openxml-3.0.1)
159 (Microsoft Learn / ISO schema remarks).
160 - `p:cNvPr` stores nonvisual properties including the drawing description used
161 for picture alt text.
163Skill impact: bounded ZIP/XML inspection, relationship target/mode checks, rejection
164of embedded/active/external content, and standard alt-description markup.

Office Open XML and packaging

  • ECMA-376 (Ecma International).
  • Defines Office Open XML vocabularies, document representation, and packaging.
  • ISO/IEC 29500-2:2021 (ISO).
  • Defines Open Packaging Conventions for combining parts and relationships.
  • [PowerPoint .pptx extensions to Office Open XML](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-pptx/efd8bb2d-d888-4e2e-af25-cad476730c9f) (Microsoft Open Specifications; published protocol revision shown as 2024-08-20 during research).
  • PresentationML OLE Object (Microsoft Learn / ISO schema remarks).
  • OLE objects can contain embedded or linked objects/controls.

Skill impact: bounded ZIP/XML inspection, relationship target/mode checks, rejection of embedded/active/external content, and standard alt-description markup.

Raw lines 132 to 165
166## Python package APIs and versions

Python package APIs and versions

Raw lines 166 to 167
168### python-pptx
170- [python-pptx on PyPI](https://pypi.org/project/python-pptx/)
171 - Current stable at review: **1.0.2**, released 2024-08-07.
172 - Requires Python 3.8 or later.
173 - Described as creating, reading, and updating PowerPoint 2007+ `.pptx` files.
175- [python-pptx v1.0.2 repository tag](https://github.com/scanny/python-pptx/tree/v1.0.2)
176 (official GitHub repository).
177 - The v1.0.2 source and current PyPI metadata agree with the exact generation pin.
179- [Presentation API](https://python-pptx.readthedocs.io/en/latest/api/presentation.html)
180 - `Presentation()`, `save`, `slide_width`, and `slide_height`; dimensions are EMU.
181 - Core-property strings have a 255-character limit. Dates are UTC-naive; callers
182 must convert non-UTC inputs before assignment.
184- [Shapes API](https://python-pptx.readthedocs.io/en/latest/api/shapes.html)
185 - `add_textbox`, `add_picture`, and explicit shape position/size. Supplying both
186 picture dimensions stretches to them; this generator calculates proportional
187 dimensions itself before calling the API.
189- [Text API](https://python-pptx.readthedocs.io/en/latest/api/text.html)
190 - Font sizes and text-frame behavior.
192Skill impact: exact pin `python-pptx==1.0.2`; use only documented creation, slide,
193shape, text, color, and core-property APIs. Alt descriptions are added afterward
194using standard PresentationML because the public python-pptx API does not expose a
195complete poster accessibility workflow. The manifest checks metadata lengths before
196generation; offset-aware approval times are converted to UTC. The skill does not
197use PptxGenJS or assume a built-in `contain` API.

python-pptx

  • python-pptx on PyPI
  • Current stable at review: 1.0.2, released 2024-08-07.
  • Requires Python 3.8 or later.
  • Described as creating, reading, and updating PowerPoint 2007+ .pptx files.
  • Presentation API
  • Presentation(), save, slide_width, and slide_height; dimensions are EMU.
  • Core-property strings have a 255-character limit. Dates are UTC-naive; callers must convert non-UTC inputs before assignment.
  • Shapes API
  • add_textbox, add_picture, and explicit shape position/size. Supplying both picture dimensions stretches to them; this generator calculates proportional dimensions itself before calling the API.
  • Text API
  • Font sizes and text-frame behavior.

Skill impact: exact pin python-pptx==1.0.2; use only documented creation, slide, shape, text, color, and core-property APIs. Alt descriptions are added afterward using standard PresentationML because the public python-pptx API does not expose a complete poster accessibility workflow. The manifest checks metadata lengths before generation; offset-aware approval times are converted to UTC. The skill does not use PptxGenJS or assume a built-in contain API.

Raw lines 168 to 198
199### Pillow
201- [Pillow on PyPI](https://pypi.org/project/pillow/)
202 - Current stable at review: **12.3.0**, released 2026-07-01.
203 - Requires Python 3.10 or later.
205- [Pillow documentation](https://pillow.readthedocs.io/)
206 (documentation identified itself as 12.3.0 at review).
207- [Image API](https://pillow.readthedocs.io/en/stable/reference/Image.html)
208 - Opening is lazy; `verify()` checks structure and requires reopening before
209 `load()` decodes pixels. Decompression-bomb warnings can be promoted to errors.
211Skill impact: exact pin `Pillow==12.3.0`; bounded verification of local PNG/JPEG
212dimensions, mode, frames, and effective DPI. Heavy imports remain lazy so every
213CLI's help works without optional packages.

Pillow

  • Pillow on PyPI
  • Current stable at review: 12.3.0, released 2026-07-01.
  • Requires Python 3.10 or later.
  • Pillow documentation (documentation identified itself as 12.3.0 at review).
  • Image API
  • Opening is lazy; verify() checks structure and requires reopening before load() decodes pixels. Decompression-bomb warnings can be promoted to errors.

Skill impact: exact pin Pillow==12.3.0; bounded verification of local PNG/JPEG dimensions, mode, frames, and effective DPI. Heavy imports remain lazy so every CLI's help works without optional packages.

Raw lines 199 to 214
215### lxml
217- [lxml on PyPI](https://pypi.org/project/lxml/)
218 - Current stable at review: **6.1.3**, released 2026-09-02.
219 - Requires Python 3.8 or later.
220 - [6.1.3 release notes](https://github.com/lxml/lxml/blob/lxml-6.1.3/CHANGES.txt)
221 fix unintended external parameter entity parsing with the default
222 `resolve_entities="internal"` setting.
224Skill impact: exact transitive pin `lxml==6.1.3` for `python-pptx` generation.
225The dependency-free inspector still uses bounded standard-library XML parsing and
226rejects DTD/entity declarations before parsing.

lxml

  • lxml on PyPI
  • Current stable at review: 6.1.3, released 2026-09-02.
  • Requires Python 3.8 or later.
  • 6.1.3 release notes fix unintended external parameter entity parsing with the default resolve_entities="internal" setting.

Skill impact: exact transitive pin lxml==6.1.3 for python-pptx generation. The dependency-free inspector still uses bounded standard-library XML parsing and rejects DTD/entity declarations before parsing.

Raw lines 215 to 227
228## Accessibility standards
230- [Web Content Accessibility Guidelines (WCAG) 2.2](https://www.w3.org/TR/WCAG22/)
231 (W3C Recommendation, 2024-12-12).
232 - SC 1.4.1: do not use color as the only visual means of conveying information.
233 - SC 1.4.3: 4.5:1 for normal text; 3:1 for large text.
234 - Large text: at least 18 pt, or at least 14 pt and bold.
235 - SC 1.4.11: 3:1 for graphical parts required to understand content.
237Skill impact: exact sRGB contrast calculations with usage-specific thresholds and
238mandatory redundant encoding. WCAG is used as a declared design target; no claim is
239made that a physical poster or PPTX is a conforming web page.

Accessibility standards

  • Web Content Accessibility Guidelines (WCAG) 2.2 (W3C Recommendation, 2024-12-12).
  • SC 1.4.1: do not use color as the only visual means of conveying information.
  • SC 1.4.3: 4.5:1 for normal text; 3:1 for large text.
  • Large text: at least 18 pt, or at least 14 pt and bold.
  • SC 1.4.11: 3:1 for graphical parts required to understand content.

Skill impact: exact sRGB contrast calculations with usage-specific thresholds and mandatory redundant encoding. WCAG is used as a declared design target; no claim is made that a physical poster or PPTX is a conforming web page.

Raw lines 228 to 240
241## Palette authorities
243- [ColorBrewer 2](https://colorbrewer2.org/)
244 (Penn State/Cynthia Brewer project).
245 - Distinguishes qualitative, sequential, and diverging schemes.
246 - Offers colorblind-safe, print-friendly, and photocopy-safe filters.
248- [Paul Tol, Colour Schemes, issue 3.2](https://sronpersonalpages.nl/~pault/data/colourschemes.pdf)
249 (SRON/EPS/TN/09-002, 2021-08-18).
250 - Documents clear colour schemes intended to work for colour-blind readers and
251 gives scheme-specific values/order.
253Skill impact: explain scheme selection and caveats. No bundled palette is represented
254as universally accessible; rendered contrast and redundant encoding remain required.

Palette authorities

  • ColorBrewer 2 (Penn State/Cynthia Brewer project).
  • Distinguishes qualitative, sequential, and diverging schemes.
  • Offers colorblind-safe, print-friendly, and photocopy-safe filters.
  • Paul Tol, Colour Schemes, issue 3.2 (SRON/EPS/TN/09-002, 2021-08-18).
  • Documents clear colour schemes intended to work for colour-blind readers and gives scheme-specific values/order.

Skill impact: explain scheme selection and caveats. No bundled palette is represented as universally accessible; rendered contrast and redundant encoding remain required.

Raw lines 241 to 255
256## Conference examples — not universal rules
258- [CSCW 2026 posters](https://cscw.acm.org/2026/posters.html)
259 (official event page checked 2026-10-01; its explicit 2026 important dates include
260 a 2026-07-10 camera-ready deadline).
261 - Allocated 48 × 48 inches; recommended no side over 45 inches, allowed up to
262 47 inches; stated A0 or A1 could be acceptable.
264- [IEEE DSC 2025 poster instructions](https://attend.ieee.org/dsc-2025/call-for-posters/)
265 (historical official organizer page; unavailable to the 2026-10-01 browser
266 fetch, so the 2026-07-24 evidence has not been independently refreshed).
267 - The historical record required the physical poster to fit A1 space: 84.1 × 59.4 cm.
269Skill impact: use these only to demonstrate variation. The validator requires the
270actual event's confirmed rule and exact source ID.

Conference examples — not universal rules

  • CSCW 2026 posters (official event page checked 2026-10-01; its explicit 2026 important dates include a 2026-07-10 camera-ready deadline).
  • Allocated 48 × 48 inches; recommended no side over 45 inches, allowed up to 47 inches; stated A0 or A1 could be acceptable.
  • IEEE DSC 2025 poster instructions (historical official organizer page; unavailable to the 2026-10-01 browser fetch, so the 2026-07-24 evidence has not been independently refreshed).
  • The historical record required the physical poster to fit A1 space: 84.1 × 59.4 cm.

Skill impact: use these only to demonstrate variation. The validator requires the actual event's confirmed rule and exact source ID.

Raw lines 256 to 271
272## Secure standard-library APIs
274- [Python `pathlib`](https://docs.python.org/3/library/pathlib.html)
275 - `resolve()` dereferences symlinks. Asset containment is checked on the resolved
276 target, while the final-symlink check uses the original manifest-relative path.
277- [Python `zipfile`](https://docs.python.org/3/library/zipfile.html)
278- [Python `xml.etree.ElementTree`](https://docs.python.org/3/library/xml.etree.elementtree.html)
279- [Python `json`](https://docs.python.org/3/library/json.html)
281Skill impact: no archive extraction; strict duplicate/non-finite JSON handling;
282bounded XML parts; DTD/entity rejection; no network, shell invocation, dynamic code
283execution, or arbitrary object deserialization.

Secure standard-library APIs

  • [Python pathlib](https://docs.python.org/3/library/pathlib.html)
  • resolve() dereferences symlinks. Asset containment is checked on the resolved target, while the final-symlink check uses the original manifest-relative path.
  • [Python zipfile](https://docs.python.org/3/library/zipfile.html)
  • [Python xml.etree.ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html)
  • [Python json](https://docs.python.org/3/library/json.html)

Skill impact: no archive extraction; strict duplicate/non-finite JSON handling; bounded XML parts; DTD/entity rejection; no network, shell invocation, dynamic code execution, or arbitrary object deserialization.

Raw lines 272 to 283