Created: 2026-07-08 Wed 15:35
What is org-mode and why it matters in an agentic development?
We all want local agents: are they not capable enough or they are just badly integrated?
Is cursor a coding assistant or just a dev auto pilot reshuffling code around?
Who is responsible for the product and who can explain its components?
We need consistency and productivity, safety and cost control.
Cursor is sharing code across sections: cursor code leak like in this example
Figure 1: Cursor sharing the code of another user into my session
We seek for an ideal agentic assistance:
And we find a really interesting integration
Figure 2: subscription often don’t cover the costs you expect
As many people recently I wanted to implement a local agentic workforce to control costs, production quality and security. To overcome the problem of consistency and project scope I found a really interesting integration.
We want to find the best setup where agents are actual helpers and not an uncontrolled crowd. I recall this old movie that gives the feeling of the emotion of creating an agent, instruct it and then finally relax while it works for you.
You then realize the agents misinterpreted your command and you start creating new ones to control your system but then you have a crowd you cannot control and you rush reading the source code trying to understand what is going wrong but the source code is too large and difficult to understand.
Figure 3: like in disney fantasia your agents can turn in an uncotrolled crowd and source code is not easy to read
Nowadays in most of the projects people use markdown to write down their knowledge base but this format lacks any dynamic feature and doesn’t integrate with any tool. The difference is like having a cookbook where you list the ingredients and the procedures and you need then to go to the real life and start chopping and boiling. Org files the look more like spell books where you directly invoke your commands within the file.
Figure 4: markdown files lack dynamic which org files have
Org-mode is the best place where humans meet agents. If markdown is a cookbook where you list the ingredients and the instructions org is a spell book where you directly invoke your commands. org is a dynamic text file which is easy to parse for an agent but reach in features for a human. From simple notes you create:
The ideal setup for developers, project managers, innovators would be to have local assistants to support with multiple tasks. This system should be:
To achieve that I worked with this configuration:
| conf | consistency | control | privacy | proficiency | integration | overview | versatility |
|---|---|---|---|---|---|---|---|
| vibe+public | 3.7 | 2.5 | 0.5 | 5.0 | 3.7 | 2.7 | 2.5 |
| emacs@local | 4.7 | 4.9 | 5.0 | 3.7 | 4.8 | 4.8 | 5.0 |
While working at this set up I realized many side benefits:
What is even more impressive is that I realized my workflow flipped over:
The improvement comes first of all with org files which are super powered text files. Compared to markdown you can build many actionable items and pipe everything together. Some features :
Agents express themselves at best within org files:
Emacs is the most versatile text editor, it has an overwhelming option of integration and configuration. It takes time to configure it but the productivity speed is unbeatable. I tried IDEs but I find the UI too confusing to concentrate and they force you to work in a single manner. Emacs is the best option for org too:
There are multiple configurations to include LLMs in emacs:
More on
Language models without IDE capabilities have limited added value. We can in principle build a coding assistant within emacs but I prefer by now to use different coding assistant with different capabilities. My workflow:
Well configured coding assistants don’t need extreme performant models
Emacs has many code REPL features were you can send lines of code and test the execution and the data transformation. I mainly use REPL with:
Each section can be linked to a data by inserting an agenda entry [C-c .]. We can put:
Figure 5: org agenda
Out of the agenda we can create a gantt
gantt
dateFormat <YYYY-MM-DD>
title Knowledge base action plan
excludes weekends
review : vert, v1, <2026-06-22>, 1d
section local models
deploy LLMs :done, deploy, <2026-05-20>, 7d
coding agent :done, deploy, <2026-05-27>, 14d
...
Figure 6: Gantt representation of the project
From the running task we can create a kanban
kanban
Todo
[compare model serve]
docs[benchmark vllm, llama.cpp and ollama]
[In progress]
id6[blog posts about the local implementation ]
id11[Done]
id5[agent confs, org files]
Let’s now come with an example workflow:
Each of this action will use LLMs to expand on the topic after a simple instruction.
Everything is in docker, the main services are:
I can stop a container anytime in case of issues with resources.
Take a bit of time to describe the project, the agents will do the rest:
Define those points and ask an assistant to create a local documentation of all technology listed which will be used for the project.
Given the project details prepare one markdown document in the folder `knowledge_base` where you explain what that technology, library or tool is useful for our purposes.
We need now to instruct our coding assistant to create a virtual team and we specify all the files needed for the agent to gain the proper context.
Given the project details write an AGENTS.html file where you describe what each agent should be capable of and what is the expected expertise
Agents are really powerful and we want to hold control on what they do by limiting permissions.
${HOME}/lav/src/:${HOME}/lav/src/
the permissions are set in Dockerfile no sudo
RUN usermod -l newuser ubuntu && groupadd newuserUSER newuser
In some projects is important to add external capabilities to the agents. In a recent project I added for example a MCP with proper UI and tools:
cd ~/lav/src/blender_twin/deploy/mcp_client/
python3 test_cube.py
OK — cubes in scene: []
LLMs can create almost anything from prompts but they work much more efficiently connecting with tools:
Connecting LLMs with tools allow additional training for fine personalization of the content
Ask an LLM to define the task in a plan file which we can review. LLMs can use internal org features:
If you write as you go and the agents keep updating the knowledge base org-roam does the rest. You can with simple scripts produce:
Graphs are really useful to visualize the status of the project but sometimes the details are too heavy to be processed and therefore is important to perform some hierarchical clustering as explained here: knowledge graph.
Slides and images are important but sometimes is easier to explain in a video. For that I created a d3.js network explorer which takes the network links and nodes and can export to blender.
The images from the dashboard can be exported to blender to create 3D animations.
We can as well animate the mermaid diagrams we have created for the documentation
We can as well animate using the manim python library with the help of LLMs to write their functions
(org-reveal-export-to-html)
agent_workflow.html
mv $outF ~/lav/siti/spiega/slide/$outF
#+ATTR_HTML: :width 40% :height auto
./image1.png
#+ATTR_HTML: :width 40% :height auto
./image2.png
#+html_block:
<div style="display: flex;">
<img src="./image1.png" style="margin: 10px;">
<img src="./image2.png" style="margin: 10px;">
</div>
#+end
Image 1
Image 2
All files are synchronized to an online server and can be consumed from a simple adroid app so we can monitor the status of the work anywhere. Apps like orgzly can easily sync with your own server: