Slightly Caffeinated

TJ Miller and Chris Gmyr talk through recovering from a back injury, coffee and caffeine finds, and a deep run on AI tooling: voice analysis skills, Assembly AI transcription, marketplace plugins, skill context budgets, and the agents-versus-rules question.

Ask a question, suggest a topic
Podcast
Chris
TJ
References Mentioned

Creators and Guests

Host
Chris Gmyr
Husband, dad, & grilling aficionado. Loves Laravel & coffee. Staff Engineer @ Rula | TrianglePHP Co-Organizer
Host
TJ Miller
Dreamer ⋅ ADHD advocate ⋅ Laravel astronaut ⋅ Building Prism ⋅ Principal at Geocodio ⋅ Thoughts are mine!

What is Slightly Caffeinated?

Join Chris Gmyr and TJ Miller as they dive into the world of PHP, Laravel, and all things programming, while also sharing insights on family life and other musings.

TJ MIller (00:00)
Hey everyone, welcome back to the slightly caffeinated podcast. I'm TJ Miller. So, Chris, what's new in your world, man?

Chris Gmyr (00:05)
And I'm Chris Gmyr

⁓ it's been a busy week. had Memorial Day, Monday off. and then off on Thursday and Friday. My wife is going on her trip to Puerto Rico for her sister's fortieth birthday party. So I'll be handling the the kiddos and all the the things for the next couple days. So it's been a very compressed two work days this week. so yeah, just trying to get stuff done, trying to write up a bunch of things from

TJ MIller (00:29)
Yeah.

Chris Gmyr (00:35)
⁓ you know, that I have on my mind for my work partner to do some stuff while I'm out of town. ⁓ so hopefully I won't have to to do too much. but yeah, just prepping for that and looking forward to spending, you know, some off and more like alone time with the the kiddos, without her around 'cause just changes the dynamics a little bit when it's just me. And yeah, it'll be nice. Have a couple little activities planned and and

TJ MIller (00:54)
Yeah.

Chris Gmyr (01:00)
Stuff like that. So yeah, be a good time.

TJ MIller (01:03)
That's awesome, man. That's super adorable. that's cool, man. Puerto Rico. That's wild.

Chris Gmyr (01:08)
Yeah. yeah. We did it on we were able to do the majority of it on points. So we have like two like travel credit cards and we basically put like all of our spending on that as much as we can. So we use it for like any time that we're traveling. If we need like a hotel room overnight or if we're flying, we try and get tickets or like a rental car, which has been really nice. because we're not like

TJ MIller (01:18)
Yeah.

Chris Gmyr (01:31)
⁓ traveling like a ton. but like the the times that we do travel, it's usually pretty minor or we like drive ourselves so we don't need a ton of transportation. So a lot of these points just kind of like pile up over time. ⁓ so it's nice to be able to like when these like special trips come up or like opportunities be like, yeah, like we have points for that or like points for like half of this or something like that. So the hotel that they're staying at is actually the the one that

TJ MIller (01:43)
Yeah.

Chris Gmyr (01:56)
We stayed at when we did our honeymoon when we got married. So she's gone back to the same like hotel resort down there. ⁓ and she was able to get two rooms for her and her sisters and her mom and a bunch of her sisters' friends are coming down. They're paying for, you know, their own way. but then she was able to get her flights on my other card. So basically like her trip is basically free, paid for by points, ⁓ which is pretty cool. So she

TJ MIller (02:00)
cool.

Dang, that's really cool.

Chris Gmyr (02:22)
Has

to pay for we have to pay for airport, parking, she'll have to pay for like food and stuff when she's down there, any excursions that she does, but like that's pretty minimal compared to the flights and hotel and all that stuff. So we're we're getting out pretty easy on the on the trip.

TJ MIller (02:40)
That's

sick, man. That's so cool. We've got we don't have like generic flight points. We have like a Disney card that we got a couple of years ago is just like we've just been we put all our big purchases on it and and like a gas and stuff like that just to like yeah, roll points into a Disney trip at some point. So and I think after we make that trip we'll we'll probably switch over to like just generic airline points and stuff so that we can just facilitate any sort of travel, you know.

Chris Gmyr (02:58)
Yeah. Nice.

Yeah, yeah, totally. So yeah, it's been fun. Kinda nice little bonus on the side. ⁓ so yeah. She's looking forward to the trip. Be good to see all of her family down there and then be fun for the the kiddos and I to do some stuff, just the the three of us. So yeah, what's new in your world?

TJ MIller (03:13)
Yeah.

Yeah, for sure.

man, it's been kind of a crazy week. It's I I've been just another week of like pouring into the house. you know, ⁓ I've been 3D printing a bunch of shelf brackets and building shelves, both in like my office and in my son's room to just he's got a bunch of like knickknacks and things too. And ⁓ I'm just kind of like making a push to like polish up stuff around the house. So

yeah, making's like building shelves out and then still doing a bunch of yard work. I have a ton of yard work to do because we moved in here like seven, eight years ago, I think, and I have not touched the landscaping since we moved in. ⁓ and so the all the flower beds are just full of weeds, the mulch has disintegrated into dirt.

Chris Gmyr (04:04)
Mm-hmm.

TJ MIller (04:11)
So I've been like redoing the all the beds around the house. and I blew my back out doing it. So that was super fun. I like I made a bunch of progress on it on Saturday, and then like my back was starting to act up Saturday, and I just was like, I'm gonna push through this and kept on going and like raking a bunch of dirt around and was like trying to tear up

