1. Have you added APPSRC += uart.c in the Makefile ? Have you #include "uart.h" ?
2. Start simple, implement interrupt first, ensure that interrupts work (able to trigger ISR/callback and handle it), then make event/buffer work.
For the oscfg, you can probably copy & paste the ISR TickTimer but replace with UART, then call a new APP_isrUART. Then if you want to event/buffer, you could follow the ZBPro "folder"/"group" section by Posting a Message to a Queue, then create a Task to Poll/Read the Queue. Or you could keep it simple and roll your own uint8 UARTBuffer[] code first to test proof of concept.
After editing the oscfg, you'll probably need to update some *.c files to reflect the changes made.
3. Make a custom cluster ? You can right click to New child > Cluster in app.zpscfg in /Common/Source/. You'll then need to know how and where to handle the custom cluster, read & interpret the payload bytes manually. You could dig into their zigbee *.c files to see how they do it.