SkillAgentSearch skills...

iwork-studio

The safe way to let AI edit your Numbers, Keynote and Pages files. Designed decks from your data and brand, checked as rendered; Arabic/RTL-ready; every change backed up, verified and undoable. MCP server + Python library + agent skill for Claude and any MCP client.

Install / Use

claude mcp add Arkanji -- npx -y github:Arkanji/iwork-studio

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

83/100

Category

Automation

Supported Platforms

Claude Code
Claude Desktop

Our assessment of iwork-studio

iwork-studio scores 83/100 on our quality scale, 2216th of 2,888 Automation skills we index.

Its MCP Server is 28 KB long, well organised into 13 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated yesterday, so iwork-studio is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (1 minor note below).

  • noteInstalls by piping a downloaded script into a shellline 49
    … app** (Mac, from Terminal) | Paste in Terminal: `curl -LsSf https://raw.githubusercontent.com/Arkanji/iwork-studio/main/install.sh \| sh`, …

Automated pattern scan on 2026-10-21. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

iwork-studio compared with similar skills

All 4 of these similar skills score higher than iwork-studio; compare them before choosing.

SkillScoreStarsUpdatedFormat
iwork-studio (this skill)by Arkanji8331d agoMCP Server
Agent-Reachby Panniantong100100.4ktodayCLAUDE.md
taste-skillby Leonxlnx100100.0ktodayCLAUDE.md
headroomby headroomlabs-ai10076.9ktodayCLAUDE.md
CowAgentby zhayujie10047.5ktodayCLAUDE.md

Frequently asked questions

How do I install iwork-studio?
Run claude mcp add Arkanji -- npx -y github:Arkanji/iwork-studio. The install tabs above show the steps for each supported agent.
Which AI agents does iwork-studio work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is iwork-studio safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (1 minor note below). It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is iwork-studio still maintained?
The repository was last updated yesterday, so iwork-studio is actively maintained.
<div align="center"> <!-- mcp-name: io.github.Arkanji/iwork-studio --> <img src="https://raw.githubusercontent.com/Arkanji/iwork-studio/main/assets/banner.svg" alt="iWork Studio — read and edit Apple Numbers, Keynote and Pages with Python" width="100%">

CI Version License: MIT iWork MCP server Arabic safe Undo

The safe way to let AI edit your Numbers, Keynote and Pages files.

Designed decks from your data and your brand, checked as rendered. Arabic-ready.<br> Every change is backed up, verified and undoable, and anything risky is refused, never guessed.

| 🛡️ Never damages your file | 🎨 Designed from your data | ع Arabic first-class | |:--|:--|:--| | Backup → change a copy → re-read and compare → atomic swap. Open files are left alone. One call undoes any change. | Turn a spreadsheet into a Keynote deck with chart and table slides in your brand kit, then review it as rendered. | Arabic and right-to-left text round-trip exactly, in every app and every export. |

Install · Try it · Safety · What it can do · All tools · For AI agents · Changelog

<br> <img src="https://raw.githubusercontent.com/Arkanji/iwork-studio/main/assets/demo.gif" alt="iWork Studio in 15 seconds: a prompt turns sales.numbers into a designed Keynote slide, a write that didn't match is rolled back with the file untouched, and the same slide comes back in Arabic, right to left" width="100%">

<sub>15 seconds: data → designed deck → a safe rollback → Arabic. <a href="https://raw.githubusercontent.com/Arkanji/iwork-studio/main/assets/demo.mp4">HD video</a></sub>

<br><br>

<a href="https://arkanji.com/images/posts/iwork-studio-film-v3.mp4"> <img src="https://raw.githubusercontent.com/Arkanji/iwork-studio/main/assets/iwork-studio-film.webp" alt="iWork Studio in action: an AI agent edits a Numbers cell and keeps its formula, updates every Keynote slide without touching the formatting, and writes an Arabic letter in Pages" width="100%"> </a>