like a tree and like dig the roots out and got to the point where my back was just kind of screaming at me enough that I knew I had to stop. Cause this has been I don't know, I've dealt with this issue on and off like for years. Never that to this extent though. But my back just started getting like pretty angry. So I decided, you know, call it a day. it was raining anyways. So

went in and like just as the day got on, my back got more and more tense. And what it I what it is is there I I don't n have an official diagnosis on it, but like everything points to it being a pinched nerve. And then once the nerve is pinched and activated, all the muscles around it start spasming, which causes compression on the nerve. So it just makes it worse.

So, like as the day went on, my back was getting tighter and tighter, like putting more and more pressure on that nerve. And I woke up at like 2:30 in the morning in just absolute agony. ⁓ my wife drove me to the ER. They ⁓ loaded me up with like muscle relaxers, and that got everything to like relax enough that they sent me home, but now I've got to deal with like

whole bunch of BS of like I gotta I called this the spine specialist. They said I have to get imaging. So I have to go through my PCP to get an order for imaging before I can even make that appointment. So now I'm just in this like mess of scheduling stuff. But I mean so this happened what today's Wednesday. This happened like I went to the ER Sunday morning and I'm still like

limping around, it's still pretty pissed off. ⁓ I'm not in I'm in less pain than I was yesterday and then that day I was in less pain the day before that. So like we're getting some steady improvement, but I'm still loaded up on like I can tell when my muscle relaxers wear off. Like my back starts getting tight again and kind of kicks everything off. So

You know, the way this normally works is I get a few days out from it and things just kind of ease up and it eventually just goes away. But it's it was bad enough that I was like collapsing under the pain. which was w I mean, it took me like 15 minutes to get from my front door to my car. Like I was just like and that was like leaning on a walking stick and like, dude, it was it was really bad.

So that's I've been just like trying to recover from that now. so we'll see. And then like we're getting towards the end of the school year. I think my son's got like two more weeks of school left, maybe three. So like we're fully in summer at that point. So my wife and I have just been sitting down trying to like plan out the summer.

And like figure out where we're gonna fit trips in and do different things and got everything booked for Laracon. So working around that now and the schedule. Yeah. So yeah, and then just like work. So I I haven't even really touched Iris or Prism or even had a chance to think about it. Like I've been I I gotta get ahead of some of this landscaping work.

like what I don't know like we we want to move, you know. And so I gotta like, we'd like to move to a different area, get a little bit further out of the city, get into the woods a little bit. And there's just like a lot of home projects that like have to get done before we even attempt to sell the house. Like I can't have flower beds full of weeds to like try to sell the house. I gotta like do something with the basement floor. I gotta finish patching and painting walls. so there's like a couple

pretty big ticket items that have to get done, in order to get to a place where we can like comfortably start showing the house or something. so yeah, and now and now how delayed is all that gonna be with my back being blown out now. So

Chris Gmyr (08:13)
Yeah, yeah.

Yeah. Might have to ⁓ hire a couple of people to come in and help and just get it done.

TJ MIller (08:25)
Yeah.

My son ⁓ was very entrepreneurial. He's like, Well, would you pay me to help you with the flower beds? I'm like, actually, yes, I totally will. So yeah, so that's I don't know, that's just really been what I've been been in the last week of just picking away at projects around the house and now recovering from nasty back injury. So

Chris Gmyr (08:33)
Mm-hmm.

Yeah, there you go. Thanks.

Yep. Nice. Yeah, it does. Yeah, it does. Hope you get hope you get better. I know it takes some time. I've had a handful of back and like neck issues this year, like on and off. So like I've been out of the gym routine for a while, just like I don't know, new little, you know, issues or just trying to recover, you know, fully and it's just not fun. ⁓

TJ MIller (08:51)
Getting old sucks.

No,

like my new aggressive inline skates just shipped. So I like getting really stoked to like head to a skate park, but now I'm gonna have to wait until this settles out. Luckily, I was able to get in with my massage therapist like on Saturday, and then I've just been like doing lots of stretching and like that that seems to help a lot too. So just like alleviate the pressure on the nerve. So

Yeah, and it sucks 'cause I was also like about to try to get back into the gym routine and everything too. So it was like I wanna go skating, get to the skate park, wanna get back to the gym and like now all of that's on hold. So

Chris Gmyr (09:43)
Yeah, yeah. Yep. Just gotta take a pause. yeah, probably after like we do some travel in at the beginning of the the summer coming up. probably get back to it and, you know, try and restart the routine. Unfortunately, it's been ⁓ too long and was on a could have pretty good stretch there for a while, but yeah, things happen and don't wanna push it, you know, too far. 'cause yeah.

TJ MIller (10:03)
Yeah.

Chris Gmyr (10:09)
The big injuries. Keep on it slows you down for a long time. Every time

TJ MIller (10:10)
Yeah. Yeah, like I'm pretty

sure if I would have just listened to my body and like said, you know, my back's a little upset. I maybe shouldn't even try gardening right now. And if I would have just listened to that, I probably could have saved myself all of this grief because it wouldn't have gotten as bad as it did. But I was just super stubborn and didn't like, I'll just push through it, you know, and that did not end well.

Chris Gmyr (10:34)
Yep.

Yeah, yeah. Totally.

TJ MIller (10:39)
Yep, gotta listen to your body, man.

