<?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: neitherGalax</title>
    <description>The latest articles on DEV Community by neitherGalax (@neithergalax).</description>
    <link>https://dev.to/neithergalax</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3936929%2F251db066-c66f-405c-aafe-019e9dbc9862.png</url>
      <title>DEV Community: neitherGalax</title>
      <link>https://dev.to/neithergalax</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/neithergalax"/>
    <language>en</language>
    <item>
      <title>I Contributed To a TypeScript Project Without Being a TS Dev</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Wed, 29 Jul 2026 07:46:31 +0000</pubDate>
      <link>https://dev.to/neithergalax/i-contributed-to-a-typescript-project-without-being-a-ts-dev-428k</link>
      <guid>https://dev.to/neithergalax/i-contributed-to-a-typescript-project-without-being-a-ts-dev-428k</guid>
      <description>&lt;p&gt;I have contributed to open source projects before, mostly in Python and in environments and languages I am familiar with.&lt;/p&gt;

&lt;p&gt;This time was different.&lt;/p&gt;

&lt;p&gt;The repository was written in &lt;strong&gt;TypeScript&lt;/strong&gt;, a language I had only limited experience with. I could understand the general structure, follow the logic, and get a rough picture of how things worked—but I was definitely not a TypeScript developer.&lt;/p&gt;

&lt;p&gt;That made this contribution interesting.&lt;/p&gt;

&lt;p&gt;Could I still make a meaningful contribution to a project when I did not fully know the language?&lt;/p&gt;

&lt;h2&gt;
  
  
  It started with a small bug, not a big feature
&lt;/h2&gt;

&lt;p&gt;The reason I looked into this repository was actually pretty simple.&lt;/p&gt;

&lt;p&gt;I noticed a small bug in a typing animation generator project. The generated animation was not printing as smoothly as expected, and I thought it would be a nice improvement to fix that experience.&lt;/p&gt;

&lt;p&gt;It was not a major architectural change or a large feature request.&lt;/p&gt;

&lt;p&gt;It was just a small issue that bothered me as a user.&lt;/p&gt;

&lt;p&gt;That is one of the things I enjoy about open source: sometimes a contribution starts from a simple thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Could this work a little better?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I opened an issue, described the problem, and shared my thoughts.&lt;/p&gt;

&lt;p&gt;I expected the discussion to stay at the issue level.&lt;/p&gt;

&lt;p&gt;Instead, the maintainer asked:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Would you like to fix this issue?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;My reaction was simple:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Why not?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So I started working on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning a new codebase with AI as a companion
&lt;/h2&gt;

&lt;p&gt;I used Codex throughout the process.&lt;/p&gt;

&lt;p&gt;But the goal was not to ask AI to generate code and blindly submit it.&lt;/p&gt;

&lt;p&gt;I used it as a learning partner:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding unfamiliar TypeScript patterns&lt;/li&gt;
&lt;li&gt;Exploring the repository structure&lt;/li&gt;
&lt;li&gt;Discussing possible implementation approaches&lt;/li&gt;
&lt;li&gt;Reviewing my own assumptions&lt;/li&gt;
&lt;li&gt;Helping translate my existing engineering knowledge into a new ecosystem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI helped reduce the friction of entering an unfamiliar codebase, but I still needed to understand the problem, make decisions, and validate the final implementation.&lt;/p&gt;

&lt;p&gt;The contribution was not:&lt;/p&gt;

&lt;p&gt;"I know TypeScript now."&lt;/p&gt;

&lt;p&gt;It was:&lt;/p&gt;

&lt;p&gt;"I understand this problem well enough to improve this project."&lt;/p&gt;

&lt;h2&gt;
  
  
  When AI reviewers disagreed with my implementation
&lt;/h2&gt;

&lt;p&gt;After submitting the PR, I received feedback from several AI-powered code reviewers.&lt;/p&gt;

&lt;p&gt;One suggestion caught my attention. The checker recommended changing my implementation slightly.&lt;/p&gt;

&lt;p&gt;At first glance, the suggestion looked reasonable.&lt;/p&gt;

&lt;p&gt;But instead of immediately accepting it, I investigated.&lt;/p&gt;

&lt;p&gt;I discussed the feedback with Codex, reviewed the surrounding code, checked the existing tests, and looked deeper into the design intention behind the change.&lt;/p&gt;

&lt;p&gt;After that investigation, I decided not to make the suggested change.&lt;/p&gt;

&lt;p&gt;I explained my reasoning in the PR:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why the original implementation matched the existing project structure&lt;/li&gt;
&lt;li&gt;Why the suggested change was not necessary&lt;/li&gt;
&lt;li&gt;How the tests supported the current approach&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was a small but meaningful moment.&lt;/p&gt;

&lt;p&gt;AI review is valuable, but it is still feedback—not an automatic decision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The responsibility of engineering judgment remains with the contributor.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The result surprised me
&lt;/h2&gt;

&lt;p&gt;Eventually, the AI review passed, the maintainer approved my original implementation, and the PR was merged.&lt;/p&gt;

&lt;p&gt;The interesting part was not that AI wrote code for me.&lt;/p&gt;

&lt;p&gt;The interesting part was that AI helped me participate in a project where I previously would have hesitated because of the language barrier.&lt;/p&gt;

&lt;p&gt;This experience also changed how I viewed TypeScript.&lt;/p&gt;

&lt;p&gt;Instead of seeing it as an unfamiliar language that was "not mine," &lt;strong&gt;I became more interested in learning it further.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes the best way to learn a technology is not through tutorials.&lt;/p&gt;

&lt;p&gt;Sometimes it is by trying to contribute something meaningful with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open source contribution is evolving
&lt;/h2&gt;

&lt;p&gt;Traditionally, contributing to a project often felt like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I need to already know this technology before I can help."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But that barrier is starting to change.&lt;/p&gt;

&lt;p&gt;The important skills are becoming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding problems&lt;/li&gt;
&lt;li&gt;Reading unfamiliar systems&lt;/li&gt;
&lt;li&gt;Asking good questions&lt;/li&gt;
&lt;li&gt;Validating ideas&lt;/li&gt;
&lt;li&gt;Communicating clearly with maintainers&lt;/li&gt;
&lt;li&gt;Knowing when to trust or challenge suggestions—including AI suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fundamentals of engineering have not changed.&lt;/p&gt;

&lt;p&gt;We still need curiosity, judgment, and the ability to adapt.&lt;/p&gt;

&lt;p&gt;But the tools available to us have changed.&lt;/p&gt;

&lt;p&gt;Maybe the future open source contributor is not someone who knows every language.&lt;/p&gt;

&lt;p&gt;Maybe it is someone who can continuously learn, collaborate, and contribute—even when stepping into unfamiliar territory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Have you ever contributed to a project outside your main programming language or comfort zone?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Transparency Note: I used AI as an editor—not as the author. For this article, it helped refine the structure and improve the English grammar. The technical content, experiments, opinions, and conclusions are my own and were reviewed by me before publishing.&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>opensource</category>
      <category>devjournal</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>How Will We Become Open Source Contributors In an AI-Assisted World? -The OSS Toolkit</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Fri, 17 Jul 2026 20:53:00 +0000</pubDate>
      <link>https://dev.to/neithergalax/how-will-we-become-open-source-contributors-in-an-ai-assisted-world-the-oss-toolkit-1m01</link>
      <guid>https://dev.to/neithergalax/how-will-we-become-open-source-contributors-in-an-ai-assisted-world-the-oss-toolkit-1m01</guid>
      <description>&lt;p&gt;Open source contribution has never been just about writing code.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As AI changes how we build software, how will contribution change too?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've been thinking about this question a lot recently. The pull request I opened to add AI-assisted contribution guidance to &lt;a href="https://opensource.guide/" rel="noopener noreferrer"&gt;GitHub's open source guides&lt;/a&gt; was &lt;strong&gt;recently merged&lt;/strong&gt;😆, and around the same time, I was building my own OSS Contribution Toolkit on GitHub.&lt;/p&gt;

