
Pragmatic Talks · 2026-02-24 · 42 min
Rather than replacing human judgment, Gemini CLI serves as a context-management system that lets product managers compress hours of analytical work into minutes. Darik walks through a concrete workflow: maintaining a central Gemini.md file containing project vision, personas, business model, and decision logs; storing business process documentation in separate markdown files; and leveraging custom prompt templates (stored as .toml files in a commands directory) to systematically generate outputs like risk matrices and acceptance criteria. The demo shows how VSCode integrates file management and terminal access, allowing rapid iteration. A critical insight emerges when comparing templated vs. non-templated outputs: without structure, the model generates junior-level user stories lacking proper acceptance criteria. With templates, it produces professional-grade work. The workflow also connects to JIRA via MCP (Model Context Protocol) servers, allowing direct integration. Darik emphasizes that LLM quality depends entirely on context quality and his role becomes verification and refinement using domain expertise, not generation. This approach frees time for stakeholder interaction and strategic thinking rather than busy work.
Hosted by Pragmatic Coders, Wiktor Żołnowski. The show scores 43.0/100 on substance across its analysed episodes. See the full show profile.
Load the central project file (Gemini.md) into memory automatically with every session, then selectively add more specific context (like individual business process files) only when needed for that particular task. This prevents memory overflow while maintaining continuity.
Without a template, the model lacks structure and produces uneven output missing acceptance criteria, scenarios, and clear format. A template forces the model to follow a standardized format and fill specific fields, resulting in professional-grade work that's immediately usable by developers.
An MCP server is a protocol that allows the model to connect with external tools and services like JIRA, accessing their APIs so you can programmatically create or update issues directly from the CLI without manual copy-paste.
It compresses manual work (risk analysis, user story creation, scenario mapping) from hours to minutes, freeing you to spend the saved time verifying outputs and deepening stakeholder relationships rather than on routine documentation.
Always review and validate outputs first using your domain expertise, as models sometimes hallucinate or generate redundant scenarios. Use your experience to filter, edit, and refine before sharing with the team.
Computed from the transcript - who did the talking, and the words that came up most.
How can a Product Manager use Gemini CLI in real product work? Check out how AI can be used to manage product context, automate everyday PM tasks, and support better product decisions - without hype or overengineering. In this episode of Pragmatic Talks, Wiktor Żołnowski talks with Dariusz Mozgowoj about applying this approach in real product teams and day-to-day product work. Dariusz walks through his real workflow, showing how he uses Gemini CLI to: - manage and structure product context (vision, strategy, personas, decisions), - avoid common AI mistakes such as overloading the model with too much context, - automate repetitive PM tasks like risk analysis and user story creation,- generate user stories and acceptance criteria faster, then review them instead of writing from scratch, - integrate AI output with existing tools like Jira, - reclaim time for strategic thinking and meaningful conversations with clients and teams. This episode makes it clear that AI does not make product managers obsolete - it makes good product managers more effective when used consciously and pragmatically. Note: this is not an audio-only episode.
Transcribed and scored by The B2B Podcast Index.
Speaker A: Welcome in the next episode of Pragmatic Talks. Today with me is Darik Mosgov with whom we are going to discuss how Darik is using AI in his day to day job as a product manager. Today you will hear about automation that is speeding up the work but is also increasing the roi uh in terms of delivered value.
Speaker B: Hello everyone. That's way of work which uh we're gonna show you today. Definitely give me ahead of time. But uh, that's not the ROI I'm looking for. I'm looking for giving more value or uh, reduce the risk going deeper into the problem. I mean I'm using this time for getting closer to the client, getting closer to the problem. It pays off. Definitely.
Speaker A: This episode will be about using AI to actually increase the human to human interaction in product development. Stay with us and I hope you will enjoy this episode. AI in Product development. AI in Product Manager role. How AI could help product managers uh, like you to work with clients, to work with uh, stakeholders, to work with development team. I know that you have a bunch of things to show us today but maybe let's start with a short explanation how you are using AI in your day to day job.
Speaker B: At this moment AI in the market uh can give us a lot of opportunities. Some of them are related to uh, the fact that um, when we're working in the projects we're working with a lot of sorts of context. During the time of the project this context grew up and it's quite difficult to manage. In the head of product manager I've used the already existing software Gemini Cli which were intentionally designed to manage the context for developers. But I managed to use this software uh, to manage also the context which is the knowledge of the project and what it gives me. It gives me the speed, it gives me the chance to quickly connect the dots. So the knowledge from my side and knowledge uh, which I get from our clients or from the team, uh, and compose it into some additional piece of knowledge which give uh, a value. I can also connect with a different branch of uh, tools which also can help me speed up my work. Actually I see two main areas of improvement when I'm using this. In this way I get a lot more time for uh, thinking strategically.
Speaker A: Mhm.
Speaker B: And the second one I have an option to broader my vision of the data I possess in the project.
Speaker A: I think that we should switch into demo of how you're actually using it.
Speaker B: Sure.
Speaker A: Since picture can tell more than thousand words and the video could tell you even more. Uh, so for anyone who is Right now just listening to this podcast, I strongly recommend you to save it for later. Whenever you will have time to actually watch the video, it will be a good opportunity for you to actually see what we are talking about. Without it, I think that you may miss some context and uh, you will not get the value from this episode. Of course if you are not driving or uh, riding on a bicycle or running or whatever, you can just go to our next or previous episode and listen to them. But this episode is mainly uh, provided to you for watching, not for listening. So let's start with the demo.
Speaker B: So first of all as I previously mentioned um, I'm using the Gemini cli. Just pure Gemini CLI is the software which is like uh, console based. So managing the files, we don't have a lot of files is quite difficult. We have to jump between the terminal and going into the shell into terminal to looking for files you need. Ah so I decided to use uh, something which is called VSCode. Uh it is IDE for developers. It allows me to see the terminal and files in one place. So it's what is presenting actually on my screen at the moment. Uh I've created the fake project so I'm not uh providing the real data um because I uh don't have any permission from my clients. But it's working exactly the same. It's prepared to actually show you how uh this process looks like in real environment.
Speaker A: Mhm.
Speaker B: I have a files on the left. I will comment on this files soon. But first of all you see the terminal when I type install uh command Gemini. I will start the process of um running this Gemini cli. And you see it's already show up and it shows also that we uh doing this installation it found that um we have five MCP servers connected. But at the moment I'm already in the project. So look at these uh files. The most important file is Gemini md. And this file is like a herd of brain of our project. It contains information related to the project, like general information. Let's say this is a vision, maybe a bit of strategy kind of uh Personas we're working with, uh, maybe information about our clients, uh as well to who we communicate and how. What we also can have here you see we have like a description of our business model and what I also have maybe at the, at the end of it I put it to let's say the product decision log. So if something change or the client or the market need something from me, I put it here so the model knows that something is different at the beginning and it will bring this information when we discuss. This is
Speaker A: like a basic uh, documentation of the project,
Speaker B: like
Speaker A: all of the strategical decisions, all of the
Speaker B: uh,
Speaker A: vision of the product, personalized clients, uh, et cetera.
Speaker B: So
Speaker A: AI, the model will have an access to the context context of this product that you are
Speaker B: building. Yes. And the key is that this Gemini M MD file is loading into the memory of the model each time you start working with that. So, so when you're working on your files in this uh, project this project context is all the time there. So when you have it, and let's say we have some discovery workshop and we define something like processes and this business processes I put in a separate uh, directory and you can see here we have uh, the project dummy project which is ah, called Vitalis. It's about the software for people which would like to uh, take care of the health and health indicators in this process. When we discuss doing the workshop with our client we find couple of uh, processes, business processes which like building up all the entire business. And let's say one of these is like user onboarding. And each of this process I put in a separate file and this is additional context. When I work on Gemini cli, I'm working with Gemini uh MD context. So the project context and additional context, like the process context are those uh, processes those other files
Speaker A: uploaded to the M model memory by default? No. Or you need to ask for them directly.
Speaker B: I need to ask them. So
Speaker A: that's like a more detailed context that you are only reaching for whenever you are working in this context. So as I assume that way LLM is not losing the context, it's not uh, exceeding the capacity of its um, operational M memory.
Speaker B: I mean adding so many files that when I load at once it will overwhelm the memory of the model and then you lose the information.
Speaker A: I think this is one of the most common mistakes when people are using LLMs, using AI, both for some kind of creative work and coding, that they are providing everything what they have into the context and they are counting that the AI will figure out what is what. Like people don't understand uh, that AI has a lot of limitations especially in terms of the size of the context that it can process uh, in these uh, operational memory in the one thread that you're using for that.
Speaker B: Exactly.
Speaker A: So that way you have this general file that is always loaded and you have more specific uh, context for each discussion that you will have with this kind of model.
Speaker B: On top of that what you already said, uh, there is Also the fact that um, it allows me to combine different contexts as I want in terms of um, working in a specific case in a project. In here I can type whatever. Let's say I would like to do something with the file. Gemini have some kind of tools built in in this software and this actually allow me to write the files, read the files, ask stand prompts. But uh, I don't think it's relevant at this moment. The most important is that I can use a specific command in which speed up my work. Let's say we do something repeatedly. Let's say whatever. We have the process. This usually is like a happy path and we would like to discover the risk around the process to cover it as well in our work. Let's say to help the client to understand how difficult it is. I can show you here we can put in a special format. It's very easy. It's just have the extension toml but the uh file is like description, end prompt and this is the prompt which actually taken in account the process which I showed previously, whatever process it is and uses as an argument and when you do it it uh, will generate the. As you see, that's the example the risks of table and potential unhappy paths which are related to the process which is uh, an input. Okay, so let's try. So if I want to do this and I have this file under the um commands directory I can have some subdirectories. But this subdirectories then comes into the name of um, the tool. So when I do the slash, the slash allow me to open the context for the tools. You see there's a lot of tools that these tools are actually the tools from Gemini. Yeah but I can put the start to typing. You see the name is unhappy.
Speaker A: Mhm.
Speaker B: So let's try uh on this unhappy. As you see in these commands when we use a slash it open the dialog with uh, different uh tools which we can use. Most of these tools are provided by Gemini Cli. But whatever you add to the commands it's uh, like become a tools and you can also bring it into the context of this uh prompt. So I just need to write a context and you see this is context unhappy. And when where I'm putting now enter so it's here and then the first thing which I put after this or everything that I put after this actually it's the arguments of this and these arguments is placed inside of this unhappy TOML file.
Speaker A: Mhm.
Speaker B: So let's say that I want to change find this Unhappy for the process we discussed. Uh, so the user onboarding I need to do uh this uh markup and then the name of the file. So this is the user onboarding md. Okay. So when I press it's actually start works and taking the model and it needs uh tokens to do the stuff take its tokens and produce uh like the output. It's a chance that the model understand it that okay I will produce it and then I save it into the file. And it is also the chance that it will be like first presented to us and we will be asked to confirm it. Whatever happens is sometimes uh a bit different. We can put specific uh information in a command that you want it always
Speaker A: uh
Speaker B: put in some files. I didn't do that. But uh. Because it's not. It's not very important for me when you don't. Sometimes it's working to the file and sometimes not.
Speaker A: Mhm.
Speaker B: Okay. And you see that uh. At the moment it works. It's uh just like uh give you some very funny conventional information. Like you see this is the fantasy.
Speaker A: Mhm.
Speaker B: Okay. Something happened so we need to do it again. Something happened to the Gemini. Usually after the second time it works. Yeah. You see that what happened Already it reads the file. It's showing us. It reads the userboarding IND and reading Gemini and nd. So we know that it's in. And now we're seeing defining onboarding steps, assessing potential failure points. And now it starts to work. It takes uh, a bit but. Oh yeah. And now it's like uh. It produces 74 lines. So it's actually working like for developers showing you also when you're working on the file which already exists and you want to modify this file, you see also the difference showing uh, which line you've been adding and removing. It's a question asked that if you want to uh. Allow the ones to applying the change risk. User onboarding.
Speaker A: Mhm.
Speaker B: Uh, let's go. So
Speaker A: it's created a new file.
Speaker B: Yes.
Speaker A: With this. Uh
Speaker B: yeah. And showing and so it presenting it to us here payload.
Speaker A: Mhm.
Speaker B: But you see that obviously completed the risk analysis and generated the file. And this file show up here. I can open this file. Um and you see this is like a scenario the unhappy scenario ML verification failure and user register with email verification phase ML is delayed, goes to spam or link expires. And then we also have the risk matrix which is like um, the probability impact uh and proposal mitigation for all this risk which been then translated into the scenarios.
Speaker A: So basically you just replace uh, it uh the role of test analyst who is looking for this kind of uh pubs to cover with tests and to create the test scenarios uh or test cases like this for developers and for anyone else to test it. And of course I believe that developers now can use it for some kind of BDD or test driven development or access human development.
Speaker B: May
Speaker A: I apply the test for that?
Speaker B: Yeah, absolutely. I will show um, in a couple of minutes uh how to deliver these to developers. But one disclosure here, uh, whatever it comes out from the model I don't trust it to be sure that now at this moment I will send it to developers and they will call it and everybody are happy. We need to know that the models sometimes uh halcyonate. So the first thing after I get this information I will read it and I will reflect it from my experience, from the knowledge I have. And if I see something wrong or something which let's say worldwide scenario is already covered then I remove this and in normal piece I will show you. Maybe I can write here like to the model we have this file, you see that when I put this auth and I start to write the name of the file. You see this name of the file. So that's how I bring this information in and I said okay, I don't like this scenario number one it's already covered. Remove it from the list and it will happen. Removal strategy it sounds very dramatic. As I said it works exactly the same um because VS code and Gemini they've been designed for developers and we see that the difference which uh, was removed from uh the pile and it's already removed. I don't need to accept it if the change is too big. It sometimes asks me to uh accept it. But in this case I definitely were very clear that they won't remove it. So maybe that helps. Uh, and when we can check uh now the first scenario was email verification failure. So uh, let's check now we have scenario to ask the first connection. Okay, so we have kind of scenarios and what we can do. We can try to get this uh Gemini and the context which is already there and these scenarios and produce user stories. Yeah, why not?
Speaker A: Why not,
Speaker B: why not? Let's try to do this. I'm uh using something different that will be not a tool like unhappy, that will be the template. So I strongly recommend to use a template generally in working with LLMs. I mean structurized standardized output. So it's very helpful. I here have like the user story template. So my user story looks like the User story description and some um, kind of like acceptance criteria, maybe, maybe some scenarios, uh, given when then. And if we have some technical notes and something which is out of scope and we know that it will be filled as well. This uh, information usually comes after we enrich this data. Ah, uh, after we discuss with the team and we get some information from the team and then we can enrich the user stories with some technical notes. And maybe when we discuss this with the client as well, we see that we don't want to uh, do something and that will be out of scope. But that's the beginning. So we just have this structure. Uh, I can ask it, uh, let's say. Okay, please. You
Speaker A: see, you are very kind when communicating with AI.
Speaker B: Yes. Based on the risk user onboarding, create user stories based on the template user stories and we can find it in uh, templates here. After that write it to the risk user stories MD so I can define myself where they have the final, uh, results should length. This also takes some seconds, not hours seconds.
Speaker A: Comparing that work that you just done with this acceptance criteria to someone who would have to do this manuality, write it down, figure it out. I believe that would be a couple of hours.
Speaker B: Yeah.
Speaker A: Uh, maybe there was like a couple of scenarios. So maybe, you know, like a two hours or something like this. But still those are two hours that you just shrink into. Like a minute,
Speaker B: any minute. Yeah. Plus I mean maybe a couple of minutes. Because after that, as I previously mentioned, I need to go through and check. But this is, check this like, then I am using my experience. I'm not like a writer. I'm just using my brain to work with this and checking if everything is fine
Speaker A: much faster than anyone who would be checking, uh, also the manual work that they do.
Speaker B: Exactly, exactly. Okay, so uh, you see, uh, it also show us the payload. Uh, but we have also a new file risk user stories. We can uh, show this here. So it is like the first is the restore. As a patient, uh, uh, I want to be informed and guided when my wearable devices face to connect so that I can understand the issue, try to resolve it or find alternative way to input my data. Sounds good to me. Well,
Speaker A: that's a bit. I've seen much worse user stories written by some, uh, people who are just applying to our product owner or product manager jobs. So this one is actually quite good.
Speaker B: The LLM isn't smart. I would say it's as smart as a good context we provide. So the more context and more uh, very precise information we put in the better output from the LLM um, um, workaround will be.
Speaker A: Can we do an experiment right now? Could we ask it to actually write user stories without providing the template?
Speaker B: We can try.
Speaker A: Let's see what happens just to spot the difference. Or maybe it already has a in its memory so most probably it won't be ah, very different. But let's try it.
Speaker B: I can use the uh, Gemini tools to reset the memory and then because when I'm m asking it now to do some kind of user stories again it probably used the same thing because it's already in the context in a
Speaker A: memory in a thread that we
Speaker B: use. So uh, it's like memory reset. Mhm. Or refresh. Sorry, Refresh. Bah.
Speaker A: We just erased its brain.
Speaker B: Yeah. We now in a clean state of our memory and we can ask it again. Okay. Please. Um, I shouldn't use a piece.
Speaker A: Of course you can. I don't mind.
Speaker B: Okay. Please create best user story you can based uh for the scenario from and here this is Then write it to file temp and we see what happens here. Could be that it reached the Internet to check what that means uh because um, in standard tools it's web uh, fetching but I don't know. We'll see. I have never tried actually.
Speaker A: Regardless the results, uh pragmaticos we always want to have things standardized. So this kind of solution that you showed with nameplates for user stories uh could be very good for just you know, using the standards that we have.
Speaker B: So it seems that it doesn't work. I uh, will try again memory refresh. Create best user stories based on the uh, scenarios from Write it to file. Okay. Mhm. Uh we see uh, actually memory refresh doesn't remove everything. Oh it's something uh. I see what happened uh, because the MND already exists. Okay, let's try without it. I move it to trash
Speaker C: a few moments later.
Speaker A: So here we go.
Speaker B: It finally get there. So we see uh, this like scenario two variable connected failure. It just writes a simple user story. It doesn't provide you with the acceptance criteria. And maybe uh, the scenario it's just a simple user story. So it's patient. Uh, I want to be informed here as a user. Mhm. Because uh, it's not getting access to patient on the wearable connector phase. I want to receive the clear error message, have the option to retry, be able to. So it's actually provide a lot of information which actually can be different user stories.
Speaker A: Yeah. So yeah as you can see it's not so obvious if you are not using templates. If you are not providing a context, then those models are actually uh, generating something that is not uh, any useful. And seeing something like this, like when I mentioned before that I've seen many worst user stories written by people who amend to join us as product managers. This is the level of people who are juniors in product management. I'm not surprised that so many people are claiming that AI is not working or is uh, not good enough to actually replace anybody's work. In most cases it's not because the AI uh, is not good enough, it's because, because people are not using it properly or you don't know how to use it properly.
Speaker B: This is the tool.
Speaker A: Mhm.
Speaker B: And this tool has some limitation. And um, if one does understand the limitation and do not know how to omit this limitation or uh, do something in the way that this mutation doesn't. They are not the blockers anymore. Then it doesn't work. You have to understand what you're doing and then with your knowledge, uh, as a specialist, you, you can um, get very nice and valuable output.
Speaker A: AI can leverage your expertise, uh, the other way out.
Speaker B: Okay, so now we have the file. Maybe I will remove this dummy. Uh, user stories. But we have these user stories which being created with the template and okay, now I have it here. Uh, I would like the team. Understood. Check it. Uh, we can discuss it during the refinement process. Uh, we need to estimate it. Uh, and then maybe when we get some more information we can enrich. But first those information needs to be there to be very transparent in a place where we looking at the other.
Speaker A: We don't want to hold uh, our backlog in this kind of MD file somewhere in the browser. There are much better tools for that.
Speaker B: Yeah. So uh, we have to somehow um, move them to our tool. Uh, we're using jira,
Speaker A: so of course we can copy paste this,
Speaker B: we can copy paste. It takes a couple if let's say you have uh, them.
Speaker A: But we are a little bit more smart than that.
Speaker B: Yeah, maybe, maybe. Uh, what it allows us here in Gemini Cli, uh, it allows us to uh, define the MCP servers.
Speaker A: So what is MCP server? For those who are not familiar with AI,
Speaker B: MCP is a protocol which allows the models to connect with some tools, external services.
Speaker A: So those services usually are providing their own API or the MCP servers.
Speaker B: Yeah. And these MCP servers um, don't need to be like when you connect to this um, tool you have all the possibilities. The owner can define which um, function you can use sometimes quite open and fortunately Altasian is very open and give us a lot.
Speaker A: Yeah, so JIRA is a nice tool to use together with AI.
Speaker B: I'll agree with that. Um, maybe we can find it different uh tool which also is very um, like you know good for using the AI as well. But JIRA definitely is uh. And I've created the uh jira and this is the jira. You see what I need to know, uh, I need to know the key with GC and sometimes I need the board number if I have more than one. Of course these numbers also can be put into the context or into the command. But for this process I didn't do that. So I can show you that when I provide this information it works and but first of all let's show the people who's watching us hearing what we are talking about. The mcps I have, when you have mcps they are defined in settings. Here we have some kind of structure in JSON. Uh there will be some keys but I will change them uh after the meeting to be sure that we secure that. But when I define those uh, uh in NCP servers and there are different way to do so I can shortly describe it. So you can use the docker file. So uh, you can dockerize some uh MCPS and open this docker on your personal computer and connect it and actually um, my JIRA is working uh in this mood. You can also open uh like run the NCP from the repository repo and run it on your computer. So not like it will be like locally on your computer not in a uh dockerized part. And the third one which I am sometimes using is um n8n. In n8n there is a specific um, um node which call mcptrigger and you can add some tools to it. Ah and it provides you the URL to the NCP and you can also use it here. When you have your Nadane server and you create um the workflow with uh NCP trigger, then you can use it as well here. So yeah sometimes it's helpful so to see your ncps. Uh you see I also put the backslash so I have an access to the tools. NCP is the standard tool but you need to um, put in the comment list if you want to see this what you have there and you see that I have a couple of them actually I showed you at the beginning that when we started it started with five tools. Uh, so I have two First Emma M Email and Slack. They are from nadna, Miroboard uh, this is also very nice because we're using it often here in pragmatic code. Uh, so Miro board is uh, sent on my local uh machine. So I just run NPM run dev. For those which don't understand we just run the software from the repository room directly. And for Perplexity and Jira, uh, these two are uh, from the uh Docker and you see Perplexity ask in general native, you see the tools which are provided by this mcp. So for Perplexity we have Lettery but I don't need anymore I guess. But for Jira there's a lot of getting things from different places and creating things in different places. So it's a lot of things which you can do with Jira, the same with Miro and for slack because it's N8N MCP I only put those tools I needed. So we can extend it of course anytime we going into the uh, n8 n uh we can extend it and have more function available. Okay, so let's go to Jira because we as you remember uh, we created these user stories. Uh, we have a couple of them. I don't remember it was five, uh, without one because we start from the second. So this is four user stories. Let's create them. So to call the NCP I just need to use the same stuff as we're doing with the files. But NCP is not visible when I'm doing this mark the add I see only the files. I don't see mcps. So I need to remember the name.
Speaker A: The name,
Speaker B: yeah, my name is Jira Native, that's my name. You can put Jira or just J if you want in the setting JSON file and then now we call it. We don't need to define the tool, the function, we need to describe in human way what we want to do.
Speaker A: MCP is uh, doing this for us like it's choosing the right tool takes a great job. That's what you're describing it.
Speaker B: It happens when you're describing it not well that it jump to a different tool and uh, yeah
Speaker A: it can create a mess. Yeah so you need to be very specific when you're defining what you want from mcp.
Speaker B: Exactly. So we need to now call the mcp. I call it by the name. I have it in my uh, settings JSON
Speaker A: M
Speaker B: and so now the MCP knows which function use. I need to just describe it. I describe it like create all user stories from, from the RISC user stories in the project with key IDC and board number 32. So this number. So the key and board number can be put into the context. I didn't do that for this. To show you what's actually going in. Yeah, When I execute it, uh, the NCP calls proper my assumption Hopper tool. And using our file and defined user stories to create them in our backlog in
Speaker A: Jinjira.
Speaker B: Yes, based on the file at riskuserstories MD add also description based on the data you have in the file. Let's check what happens. So now it's reading the files and trying to process this data. It should call the NCP server. Okay, so I need to confirm we have four because we have only four scenarios. So it creates only four user stories. We see the payload which being sent into the NCP server and it informs us that it creates four user stories. Let's refresh. And here we are. And as you see, we have these four user stories, all of them with the number and we have them also as a file. We can save this information into our context. But uh, you see that um, they have also acceptance criteria and they have scenarios and the M. Same description of the user stories as we have previously in the Foil. So it automates the process. Let's say that after the uh, workshop with the client, you create the users to map with hundreds of user stories, uh, and you do the same uh, stuff as I did in uh, Gemini cli. And yeah, you would like to create the backlog to start the project with the client. It takes now minutes
Speaker A: I can imagine that we are using. We have transcription of the meeting, for example. Then we for example use the summary of the meeting and then we put this transcription as a context for that. And then we can generate the entire backlog based on the summary. What we are currently doing, we are preparing uh, the standardized notes, uh format from each meeting with a client, with stakeholders, uh, especially the initial workshop, et cetera. So based on the standardized input, we can generate even better output for LLM.
Speaker B: Exactly. But as we discussed at the beginning, I've created user stories from maybe some discussion with the client, uh, maybe after some workshop. But uh, these files need to be. These uh, user stories need to be refined. The entire team need to look at it and define uh, how to do this. Here we define at the moment what do you want to achieve? Only as I previously mentioned, we have um, this MCP I have here we have mirror
Speaker A: M.
Speaker B: Let's check if we can add the sticks, uh, to mirror so the team can work with this. Miro,
Speaker A: let's do this. Let's try to add it to the mirror and let's uh, try to, you know, uh, do some human work. Not only AI work on that.
Speaker B: Okay. Fortunately, uh, our MCP is called Miro, so I don't need to remember much of the name. So I call it the same as Jira, uh, by the name. Please, uh, add uh, the keynotes to the board based on these user stories we have.
Speaker A: Do you need to provide the name of the board or you already have it in the settings.
Speaker B: As I remember, when you connect to the uh, Miro era, you have to define uh, the board. So just always the same bad thing about the MIRA NCP is that it doesn't recognize the place on the entire board. So it put it somewhere.
Speaker A: Okay.
Speaker B: Sometimes it put it like um,
Speaker A: on the top of something
Speaker B: big stacks of the sticky notes. Miro also doesn't understand if something uh, when you're reading it, if something lying on the frame, for example. So you cannot say I have a frame with name, uh, read all the uh, data which is on the frame. It doesn't work. I find manual overcoming. You need to name, uh, let's say these sticky notes, uh, with some keyword like a tag. And let's say our project is the uh, Vitalis. So we call it Vitalis. And now when I uh, write, read me all the sticky notes which have tag Vitalis. Then it comes.
Speaker A: Oh, okay.
Speaker B: Okay. So uh, it's not perfect.
Speaker A: I'm pretty sure that pure. Sooner or later we'll figure out how to work on the frames.
Speaker B: Could be, could be. But in my opinion at the moment just the architecture of a Miro doesn't allow you to make uh, this distinguish that something lying on something. It will help a lot because sometimes you just create a frame, put the sticks there and you should think about this, uh, but it's not allowing
Speaker A: it. So if anyone from Miro is watching us,
Speaker B: please fix it.
Speaker A: Fix it or put it on your backlog
Speaker B: or explain us how to do it. Because at the moment, uh, MCP Miros actually doesn't help me with so shipping awesomeness, whatever that means.
Speaker A: This is a trick for uh, people who are impatient to make them busy.
Speaker B: Okay,
Speaker A: let's see if this works. Let's see,
Speaker B: um, the check mirror. Okay, let's find where they are. Uh, now we have uh, the um, entire thing which were in our uh, backlog, uh, put into the sticky note. Maybe it doesn't look very nice, uh, because it's not formatted well, but it's already there. I can put A couple of enters here and there and I can start meeting with the team.
Speaker A: And of course we can create our own command that will for example only provide with the user uh story title or that will. We can add this kind of spacing, formatting et cetera to that like templates or whatever for the sticky notes.
Speaker B: But it's just showing you uh, how quickly we can go from our work with the project context into some um output like user stories and we can following it to the other parties to discuss. Let's imagine that we have refinement with the team and we adding uh additional sticks. Uh let's say the uh, sticks will be like some technical items for the user story. Let's say A and we can uh, call it like here user story A. Yeah. When we do this stuff, when we finish we can tell the uh, MCQ server to read it back
Speaker A: M
Speaker B: and then we have additional information. Uh, so we can say let's uh enrich information we have based on the um, information getting from the our team for example and it works as well.
Speaker A: So basically we can tell the AI to actually read the results of our brainstorming of our refinement here in Miro and put all of the things that we discussed for our team into the user stories that are in jira. So we don't need to bring them
Speaker B: Usually I first put it into the files uh into the Gemini cli because I believe that each iteration we do we expand our context. Mhm. The more context as I said at the beginning the better for us. Of course we need to smartly manage with this context because if the file is too big it doesn't have proper sections. The uh model get crazy.
Speaker A: It just came to my mind that we can also create a command for that so we can have the process that is like a multi step process that first we update the MD file and then we update the JIRA stories and other way around.
Speaker B: Yeah we can define uh, what we want exactly mhm to be precise to uh LLM. But the challenge for the user who is using this is to think in context. If you see that your context is too big, maybe it's a time to split it by some key or maybe it's a time to compress it. Sometimes it's also when you have very long history, maybe not everything is relevant at the moment and maybe uh, all this information you have already have some um, outcome. So let's compress it to the outcome and keep only the outcome. And
Speaker A: just remember that AI models have uh, a limited context window. So uh, it will not remember all of the things that you are telling to it. It will just remember the last conversations and just a couple of files that you can add to this context window.
Speaker B: Okay, let's say um, you are my client and I would like to ask you something M About the user story I created. I can send you email also I'm not uh, going into my email copy over everything what I want. I just maybe want to use the um, my Gemini cli so my center of my command. And because as you previously saw, One of the MCPs I have in my tool is this based on Nadan email.
Speaker A: M.
Speaker B: So I can also maybe at the moment in this fake project, I doesn't have the template for a very nice structured email from our client. But uh, hopefully it's good for you just to check,
Speaker A: but right away, you know, whenever you work with clients with stakeholders, I could recommend you to rather call them than writing the email. But in case you're living in a world where emails are still the main form of communication, you can use this kind of MCP service and cli, uh for actually automatizing uh, your work and uh, sending emails or sending Slack messages as well.
Speaker B: Yeah, I can do that. But uh, at this moment uh, my Slack message is uh, to my internal team. So it's not uh, related to this fake um, project. But uh, normally during the uh, daily work, even yesterday giving, I've created some bunch of user stories for today's refinement and I sent all these user stories with numbers to the team so they at the morning before they start work, they know at which numbers on each user story they need to look before the refinement start. I have also here the Perplexity Ask. So this is the stuff which can also help the product managers or product managers do some research. M. I can do research. Ah, let's say I have some kind of new feature to implement and maybe I have in my uh, Gemini MD defined some um, competitors. So I can ask uh, prepared CT from here. Here I have the context of my new feature which we discussed. Good for the business. Let's check how it works and what our competitors have in the same context.
Speaker A: Awesome.
Speaker B: And after a couple of minutes we got some kind of document which uh, summarized all this information so helping us to like um, make a decision.
Speaker A: Okay, so I think that we shown enough for today. I believe that many people are right now thinking, okay, uh, that looks a little bit like a magic. So where someone could learn how to work that way? What are the learning Sources for.
Speaker B: Okay,
Speaker A: it's gonna. Stuff.
Speaker B: So I would say you need to read uh, between the lines because what I based on uh, is uh, only the Gemini CLI documentation. Actually everything is there.
Speaker A: One thing is that reading documentation, like with the manual. And the second thing is uh, you need to figure out your own processes. Like people want to work like this. They need to figure out how they are working, what is something that they are repeating every day. And they need to create their own commands, uh, their own templates for this kind of stuff. And I'm pretty sure that uh, someone who has already uh, standardized uh, their work, uh, one way or another, they will not have a problem with just learning another tool and adding this tool on the top of the standardization and just automatize a lot of things and speed up with their development. But if someone is working in a very chaotic way, uh, they may struggle a lot with using AI. When you're automating chaos, you just have a lot of.
Speaker B: Yeah, that's true. I saw other people trying different uh, stuff I'm using here. Gymnast cli. But uh, I also recognize uh, some uh, people abroad which are using cloud code do the same thing, actually work the same.
Speaker A: That's not the only tool you can use for
Speaker B: that. Absolutely. What is scary for people, um, it's a lot of work which maybe need to be um, included before this tool on this process, uh, pay off. For me it takes a couple of uh, weeks maybe uh, doing stuff after work. But uh, my assumption is that uh, when, let's say I am, I would try to explain someone who have a bit of technical skills. You don't need to be a uh, developer. You don't need to actually understand the code uh, to start working with this. It looks scary but with uh, someone who can guide you after 2, 3 hours you can start using it and then it uh, bringing more and more value with the time.
Speaker A: Yeah. And I think that for the product managers who will start using tools like Visual Studio, uh, code, uh, or if they will start using console commands, et cetera, they will better understand if they never did it in the past, they will better understand how developers work. And that may also help in the communication and in being efficient in this role. Okay. So of course if you have any comments, if you have any questions, don't hesitate to put them into the comments under these episodes on YouTube or wherever else you will see them. And let us know if you would like to see maybe some more detailed workshop or webinar where we'll show you how to step by step configure your own product or some dummy product, uh, and using cli step by step explained, uh, so you can use it, uh, on your own or just let us know if there is any other topic around using AI in our day to day job that we can share with you that might be interesting for you. So thank you very much and don't forget to subscribe to our channel.
Other episodes covering the same guests and topics, from across The B2B Podcast Index.