Chris Gmyr (10:41)
Yes, you do. Especially as the years keep on ticking by. Gotta look a little bit harder each time. That's like, ⁓ I used to be able to do this, I'll just push through or whatever. Rest later. Nope. Resting now. Yep. Exactly.

TJ MIller (10:45)
Yeah, man. Yep.

Nope, nope, you're resting now. On the heating pad. Yep. ⁓

coffee talk, man. I I don't know. It's been pretty boring around here. We're still getting through this giant bag of Kirkland espresso blend my wife bought. I

I'm kinda sick of it. But I'm just I'm also super stubborn and just like want to get through it. So we're we're getting through it. But she ordered some more Costco stuff, which I was not super stoked about. But when it came in, it to my surprise, it's like a limited edition run, which I don't know how exclusive that is, but like it was a limited run of like single origin Ethiopia, on a lighter roast. Like I'm definitely a light to medium roast person. I I

Chris Gmyr (11:33)
Mm-hmm.

Yeah, same.

TJ MIller (11:39)
I like espresso, but like not as a like dark roast blend coffee. Like I like espresso as espresso. I don't like dark coffees. so I'm a lighter to a medium roast, and this stuff is a lighter to a medium roast. The the espresso blend that we have is a very, very dark roast. so ⁓ I'm looking forward, I'm looking forward to getting into that. and now that we're getting into summer two, ⁓

probably do some like iced coffee with it as well, do some like cold brew concentrate with it. because we got a couple bags of it now. So ⁓ and it's that time of year to get to get back into like cranking out cold brew.

Chris Gmyr (12:11)
Yep, that's true. I can make some pick up some extra bags. Yeah. ⁓ same thing over here, like ⁓ not too much, kinda new box coming in from purity, but I believe all the yeah, all the beans that I have in the new box I've talked about before. so nice little like rotation, but yeah, a lot more of the same unfortunately. So maybe maybe with a couple of days off coming up, ⁓ we'll go to a couple coffee shops and

TJ MIller (12:14)
Yeah.

Yeah.

Yeah.

Chris Gmyr (12:39)
Might have some things to share next time.

TJ MIller (12:41)
Dude, so what I found on like on the caffeine front, ⁓ I don't know, do you have the Sheets gas stations out like out by you? Yeah. So they pretty much like they don't come very far west. so I I discovered sheets. So like sheets is like a gas station, like, but they have like made to order food as well. ⁓

Chris Gmyr (12:48)
Yeah, we have a bunch.

Mm-hmm.

TJ MIller (13:04)
And so I discovered them when I was out in PA like years ago. And my wife had already knew about it. And like I I don't know, I was like always I I thought it was great. and we finally got one like here in Michigan. And ⁓ it's like right by my house, which is fantastic. And they do these like custom you can make these like custom Red Bulls. So like you can choose between like

f ten different flavors of Red Bull and then like they can add different flavors in and then they can add in like hydration mix or like an energizer mix or immunity support mix or whatever. and I am like so hooked on and then you can get like boba, like popping boba like added to it too. So I've just been like super hooked on these like custom Red Bulls with like I've been doing a regular Red Bull with peach flavoring and mango boba. And it's just like so good.

Like I've I love them.

Chris Gmyr (13:57)
That's cool.

TJ MIller (13:58)
Super fancy Red Bulls.

Chris Gmyr (14:00)
Yeah, super fancy Red Bulls. Like it. It's it's coffee adjacent. It's caffeine. So I'll take it. The Red Bulls and the monsters and the gas station coffee talk is all all good stuff. Food pod. Yep, totally.

TJ MIller (14:02)
Yeah.

It's caffeine, man. Yeah. I'm in on it. Yeah.

Yeah, yeah. All fair game, man.

Sweet dude. So I see you've added ⁓ some some stuff about some like new skills you've been working on for ⁓ Claude. I'd love to hear about

Chris Gmyr (14:26)
Yeah. ⁓ first one that I was messing around with, I saw a video, I'll put it in the the show notes. ⁓ but it was talking about the MCP through Zoom and doing some like analytics and analysis based on that. So basically like what this guy did was pulled in like all of his recent meetings and did some like broad analysis on you know things like how long are you talking, what are your you know, hedges, what are the

⁓ vocabulary types that you use or don't use. And then you can kind of see like all this stuff and you can hopefully try and work that into your future meetings and speaking arrangements and and things like that. So we don't have the MCP for Zoom available to us at work yet. but I have all my transcripts for like my meetings. so I basically pointed Claude at this video to grab the transcript of that.

So it could pull in like all the ideas and things that you can do like with the ⁓ analysis and basically said, like, hey, based on my obsidian vault and these like meeting templates and things like that, basically like make me something like this. So it made this whole like meeting voice review skill, which you can give it a time frame of like three months or six months or a year or something like that.

And it'll go through all the meetings. It'll find me in these like transcripts and then pull out my like filler words, filler phrases, hedges, tab words, you know, monologues, things like that, and basically put it into like a nice little HTML display. ⁓ so there's a bunch of like tabs and tables, displays, trends, things like that that I can go back in and look to see.

You know, am I improving over time? Am I removing some of these filler words, or phrases or hedges, things like that? So yeah, it's been pretty interesting to see all of the top like words that I have and things that I I don't know, just fill the space, you know, with sometimes. so just like that, is ⁓ always a big one. like, so, yeah, just is a it's pretty big ones.