&lt;p&gt;Both experiences made me reflect on how quickly open source contribution is evolving.&lt;/p&gt;

&lt;h2&gt;
  
  
  My First Open Source Contribution Experience
&lt;/h2&gt;

&lt;p&gt;When I first started exploring open source, I often felt intimidated by the contribution process.&lt;/p&gt;

&lt;p&gt;The challenge wasn't always writing the code. It was understanding how each project worked.&lt;/p&gt;

&lt;p&gt;Every repository seemed to have its own workflows, expectations, and unwritten rules. On top of that, I had a bit of &lt;/p&gt;

&lt;h3&gt;
  
  
  Git Anxiety
&lt;/h3&gt;

&lt;h4&gt;
  
  
  the fear of making a mistake with branches, commits, or pull requests in someone else's project.
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmnxd54pkztba32nu2rq8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmnxd54pkztba32nu2rq8.gif" alt="Awkward Git Pull" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even today, that feeling hasn't completely disappeared. Every open source project is different, and there's always a learning curve before making a meaningful contribution.&lt;/p&gt;

&lt;p&gt;Looking back, I realized that contributing to open source has never been just about writing code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Current State of Open Source Contribution
&lt;/h2&gt;

&lt;p&gt;As I contributed to more projects, I realized this wasn't unique to my experience.&lt;/p&gt;

&lt;p&gt;Open source projects naturally evolve their own contribution workflows over time. Guidance is often spread across &lt;code&gt;README&lt;/code&gt; files, &lt;code&gt;CONTRIBUTING&lt;/code&gt; guides, issue and pull request templates, GitHub Actions, and other automation tools. These expectations continue to evolve as projects grow and maintainers refine their processes.&lt;/p&gt;

&lt;p&gt;As a result, every project has its own conventions and contribution patterns. &lt;/p&gt;

&lt;p&gt;For contributors—especially those just getting started—understanding the contribution process can sometimes take more effort than understanding the code itself.&lt;/p&gt;

&lt;p&gt;In many ways, contributing to open source is about learning the project's context before writing the first line of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built an OSS Contribution Toolkit
&lt;/h2&gt;

&lt;p&gt;This realization motivated me to build an &lt;a href="https://github.com/yuka-with-data/oss-contribution-toolkit" rel="noopener noreferrer"&gt;&lt;em&gt;OSS Contribution Toolkit&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace project-specific documentation or workflows. Every open source project is unique and diverse, and contributors should always follow each project's own guidelines.&lt;/p&gt;

&lt;p&gt;Instead, I wanted to collect common contribution patterns, workflows, and lessons learned from real-world contributions into a practical resource.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My hope is that contributors can spend less time figuring out &lt;em&gt;how&lt;/em&gt; to contribute and more time making meaningful contributions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Like open source itself, this toolkit will continue to evolve. As projects adopt new practices and AI-assisted workflows become more common, I plan to keep it updated to reflect how open source contribution continues to change.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ioosdbfe1g2b41z36p7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ioosdbfe1g2b41z36p7.gif" alt="it's open source" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;As AI-assisted development continues to evolve, I can't help but wonder how open source contribution will evolve alongside it.&lt;/p&gt;

&lt;p&gt;Today, AI can already help us write code, explain unfamiliar repositories, generate tests, draft documentations, and even create pull requests.&lt;/p&gt;

&lt;p&gt;Perhaps the next step isn't just helping us write better code, but helping us become &lt;strong&gt;better contributors&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a project's context&lt;/li&gt;
&lt;li&gt;workflows&lt;/li&gt;
&lt;li&gt;collaboration patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;will likely remain an essential part of open source.&lt;/p&gt;

&lt;p&gt;The tools may change, but meaningful contribution is still about working effectively with both the code and community of developers.&lt;/p&gt;

&lt;p&gt;I am excited to see where open source goes next, and I hope this toolkit can evolve alongside it.&lt;/p&gt;

&lt;p&gt;Now I'm curious—&lt;strong&gt;What do you think open source contribution will look like in the next few years?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗&lt;a href="https://github.com/yuka-with-data/oss-contribution-toolkit" rel="noopener noreferrer"&gt;OSS Contribution Toolkit Repo&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Transparency Note:&lt;/strong&gt; I used AI as an editor—not as the author. For this article, it helped refine the structure and improve the English grammar. The technical content, experiments, opinions, and conclusions are my own and were reviewed by me before publishing.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>ai</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>I Rolled Back My MCP Skills Experiment. Here's What I Learned</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Wed, 08 Jul 2026 19:23:15 +0000</pubDate>
      <link>https://dev.to/neithergalax/i-rolled-back-my-mcp-skills-experiment-heres-what-i-learned-gje</link>
      <guid>https://dev.to/neithergalax/i-rolled-back-my-mcp-skills-experiment-heres-what-i-learned-gje</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;TL;DR&lt;br&gt;
I introduced a SKILL layer while improving fare extraction in a MCP-based transit agent. After that, the agent stopped reliably using the MCP tool and started favoring web search, breaking real-time accuracy. I rolled back to a stable baseline, reintroduced SKILL more carefully, and restored MCP tool usage. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://dev.to/neithergalax/from-prompt-engineering-to-mcp-skills-what-rebuilding-my-tokyo-transit-agent-taught-me-about-ai-2p59"&gt;After the last post&lt;/a&gt;, the system felt stable.&lt;/p&gt;

&lt;p&gt;The MCP-based transit agent was working. Fare retrieval was consistent, routes were predictable, and tool calls behaved the way I expected. It felt like I had finally reached a baseline I could build on.&lt;/p&gt;

&lt;p&gt;Then I started iterating again.&lt;/p&gt;

&lt;p&gt;The goal was still narrow. I was trying to improve fare extraction for more complex routes. Before introducing any new abstraction, I actually modified the MCP tool itself. I adjusted parts of the parsing logic to better handle complex route structures.&lt;/p&gt;

&lt;p&gt;That change alone did not break anything immediately, but it shifted the foundation slightly.&lt;/p&gt;

&lt;p&gt;After that, I introduced a SKILL layer to structure how the agent should use MCP tools. At the time, it felt like a logical next step. The idea was to make tool usage more consistent and less dependent on implicit behavior from the agent. &lt;/p&gt;

&lt;p&gt;Nothing broke immediately. The system still ran, responses still came back, and at a glance everything looked fine.&lt;/p&gt;

&lt;p&gt;But I had effectively changed two layers that depend on each other without fully understanding how they would interact.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Failure Signal (What Broke)
&lt;/h2&gt;

&lt;p&gt;The first sign was not an error.&lt;/p&gt;

&lt;p&gt;It was a shift in where answers were coming from.&lt;/p&gt;

&lt;p&gt;The agent started relying on backup web search instead of the MCP transit tool. This was not limited to fare extraction. Even for basic transit queries, the MCP tool was no longer being used, and the responses were coming from general web-based results instead of real-time transit data.&lt;/p&gt;

&lt;p&gt;I tried to correct it at the SKILL layer.&lt;/p&gt;

&lt;p&gt;I adjusted the instructions, made the tool usage more explicit, and expected the behavior to shift back. But the pattern stayed the same. The agent continued to avoid the MCP tool, even when the intent clearly required real-time transit information.&lt;/p&gt;

&lt;p&gt;That is when it became obvious that the output was no longer grounded in the system I built. It was producing responses, but not based on the real-time transit pipeline anymore.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Point of Uncertainty (And My Frustration)
&lt;/h2&gt;

&lt;p&gt;At this point, I did not know which layer was responsible.&lt;/p&gt;

&lt;p&gt;The MCP tool still worked when called directly. The SKILL layer still looked correct in isolation. Even the parsing changes I had made earlier did not clearly explain the behavior I was seeing.&lt;/p&gt;

&lt;p&gt;But the system behavior told a different story.&lt;/p&gt;

