Oh, and you're not the first, I started this a year ago. :)
nojito 16 hours ago [-]
Your tools don't render the file though and python-pptx hasn't been updated in 2 years.
rcarmo 15 hours ago [-]
AI has zero need to see the renders (you are just wasting tokens) and that is why I built the Go version - I patched a lot of the PPTX code in my MCP server, as it happens.
maxloh 13 hours ago [-]
I don't think so.
I have had a lot of experience creating and editing PowerPoint slides with Claude recently. It always converts the file to a PDF using LibreOffice and then renders the PDF into images to see if everything went right and that no text has overflowed.
rcarmo 6 hours ago [-]
That’s probably because you have (or implicitly created) a skill that does that. My agents know how to check bounding boxes.
doctorpangloss 14 hours ago [-]
while i appreciate that you are working on something to give away for free, providing your own little world of value... your comment makes it sound like you've never made powerpoints before. of course, there are a bajillion powerpoints out there in the wild that layer white rectangles to erase stuff from screenshots of charts, among numerous other atrocities
wongarsu 13 hours ago [-]
And if you task Claude with making a moderately sized powerpoint matching existing style guides, it will spend at most 30% of the time on the initial version. The remaining time is spent rendering out slides, looking at them and adjusting them
Of course AI can one-shot slides, but if you want good results where everything is aligned and has proper contrast you need a visual feedback loop
rcarmo 6 hours ago [-]
Yes, but automatically generated content doesn’t need to do that - like I wrote in another comment, my agents know how to check bounding boxes.
wongarsu 41 minutes ago [-]
But bounding boxes don't always match what you want to do visually. Often you need to align to the baseline of text instead of its bounding box. And often you need to compensate for visual weight, making things different sizes so they appear more similarly sized to the eye
I'm not saying a pure API view won't work, but it will be a quality compromise compared to also having visual inspection
all2 15 hours ago [-]
It's an open source project. Maybe he'll accept PRs?
FailMore 17 hours ago [-]
I went in the opposite direction and built https://smalldocs.org/, which is an office suite AI agents (and humans - including SWEs!) like to use.
I say it’s as if “Claude Code & Microsoft Office had a baby...”
Invoked via Claude Code by saying stuff like: “sdoc me the plan for this feature”, or “dig into our logs and sdoc me a report on our latency”
wonderwallaus 6 hours ago [-]
I find it so amusing that small dev's get it so right, yeh a trillion dollar company can't figure out what copilot is to their ecosystem.
FailMore 5 hours ago [-]
Thanks!
maxloh 6 hours ago [-]
> Elastic License 2.0. The source is public and you may use, copy, modify, and redistribute it. You may not offer SmallDocs to third parties as a hosted or managed service, strip its licensing notices, or circumvent its license-key functionality.
It is not open source unfortunately.
FailMore 5 hours ago [-]
I posted the same thing below, but I’m open for feedback on the license. I’ve put a lot of work in and I think there is a commercial pathway forward for the product. I don’t want to let someone else - who might be more experienced re commercialisation - take everything I’ve done and build a business with it (I’d really like to do that myself), so wasn’t sure what license to use as MIT didn’t feel right to me at the moment. But open for feedback/maybe I’m being too short sighted…
Semaphor 3 hours ago [-]
Personally, I like the elastic (and similar) license… as long as, as you did, it’s chosen upfront. Being open source as a marketing strategy and later switching to source available licenses is what I find highly [0] problematic.
[0]: With a bit of an understandable carve out if it turns out no one else ever contributed anything of significance.
tchalla 5 hours ago [-]
I don’t see why your license should be open source. It’s alright what you have.
8cvor6j844qw_d6 2 hours ago [-]
> so wasn’t sure what license to use as MIT didn’t feel right to me at the moment
You're onto the right track if you have plans for commercialisation.
Thanks for building this, I've tested it out and it's useful.
philips 15 hours ago [-]
This is really neat! I have been thinking about similar problems.
Is there a way to collaborate with multiple agents or people on the same doc? It is unclear to me.
FailMore 15 hours ago [-]
Multiple agents could write to the doc locally, but for the moment it’s not predominantly could based (only short links). I think I will build a cloud first version/offering/config soon
dumbmachine 4 hours ago [-]
This is so cool! Loved your agent instruction snippet too.
anduril22 11 hours ago [-]
This is super cool - so many uses. Does it work well with Excel formulae?
I built some scripts to do something similar but all local. It also live updates the document so you can see changes come through. Super useful
lelanthran 17 hours ago [-]
This looks neat, but I don't see any examples of the format on the webpage (And no, I am not going to install Node.js just to see examples of the format).
I looked at the format. I think you're mostly on the right track, but I also think that a better candidate might be to simply use (and augment, where necessary, such as for styles) the org mode format: It can do all the stuff you have, but also things like checkboxes, calendars, and more.
As a bonus, both people and agents already know the format so there is no need to have a skills file. For example, the following prompt on Gemini WebChat (hardly a good model):
Give me an org mode file to show a PERT (Project evaluation and Review Technique) diagram, with a calendar below the diagram allowing me to see the current year. Create a hierarchy of tasks that have to be done using checkboxes and collapsible sections to mark tasks/subtasks as done. Below that, give me a table of all the terminal tasks that need to be completed with task/subtask name, starting date, estimated ending date and the resource assigned to it.
Finally, at the end, produce a gantt chart as a mermaid diagram for the sample project.
Produced a working file with tables[1], diagrams, calendar, checkboxes in a single file that Emacs rendered properly. Org mode can export to every format I ever needed (LaTeX, html, pdf). I once even had the resulting HTML conversion contain animations written in Javascript :-)
Maybe all you need to code for agents to write is a web-based viewer for Org Mode syntax?
Look at it this way: right now if I wanted what smalldocs does (i.e. ask the agent to generate any of your examples), I can ask the agent "do $FOO, generate org mode", and without a single additional skill/claude.md/agents.md file, get exactly the result you got from smalldocs.
I think maybe testdrive Emacs daily for a month; it would open your mind to the possibilities available[2]. If anything more is needed (like I wanted to put in JS in the HTML output), it can do it. If Emacs cannot do it, my agent can write an EmacsLisp function that will do it.
At the end of the day, when even a poor LLM can do what smalldocs does but without any additional .md files or context, I think maybe your solution might be over-engineered.
----------
[1] Org mode tables work exactly like spreadsheets, in that they can contain formulas.
[2] Think of it this way - when I needed multimodal documents, because I already knew Emacs, I just used that. When you needed multimodal documents, you vibed a whole new product into existence.
philips 15 hours ago [-]
I have been thinking about the problem of collaborating with AI in spreadsheets a bit. I think I want a few things solved:
- Revision control with attribution so I can double check LLMs edits
- Online collaboration with other humans and LLMs
- Schema and validation of column and row data
- Excel and Gdocs interoperability
One path I think you could go to accomplish this would be DuckDB which creates a programming interface that LLMs could use and interoperability with Excel and Google Docs via plugins.
Not sure if it is better to create from scratch rebuilds of the spreadsheet UX or rely on existing spreadsheet apps for that.
All that being said for any work I do I think I would want my data an LLM is operating on to be more structured and constrained than a text file or even a spreadsheet without cell validation.
nimonian 17 hours ago [-]
Neat! I think agents making Word docs and PowerPoints is going to go away. I think something like small docs is the future.
SoftTalker 14 hours ago [-]
I don't think the corporate world is moving away from Word and PowerPoint anytime soon.
FailMore 17 hours ago [-]
Thanks very much! That is exactly my view too.
It’s also nice to get out of the command line for doing deep reading.
I have had a few developers try it, and some small number of them use it week after week (as do I): https://smalldocs.org/analytics
etothet 15 hours ago [-]
Great job on this. I can see this being extremely useful for my teams!
FailMore 14 hours ago [-]
Thanks, please could you email me at hi@smalldocs.org. I’m trying to learn how to make this a better experience for teams, so would love to work with you guys to optimise the experience.
Zambyte 10 hours ago [-]
Notably the posted project is Apache licensed, and your project is Elastic licensed. Your project looks cool and you've clearly put a lot of thought into making it useful, but the license makes it a non-starter for me.
FailMore 7 hours ago [-]
I’m open for feedback on the license. As you say/notice, I’ve put a lot of work in and I think there is a commercial pathway forward for the product. I don’t want to let someone else - who might be more experienced - take everything I’ve done and build a business with it (I’d really like to do that myself), so wasn’t sure what license to use as MIT didn’t feel right to me at the moment. But open for feedback/maybe I’m being too short sighted…
1 hours ago [-]
neilv 18 hours ago [-]
> OfficeCLI is the first and best Office suite purpose-built for AI agents to read, edit, and automate Word, Excel, and PowerPoint files. Free, open-source, single binary, no Office installation required.
1. Calling Microsoft Office simply "Office" without qualification treats it like a trademark, rather than a generic term that was in use for this class of product before MS appropriated it.
2. If you're going to treat it like a trademark, don't violate it in the same sentence.
janalsncm 13 hours ago [-]
MS doesn’t need a reason to take your code down from GitHub. If they don’t like what your code does, they can take it down no matter how you word your readme.
StahlGuo 8 hours ago [-]
Recently, my experience is that the hardest part of writing Enterprise document by AI is not how to generate a word or excel, but to generate a office document that is accountable.
First draft generation is just a small part of the whole wore,more time consuming work is validation: whether citation , number,format, or semantic assume is right.
So i think enterprise office AI suite may need 2 layers: First is document editing, and second is revision / attribution / validation, or an unaccountable document is not applicable for real enterprise usage.
umutm 4 hours ago [-]
That is great.. Only the possibility of minimizing token usage when dealing with Office docs makes this very handy.
pietz 17 hours ago [-]
If you don't need interactive/animated features, I can absolutely recommend to have the agent build slides in HTML and convert it to PDF. Has been a game changer for me.
dayone1 17 hours ago [-]
I’m having trouble having it take reference PowerPoint slides and converting them to html, chart and labels misplaced, the charts don’t look drawn properly, etc. how did you solve this?
pietz 4 hours ago [-]
I don't have a great solution here. I rebuilt our PPT master fully in HTML and I'm using a modified version of Google's DESIGN.md to store the references.
_pdp_ 13 hours ago [-]
Very good and well done. I found immediate use-case for this.
miketery 14 hours ago [-]
How does this do for processing formulas or macros in excel?
topaztee 15 hours ago [-]
cool,
im working on something similar. A fine-tuned model for agents to interact with docx over MCP. they wont have to deal with OOXML.
we have a waiting list for beta-users: www.vespper.com
aussieguy1234 5 hours ago [-]
Is there anything like this for OpenOffice/Libreoffice? I have some ideas if there is
topaztee 15 hours ago [-]
cool,
im working on something similar. A fine-tuned model for agents to interact with docx over MCP. they wont have to deal with OOXML
vespper.com
ohadkr 14 hours ago [-]
Great work
beepbooptheory 15 hours ago [-]
Feel like overnight I suddenly started seeing so much stuff and comments on here concerning generating Office documents with the LLMs. What could be driving this? Doesn't latex or similar seem like a better fit here?
karado 11 hours ago [-]
Most corporate workplaces are super dependent on the Microsoft Office suite.
charlieyu1 7 hours ago [-]
Office documents have been notoriously difficult to automate for years. I think old .doc files were just a memory dump
reddalo 4 hours ago [-]
The first version of the .doc format was actually a memory dump, which poses security risks and that's why modern Office refuses to open pre-Office '97 .doc files by default.
nbevans 5 hours ago [-]
The idea of Latex being used in business environments could be a meme
rcarmo 15 hours ago [-]
People want to generate corporate content. For years now, it comes and goes.
Oh, and you're not the first, I started this a year ago. :)
I have had a lot of experience creating and editing PowerPoint slides with Claude recently. It always converts the file to a PDF using LibreOffice and then renders the PDF into images to see if everything went right and that no text has overflowed.
Of course AI can one-shot slides, but if you want good results where everything is aligned and has proper contrast you need a visual feedback loop
I'm not saying a pure API view won't work, but it will be a quality compromise compared to also having visual inspection
I say it’s as if “Claude Code & Microsoft Office had a baby...”
Code available: https://github.com/espressoplease/smalldocs
Discord: https://discord.gg/txjATTsDaq
Sample document: https://smalldocs.org/blogs/what-is-a-smalldoc
Invoked via Claude Code by saying stuff like: “sdoc me the plan for this feature”, or “dig into our logs and sdoc me a report on our latency”
It is not open source unfortunately.
[0]: With a bit of an understandable carve out if it turns out no one else ever contributed anything of significance.
You're onto the right track if you have plans for commercialisation.
Thanks for building this, I've tested it out and it's useful.
Is there a way to collaborate with multiple agents or people on the same doc? It is unclear to me.
If you’re talking about the README, you are right, but I think the homepage has a lot of examples you can click: https://smalldocs.org/#learn
What does a human write to (for example) create the diagram mentioned in "A diagram, drawn from a description rather than dragged into place."?
To me this looks like AI-writes-everything and human-reads-everything.
I looked at the format. I think you're mostly on the right track, but I also think that a better candidate might be to simply use (and augment, where necessary, such as for styles) the org mode format: It can do all the stuff you have, but also things like checkboxes, calendars, and more.
As a bonus, both people and agents already know the format so there is no need to have a skills file. For example, the following prompt on Gemini WebChat (hardly a good model):
Produced a working file with tables[1], diagrams, calendar, checkboxes in a single file that Emacs rendered properly. Org mode can export to every format I ever needed (LaTeX, html, pdf). I once even had the resulting HTML conversion contain animations written in Javascript :-)Maybe all you need to code for agents to write is a web-based viewer for Org Mode syntax?
Look at it this way: right now if I wanted what smalldocs does (i.e. ask the agent to generate any of your examples), I can ask the agent "do $FOO, generate org mode", and without a single additional skill/claude.md/agents.md file, get exactly the result you got from smalldocs.
I think maybe testdrive Emacs daily for a month; it would open your mind to the possibilities available[2]. If anything more is needed (like I wanted to put in JS in the HTML output), it can do it. If Emacs cannot do it, my agent can write an EmacsLisp function that will do it.
At the end of the day, when even a poor LLM can do what smalldocs does but without any additional .md files or context, I think maybe your solution might be over-engineered.
----------
[1] Org mode tables work exactly like spreadsheets, in that they can contain formulas.
[2] Think of it this way - when I needed multimodal documents, because I already knew Emacs, I just used that. When you needed multimodal documents, you vibed a whole new product into existence.
- Revision control with attribution so I can double check LLMs edits
- Online collaboration with other humans and LLMs
- Schema and validation of column and row data
- Excel and Gdocs interoperability
One path I think you could go to accomplish this would be DuckDB which creates a programming interface that LLMs could use and interoperability with Excel and Google Docs via plugins.
Not sure if it is better to create from scratch rebuilds of the spreadsheet UX or rely on existing spreadsheet apps for that.
All that being said for any work I do I think I would want my data an LLM is operating on to be more structured and constrained than a text file or even a spreadsheet without cell validation.
It’s also nice to get out of the command line for doing deep reading.
I have had a few developers try it, and some small number of them use it week after week (as do I): https://smalldocs.org/analytics
1. Calling Microsoft Office simply "Office" without qualification treats it like a trademark, rather than a generic term that was in use for this class of product before MS appropriated it.
2. If you're going to treat it like a trademark, don't violate it in the same sentence.
So i think enterprise office AI suite may need 2 layers: First is document editing, and second is revision / attribution / validation, or an unaccountable document is not applicable for real enterprise usage.
im working on something similar. A fine-tuned model for agents to interact with docx over MCP. they wont have to deal with OOXML.
we have a waiting list for beta-users: www.vespper.com
im working on something similar. A fine-tuned model for agents to interact with docx over MCP. they wont have to deal with OOXML vespper.com