TJ MIller (16:20)
Yeah.

Yeah.

Sure.

Chris Gmyr (16:32)
you know, I think a little bit kind of and like and as well and things, filler phrases, hedges, I think maybe kind of, probably might sort of, not sure. I feel like so yeah, those are a lot of things that I say over the course of time and even ⁓ hear a bunch. So it's just like really interesting to be like, wow, like I I didn't understand that I or didn't pick up that I have all these little phrases or

TJ MIller (16:46)
Sure.

Chris Gmyr (16:57)
Do you even like if you wanna call them like ticks or something like that? Just ⁓ yeah, just really interesting to see all that information in the same spot.

TJ MIller (17:00)
Yeah.

I'd love to run that across like all my talks and just get like a just get I'm just get an analysis on it. Like I think that'd be really, really fascinating to do. I think like what my brain jumps to that would be so like this is analyzing based on the transcript, right? I wonder what it could do with

The audio because like what I'm also interested in is like tone pacing, you know, are you like monotone? Do you have fluctuation in it? Like cause those are all like big things too. but yeah, just having some like insight and awareness into like yeah, filler words or like tendencies to just like tighten, tighten stuff up a little bit.

Yeah.

Chris Gmyr (17:52)
So yeah. I think the audio would be pretty cool. I don't I don't save any my audio. but yeah, especially for talks and if you have a bunch of them to get a good baseline or you know standouts from a bunch of talks that you've done, I think that would be pretty cool to look at as well. just tone pacing, leaving space, you know, in the talk.

TJ MIller (18:15)
Pauses

Chris Gmyr (18:16)
Two pauses.

TJ MIller (18:16)
and Yeah.

Chris Gmyr (18:18)
So yeah, I think that'd be pretty sweet. And I think you probably have most, if not all, available on like video or YouTube or something that you could pull in.

TJ MIller (18:28)
I think almost all of my talks have been recorded because I've really only spoke at Laracons. I mean, I did a bunch of meetups and stuff too, but like I've really only spoke at Laracons and PHP Tech and like those are all recorded. So like I have yeah, recordings of pretty much everything.

Chris Gmyr (18:46)
Nice. Yeah. That'd be pretty cool.

TJ MIller (18:48)
Yeah, I think I 'cause I think there would definitely be like I know there's I know there's room for improvement.

And so that would be yeah, that'd be interesting to to pull out. I know I'm such a s I I'm really sloppy like on a on like a day to day basis or on calls or like here, but like my talks I I tend to polish up a lot for, so

Chris Gmyr (19:06)
Yeah,

totally. And th those could be two different skills too of like true like public speaking and then like ⁓ like this one is just more of like a a meeting voice review, ⁓ where it's just I don't know, professional type meetings, but still a little on the casual side, like not not like a presentation or anything like that.

TJ MIller (19:10)
for sure.

Yeah.

Yep. No, that's really cool, man.

Chris Gmyr (19:29)
Yeah, so I'll send it to you. Then you can

TJ MIller (19:30)
Yeah, please

do. I'll definitely I'll definitely definitely gonna use it on some stuff. So what I do is you I think you had turned me on to ⁓ I use crisp for meeting like recording meetings and I have that set to pull it it actually I have it configured to record the audio because I found

Chris Gmyr (19:38)
Mm-hmm.

TJ MIller (19:50)
I found with its diarisation, it wasn't always when I started using it it wasn't super accurate. It's gotten a lot better, I think. But

It wasn't super accurate. So I also wanted to have the audio on hand to like retranscribe it through maybe a more powerful model or something to see if it like fixed the diarization because it was like conflating two people a few times. And so like I just wanted to have the audio on hand. So I actually have audio from like most of my recent meetings too. ⁓ so I can just like repross that.

Chris Gmyr (20:17)
Yep. Yeah. I do the same thing.

Yep. So I have the the audio available because it it does a lot better job with the speaker tagging. And a lot of times, you know, if someone is sick or there's people with kind of similar ish voices where they're outside versus inside, like in their office type of thing, like it always kind of messes up a little bit. So at least with the audio, you can like replay the meeting and

specifically tag the people, you know, in there. So I do have the audio. I just don't do anything with the audio past ⁓ fixing fixing the meeting notes. And then I'll like extract the the meeting notes, the action items in the transcript. And then that goes into obsidian so I can process it later, which then works into this meeting voice review skill. but yeah you could definitely pull the the audio out and then process it locally or whatever you want.

TJ MIller (20:48)
Yeah.

Yeah.

Chris Gmyr (21:10)
After the fact.

TJ MIller (21:11)
Yeah, Crisp is pretty cool. There's a couple features I wish it had, but I've ⁓ I'm really happy you turned me on to it. I've I've gotten a lot of value out of

Chris Gmyr (21:19)
Yeah, it's been really good. I enjoy it as well.

TJ MIller (21:22)
Yeah, and it works for like it just it just works for like everything. Like I I popped into a Slack huddle at one point and it like popped up, started recording that. And like I was in one of our presentations is through some like in browser meeting platform. ⁓ and it picked up like audio straight out of like Zen browser and recorded that meeting too. And yeah, great little piece of software. And I think also like

it feels reasonably priced for the value I'm getting out of it because like I'm I'd rather be in the moment. And so like it's so important for me to like also have those notes. So like I don't even have to worry about that anymore. I can just be in the moment. I can pay attention to the meeting, not have to like be distracted trying to like take notes or like think about that and and extract all that at the same time. so it's it's super valuable to me to have that.