&lt;p&gt;The agent consistently avoided the MCP tool, and even adjustments in the SKILL instructions did not change that. It kept producing answers that were not grounded in real-time transit data.&lt;/p&gt;

&lt;p&gt;It felt less like a single bug and more like a breakdown in coordination between layers that were supposed to work together.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Rollback and What Changed
&lt;/h2&gt;

&lt;p&gt;At this point, I stopped trying to patch it.&lt;/p&gt;

&lt;p&gt;Nothing I changed was bringing the MCP tool back in consistent use anymore. The agent was still bypassing it, and the output was still not grounded in real-time transit data. The SKILL layer had not improved control, and it made the behavior harder to reason about.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, I rolled everything back to &lt;code&gt;v0.1.1&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That meant returning to the simpler parsing logic in the MCP tool and removing the expanded SKILL-driven behavior. I wanted a baseline where I already knew the system behaved correctly.&lt;/p&gt;

&lt;p&gt;Then, I reintroduced SKILL, but only in a minimal form, closer to the original intent rather than an orchestration layer that tried to do too much.&lt;/p&gt;

&lt;p&gt;After testing again, the behavior stabilized.&lt;/p&gt;

&lt;p&gt;The agent started using the MCP tool reliably again. Fare retrieval worked. Even some complex routing cases began working better than before.&lt;/p&gt;

&lt;p&gt;It is not fully perfect. There are still edge cases that break. But compared to everything before this point, it is in a much more stable state.&lt;/p&gt;

&lt;p&gt;My working hypothesis is that the regression was not in the MCP server itself, but somewhere in the interaction between the SKILL layer, tool selection, and my parsing changes.&lt;/p&gt;

&lt;p&gt;This is still something I am iterating on.&lt;/p&gt;

&lt;p&gt;What I learned from this round is that SKILL only behaves well when it stays close to orchestration. Once it starts influencing tool selection too strongly, it becomes harder to predict how the agent will actually behave. &lt;/p&gt;

&lt;p&gt;This is the version I ended up tagging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Insight
&lt;/h2&gt;

&lt;p&gt;I think the issue was not the MCP tool itself. It was how additional layers influenced when it got used. SKILL is not a system prompt replacement, but an orchestration layer that can unintentionally affect tool selection. In my case, that interaction changed the agent's routing behavior in subtle ways.&lt;/p&gt;

&lt;p&gt;Rolling back restored a simpler, more predictable decision path, which is why the system stabilized again. &lt;/p&gt;

&lt;h3&gt;
  
  
  For More Info About This Project
&lt;/h3&gt;

&lt;p&gt;🔗&lt;a href="https://dev.to/neithergalax/tokyo-transit-how-mcp-helped-me-fix-a-broken-multi-agent-system-cpe"&gt;GitHub Finish-Up-A-Thon Challenge post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗&lt;a href="https://github.com/yuka-with-data/tokyo-transportation-mcp-server" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Transparency Note: I used AI as an editor, not as the author. For this article, it helped refine the structure and improve the English grammar. The technical content, experiments, opinions, and conclusions are my own and were reviewed by me before publishing.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>devjournal</category>
      <category>agentskills</category>
    </item>
    <item>
      <title>🦩OS June Recap: Reviewing PRs was my biggest milestone</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Tue, 30 Jun 2026 23:58:01 +0000</pubDate>
      <link>https://dev.to/neithergalax/os-june-recap-reviewing-prs-was-my-biggest-milestone-3jh</link>
      <guid>https://dev.to/neithergalax/os-june-recap-reviewing-prs-was-my-biggest-milestone-3jh</guid>
      <description>&lt;p&gt;June was not about making the most contributions -- it was about becoming a better collaborator.&lt;/p&gt;

&lt;h3&gt;
  
  
  This month I had:
&lt;/h3&gt;

&lt;p&gt;✅ 1 PR merged&lt;br&gt;
🔄 1 PR still open&lt;br&gt;
👀 3 PR reviews completed&lt;br&gt;
🐞 1 issue opened&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ssos5b6m0vnyrmwbeoe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ssos5b6m0vnyrmwbeoe.png" alt="My GitHub Contribution Graph" width="798" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I am making this graph all green...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Biggest Learning
&lt;/h2&gt;

&lt;p&gt;The biggest milestone wasn't writing code. It was reviewing pull requests. &lt;br&gt;
One review led the author to update their PR based on my feedback. That experience taught me that open source isn't just about contributing code; it's also about helping improve someone else's work through discussion and constructive feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working Alongside AI Reviewers
&lt;/h2&gt;

&lt;p&gt;I also had an interesting experience interacting with automated reviewers like Vercel Bot and Copilot. Rather than accepting every suggestion, I tested them, evaluated the trade-offs, and explained why I chose a different approach. It was a good reminder that AI can assist reviews, but engineering judgement still matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;My biggest challenge is still finding a larger project that I can consistently contribute to over the long term. That's my main goal for July, alongside publishing my OSS Contribution Toolkit repo and making my CaaS project usable for others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/neithergalax/one-commit-at-a-time-my-open-source-journey-2hdo"&gt;Small, consistent steps continue to move the journey forward. &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What was your biggest open source learning in June?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Transparency Note: I used AI as an editor—not as the author. For this article, it helped refine the structure and improve the English grammar. The technical content, experiments, opinions, and conclusions are my own and were reviewed by me before publishing.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>devjournal</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Your README Is More Than Documentation</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Sun, 28 Jun 2026 23:45:31 +0000</pubDate>
      <link>https://dev.to/neithergalax/your-readme-is-more-than-documentation-578m</link>
      <guid>https://dev.to/neithergalax/your-readme-is-more-than-documentation-578m</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;TL;DR: Your &lt;code&gt;README&lt;/code&gt; isn't just documentation. It's your project's first user experience. A clear &lt;code&gt;README&lt;/code&gt; helps people understand, trust, and start using your project faster.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Most open source projects don't fail because of bad code.
&lt;/h3&gt;

&lt;p&gt;A few years ago, I thought a good project would naturally attract users if the code was solid enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  I was wrong.
&lt;/h2&gt;

&lt;p&gt;One of the turning points for me came while contributing to an open-source Python-based project. The project itself was genuinely impressive, with a well-designed codebase and useful API functionality. But when I looked at the repo, I noticed it lacked even a basic &lt;code&gt;README&lt;/code&gt; that clearly explained what the project did or how to get started.&lt;/p&gt;

&lt;p&gt;I ended up contributing suggestions and improvements to help make the &lt;code&gt;README&lt;/code&gt; more welcoming and easier for newcomers to understand. That experience made me realize something: even great software can be overlooked if people don't immediately understand its value.&lt;/p&gt;

&lt;p&gt;I've seen polished repos go unused, while simpler projects quickly gained traction. The difference wasn't always the code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It was the &lt;code&gt;README&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before anyone reviews your project, opens an issue, or installs your project, they make a decision: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is this worth my time?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That decision often happens within seconds of landing on a repo.&lt;/p&gt;

&lt;p&gt;Most visitors won't read every section. They scan. They look for signals. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What problem does this solve? &lt;br&gt;
Can I trust it?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A &lt;code&gt;README&lt;/code&gt; isn't just documentation. It's the first experience someone has with your project.&lt;/p&gt;

&lt;p&gt;And sometimes, it's the reason they stay, or leave.&lt;/p&gt;

&lt;h2&gt;
  
  
  A &lt;code&gt;README&lt;/code&gt; Is a Decision Layer
&lt;/h2&gt;

&lt;p&gt;For a long time, I viewed &lt;code&gt;README&lt;/code&gt;s as documentation.&lt;/p&gt;

&lt;p&gt;A place to explain features, installation steps, and technical details.&lt;/p&gt;

&lt;p&gt;But after contributing to more open-source projects, I started seeing them differently. &lt;/p&gt;

&lt;p&gt;People visit repositories with different goals.&lt;/p&gt;

&lt;p&gt;Some want to solve a problem. Some want to contribute. Others are simply exploring whether a project is worth trying.&lt;/p&gt;