<sub>▶ <a href="https://arkanji.com/images/posts/iwork-studio-film-v3.mp4"><b>Watch the film with sound</b></a> (46s) · <a href="https://arkanji.com/posts/iwork-studio-launch/">Read the launch story</a></sub>

</div>

Install

| Your app | Do this | |---|---| | Claude desktop app, one click (Mac) | Download iwork-studio-<version>.mcpb from the latest release, double-click it, pick the folders it may use | | Claude desktop app (Mac, from Terminal) | Paste in Terminal: curl -LsSf https://raw.githubusercontent.com/Arkanji/iwork-studio/main/install.sh \| sh, then quit Claude (Cmd-Q) and reopen | | Claude Code, as a plugin (tools + skill) | /plugin marketplace add Arkanji/iwork-studio, then /plugin install iwork-studio@iwork-studio | | Claude Code, tools only | claude mcp add iwork-studio -- uvx --from iwork-studio@latest iwork-studio-mcp | | Cursor, VS Code, Codex, any MCP client | uvx --from iwork-studio@latest iwork-studio-mcp config, then paste the printed JSON into the client's MCP settings. Also listed in the MCP Registry as io.github.Arkanji/iwork-studio |

That's it. The installer sets up uv if needed, and uv brings its own Python.

  • Fence it (recommended): … | sh -s -- --roots ~/Documents ~/Desktop limits it to those folders. Other clients: set IWORK_STUDIO_ROOTS (:-separated).
  • Load less (optional): only work in Keynote? Set IWORK_STUDIO_TOOLSETS=keynote,design (any of files, numbers, keynote, pages, design; default all). Fewer tools keep the AI focused and its context small. The Claude Desktop extension has a Toolsets field; in Claude Code: claude mcp add iwork-studio -e IWORK_STUDIO_TOOLSETS=keynote,design -- uvx --from iwork-studio@latest iwork-studio-mcp. Capabilities, read, find, undo and the kit list always load.
  • First run: macOS asks once whether Claude may control Keynote / Pages / Numbers. Click OK. (Missed it? System Settings → Privacy & Security → Automation.)
  • Check it: ask "what can iwork-studio do on this Mac?".
  • Remove: uvx --from iwork-studio@latest iwork-studio-mcp uninstall

AI agent setting this up for someone? Pick the row for their app, run it, then call iwork_capabilities. Rules for using the tools are in AGENTS.md.

Just ask, in English or Arabic

No file handy? Ask "copy the iWork Studio samples to my Desktop and turn sample-sales.numbers into a board deck". The samples are synthetic sales data with an English and an Arabic sheet.

"Build a 6-slide pitch deck for a solar-panel startup in the midnight kit, with speaker notes, and export it to PowerPoint."

"Turn sales.numbers into a board deck: chart the quarters, a table of the top regions, in our Acme kit."

"Take the fonts and colours from brand.key and save them as our Acme kit."

"Review pitch.key and fix anything that overflows or is too small to read."

"Make budget.numbers look professional with the banking kit — and show me a preview first."

"Turn sales.csv into a Numbers file, make the header bold on a teal fill, show column B as SAR with two decimals, and add a total row."

"In pitch.key, switch to the Gradient theme, make the title on slide 1 white at 60 pt, add a dissolve between every slide, and put logo.png on the last slide."

"Add a bar chart of revenue by quarter for 2025 and 2026 to slide 4."

"Duplicate slide 3, move the copy to the front and add presenter notes: ملاحظات المتحدث"

"Fill the Name and Date fields in offer-letter.pages, then export it as a password-protected PDF."

"In the invoice.pages table, set the quantity in B3 to 12 and make D9 the total of D2:D8."

"Find my Keynote decks from this week and export each one to PowerPoint."

"Undo the last change to budget.numbers."

What it can do