Chris Gmyr (22:11)
Yeah, exactly. And after the fact they have AI built into the application, so you can ask it questions there, you can have it rewrite things. but with the audio and or the transcript, you can basically do whatever you want after the fact. You can ask questions, you can build out like other you can do more back and forth, you can do whatever you want, as long as it's covered in the meeting. So yeah.

TJ MIller (22:25)
Yeah.

Yeah,

and I haven't even played with it yet, but I I think you had even mentioned ⁓ the whole tent there's like a templates feature in there where you can have like a meeting type template and have the AI take that transcript and apply it to that template. So you can have like action I you can have like a specific type of meeting. We have our like you have a template for your stand up, you can have a template for like one on ones or like annual reviews or stuff like that too. really cool little piece of software.

Chris Gmyr (22:46)
Yeah.

Yeah, yeah. I like it. So I'll put that in the show notes as well. but yeah. Next is ⁓ also with transcribing. so I have this podcast transcribe skill that I have both available locally and then in the open claw setup. And basically what I can do is like as I'm listening to a podcast and I it resonates with me or whatever, ⁓ I can dump

the podcast ⁓ URL or the specific episode URL in one of my channels or just in ⁓ cloud code if I'm on at my desk. And it will find the audio from that. It'll download everything. It'll pass it it used to pass it through Open API to do the whisper ⁓ transcription and save it to the note. It'll do some like analysis and you know summary, key points, all that stuff in the note. but

TJ MIller (23:41)
Mm-hmm.

Chris Gmyr (23:49)
It would with the open API transcription service, it it doesn't do any of the speaker tagging, ⁓ the diarization. So it was kind of annoying. I have like a handful of things that I'm like following as like a weekly like ongoing basis and then some like one-offs here and there. So it's kind of annoying not to have that. So I'm like, okay, what do I have to do to enable this? And

TJ MIller (23:58)
Mm-hmm.

Chris Gmyr (24:14)
⁓ chatting with Cloud Code, there's bunch of different options. but the one that I fell into was Assembly AI. And they have a free like initial like $50 credit, which if you're only doing like a couple of podcasts a week or even like once a week or something like that, it's gonna take me a really long time to use up that fifty dollar credit, which is nice. so basically I just had Cloud Code swap out the transcription.

part of the skill and use assembly AI and did a couple trial runs with that yesterday and this morning and it's fantastic. It picks everything up. It like infers the names from the speakers of like ⁓ when they pass it over to like the initial speaker and you go, TJ, like what you think of this? And it'll pick up that like you are TJ and then when you say when the other person says like my name, so it'll like infer and pick up who

TJ MIller (24:40)
Mm-hmm.

Chris Gmyr (25:05)
speaker like of that. So I don't need to fill in any of those names. It's just like, ⁓ this is TJ Inferred and this is Chris Inferred or all these other people or whatever. So after running through a couple of podcasts, it was like I did a quick little smoke check of them and it's like wow, you actually did a pretty good job with this. Yeah. It was pretty cool.

TJ MIller (25:15)
That's sick.

That's awesome, dude.

I'm gonna have to ⁓ so what I what I have done for this workflow traditionally has been ⁓ I bought a license to like Mac Whisper ages ago. ⁓ and that's like a Mac installed piece of software that does like a really pretty good job. And you like select different models and do all sorts of of transcription from that.

⁓ and so I I've typically dumped into that, but you're right, like for things like iris or open claw, like you need to have something like third party, unless you're running like native on a Mac mini or something and can like utilize CLI tools or something like that. ⁓ so I think I've also used 11 labs for transcription. but assembly AI, I'm gonna to look into that.

Chris Gmyr (26:16)
Yeah, check it out. yeah, seems pretty reasonably priced, even after the the free credits go away. So might be a good option as like a I don't know, add on to Iris or these other systems.

TJ MIller (26:24)
Yeah.

Yeah, 'cause any anything I'm having ado transcription rise right now.

has been through yeah, either OpenAI or Eleven Labs. so I I think I think the pricing for assembly AI looks a little bit more advantageous. So I'll I'll definitely be checking that out.

Chris Gmyr (26:47)
Wait, yeah, let me know how it goes.

TJ MIller (26:50)
Yeah, I love I love that you and I are basically doing like the same thing for podcasts for our like our own stuff. And I'm sure we're like, yeah, blowing a bunch of credits that we could probably just have like a shared vault for or something.

Chris Gmyr (26:54)
Yeah.

Yeah, well, totally.

Yeah. The ⁓ well, the one for this podcast, I do a little bit differently. That that's set up slightly differently because Riverside, which we're recording on, already gives me the transcript. So I already have you know that already available to me. So I just basically paste that into a new note, put some front matter in there, and then I have ⁓ import podcast skill for

that note that basically just takes the initial information and the transcript out of the note and then gives me the the summary, the resources and links, ⁓ suggestions, and then does all the backlog fill out and and all that stuff. so that's a little bit different because I don't need any of the transcription service attached to it. Cause I I don't know. At that point, like I I it's not really worth processing the audio for that because the

TJ MIller (27:50)
Right.

You already got

it.

Chris Gmyr (27:59)
⁓ yeah, Riverside is good enough. So just kind of bypass that and then do a bunch of other analysis and processing. But yeah, I wonder it'd be cool if I don't know, we were able to put that somewhere that we can both use. Not sure how that would work.