&lt;p&gt;But regardless of why they arrive, they are usually looking for the same thing first:&lt;/p&gt;

&lt;h3&gt;
  
  
  Clarity.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;What does this project do?&lt;br&gt;
Is it actively maintained?&lt;br&gt;
Can I get started without digging through the source code?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A good &lt;code&gt;README&lt;/code&gt; answers those questions quickly and helps visitors decide what they can do next.&lt;/p&gt;

&lt;p&gt;That's why I think the best &lt;code&gt;README&lt;/code&gt;s are not reference materials. They are decision-making aids.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three Mental Shifts That Changed How I Write &lt;code&gt;README&lt;/code&gt;s
&lt;/h2&gt;

&lt;p&gt;Over time, I stopped thinking about &lt;code&gt;README&lt;/code&gt;s as documentation and started thinking about them as part of the developer experience.&lt;/p&gt;

&lt;p&gt;A few mental shifts helped me get there.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. A &lt;code&gt;README&lt;/code&gt; is not a manual
&lt;/h3&gt;

&lt;p&gt;When you land on a repository, would you be willing to read everything? The answer is likely NO.&lt;/p&gt;

&lt;p&gt;You want to understand the project quickly.&lt;/p&gt;

&lt;p&gt;The goal of a &lt;code&gt;README&lt;/code&gt; isn't to explain every detail. It is to help visitors understand what the project does and how to take the next step.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Clarity beats completeness
&lt;/h3&gt;

&lt;p&gt;I used to think a good &lt;code&gt;README&lt;/code&gt; needed to cover everything. &lt;br&gt;
Now I think the opposite.&lt;/p&gt;

&lt;p&gt;A short explanation that gets people started is often more valuable than a long document that tries to answer every possible question. Hence, the "Quick Start" section is valuable in the &lt;code&gt;README&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can always create additional &lt;code&gt;docs/&lt;/code&gt; later.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The first minute matters most
&lt;/h3&gt;

&lt;p&gt;Many maintainers spend a lot of time documenting advanced features. But most visitors are still trying to answer basic questions.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What problem does this solve?&lt;br&gt;
How do I run it?&lt;br&gt;
Why should I care about this project?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If those answers aren't obvious within the first minute, many people will simply move on to other projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  The &lt;code&gt;README&lt;/code&gt; Paradox
&lt;/h2&gt;

&lt;p&gt;One thing I've noticed is that writing a better &lt;code&gt;README&lt;/code&gt; isn't about writing more. &lt;/p&gt;

&lt;p&gt;In fact, the more technical and comprehensive a &lt;code&gt;README&lt;/code&gt; becomes, the harder it can be for newcomers to get started.&lt;/p&gt;

&lt;p&gt;Too little information leaves people confused.&lt;/p&gt;

&lt;p&gt;Too much information overwhelms them.&lt;/p&gt;

&lt;p&gt;The sweet spot is somewhere in the middle: enough context to build confidence, and enough guidance to take the first step.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;README&lt;/code&gt; should NOT answer every question. It should make people want to keep reading.&lt;/p&gt;

&lt;h2&gt;
  
  
  Think of Your &lt;code&gt;README&lt;/code&gt; as a User Interface
&lt;/h2&gt;

&lt;p&gt;This idea changed how I approach documentation.&lt;/p&gt;

&lt;p&gt;When someone visits your repository, your &lt;code&gt;README&lt;/code&gt; becomes the interface they interact with first.&lt;/p&gt;

&lt;p&gt;The title should immediately tell them what the project is. The &lt;strong&gt;Quick Start&lt;/strong&gt; should help them get running with as little friction as possible. &lt;strong&gt;Examples&lt;/strong&gt; should show what success looks like. Everything else can guide them deeper into the project.&lt;/p&gt;

&lt;p&gt;A good user interface helps people accomplish a task without making them think too much.&lt;/p&gt;

&lt;p&gt;I think a good &lt;code&gt;README&lt;/code&gt; should do the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Invisible Cost of a Bad &lt;code&gt;README&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;A weak &lt;code&gt;README&lt;/code&gt; doesn't just make a project look unfinished.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It creates invisible work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Maintainers end up answering the same questions in issues and discussions. New contributors quietly leave because they aren't sure where to begin. Useful projects can feel much harder than they actually are.&lt;/p&gt;

&lt;p&gt;A good &lt;code&gt;README&lt;/code&gt; isn't just documentation.&lt;/p&gt;

&lt;p&gt;It's an investment that saves time—for both you and everyone who visits your repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 30-Second &lt;code&gt;README&lt;/code&gt; Test
&lt;/h2&gt;

&lt;p&gt;Before you publish your next project, try this.&lt;/p&gt;

&lt;p&gt;Imagine someone has never seen your repository before.&lt;/p&gt;

&lt;p&gt;Within 30 seconds, can they answer these questions?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What problem does this project solve?&lt;/li&gt;
&lt;li&gt;How do I get started?&lt;/li&gt;
&lt;li&gt;Where do I go if I want to learn more?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the answer is YES to all questions, your &lt;code&gt;README&lt;/code&gt; is probably doing its job. If not, your code may deserve a better first impression.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Back at My Own &lt;code&gt;README&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Writing this post also made me reflect on one of my projects and its &lt;code&gt;README&lt;/code&gt;: the &lt;a href="https://github.com/yuka-with-data/tokyo-transportation-mcp-server" rel="noopener noreferrer"&gt;Tokyo Transit MCP Server repo (v0.1.3)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Looking back, I realized I've made the same mistake I am writing about.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;README&lt;/code&gt; spends quite a bit of time explaining the project's status, data migration progress, and even introducing what MCP is before readers ever reach the "how it works" or installation sections. &lt;/p&gt;

&lt;p&gt;While that context is useful, I don't think it belongs at the very beginning. &lt;/p&gt;

&lt;p&gt;If someone lands on the repository for the first time, they probably want to know 3 things.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What does this project do?&lt;/li&gt;
&lt;li&gt;Why should I use it?&lt;/li&gt;
&lt;li&gt;How do I get started?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything else can come later.&lt;/p&gt;

&lt;p&gt;That's a change I plan to make, not because the information is wrong, but because the first user experience can be better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The more I contribute to open source, the more I realize that &lt;code&gt;README&lt;/code&gt; isn't just documentation.&lt;/p&gt;

&lt;p&gt;It's the first conversation your project has with the next developer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I am still learning how to write better &lt;code&gt;README&lt;/code&gt;s myself&lt;/strong&gt;, and now I am curious about your experience.&lt;/p&gt;

&lt;p&gt;Have you ever revisited an old &lt;code&gt;README&lt;/code&gt; and realized it wasn't telling the story you wanted it to tell?&lt;/p&gt;

&lt;p&gt;Or what's one thing you've learned that made your &lt;code&gt;README&lt;/code&gt;s better?&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts in the comments.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;strong&gt;Transparency Note&lt;/strong&gt;: I used AI as an editor, not as the author. For this article, it helped refine the structure and improve the English grammar. The technical content, experiments, opinions, and conclusions are my own and were reviewed by me before publishing.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>readme</category>
      <category>documentation</category>
      <category>github</category>
      <category>beginners</category>
    </item>
    <item>
      <title>When Your Pull Request Has More AI Reviewers Than Humans</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Mon, 15 Jun 2026 22:11:38 +0000</pubDate>
      <link>https://dev.to/neithergalax/when-your-pull-request-has-more-ai-reviewers-than-humans-13n7</link>
      <guid>https://dev.to/neithergalax/when-your-pull-request-has-more-ai-reviewers-than-humans-13n7</guid>
      <description>&lt;p&gt;Recently, I submitted a pull request to a project and had an experience that felt very different from the usual OSS workflow in the past.&lt;/p&gt;

