automating-pages — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited automating-pages (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
automating-mac-apps patterns.automating-mac-apps for permissions, shell, and UI scripting guidance.automating-mac-apps skill (PyXA Installation section).doc.body.text()) and assignments for writes (e.g., doc.body.text = 'new text').const pages = Application('Pages');
const doc = pages.Document({templateName: 'Blank'});
pages.documents.push(doc);
doc.body.text = "Hello World";1) Discover: Open Script Editor > File > Open Dictionary > Pages. 2) Prototype: Write minimal AppleScript to verify the command works. 3) Port to JXA: Convert AppleScript syntax to JXA objects.
make new document becomes pages.documents.push(pages.Document()).4) Optimize: Use batch text operations when possible to avoid performance penalties. 5) Fallback: Use AppleScript bridge or UI scripting for dictionary gaps (e.g., specific layout changes).
IMPORTANT: Pages does NOT support direct image insertion like Keynote does:
// THIS WORKS IN KEYNOTE:
Keynote.Image({ file: Path("/path/to/image.png"), position: {x: 100, y: 100} });
// THIS DOES NOT WORK IN PAGES!
Pages.Image({ file: Path("/path/to/image.png") }); // ❌ Will failSolution: Use ObjC Pasteboard bridging (see pages-advanced.md for details):
ObjC.import('AppKit');
const nsImage = $.NSImage.alloc.initWithContentsOfFile("/path/to/image.png");
const pb = $.NSPasteboard.generalPasteboard;
pb.clearContents;
pb.setDataForType(nsImage.TIFFRepresentation, $.NSPasteboardTypeTIFF);
// Then use System Events to paste (Cmd+V)Example Script: See automating-pages/scripts/insert_images.js for a complete working example.
Image constructor unlike Keynote. Use ObjC Pasteboard method.doc.save({in: file_path}) with a valid path object.automating-pages/references/pages-basics.md (Core objects and document lifecycle)automating-pages/references/pages-recipes.md (Standard operations)automating-pages/references/pages-export-matrix.md (PDF, Word, ePub formats)automating-pages/references/pages-template-strategy.md (Managing custom templates)automating-pages/references/pages-advanced.md (Complex integrations)automating-pages/references/pages-ui-scripting.md (Fallbacks)automating-pages/references/pages-dictionary.md (AppleScript to JXA mapping)automating-pages/references/pages-pyxa.mdautomating-pages/scripts/insert_images.js (ObjC Pasteboard method for inserting images)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.