TJ MIller (28:01)
Yeah.

Yeah, no idea, man.

Chris Gmyr (28:18)
Yeah. At least we could get like the same notes or ⁓ the backlog items, which I guess I could connect it to like our Notion account and put like a bunch of backlog stuff in there. But it's also like co Cloud Co does, it's pretty verbose in some spots as well. It's not like nice little, you know, couple word cards that we can just move around. So I don't know. Maybe something I'd tinker with.

TJ MIller (28:41)
Yeah.

Yeah. No, I think that'd be cool to have a skill that just like kind of splits that stuff out and just like dumps it into ocean and like maybe breaks those things up into like small little topic cards. That could be neat.

Chris Gmyr (28:55)
Yeah. Yeah. Might look into that. Hmm.

TJ MIller (28:57)
I love it. It never ends, man.

Chris Gmyr (28:59)
Yep, totally. so yeah, moving on. you have on here that you guys at Luma are working on a cloud and some plugins.

TJ MIller (29:07)
So to give a little backstory, when I joined Luma, it was like a pretty exciting time for me to join because what we have is like a 10, 15-year-old like PHP app, right? Like that's that's the existing platform. But we're starting the process of strangling that out with a new Laravel application. So

To start things off, we're gonna have a mono repo with ⁓ like a shared packages folder that has just like shared functionality between the two apps. really pretty strict about boundaries in there. It'll be like generic parameters and value objects in and then value objects out the other end. So kind of keeping like a really clear boundary between the two things. and then we'll have the layer valve application and then our legacy application, all in the same repo.

So to facilitate that, we and like and then we've got my AI stuff that's in a separate repo, Laravel app. We have mobile applications that are in other repos. And so to just kind of like centrally distribute all of the like skills for all of these different things,

We have like this new Claude Marketplace plugin that we're starting to build out. So within this, like, so you add the marketplace, which is the repo, and then inside of that, we have multiple plugins. So I think there's like maybe five or six plugins, but like the plugins are kind of purpose-built. So like you install the marketplace and then you would install the like Luma engineering.

plugin which adds the generic like generic skills and like helper utilities and whatever. And then you would if you're like working on the web stuff, you would then also install the Luma web plugin.

⁓ and that would have like the Laravel rules, Laravel skills, ⁓ PHP skills. And then if you're working on like the mobile app, then you would install the, you know, mobile plugin, which gives you whatever sort of skills you need to be working on the mobile app. there's a QA plugin, so like installs whatever QA skills the QA team needs. And then I think there's like project management plugin, which would have things like generate the PRDs,

product requirement docs, stuff like that. so I just started diving into that yesterday, but I think that's gonna be a really nice way to like centrally manage, be able to like keep things up to date really easily. ⁓ so like as as we start to build more into Laravo and build

I'm not too worried about the layer of all stuff. I've I've got that workflow and those skills and those rules like super dialed in right now. That feels really good. But where I think we're gonna need a ton of support from like skills, less, maybe a little less skills, but very heavily on the rules front is our legacy application. Because it is an app that

has evolved over like ten plus years, but is also written in ten plus year old PHP, right? There's like there's

Patterns that we're we're trying to move away from in there and like not replicate. There's all sorts of like funky things that were done that probably needs to be explained to Claude so that it it knows to like how to work with certain things.

So I think we're gonna need to build up a lot of rule sets around the legacy application as we go. So that'll be really nice to be able to like put that in a versioned plugin that, you know, can easily be kept up to date by everybody on the team. so I'm I'm really excited to kind of see where that goes. Because what I've done for my stuff personally, I've just thrown it in a private repo and then

I just like copy the directories around to like different different applications, like as I need the different skills, which is a pain in the the ass every time I have to update, you know, I make it update to like one layer of a rule or like I find like, I want I want it to behave this way in this situation and now I gotta like go copy that across everything all over again. so I'm thinking about rolling up like my personal stuff, which I've added to all the Luma stuff as well.

Chris Gmyr (32:54)
No.

TJ MIller (33:18)
I'm thinking about rolling all my stuff up into a plugin just so that like across all the projects I work on, I can have that all be consistent.

Chris Gmyr (33:26)
Yeah, definitely. That seems like the the way to go to yeah, maybe I should do that as well. Cause I I have a repo set up for the obsidian skills, which then get pulled into open claw. But there's not too many more global skills I have outside of that that wouldn't be beneficial or just unused in open claw. So I wonder just keeping everything in the same spot and just to keep it simple.

May be might be the better way to go. I don't know. I'll to think about that a little bit more.

TJ MIller (33:57)
Yeah, and I'm also trying to think about my tool chain at large a little bit with this too. Like ⁓ thinking about, like I think this is the perfect thing to do for Luma, right? Because we're we're definitely all in on anthropic. And I think that's the right choice. Like I've there's a lot of things that Anthropic's been doing recently that I'm really not like feeling great about. But I think from an organizational perspective, it's totally the right call to buy in on Anthropic because we can leverage.

inside of the Claude AI desktop application, we can expose organization-wide skills, organization-wide projects, organization-wide MCP servers. And then everyone from like content creation to QA to C-suite to engineers can all take advantage of those tools that were just configured once, you know, and and