&lt;p&gt;Instead of the typical back-and-forth with a human maintainer, most of the interaction in my PR came from automated systems: Copilot suggestions, Vercel-related checks, and CI-driven review comments. The maintainer eventually approved the PR with &lt;strong&gt;minimal direct discussion&lt;/strong&gt;, and it was &lt;strong&gt;merged successfully&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What stood out to me wasn't just that the PR got merged, but &lt;em&gt;how the review process felt distributed across multiple non-human participants&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different kind of PR conversation
&lt;/h2&gt;

&lt;p&gt;In this case, I found myself responding to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copilot-style suggestions embedded in the workflow&lt;/li&gt;
&lt;li&gt;Automated review comments triggered by code changes&lt;/li&gt;
&lt;li&gt;Vercel’s deployment feedback loop during preview builds&lt;/li&gt;
&lt;li&gt;CI checks acting as silent gatekeepers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It wasn’t one reviewer giving feedback—it was a collection of systems continuously reacting to changes. At times, it honestly felt like maintaining a conversation with multiple tools rather than collaborating with a single maintainer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The maintainer's role felt different
&lt;/h2&gt;

&lt;p&gt;What stood out most was how little direct back-and-forth there was with the maintainer during the process. Instead, it felt more like the automation handled the detailed feedback loop, which is pointing out issues, validating fixes, and checking consistency, while the maintainer stepped in later to look at the overall direction and give the final approval.&lt;/p&gt;

&lt;p&gt;So, the human part wasn't really about line-by-line discussion. It was more like a final layer of judgment once everything else had already settled.&lt;/p&gt;

&lt;p&gt;At that point, it made me wonder, are we already moving toward a setup where the human role becomes mostly invisible during the process, only stepping in at the end to hit "approve"?&lt;/p&gt;

&lt;h2&gt;
  
  
  Open questions for the community
&lt;/h2&gt;

&lt;p&gt;I’m curious how you are experiencing this shift:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How do you feel about AI-assisted PR reviews on either side (maintainer or contributor)?&lt;/li&gt;
&lt;li&gt;Have you noticed a change in the depth or tone of discussions in your repositories?&lt;/li&gt;
&lt;li&gt;Do you think human review is becoming lighter, or just differently focused?&lt;/li&gt;
&lt;li&gt;Where do you personally draw the line between “useful automation” and “loss of human context”?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It feels like we are entering a phase where PRs (and maybe issues as well) are no longer human-to-human conversations, but hybrid interactions between devs, bots, and CI systems. And I am not fully sure yet whether that's a net positive or just a new normal.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>opensource</category>
      <category>github</category>
      <category>ai</category>
    </item>
    <item>
      <title>I Thought Open Source Was About Code. I Was Wrong.</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Wed, 10 Jun 2026 21:48:59 +0000</pubDate>
      <link>https://dev.to/neithergalax/i-thought-open-source-was-about-code-i-was-wrong-5c0d</link>
      <guid>https://dev.to/neithergalax/i-thought-open-source-was-about-code-i-was-wrong-5c0d</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The biggest lessons I learned from open source contributions weren't found in the code itself. Communication, collaboration, and workflows matter more than I expected.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  For a long time, I hesitated to contribute to open source.
&lt;/h3&gt;

&lt;p&gt;Part of it was because I assumed that contributing meant writing code. As a self-taught developer, that felt intimidating. The other part was "Git anxiety." Forks, branches, pull requests, merge conflicts, and CI checks all seemed like a lot to understand before I could even make a contribution.&lt;/p&gt;

&lt;p&gt;Eventually, I started small. Instead of focusing on code, I looked for opportunities to improve documentation, &lt;code&gt;README&lt;/code&gt; files, and learning materials. What surprised me was that writing the actual change was often the easy part.&lt;/p&gt;

&lt;p&gt;Most of my learning happened outside the code itself: understanding contribution guidelines, repository workflows, automation, and review expectations. Over time, I realized that modern open source contribution is about much more than just writing code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contribution Model Has Changed
&lt;/h2&gt;

&lt;p&gt;When many people think about open source contributions, the mental model is still fairly simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Find Bug
 ↓ 
Write Code
 ↓ 
Open PR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In reality, I realized that most modern repos involve much more than that. &lt;/p&gt;

&lt;p&gt;Before making a change, contributors often need to understand project workflows, CI pipelines, automated checks, contribution guidelines, and review expectations. The code change itself might only take a few minutes, while understanding how the repo operates can take much longer.&lt;/p&gt;

&lt;p&gt;A modern contribution often looks more like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Understand Repository 
↓ 
Understand Workflow 
↓ 
Understand Automation 
↓ 
Make Change 
↓ 
Open PR 
↓ 
Respond to Review
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It looks intimidating, but I think this flow helps projects stay maintainable as communications grow. &lt;/p&gt;

&lt;p&gt;What I've learned from contributing to different projects is that open source is not just a coding skill. &lt;/p&gt;

&lt;h3&gt;
  
  
  It's also a collaboration skill.
&lt;/h3&gt;

&lt;p&gt;The faster you can understand how a project works, the easier it becomes to contribute regardless of the tech stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Subtle Rules of Open Source Contribution
&lt;/h2&gt;

&lt;p&gt;Most repos do a great job documenting their contribution process. &lt;code&gt;README&lt;/code&gt; files, &lt;code&gt;CONTRIBUTING&lt;/code&gt; guides, issue templates, and PR templates usually explain the basics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What took me longer to understand&lt;/strong&gt; were the expectations that aren't always captured in a single document. &lt;/p&gt;

&lt;p&gt;For example, maintainers may prefer smaller pull requests even if they don't explicitly say so. A repository may technically accept feature contributions, but recent activity might show that documentation improvements receive faster reviews. Some projects expect contributors to discuss ideas before opening a PR, while others prefer contributors to jump in and submit changes directly.&lt;/p&gt;

&lt;p&gt;I've also learned that automation often communicates expectations. &lt;strong&gt;GitHub Actions, CI pipelines, and pre-commit hooks&lt;/strong&gt; don't just validate code—they reveal what a project values. Formatting standards, test coverage, commit conventions, and quality checks are often enforced automatically rather than explained in detail.&lt;/p&gt;

&lt;p&gt;Over time, I stopped looking for a single source of truth. Instead, I started treating a repo as &lt;strong&gt;a collection of signals&lt;/strong&gt;. The documentation tells us the official process, while the project's workflows, automation, and recent Pull Requests often show how the project actually operates day to day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Beginners (Including Myself) Feel Overwhelmed
&lt;/h2&gt;

&lt;p&gt;When people talked about contributing to open source when I started to use GitHub, they often focused on learning Git. But looking back, Git wasn't the hardest part for me.&lt;/p&gt;

&lt;p&gt;The challenge was learning several systems at the same time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;GitHub&lt;/li&gt;
&lt;li&gt;CI Pipelines&lt;/li&gt;
&lt;li&gt;automated checks&lt;/li&gt;
&lt;li&gt;code review workflows&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple documentation fix requires creating a fork, opening a PR, passing automated checks, and responding to review feedback. Even when the change itself is small, the process can feel overwhelming at first.&lt;/p&gt;

&lt;h3&gt;
  
  
  What helped me was realizing that mistakes are expected.
&lt;/h3&gt;

&lt;p&gt;A failed CI check, a requested revision (often by AI nowadays), or a rejected idea isn't a sign that you don't belong in the Open Source. They are simply part of how collaborative software development works.&lt;/p&gt;

&lt;p&gt;Once I stopped viewing contributions as a test and started viewing them as a learning process, open source became much less intimidating.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Look For Before Contributing Now
&lt;/h2&gt;

&lt;p&gt;After contributing to different projects from big to small, I've developed a simple checklist before opening an issue or PR.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the project actively maintained?&lt;/li&gt;
&lt;li&gt;What types of contributions are welcomed?&lt;/li&gt;
&lt;li&gt;How are recent PRs reviewed?&lt;/li&gt;
&lt;li&gt;What do the CI checks and automation enforce?&lt;/li&gt;
&lt;li&gt;Are there contribution guidelines or coding standards?&lt;/li&gt;
&lt;li&gt;What contribution patterns do maintainers seem to prefer?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these requires deep technical knowledge, but they can save a lot of time and confusion.&lt;/p&gt;

