Claude Code Skill to fill the PowerBuilder To-Do List from outside the IDE
A Claude Code skill that writes entries into the PowerBuilder IDE To-Do List (Tools > To-Do List) without opening the IDE, so an AI assistant can search your source and leave you the results already pointing at the right object and the right line.
What problem it solves
You ask an AI assistant "find every place where of_calcular is used" and you get fourteen hits, each with a file and a line number. Then you open all fourteen by hand in the IDE.
The To-Do List already does exactly what is needed: every entry stores a link to an object, and opening the entry takes you there. What the IDE cannot do is let you write down something you have not opened yet - its "Add Linked" option links whatever painter you currently have in front of you.
This fills that list from the outside.
How it looks
> python pbtodo.py info
Modo: solucion
Target: C:\...\PyPbExample\pypbexample.pbproj
IDE abierto: no
> python pbtodo.py add w_main:159 w_main:160 n_cst_pyton_excel:100 \
--texto "Uses of of_set_celda" --fuente
Entradas: 0 -> 3
(dry run: nothing was written. Add --escribir to do it for real.)
Open PowerBuilder, go to Tools > To-Do List, and the entries are there. Double-click and you are inside the object, on the line.
Commands
info what PB project is here, installed versions, IDE running?
find <pattern> find objects by name (* and ? allowed)
list show the current To-Do List
add <object[:line]> add entries
done <pattern> check / uncheck the box
rm <pattern> delete entries (also --hechas / --todas)
open <object> the other way around: launch the IDE on that object
Everything that writes is dry run by default, and the registry key is exported to a .reg backup before any change.
Installation
This is not a PowerBuilder workspace you open in the IDE. There is no .pbsln and no PowerScript: it is a Claude Code skill, which means four Python modules plus a SKILL.md file. Clone it into your Claude Code skills folder, using the skill name as the folder name:
git clone github.com/rasanfe/PbTodoList.git "%USERPROFILE%\.claude\skills\pb-todo"
Then just ask for it in plain language:
"find where of_set_celda is used and leave the hits in my To-Do List"
Requirements: Windows, PowerBuilder installed (tested on 2025 R2) and Python 3.8 or later. No third-party packages - standard library only.
Two things you must know
1. The IDE must be closed
PowerBuilder keeps the list in memory and writes its own copy back when it closes, so anything written from outside while the IDE is running gets overwritten. The scripts refuse to write if they detect the IDE running. In other words: this is for preparing work before you sit down, not for driving a running IDE.
2. Line numbers are counted differently in each view
By default the entry opens the painter and the line is counted within the script; with --fuente it opens Edit Source and the line is counted within the .sr* file, which starts with the global type, forward prototypes and so on. If you got the number by reading the file, use --fuente.
A note on support
The To-Do List is designed to be used from the IDE, and the documentation covers it from that angle. This tool writes the same data directly, under HKCU\Software\Sybase\PowerBuilder\<version>\... That is not a public API and Appeon has made no commitment to keep that storage format stable, so it may change in a future release. Everything published here was verified against the real registry rather than assumed, backups are taken before writing, and nothing is written unless you explicitly ask for it. If an official way to do this ever appears, I will happily drop this and use that instead.
Credit
To Roland Smith of Topwiz Software (www.topwizprogramming.com). His PBSearch has a "To Do List" button, and that is where many of us first found out this window was good for something.
Links
· Source code: github.com/rasanfe/PbTodoList
· Full article (Spanish): rsrsystem.blogspot.com/2026/08/usando-to...owerbuilder-con.html
· I'm also attaching a copy of the repository as a ZIP file.
This message has an attachment file.
Please log in or register to see it.
Please Log in or Create an account to join the conversation.