You can have this organizational-wide, like shared context really easy. There's claude code work, like cowork that can be leveraged as well. You can hook all this stuff up to a G Suite. Like I think it's a great idea for the org to like buy in on Claude. And so therefore, all of our like coding is bought in on Claude Code as well. so that makes a ton of sense. I love the plugin for that. But like thinking about the plugin personally, like I think I'm about to start.

exploring some more with codex. I'm not super thrilled with what Anthropic's been doing with like limits and credits, and all I'm I'm really just not stoked with the direction that they're heading. and it looks like I I've been hearing a lot of really good things about GPT 5.5, and

I don't know. I'm I'm just getting curious about what that ecosystem looks like. But I still want all my skills and rules to apply through like if I'm gonna use codecs or if I'm gonna use codecs via open code or like whatever, I still want like these skills and like these rules and things to apply. So I'm now trying to I think that's something I'm gonna have to embark on next is like how can I try to make the tool set that I use for clawed code.

also applicable in an open code or, you know, codecs or something like that as well. So that I think that'll be a really interesting challenge to figure out.

Chris Gmyr (36:09)
Yeah.

Yeah, yeah, totally. And I think the the future is more multi agent, multi service provider, multi harness, multi tool. Like it's it's just gonna be spread out so much more. because I think as companies change their direction or models or capabilities, there's gonna be

maybe a a clear distinction of okay, this is what we use Opus or Sonnet for, the anthropic suite. This is what we use maybe Gemini for. This is what we use Codecs and open API, open AI for. so I think having something that gives you all those options and ways that you can tool if it is gonna be kind of a a big future push.

TJ MIller (36:58)
Mm-hmm. Yeah, I mean, if you look at like Vercel put out skills.sh and with that, there's like a CLI installer for installing skills. And like the cool thing about that is when you install it, there's like a couple cool things. Like when you install a skill via the skills CLI, it will prompt you to like just add the skill locally or simlink it in, which is like pretty nice to then like keep everything up to date.

But it also adds like a lock file and prompts you for like all of the different, you know, AMP, open code, claud code, codec, like whatever. It asks you like all of them, which pretty much boils down to like two directories, right? Like a dot agents and like a dot claude. But it gives you the ability to like install to like both places at the same time. so I

I don't know what tool ifying that's gonna look like, but I definitely am gonna wanna figure out some way to like keep skills and rules in sync across Claude Code and Codex and Open Code or whatever.

Yeah.

Seems like that's gonna be a bit of a hurdle, but

Chris Gmyr (38:08)
Yeah. Yeah. Totally. Yeah, back to the the marketplace a little bit. I like your idea of setting up almost the org related plugins. So like you said, you could just install engineering and that includes all the sub whatever is in there, skills, agents, workflows, whatever.

TJ MIller (38:27)
Like our

bug snag MCPs and the generic engineering ones. So it's like like our century MCP is configured in that one. Yeah, and then like web would be like all the the the Laravel, the PHP, you know, skills beyond that.

Chris Gmyr (38:41)
Yep, yep, exactly. I like that. I think what you're probably gonna run into is some of these getting really bloated. And every every time that you install a plugin, it adds you know more context to your window, right? So what I'm seeing on our plugin marketplace is I have it set up a little bit differently. So I have basically we have

Mainly agents and skills and a few hooks in there. And the agents are grouped by or basically put into a group. So there's like a database group, which has Postgres, Dynamo DB and a few other ones. ⁓ there's like a infrastructure and debugging one, there's code quality, there's architect reviews. so there's basically like two or three agents per plugin name. So it'd be like plugin database or something like that, or plug in

Code quality. Then there's other ones where it's JIRA related. So all the JIRA related ⁓ plugins are in or options are in one plugin. All the PR ⁓ jobs and skills are in another plugin. So there's I don't know, you inst if you install everything, there's probably I don't know, like 26 different plugins, and all those have X amount of skills or agents attached to them.

So if you just install like everything across the board, that eats up a whole bunch of contacts right off the bat. So one thing that we did was within I built a ⁓ install script as well. So if you follow that as intended, then it'll ask you like which groups do you want to install? Do you want to install everything? We have ⁓ what's also nice about the the marketplace setup in the JSON for each of the plugins is you can have like additional keywords.

built into there. So we have required or not required, recommended keyword in there for certain ones. So you can say like I only want to install the recommended plugins. If you want anything else after that, then you can do that more manually or go through the process again and select which ones that you want. so then you can just say like I only want to install skills and that will do like all skills across like all plugins or only agents or just

TJ MIller (40:38)
Mm-hmm.

Chris Gmyr (40:54)
the PR plugin or something like that. So that keeps the context a little bit lower. So people don't have to install things that they don't want or don't know about or whatever. So might be something interesting to to think about as each of the individual plugins expand. what are the what's the context spend on that? And is it worth keeping in like the main plugin or can you do like

TJ MIller (41:06)
Mm-hmm.

Chris Gmyr (41:21)
a subset or I don't know almost like a second phase of that plugin where like this is the only like optional one. Because maybe you don't need the MCB connection all the time to this other service. So that's gonna be, you know, in a add on or like an additional plugin that's like opt-in only.

TJ MIller (41:41)
Yep. Yep. Cause I was I was messing with it a little bit yesterday and I was already running into like Claude. they added a new feature, I don't know how long ago, but basically skill bloat and like skill description bloat was becoming a problem. So they added in a setting for percentage of context that you allow your skills to be, and then it will trunc beyond that.