&lt;p&gt;I've found that spending at least 10-20 minutes understanding a repo often leads to a smoother contribution experience than jumping straight into making or suggesting changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Soft Skills Matter in the Age of AI
&lt;/h3&gt;

&lt;p&gt;Every open source project is different and diverse, but after contributing across multiple repos, I've noticed that many share similar patterns beneath the surface.&lt;/p&gt;

&lt;p&gt;The code still matters, of course. But successful contributions often depend just as much on understanding workflows, automation, collaboration practices, and &lt;strong&gt;communication skills&lt;/strong&gt;. Writing clear comments, participating in discussions, and developing strong &lt;strong&gt;soft skills&lt;/strong&gt; can be just as important as writing code for working effectively with maintainers and contributors. &lt;/p&gt;

&lt;p&gt;For me, one of the biggest lessons from open source has been that contributing isn't only about writing code—it's about learning how to work effectively within a community. Once I started viewing repositories through that lens, contributing became much less intimidating and much more rewarding.&lt;/p&gt;

&lt;h3&gt;
  
  
  One Commit A Day
&lt;/h3&gt;

&lt;p&gt;If you're interested in building a sustainable open source habit, I've been documenting my own journey through a &lt;a href="https://github.com/yuka-with-data/one-commit-a-day" rel="noopener noreferrer"&gt;One Commit a Day challenge&lt;/a&gt;. The goal isn't to make a massive contribution every day—it's simply to stay engaged, keep learning, and gradually become more comfortable navigating open source projects and communities.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>opensource</category>
      <category>github</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>From Prompt Engineering to MCP Skills: What Rebuilding My Tokyo Transit Agent Taught Me About AI Architecture</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Thu, 04 Jun 2026 17:59:00 +0000</pubDate>
      <link>https://dev.to/neithergalax/from-prompt-engineering-to-mcp-skills-what-rebuilding-my-tokyo-transit-agent-taught-me-about-ai-2p59</link>
      <guid>https://dev.to/neithergalax/from-prompt-engineering-to-mcp-skills-what-rebuilding-my-tokyo-transit-agent-taught-me-about-ai-2p59</guid>
      <description>&lt;p&gt;A recent comment on &lt;a href="https://dev.to/neithergalax/tokyo-transit-how-mcp-helped-me-fix-a-broken-multi-agent-system-cpe"&gt;one of my dev.to posts&lt;/a&gt; asked a simple but insightful question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What specifically was breaking before MCP: context loss between agents, or tool-call inconsistency?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At first, I thought the answer would be straightforward.&lt;/p&gt;

&lt;p&gt;But after reflecting on my Tokyo Transit project, I realized the real issue wasn't either of those things.&lt;/p&gt;

&lt;p&gt;The project has gone through three major iterations over the past year, and each version reflects a different stage in my understanding of AI agents, orchestration, and system architecture.&lt;/p&gt;

&lt;p&gt;Looking back, the project became &lt;strong&gt;a timeline of how the AI ecosystem itself has evolved.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Version 1: SmolAgents and the "Big System Prompt" Era
&lt;/h2&gt;

&lt;p&gt;The first version was built with &lt;strong&gt;SmolAgents&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Like many developers experimenting with agents at the time, I believed that if I wrote a sufficiently detailed system prompt, the agent would behave consistently.&lt;/p&gt;

&lt;p&gt;As the project grew, the prompt grew with it.&lt;/p&gt;

&lt;p&gt;More instructions.&lt;/p&gt;

&lt;p&gt;More formatting rules.&lt;/p&gt;

&lt;p&gt;More edge cases.&lt;/p&gt;

&lt;p&gt;More exceptions.&lt;/p&gt;

&lt;p&gt;Eventually, the system prompt became the primary mechanism for controlling behavior.&lt;/p&gt;

&lt;p&gt;The result was predictable: the agent worked sometimes, but not reliably.&lt;/p&gt;

&lt;p&gt;The biggest problem wasn't context loss between agents.&lt;/p&gt;

&lt;p&gt;It wasn't tool-call failures either.&lt;/p&gt;

&lt;p&gt;The real problem was prompt alignment.&lt;/p&gt;

&lt;p&gt;I was trying to manage architecture through instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Version 2: Google ADK and Higher-Level Abstractions
&lt;/h2&gt;

&lt;p&gt;My next experiment used Google ADK.&lt;/p&gt;

&lt;p&gt;Compared to the first version, ADK provided a high-level, cleaner, and more structured framework for agent development.&lt;/p&gt;

&lt;p&gt;Many orchestration concerns were abstracted away.&lt;/p&gt;

&lt;p&gt;This made development faster and reduced some of the complexity I had been manually managing.&lt;/p&gt;

&lt;p&gt;But it also taught me something important:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frameworks can simplify development, but they don't automatically solve architectural problems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I still needed a clear way to define responsibilities, manage behavior, and structure agent workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Version 3: MCP and Skill-Based Design
&lt;/h2&gt;

&lt;p&gt;The current version uses the MCP Python SDK together with Skill-based design.&lt;/p&gt;

&lt;p&gt;This was the point where the project finally started to feel maintainable.&lt;/p&gt;

&lt;p&gt;Instead of pushing more logic into a growing system prompt, I could separate capabilities into tools and skills with clearly defined responsibilities.&lt;/p&gt;

&lt;p&gt;MCP wasn't magical.&lt;/p&gt;

&lt;p&gt;It didn't suddenly make the agent smarter.&lt;/p&gt;

&lt;p&gt;What it provided was structure.&lt;/p&gt;

&lt;p&gt;Skills gave me a dedicated place for behavioral instructions.&lt;/p&gt;

&lt;p&gt;MCP provided a consistent interface for tools.&lt;/p&gt;

&lt;p&gt;Together, they made the system easier to reason about, test, and improve.&lt;/p&gt;

&lt;h2&gt;
  
  
  So What Was Actually Breaking Before MCP?
&lt;/h2&gt;

&lt;p&gt;Looking back, the biggest issue wasn't context loss or tool-call inconsistency.&lt;/p&gt;

&lt;p&gt;It was architectural drift.&lt;/p&gt;

&lt;p&gt;Whenever the agent behaved incorrectly, my solution was usually to add another instruction to the system prompt.&lt;/p&gt;

&lt;p&gt;Over time, the prompt became harder to maintain and reason about.&lt;/p&gt;

&lt;p&gt;The more complexity I added, the less predictable the behavior became.&lt;/p&gt;

&lt;p&gt;In hindsight, I was trying to solve an architecture problem with prompt engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/yuka-with-data/tokyo-transportation-mcp-server" rel="noopener noreferrer"&gt;The Tokyo Transit project&lt;/a&gt; is still under active development.&lt;/p&gt;

&lt;p&gt;There are bugs to fix, improvements to make, and plenty left to learn.&lt;/p&gt;

&lt;p&gt;But the most valuable outcome wasn't the transit tool itself.&lt;/p&gt;

&lt;p&gt;It was seeing how my approach changed over time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From large system prompts&lt;/li&gt;
&lt;li&gt;To higher-level agent frameworks&lt;/li&gt;
&lt;li&gt;To MCP and Skill-based architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project became a record of my own learning journey as AI agents evolved from experiments into systems that can be structured, maintained, and improved over time.&lt;/p&gt;

&lt;p&gt;If you've been building with agents, MCP, or AI frameworks, I'm curious: what was the biggest lesson that changed the way you design your systems? Feel free to share your experience in the comments below.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>devjournal</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🌐OS May Recap: Learning to Navigate the Open-Source Galactica</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Sun, 31 May 2026 21:48:09 +0000</pubDate>
      <link>https://dev.to/neithergalax/os-may-recap-learning-to-navigate-the-open-source-galactica-1e1j</link>
      <guid>https://dev.to/neithergalax/os-may-recap-learning-to-navigate-the-open-source-galactica-1e1j</guid>
      <description>&lt;p&gt;In May, I continued my &lt;a href="https://dev.to/neithergalax/one-commit-at-a-time-my-open-source-journey-2hdo"&gt;"One Commit a Day" Challenge&lt;/a&gt; and spent more time contributing across different open-source projects.&lt;/p&gt;