| | Numbers | Keynote | Pages | |---|---|---|---| | Read | Every sheet, table, cell, formula and format | Every slide's text, notes, layout, theme, styling and charts | Body text, placeholders and tables | | Create | From data or CSV ⚡ · from a built-in template · from your own file | A designed deck from an outline, with chart and table slides (straight from a Numbers table) · from a built-in theme · from your own deck | From a built-in template · from your own file | | Edit content | Cells ⚡ · formulas · recalculate · insert/delete rows and columns ⚡ · add tables and sheets ⚡ · sort | Find/replace across the deck ⚡ · slide titles and bullets · add, duplicate, delete, move, hide slides · presenter notes · images · charts · tables | Replace text everywhere · replace the body · fill placeholders · table cells (text, numbers, formulas) | | Design | Design kits ⚡ · your brand kit ⚡ · fonts, colours, fill, alignment, wrap ⚡ · currency, %, dates, decimals ⚡ · borders ⚡ · widths and heights ⚡ · headers ⚡ · merges ⚡ | Design kits · your brand kit · theme · slide layout · text font, size and colour · styled tables · transitions | — | | Review | | Design review of what Keynote draws: text off the slide or past its box, text Keynote had to shrink, overlaps, small text, crowded slides · any slide as an image | | | Export | PDF · Excel · CSV | PDF · PowerPoint · images · movie | PDF · Word · EPUB · text · RTF | | Present | | Start, stop, next, previous | |

⚡ = works anywhere, no app needed (pure Python). Everything else drives the real app on a Mac with a logged-in session, classic iWork or the Creator Studio apps.

Every file type: preview any change before it's made (dry_run), look up metadata, pull the preview thumbnail, find files with Spotlight, check that a word is visibly rendered, check the rendered font/size/colour, list backups and undo.

What it won't do

On purpose, so it never breaks a file:

  • Files with charts are refused by the tools that work without the app: their rewrite can silently break a chart's link to its data. The app-driven tools (Keynote slides, theming, transitions, images; Numbers formulas and sort) work on them and check every chart is still there.
  • Charts in Numbers and Pages aren't created: they aren't reliably scriptable, and we refuse rather than click through the app's menus and risk your file. Keynote charts can be added. To chart sorted data without touching a Numbers chart, sort into a new table (numbers_sort with to_new_table) and build a Keynote chart slide from it.
  • Pages is limited to text and existing tables: replace, set body, placeholders and table cells. New tables can't be created (Pages 15 doesn't script it), and page-layout documents, like most letter templates, have no body text. There is no Pages file format parser anywhere, so it doesn't fake one.
  • Formulas and row shifts: in a table that has formulas, rows and columns can only be appended without the app. Inserting in the middle would leave references pointing at the wrong cells.
  • Not scriptable by Apple, so not offered: Numbers table styles, Keynote shape fill and text alignment, deleting a Keynote table, editing a theme's master slides. Page margins and page setup are planned.

Designed, not just edited

Six design kits turn a plain deck or table into something you'd present: a font pair (Latin + Arabic, all bundled with macOS — nothing to install), a restrained palette checked for WCAG contrast, and a type scale.

| Kit | Feel | |---|---| | executive | Calm and corporate: slate neutrals, one blue accent | | banking | Trust and weight: deep navy, restrained gold | | classic | Formal reports and boards: serif headings, navy and amber | | teal | Fresh and confident: deep teal | | analytics | Data-forward: strong blue, amber highlights | | midnight | Dark stage: near-black slides, white titles, mint accent |

Build with one (keynote_build_deck(..., kit="midnight")), restyle anything (keynote_apply_design, numbers_apply_design), or bring your brand as colours and fonts — contrast is checked. Agents also get a design guide: one idea per slide, titles that state the takeaway, right-aligned numbers, restrained colour.

Your brand, once. Point iwork_extract_design_kit at a deck or table that already has your look: it reads the fonts (Latin and Arabic) and colours, and saves them as a named kit you can use anywhere a kit goes. Or save your colours and fonts directly with iwork_save_design_kit.

Numbers on slides. A slide in keynote_build_deck can carry a chart or a table, from data or straight from a Numbers table: the header row gives the columns, the first column the rows. Tables get the kit's header band, fonts, banding and right-aligned numbers, and every cell is read back.

It checks its own work. `keynote_

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryAutomation
Updated1d ago
Forks0

Languages

Python

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low