So I was already starting to run into cat because I think the default is like 1% or something. so I already had to I was already running into having to up the skill context budget like right off the rip. so that's already something that I'm gonna have to be looking into. the nice thing is I'm leveraging like we don't leverage agents right now. I've I've never really gotten to leveraging agents. but

I do have skills, but really what I'm banking on a lot of is rules at this point. and the nice thing about rules is those only get added to context if they access a file in your matching pattern. so that's the the nice thing is is that's where I'm heavily invested in right now is rules. And I think it's where we're gonna have to go for a little while now, just kind of like padding out the functionality around the legacy application. so like I it's just the nice thing is like that's

context on demand. but yeah.

Chris Gmyr (42:58)
Yeah, another thing that I was thinking about doing is doing a pass through all the plugins and the skills in the plugins and turning on the disable model invocation. So what that will do is basically say like, don't worry about the front matter of this. This is only going to be called manually, like a command. like infer it or anything like that. So maybe a bad example, but we have a PR dash create skill.

TJ MIller (43:19)
Yes.

Chris Gmyr (43:26)
Which will look at your branch. It'll look at if you have a pull request template. it'll see if the branch is tagged with like a Jira looking branch name, and it'll do a bunch of other stuff to basically fill out that PR template and then push it as attached to you as the assignee, and then ⁓ open it up as draft. And it will also, if it is a JIRA ticket, it'll move that to in review status.

⁓ so what I do in my process is I just call that explicitly ⁓ slash PR dash review when I am or PR dash create to actually create the PR. but I don't know if that's how other people use it, because if you just type out like, hey, can you create a PR for you know this branch? Like that should execute that skill. But if you haven't used that skill and it's out of the the buffer cache for skills in the front matter.

TJ MIller (43:56)
Mm-hmm.

Chris Gmyr (44:19)
It's not gonna work anyway. It's just Claude is gonna do their own thing. So, like what are the ones that I can kind of push out of that cache that should be invoked manually or what things definitely should be in that cache version of the skills in front matter so it it can be invoked. So I don't know. That's in my backlog somewhere. I gotta go through that, but that could be like another thing to look into as well.

TJ MIller (44:39)
Yeah.

I did do that for a handful of them. So, like my generate PRD skill, generate PR message skill,

code review skill, like those I all have is like manual invocation only. So those aren't even shown to the LLM at all. Like it's the and I and that's just like that, you know, you invoke those is slash commands. Like that that's not really for the LLM to reach for. ⁓ because those are explicit actions, right? Like I want to generate this PRD. I want you to create this PR message. so I I I did take a pass at that.

I don't know, you're kind of making me think like maybe sh I should be taking a closer look at agents as well. But I don't know, it's just it's never it's not really fit my mental model. I don't I don't know. Never d it just never caught on for me.

Chris Gmyr (45:31)
Yeah. I mean it it it depends on the company and the infra that you have set up. We have like I mentioned before, microservices mainly a similar stack across the board, but a bunch of differences here and there. So what our PR dash review skill does is does a quick grok of the branch and what it knows about the tech stack based on the readme and or the cloud md file.

TJ MIller (45:44)
Yeah.

Chris Gmyr (45:57)
And then it has a matrix table of agents to those stacks or options or whatever it found in there. So and then it ranks the amount of changes that you have in that branch and reprioritizes those agents for the review. so it'll say, like, you have a bunch of Postgres database changes. So I'm gonna prioritize the Postgres agent

High. It will always do like a architect review and a security review. and then, ⁓ there's a lot of TypeScript in here. So I'm gonna do the TypeScript agent. So those agents will go out and do their own review based on ⁓ the information and the branch. And then that main agent will aggregate and dedupe all that and put a plan together for what changes that you might want to make or improvements that you can make. And then you can just say like execute on that. so

It it pinpoints and separates the contacts more instead of creating a new session or clearing a session to then do like your quote PR review workflow. if you do that, because then you can just like offload it to all these sub agents and you can keep that main context as the the main orchestrator agent and ⁓ implementer of those changes afterwards.

TJ MIller (47:12)
Yeah, I guess that's what I just I I just workflow wise, I just clear context and it'll be like, I'll do the I'll do the thing, like we'll we'll implement the feature, and then I'll clear context and then call the code review like skill, and then have it go through that, and then I'll have typically depending on how big the review ends up being, I'll either have that instance that did the code review just continue on doing the remediation.

Or I'll clear context again and have a fresh instance do the remediation based on the review doc that it spit out.

So I guess I I I could probably turn those all into agents as well and like then have just one orchestrator for all the other subtasks and everything. Yeah, maybe something to play around with.

Chris Gmyr (47:55)
Yeah. I mean if I don't know. It sounds like with a larger, you know, application that's more consistent, at least like in the the newer version of it. maybe the agent is a little heavy handed, but maybe it could help out with some of the older stuff. or converting some of the old code or infrastructure over to the new way of doing things as you convert things over. Something to ⁓ to tinker with.

TJ MIller (48:17)
Yeah. Yep.

Yeah, for sure, man. So that note, do you want to wrap up? All right. Thank you all so much for listening to the Slightly Caffeinated podcast. Show notes, including all the links and social channels, are down below and are also available at Slightly Caffeinated.fm. If you have questions for us or have a content suggestion, go to the ask a question page on our site and we'll feature it on an upcoming episode. Thank you all so much for listening. We'll catch you next week.

Chris Gmyr (48:24)
Yeah, let's wrap it up.