&lt;p&gt;Compared to April, I was able to contribute a bit more and explore a wider variety of repositories.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4sw72prjwgvt4jni7a9f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4sw72prjwgvt4jni7a9f.png" alt="Github Contribution Graph" width="799" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Repositories That Stood Out
&lt;/h2&gt;

&lt;p&gt;Some of the projects that left the biggest impression on me were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;python-odpt&lt;/li&gt;
&lt;li&gt;Huggin Face Context Course&lt;/li&gt;
&lt;li&gt;Human Signal ML&lt;/li&gt;
&lt;li&gt;ScribeSVG&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Stable Checkpoint
&lt;/h2&gt;

&lt;p&gt;One milestone I was happy about this month was reaching a stable checkpoint for my Tokyo MCP Server project.&lt;/p&gt;

&lt;p&gt;It is still a work in progress, but getting to a point where the project feels stable enough to build upon was a satisfying moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Documentation Matters
&lt;/h2&gt;

&lt;p&gt;Another contribution that stood out was helping improve a &lt;a href="https://github.com/maru0123-2004/python-odpt" rel="noopener noreferrer"&gt;&lt;code&gt;python-odpt&lt;/code&gt; README documentation&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;It wasn't a large technical contribution, but it reminded me that &lt;strong&gt;making a project easier for others to understand can be just as valuable as writing code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Good documentation lowers the barrier for future contributors. Sometimes, a clearer README can help more people than a small code change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning Beyond Python
&lt;/h2&gt;

&lt;p&gt;One practical lesson I learned this month was that being a Python-focused contributor doesn't mean I can ignore the &lt;strong&gt;JavaScript ecosystem&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;While working with different repositories, I finally installed Node.js and started using &lt;code&gt;npm&lt;/code&gt;. Many modern open-source projects rely on TypeScript-based tooling, build systems, or development workflows, and understanding those tools makes contributing much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Biggest Challenge: Finding Information
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;And Communication Matters&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The biggest challenge I faced wasn't coding.&lt;/p&gt;

&lt;p&gt;It was documentation.&lt;/p&gt;

&lt;p&gt;Every repository has its own way of organizing information. There are definitely common patterns, but every project also develops its own style over time.&lt;/p&gt;

&lt;p&gt;Sometimes the information I need is in the README.&lt;/p&gt;

&lt;p&gt;Sometimes it's in a wiki.&lt;/p&gt;

&lt;p&gt;Sometimes it's buried in a docs folder several levels deep.&lt;/p&gt;

&lt;p&gt;And sometimes it's spread across all three.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source Is Also About Navigation
&lt;/h2&gt;

&lt;p&gt;As a contributor, I've realized that one of the most important skills is learning how to navigate an unfamiliar project.&lt;/p&gt;

&lt;p&gt;Before writing code, you need to understand how the maintainers think about the project itself.&lt;/p&gt;

&lt;p&gt;The longer I participate in open source, the more I see that contributing isn't just about solving technical problems.&lt;/p&gt;

&lt;p&gt;It's also about learning to read unfamiliar systems, understand other people's decisions, and become comfortable working in new environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead to June
&lt;/h2&gt;

&lt;p&gt;For June, &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I want to spend more time understanding a project's structure and documentation before jumping into contributions.&lt;/li&gt;
&lt;li&gt;I also want to keep focusing on consistency rather than trying to contribute everywhere at once.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/yuka-with-data/one-commit-a-day" rel="noopener noreferrer"&gt;One commit a day&lt;/a&gt; still feels like the right pace.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
      <category>devjournal</category>
      <category>github</category>
    </item>
    <item>
      <title>Tokyo Transit: How MCP Helped Me Fix a Broken Multi-Agent System</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Sat, 30 May 2026 23:22:50 +0000</pubDate>
      <link>https://dev.to/neithergalax/tokyo-transit-how-mcp-helped-me-fix-a-broken-multi-agent-system-cpe</link>
      <guid>https://dev.to/neithergalax/tokyo-transit-how-mcp-helped-me-fix-a-broken-multi-agent-system-cpe</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tokyo’s train system is incredible—but it can also be overwhelming.&lt;/strong&gt; Multiple rail operators, dense transfer stations, and complicated route decisions make even simple trips confusing, especially for visitors.&lt;/p&gt;

&lt;p&gt;There are already transit apps out there, but most still feel static. They give information, but they don’t really reason through the trip experience. Some even lock basic features behind paywalls.&lt;/p&gt;

&lt;p&gt;That pushed me to build something different.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Tokyo Transportation MCP&lt;/strong&gt;, an AI-powered transit assistant that uses MCP and skill-based agent workflows to retrieve and organize Tokyo transit information in a more natural, conversational way.&lt;/p&gt;

&lt;p&gt;Instead of jumping between maps and apps, users can ask questions like “What’s the best route from Shinjuku to Maihama?” and receive clear, practical guidance with transfers, timing, and routing context.&lt;/p&gt;

&lt;p&gt;More than just route calculation, the project is about making one of the world’s most complex transit systems feel easier to understand through AI agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🔗&lt;strong&gt;Repo&lt;/strong&gt;: &lt;a href="https://github.com/yuka-with-data/tokyo-transportation-mcp-server" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Baseline Prompt
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3khnxbf2f9d9s2i4sq2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3khnxbf2f9d9s2i4sq2.png" alt="Baseline Prompt" width="799" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Transfer-Heavy Prompt
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9u6819oeu7pt1nxl706.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9u6819oeu7pt1nxl706.png" alt="Transfer-Heavy Prompt" width="800" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ambiguous Prompt
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bhto37y9ntw5sh12tb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bhto37y9ntw5sh12tb5.png" alt="Ambiguous Prompt" width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Time-Sensitive Prompt
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp995z5anqonxdhu0inio.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp995z5anqonxdhu0inio.png" alt="Time-sensitive Prompt" width="800" height="723"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Alias Prompt
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6hf0v3bnh775f68afs8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6hf0v3bnh775f68afs8.png" alt="Alias Prompt" width="800" height="483"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;This project actually started much earlier as a simple Tokyo transportation agent.&lt;/p&gt;

&lt;p&gt;At the time, I was experimenting with early multi-agent workflows and system prompting with the &lt;code&gt;Hugging Face&lt;/code&gt; ecosystem. But honestly, the tooling and orchestration patterns were still under development, and I struggled to make the agents behave reliably. The system worked sometimes, but not consistently enough to feel usable.&lt;/p&gt;

&lt;p&gt;Eventually, I shelved the project.&lt;/p&gt;

&lt;p&gt;Later on, after learning more about MCP architecture and Skill-based systems, I realized I finally had a cleaner way to structure the idea. Instead of forcing complex orchestration too early, I rebuilt the project around modular skills, clearer agent behavior, and more reliable transit retrieval workflows.&lt;/p&gt;

&lt;p&gt;What started as an abandoned experiment slowly turned into a much more practical and stable AI transit assistant.&lt;/p&gt;

&lt;p&gt;The project is still under active development, and there are plenty of improvements and edge cases left to tackle. But reaching the point where it functions as a stable MCP-powered transit tool feels like a meaningful milestone.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot helped speed up the rebuild, especially when I moved toward MCP and Skill-based design.&lt;/p&gt;

&lt;p&gt;A big part of this project wasn’t just coding — it was designing &lt;code&gt;Skill.md&lt;/code&gt;, the instruction layer that defines how the agent should behave and interpret transit tasks. Getting that right required a lot of iteration.&lt;/p&gt;

