<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Liatmoss</title>
    <description>The latest articles on DEV Community by Liatmoss (@liatmoss).</description>
    <link>https://dev.to/liatmoss</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F482378%2Fc52832a8-6218-4497-b3c6-c177b38bf093.jpeg</url>
      <title>DEV Community: Liatmoss</title>
      <link>https://dev.to/liatmoss</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/liatmoss"/>
    <language>en</language>
    <item>
      <title>From Unknown to Understood: Navigating Codebases with GitHub Copilot</title>
      <dc:creator>Liatmoss</dc:creator>
      <pubDate>Thu, 09 Apr 2026 11:17:42 +0000</pubDate>
      <link>https://dev.to/liatmoss/from-unknown-to-understood-navigating-codebases-with-github-copilot-21dc</link>
      <guid>https://dev.to/liatmoss/from-unknown-to-understood-navigating-codebases-with-github-copilot-21dc</guid>
      <description>&lt;p&gt;As an engineer, the nature of the job means that we are moving teams, switching to new products or changing jobs with some frequency. Even if we have been working on the same feature for years, it's impossible for one person to keep track of everything in a particular codebase. Understanding how everything fits together can be slow, error-prone, and frustrating, especially under time pressure. &lt;/p&gt;

&lt;p&gt;Rather than treating AI as a code generator, I reframed it as an investigative partner, one that can trace execution paths, correlate logic across file structures, and surface insights that would otherwise take hours or days to uncover.&lt;/p&gt;




&lt;p&gt;As AI coding tools evolve, it is important as engineers that we are able to keep up with the latest trends while also maintaining our productivity.&lt;br&gt;
I have found it quite challenging to reframe my thinking that while it may take me all of today to get a better understanding of this particular tool, tomorrow I will be more productive for it. &lt;/p&gt;

&lt;p&gt;And most of the time it's actually much faster to pick up then I expected it would be!&lt;/p&gt;

&lt;p&gt;In my current team, we are working within a large codebase with code that was written by previous team members who had different "best practices" to what we currently use. Looking through the code as part of investigation or discovery was painful and took days or sometimes weeks. &lt;/p&gt;

&lt;p&gt;Given that none of us wrote this code, or can possibly be across all of it, I created a pathway to help the team become more efficient in navigating through the code base. With the help of the steps below, we now have a structured and efficient way to conduct investigations and discoveries which save us time and effort allowing us to spend time building new features and contributing more to the code. &lt;/p&gt;
&lt;h3&gt;
  
  
  Step One:
&lt;/h3&gt;

&lt;p&gt;The first step I took was to use the &lt;code&gt;Plan&lt;/code&gt; agent built into Github Copilot to help with in depth investigations. &lt;br&gt;
I wrote out a detailed prompt, copying and pasting details from the Jira ticket and had Copilot create a markdown doc with the investigation findings&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I want your help to assist in an investigation. Explore the codebase and 
services based on the context given from the Jira ticket. 
If you are not sure on the scope or you need clarification, 
use your intuition and document assumptions clearly. 
Research based on these assumptions and if there are multiple assumptions, 
explore and compare. 
Create diagrams where required to explain the flow of the code 
and write in an easy to read and understand format. 

---
Context:
- ..
- ..

---
Requirements:
- ..
- ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step Two:
&lt;/h3&gt;

&lt;p&gt;While this provided some great context, it was stuck in my editor or I had to manually copy it over to wherever I wanted the investigation saved. This is where I introduced MCPs to my investigations. &lt;br&gt;
I added the Atlassian MCP server to my IDE which gave me the option to send the document either to a confluence page or to the linked Jira ticket. &lt;/p&gt;

&lt;p&gt;This was really helpful in that I could assess the investigation in the .md file, confirm that it answered the requirement that I had set out and then switch to &lt;code&gt;Agent&lt;/code&gt; mode and ask Copilot to submit the investigation to Atlassian in whatever format I needed it. &lt;/p&gt;
&lt;h3&gt;
  
  
  Step Three:
&lt;/h3&gt;

&lt;p&gt;This worked really well for me as I was learning more about the tooling but it was quite inefficient as I had to switch between &lt;code&gt;Plan&lt;/code&gt; mode to create the investigation and &lt;code&gt;Agent&lt;/code&gt; mode to make any changes or to send to Atlassian. &lt;/p&gt;

&lt;p&gt;The final iteration of my Investigator copilot was to create my first custom agent &lt;code&gt;Super-Investigator&lt;/code&gt; and give the agent the best parts of both the &lt;code&gt;Plan&lt;/code&gt; and &lt;code&gt;Agent&lt;/code&gt; built in tools. &lt;/p&gt;

&lt;p&gt;The purpose of the &lt;code&gt;Super-Investigator&lt;/code&gt; is to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scans files, code and dependencies in the selected codebase&lt;/li&gt;
&lt;li&gt;Investigate the details provided either from the Jira ticket or the specific prompt&lt;/li&gt;
&lt;li&gt;Document and diagram relevant findings&lt;/li&gt;
&lt;li&gt;Standardise how we view documentation keeping a consistent format between users and features&lt;/li&gt;
&lt;li&gt;Create a confluence page with the full investigation&lt;/li&gt;
&lt;li&gt;If a Jira ticket was provided, summarise all findings and add a comment to the ticket along with a link to the new confluence page&lt;/li&gt;
&lt;li&gt;Collates all the investigation documentation in one place where it's easy to find based on Jira ticket reference&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  What Super-Investigator Produced:
&lt;/h4&gt;

&lt;p&gt;With a minimal prompt of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use the details provided in the Jira ticket [JiraLink]

Context:
- ..
- ..

---
Requirements:
- ..
- ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;Super-Investigator&lt;/code&gt; was able to iterate through the code searching for key words and phrases from the ticket. The agent identified the process that the specified field flows through the system, documented and diagrammed the flow before giving recommendations of what could be simplified. &lt;/p&gt;

&lt;p&gt;Once the investigation was completed, &lt;code&gt;Super-Investigator&lt;/code&gt; created a confluence page in the designated spot using the Jira ticket number as a reference and included a summary of the investigation as a comment on the ticket. &lt;/p&gt;

&lt;p&gt;This process, which manually would have taken days, was completed in approximately 10 minute including a manual check by me to ensure the information was correct (which it was). &lt;/p&gt;




&lt;h2&gt;
  
  
  Findings:
&lt;/h2&gt;

&lt;p&gt;This process took me about two weeks to iterate through and until the next round of tools are released, I feel like I'm in a great place now to investigate and gather information from my codebase. &lt;/p&gt;

&lt;p&gt;The &lt;code&gt;Super-Investigator&lt;/code&gt; custom agent I created is able to look through the coded and provide a detailed investigation much faster than using the built in &lt;code&gt;Plan&lt;/code&gt; agent as it stores more relevant data in the agent file and I need to provide less context in my prompt. The outcome is also more accurate than what I was originally getting back. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Super-Investigator&lt;/code&gt; is my first custom agent and I'm sure it'll get smarter as I start using it more and sharing my findings with the rest of the team. I'm excited to see what superpowers it's able to pick up next.&lt;/p&gt;




&lt;p&gt;Creating the &lt;code&gt;Super-Investigator&lt;/code&gt; was helpful in this particular situation, but not every problem needs a custom agent. What we need to look at for the future, is knowing when to create and when to utilise existing or built-in tools&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