&lt;p&gt;Copilot was useful for scaffolding the MCP tool code and exploring different implementation ideas. It made early prototyping much faster.&lt;/p&gt;

&lt;p&gt;From there, the focus shifted to refinement: tightening instructions, adjusting structure, and iterating until the agent behaved consistently in real scenarios.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>devjournal</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🌸OS April Recap: What My Daily Commit Challenge Taught Me About Open Source “Culture”</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Mon, 25 May 2026 00:44:37 +0000</pubDate>
      <link>https://dev.to/neithergalax/oss-monthly-recap-what-my-daily-commit-challenge-taught-me-about-open-source-culture-59d</link>
      <guid>https://dev.to/neithergalax/oss-monthly-recap-what-my-daily-commit-challenge-taught-me-about-open-source-culture-59d</guid>
      <description>&lt;p&gt;In April, while continuing my &lt;a href="https://dev.to/neithergalax/one-commit-at-a-time-my-open-source-journey-2hdo"&gt;“1 Commit a Day” &lt;/a&gt;challenge, I submitted several pull requests to different open-source repositories.&lt;/p&gt;

&lt;p&gt;The results were:&lt;/p&gt;

&lt;p&gt;3 PRs submitted&lt;br&gt;
1 PR merged&lt;br&gt;
Contributions involving bug fixes and test updates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fro51p6h3zqu2iaswyge9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fro51p6h3zqu2iaswyge9.png" alt="Github Contribution Graph" width="798" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some of the repositories that left the biggest impression on me were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Label Studio ML&lt;/li&gt;
&lt;li&gt;MCP Python SDK&lt;/li&gt;
&lt;li&gt;Hugging Face MCP Course Material&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing I’ve been realizing recently is that open source is not just a place to write code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every repository has its own culture, workflow, and communication style.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, while contributing documentation to the &lt;code&gt;MCP Python SDK&lt;/code&gt; repository, I initially struggled quite a bit with the pre-commit checks.&lt;/p&gt;

&lt;p&gt;At first, I didn’t fully understand what was causing the errors, so I opened an Issue about the problem. &lt;em&gt;The maintainer responded that I should not open an Issue like that since it was directly related to my PR.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At the time, I was a bit confused because no additional explanation was given, but looking back, I realized that discussions closely tied to a PR are generally expected to stay within the PR conversation itself.&lt;/p&gt;

&lt;p&gt;Looking back, that makes complete sense.&lt;/p&gt;

&lt;p&gt;Keeping the discussion connected to the PR preserves context and makes things easier for maintainers to manage.&lt;/p&gt;

&lt;p&gt;It was a small interaction, but it taught me something important:&lt;br&gt;
&lt;strong&gt;In OSS, communication is just as important as technical skill.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also gained a much better understanding of what pre-commit actually does.&lt;/p&gt;

&lt;p&gt;Before this, I mostly thought of it as “something that automatically runs checks before commits.” But through the contribution process, I started to understand how it helps maintain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;code style&lt;/li&gt;
&lt;li&gt;formatting&lt;/li&gt;
&lt;li&gt;linting&lt;/li&gt;
&lt;li&gt;overall project quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I first started my daily commit challenge, my goal was simply:&lt;br&gt;
“stay consistent.”&lt;/p&gt;

&lt;p&gt;But recently, I’ve started enjoying something else:&lt;br&gt;
slowly learning how different OSS communities work and how real collaborative development happens.&lt;/p&gt;

&lt;p&gt;My goal next month (May) is to increase my Level 3 contributions and continue improving both technically and collaboratively.&lt;/p&gt;

&lt;p&gt;One thing I’m learning is that contributing to open source is not only about writing code — it’s also about learning how to work with people, processes, and project culture.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
      <category>github</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>AI Is Becoming Ambient: My Biggest Takeaway From Google I/O 2026</title>
      <dc:creator>neitherGalax</dc:creator>
      <pubDate>Fri, 22 May 2026 00:12:02 +0000</pubDate>
      <link>https://dev.to/neithergalax/ai-is-becoming-ambient-my-biggest-takeaway-from-google-io-2026-3a7h</link>
      <guid>https://dev.to/neithergalax/ai-is-becoming-ambient-my-biggest-takeaway-from-google-io-2026-3a7h</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-io-writing-2026-05-19"&gt;Google I/O Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I spent some time watching the Google I/O 2026 &lt;a href="https://www.youtube.com/watch?v=tfoSeH63yCg" rel="noopener noreferrer"&gt;“What’s New in AI”&lt;/a&gt; session, and one small detail personally stood out to me.&lt;/p&gt;

&lt;p&gt;One of the presenters was &lt;em&gt;&lt;strong&gt;Paige Bailey&lt;/strong&gt;&lt;/em&gt;. Years ago, I used to watch her GenAI workshops on Kaggle while learning AI on my own. Seeing her present at Google I/O felt like a reminder of how quickly this space has evolved.&lt;/p&gt;

&lt;p&gt;But beyond the announcements themselves, I think the biggest message from Google I/O was this:&lt;/p&gt;

&lt;p&gt;AI is no longer being treated as a standalone product.&lt;br&gt;
It’s becoming ambient infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI is becoming ambient
&lt;/h2&gt;

&lt;p&gt;What stood out to me most was how deeply AI is now integrated across Google’s ecosystem.&lt;/p&gt;

&lt;p&gt;Search, Workspace, Android, Chrome, YouTube, developer tools — AI is quietly being embedded everywhere.&lt;/p&gt;

&lt;p&gt;Not as a separate chatbot tab, but as an invisible layer sitting behind the products people already use every day.&lt;/p&gt;

&lt;p&gt;AI is becoming ambient.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multimodal AI is becoming the default
&lt;/h2&gt;

&lt;p&gt;Another thing that stood out was how natural multimodal interaction now feels.&lt;/p&gt;

&lt;p&gt;Text, voice, images, video, screen understanding, and real-time context are all starting to blend together into a single experience.&lt;/p&gt;

&lt;p&gt;Instead of switching between different tools, the AI increasingly understands multiple forms of input at once.&lt;/p&gt;

&lt;p&gt;That feels like a major UX shift.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shift Toward “Agentic” AI
&lt;/h2&gt;

&lt;p&gt;Another word that repeatedly appeared during the presentations was “agentic.”&lt;/p&gt;

&lt;p&gt;The industry is clearly moving away from AI that simply answers questions toward AI that can actually perform tasks, make decisions, and operate across tools.&lt;/p&gt;

&lt;p&gt;That shift feels important.&lt;/p&gt;

&lt;p&gt;The conversation is no longer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Can AI chat with you?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now it’s:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Can AI do things for you?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Google Search is long gone
&lt;/h2&gt;

&lt;p&gt;One thing became very obvious during the demos:&lt;/p&gt;

&lt;p&gt;The old version of Google Search is quietly disappearing.&lt;/p&gt;

&lt;p&gt;Typing keywords and manually digging through links is slowly being replaced by AI-generated summaries, conversational search, and agents that help organize information for you.&lt;/p&gt;

&lt;p&gt;Whether that change is good or bad is still open for debate, especially for creators and websites across the internet.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;But the direction feels clear&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparing Google with OpenAI and Anthropic
&lt;/h2&gt;

&lt;p&gt;What’s interesting is how differently each company seems to be approaching AI.&lt;/p&gt;

&lt;p&gt;Google still feels strongest in consumer AI momentum and product experience.&lt;/p&gt;

&lt;p&gt;It has built a strong reputation around reasoning quality and safety-focused systems.&lt;/p&gt;

&lt;p&gt;But it may have the biggest advantage in ecosystem integration.&lt;/p&gt;

&lt;p&gt;Google already owns platforms used by billions of people daily:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search&lt;/li&gt;
&lt;li&gt;Android&lt;/li&gt;
&lt;li&gt;YouTube&lt;/li&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Workspace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That means AI can spread across everyday life extremely fast.&lt;/p&gt;

&lt;p&gt;And after watching Google I/O, it feels like that’s exactly where things are heading.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleiochallenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
