<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Industrial AI Notes]]></title><description><![CDATA[Practical notes on industrial automation, factory systems, robotics, computer vision, and AI for real-world automation.]]></description><link>https://blog.yukifuruta.com</link><image><url>https://cdn.hashnode.com/uploads/logos/69ce85bb0ff860b6def2c2ab/066bb7a0-7ece-4a65-8f12-0db975b3d0ba.png</url><title>Industrial AI Notes</title><link>https://blog.yukifuruta.com</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 17 Jun 2026 08:43:20 GMT</lastBuildDate><atom:link href="https://blog.yukifuruta.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Turning Real Objects into CAD Models]]></title><description><![CDATA[When I design something in CAD, even a simple bracket, it is always easier if I already have a 3D model of the machine, device, or equipment around it.
With a 3D model, I can quickly check how the new]]></description><link>https://blog.yukifuruta.com/turning-real-objects-into-cad-models</link><guid isPermaLink="true">https://blog.yukifuruta.com/turning-real-objects-into-cad-models</guid><category><![CDATA[3d]]></category><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[cad]]></category><dc:creator><![CDATA[Yuki Furuta]]></dc:creator><pubDate>Mon, 15 Jun 2026 14:19:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/f1251e94-2045-4851-b17b-e25eeaeea5d8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I design something in CAD, even a simple bracket, it is always easier if I already have a 3D model of the machine, device, or equipment around it.</p>
<p>With a 3D model, I can quickly check how the new part looks, whether it interferes with anything, and how it fits into the overall system. It also makes documentation much easier. A screenshot from CAD explains the idea much better than a long paragraph.</p>
<p>But in the real world, we often do not have clean CAD data for existing machines or equipment.</p>
<p>Of course, if the manufacturer provides the CAD model, that is ideal. But if not, we need to create the model ourselves. And honestly, building a 3D CAD model from scratch is painful. Unless it is absolutely necessary, it is the kind of task I tend to postpone.</p>
<p>Recently, though, 3D reconstruction tools have become much more practical. We can now reconstruct objects from videos, multiple photos, or even a single image, convert them into meshes, and bring them into CAD.</p>
<p>So I wanted to test a practical workflow:</p>
<blockquote>
<p>Can I take a real object, reconstruct it as a 3D mesh, and use it inside CAD for layout checks and interference checks?</p>
</blockquote>
<p>This time, I used a small network camera as the test object.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/7d5de23b-64b5-4410-8128-c98b75cfedf4.jpg" alt="" style="display:block;margin:0 auto" />

<p>It is a common industrial-style network camera: a white metal housing, a camera unit on one side, and a rear box where cables such as LAN are connected. I chose it because it is small and easy to test quickly.</p>
<hr />
<h2>Photogrammetry with Meshroom</h2>
<p>There are many possible methods, but I started with a classic and very well-known tool: <strong>Meshroom</strong>.</p>
<p>Meshroom is an open-source photogrammetry tool based on AliceVision. In simple terms, photogrammetry tries to reconstruct a 3D model from multiple 2D images.</p>
<p>The rough idea is:</p>
<ol>
<li><p>Detect feature points in each image</p>
</li>
<li><p>Match the same points across multiple images</p>
</li>
<li><p>Estimate the camera positions</p>
</li>
<li><p>Create a sparse point cloud</p>
</li>
<li><p>Create a dense point cloud</p>
</li>
<li><p>Generate a mesh</p>
</li>
<li><p>Apply texture</p>
</li>
</ol>
<p>So instead of modeling the object manually, we let the software estimate the 3D shape from many photos taken from different angles.</p>
<p>For this test, I captured around 30 seconds of video with a smartphone. Then I extracted frames using FFmpeg:</p>
<pre><code class="language-plaintext">ffmpeg -i input.mp4 \ 
-vf "fps=2" \ 
frames/frame_%05d.jpg
</code></pre>
<p>This gave me around 60 images.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/28ab5fd3-62f8-43e3-b229-aba6b729b9f5.png" alt="" style="display:block;margin:0 auto" />

<p>In a proper photogrammetry workflow, it would be better to remove blurry images before processing. Even better, instead of recording video, I should take high-quality still images one by one from many angles.</p>
<p>But for this first test, I wanted to see how far I could get with a quick video capture.</p>
<p>Then I opened Meshroom, selected the <strong>Photogrammetry</strong> pipeline, and loaded the images.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/411d9f6d-9b22-4798-972d-2bf86326ef4c.png" alt="" style="display:block;margin:0 auto" />

<p>After loading the images, they appeared in the Image Gallery. The Graph Editor also automatically generated the photogrammetry pipeline.</p>
<p>One small but important note: if nothing appears in the Graph Editor, the pipeline is not ready. In that case, the reconstruction will not run correctly.</p>
<p>After that, I clicked the Start button at the top, and Meshroom started the full 3D reconstruction process automatically.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/bd08f7a4-2c8a-4746-a34e-24bd08949d78.png" alt="" style="display:block;margin:0 auto" />

<p>When the process finished, the result appeared in the 3D Viewer on the right side. I could see both the reconstructed object and the estimated camera positions.</p>
<p>Then I exported the result as an OBJ file and opened it in Blender to check the shape.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/1303ab65-b2a9-4a7a-b781-7bfb88276887.png" alt="" style="display:block;margin:0 auto" />

<p>The result was usable as a rough mesh, but honestly, the camera shape was not very good. There were unwanted parts such as the desk, and the main object surface was rough and noisy.</p>
<p>Of course, I could delete the unnecessary parts in Blender. But as a model of the camera itself, the quality was not quite enough.</p>
<hr />
<h2>Photogrammetry with RealityScan</h2>
<p>Next, I tried <strong>RealityScan</strong> from Epic Games.</p>
<p>Many people may know the smartphone app version, but there is also a desktop/Linux workflow, so I tested that as well.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/a754ddb3-d3e7-45f2-b383-85d5f05db190.png" alt="" style="display:block;margin:0 auto" />

<p>The overall workflow is similar to Meshroom: load multiple images, align them, and generate a 3D model.</p>
<p>However, the operation flow is slightly different.<br />In Meshroom, pressing Start runs the whole pipeline automatically, from feature extraction to meshing.<br />In RealityScan, I first ran <strong>Align Images</strong>. This step performs feature extraction, image matching, camera estimation, and point cloud generation.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/84acdac2-f7b1-410a-8fd6-e25814a1910d.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/ab12c887-1aeb-41e8-8e63-90f50f8ddee3.png" alt="" style="display:block;margin:0 auto" />

<p>After confirming that the alignment looked reasonable, I ran <strong>Calculate Model</strong> to generate the 3D mesh.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/8c22aeb1-5cff-4de5-8a17-b82090d6fd42.png" alt="" style="display:block;margin:0 auto" />

<p>The result was also not as clean as I hoped.</p>
<p>Again, this does not mean RealityScan is weak. RealityScan is a very powerful photogrammetry tool. The issue was probably my input data.</p>
<p>I think the main problems were:</p>
<ul>
<li><p>I extracted still images from a handheld video, so some frames were blurry or motion-blurred.</p>
</li>
<li><p>The target object was mostly white, so it did not have many easy-to-detect visual features.</p>
</li>
<li><p>I did not capture enough angles carefully. I just moved around the object quickly with a phone.</p>
</li>
<li><p>The desk and background were also included, which made the reconstruction harder.</p>
</li>
</ul>
<p>If I improved these points, I think both Meshroom and RealityScan could create much better models.</p>
<p>Still, for this kind of small, white, smooth industrial object, photogrammetry can easily create a bumpy mesh. Even if the overall shape is reconstructed, the surface may not be clean enough for CAD-style visualization.</p>
<p>So I decided to try another approach: AI-based single-image 3D generation.</p>
<hr />
<h2>Hunyuan3D-2.1</h2>
<p>The first AI-based tool I tested was Tencent <a href="https://github.com/tencent-hunyuan/hunyuan3d-2.1">Hunyuan3D-2.1</a>.</p>
<p>Hunyuan3D-2.1 can generate a 3D asset from an image. It is probably more commonly used for games, digital content, and 3D assets rather than mechanical CAD.</p>
<p>I will skip the full setup here because the GitHub repository already explains it, but the model is quite large and requires a reasonably powerful machine.</p>
<p>My environment was:<br />OS: Ubuntu 22.04<br />RAM: 64 GB<br />GPU: NVIDIA RTX 4090</p>
<p>The easiest way for me was to launch the official Gradio app:</p>
<p><code>python3 gradio_app.py   --model_path tencent/Hunyuan3D-2.1   --subfolder hunyuan3d-dit-v2-1   --texgen_model_path tencent/Hunyuan3D-2.1   --low_vram_mode</code></p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/0c41546d-81b7-4378-b574-15ff58278fa9.png" alt="" style="display:block;margin:0 auto" />

<p>Then I uploaded a single image of the camera.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/abd10839-b3e9-4ed2-a783-10e3eefa076e.jpg" alt="" style="display:block;margin:0 auto" />

<p>The result was generated quickly on my local machine.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/baf8657f-f7c0-4fbf-8468-1f74a1dac2f2.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/e4f67318-d439-4620-bb6b-2927d8bf7ee8.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/41f8b058-502b-4985-85d6-44981f90a638.png" alt="" style="display:block;margin:0 auto" />

<p>Compared with the photogrammetry results, the surface was much smoother. The overall shape was also close to what I expected.</p>
<p>This was impressive because it used only one image.</p>
<p>The tool can export several model formats. For bringing the model into CAD, STL is usually a convenient choice, although OBJ can also be useful depending on the workflow.</p>
<p>Of course, this is not a dimensionally accurate engineering model. It is not a replacement for proper measurement or reverse engineering.</p>
<p>But for visual checks, rough layout studies, and early-stage design discussion, it is already quite useful.</p>
<hr />
<h2>TripoSG</h2>
<p>Next, I tested <a href="https://github.com/VAST-AI-Research/TripoSG">TripoSG</a>, another image-to-3D model.</p>
<p>I used the same single input image as before.</p>
<p>After setting up the environment following the official GitHub repository, I ran the inference script and generated a 3D mesh.</p>
<p>Before importing it into CAD, I opened the output in Blender.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/db73c9b7-af1c-4b7f-ba70-c4b8ef68e75e.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/9d191be6-bc4f-46af-b44e-2fdd8eb66639.png" alt="" style="display:block;margin:0 auto" />

<p>This result was excellent.</p>
<p>The overall shape looked better than the previous results in this test. The surface was smooth, the camera body was recognizable, and unwanted parts such as the desk were automatically removed.</p>
<p>For this specific object and this specific input image, TripoSG gave me the best-looking model.</p>
<p>So I decided to use the TripoSG output for the CAD test.</p>
<p>In Blender, I exported the generated OBJ file as an STL file.</p>
<hr />
<h2>Importing the mesh into CAD</h2>
<p>Finally, I opened the STL file in Autodesk Fusion.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/a1a66421-14e8-4d52-800f-dd99da4c6a62.png" alt="" style="display:block;margin:0 auto" />

<p>The mesh loaded without any major issue.</p>
<p>There are some important limitations.<br />First, the scale needs to be corrected. AI-generated models and photogrammetry models are often not created at the exact real-world size unless we add scale references or manually adjust them.<br />Second, this is still a mesh. It is not the same as a clean parametric CAD model. I cannot simply grab a surface and extend it like I would with a normal CAD body.</p>
<p>But for my purpose, it was useful.</p>
<p>I could place the camera model near other equipment, check the approximate appearance, and think about the installation layout.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/bf597f06-5653-4c5f-8d01-5000468a9c0b.png" alt="" style="display:block;margin:0 auto" />

<p>For interference checks, visual confirmation, and documentation, this workflow feels very promising.</p>
<h2>Practical Takeaways</h2>
<p>This test was not about creating a perfect engineering CAD model.</p>
<p>The real question was more practical:</p>
<blockquote>
<p><strong>How far can we go if we just want to bring a real-world object into CAD quickly enough for design support?</strong></p>
</blockquote>
<p>For that purpose, this workflow is already useful.</p>
<p>The most important point is to separate two different goals.</p>
<p>If you need <strong>accurate dimensions</strong>, clean surfaces, and editable CAD features, neither quick photogrammetry nor single-image AI generation is enough by itself. You still need proper measurement, reverse engineering, or manual CAD modeling.</p>
<p>But if you need a model for <strong>visual checks, layout studies, interference checks, installation planning, or documentation</strong>, these tools can save a lot of time.</p>
<p>From this test, I would use the tools differently depending on the purpose.</p>
<p>Photogrammetry tools like Meshroom and RealityScan are powerful when you can prepare good input images. They are especially useful when you can take many sharp photos from many angles under good lighting. However, the result depends heavily on image quality. Smooth, white, reflective, or low-texture objects can be difficult. Blurry frames from video can also make the result much worse.</p>
<p>AI-based tools like Hunyuan3D-2.1 and TripoSG are different. They may not reproduce the exact dimensions, but they can create a clean and recognizable mesh very quickly from just one image. For early-stage CAD visualization, this can be more useful than a noisy photogrammetry mesh.</p>
<p>So my current practical rule is:</p>
<blockquote>
<p><strong>Use photogrammetry when geometry accuracy from multiple real images matters. Use AI-based image-to-3D when speed and visual quality matter more.</strong></p>
</blockquote>
<p>For this specific test, TripoSG gave the most practical result. The model was clean, the object shape was easy to recognize, and unnecessary background parts were mostly removed automatically. After exporting it through Blender as an STL file, I could import it into Fusion and use it as a reference object.</p>
<p>This does not replace real CAD data.</p>
<p>But it creates a useful middle ground between “I have no model at all” and “I need to manually model everything from scratch.”</p>
<p>For industrial automation, robotics, equipment layout, and field engineering work, that middle ground is valuable. Many times, we do not need a perfect model at the beginning. We just need something close enough to support discussion, check space, explain an idea, or avoid obvious design mistakes.</p>
<p>In future tests, I want to compare more workflows, including better photogrammetry capture, Gaussian Splatting, multi-image AI reconstruction, and hybrid pipelines.</p>
<p>The bigger direction is clear:</p>
<blockquote>
<p><strong>The gap between real-world objects and CAD workflows is getting smaller.</strong></p>
</blockquote>
<p>And that could make practical engineering design much faster.</p>
]]></content:encoded></item><item><title><![CDATA[Same Prompt, Very Different UI, Comparing Codex With and Without `ui-ux-pro-max-skill`]]></title><description><![CDATA[When you ask AI to build a UI, the difference does not come only from the model itself. The output also changes a lot depending on what prior knowledge you give it and what design criteria you make it]]></description><link>https://blog.yukifuruta.com/same-prompt-very-different-ui-comparing-codex-with-and-without-ui-ux-pro-max-skill</link><guid isPermaLink="true">https://blog.yukifuruta.com/same-prompt-very-different-ui-comparing-codex-with-and-without-ui-ux-pro-max-skill</guid><category><![CDATA[AI]]></category><category><![CDATA[codex]]></category><category><![CDATA[Design]]></category><category><![CDATA[UI]]></category><category><![CDATA[UX]]></category><dc:creator><![CDATA[Yuki Furuta]]></dc:creator><pubDate>Sat, 11 Apr 2026 05:29:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/2a6262e1-9d5a-44bd-855c-da11c969fd90.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When you ask AI to build a UI, the difference does not come only from the model itself. The output also changes a lot depending on what prior knowledge you give it and what design criteria you make it operate with.</p>
<p>For this experiment, I gave Codex the exact same prompt and asked it to build two versions of a browser app called <code>Virtual Factory</code>, a factory 3DGS dashboard. One version was generated by standard Codex. The other was generated by Codex with <code>ui-ux-pro-max-skill</code> enabled.</p>
<p>According to its README, <code>ui-ux-pro-max-skill</code> can be installed for Codex CLI with <code>uipro init --ai codex</code>, and it is designed to auto-trigger on UI/UX-related requests. It is not just a styling pack. It includes a Design System Generator, stack-specific guidance, persistent design rules via <code>--persist</code>, and support for multiple frontend stacks including React and Next.js.</p>
<p>Here is the prompt I used:</p>
<blockquote>
<p>Create a browser-based web app called "Virtual Factory".</p>
<p>It’s a SaaS-style dashboard for factory 3DGS:</p>
<ul>
<li><p>upload scans</p>
</li>
<li><p>view them</p>
</li>
<li><p>add notes</p>
</li>
<li><p>link documents</p>
</li>
</ul>
<p>Use a modern frontend stack (prefer React / Next.js). Mock complex parts if needed.</p>
<p>Important:</p>
<ul>
<li><p>it should run locally in a development server</p>
</li>
<li><p>I should be able to open it in a browser and see a working UI</p>
</li>
<li><p>prioritize frontend demo quality over production completeness</p>
</li>
</ul>
<p>Deliver a runnable project with setup instructions.</p>
</blockquote>
<blockquote>
<p><strong>Note</strong> This comparison is based on the attached source code and screenshots. In <code>virtual-factory-2</code>, <code>app/page.js</code> references <code>FactoryDashboard</code>, but that component itself was not included in the attached source bundle I reviewed. So the code-level comparison below is limited to what could actually be verified from the files provided.</p>
</blockquote>
<h2>The Main Takeaway</h2>
<p>The most interesting difference was not whether one version looked flashier.</p>
<p>Standard Codex was very good at producing a <strong>strong, immediately demoable UI</strong> with functional flow and visual punch in a short distance. The version generated with <code>ui-ux-pro-max-skill</code>, on the other hand, looked more like it was trying to build a <strong>product with information architecture</strong>, not just assemble attractive components.</p>
<p>In other words, the real difference showed up less in decoration and more in design thinking.</p>
<h2><code>virtual-factory-1</code>: A Strong Demo You Can Show Right Away</h2>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/62699c96-4a77-4e76-af6a-942ce9e97c83.png" alt="" style="display:block;margin:0 auto" />

<p><em>Figure 1. Full-screen capture of</em> <code>virtual-factory-1</code><em>. The hero area, metrics, viewer, scan list, notes, and documents all connect within a single screen.</em></p>
<p><code>virtual-factory-1</code> makes a strong first impression. It leans hard into the kind of UI that feels great as a SaaS demo: dark tones, glassy panels, glowing accents, a hero section, and metric cards.</p>
<p>But it is not just visual polish. The upload flow, scan switching, search, note creation, document linking, viewer mode changes, and layer toggles are all wired together in one screen. Even the complex 3DGS part is handled smartly: instead of trying to solve everything for real, it uses a canvas-based mock viewer. For a prompt that explicitly said “mock complex parts if needed,” that is a very effective response.</p>
<p>The source structure is easy to read too. The center of gravity is <code>src/App.jsx</code>, where state, handlers, the viewer, and note/document interactions are mostly gathered into a single file. Architecturally that is fairly monolithic, but it also explains why the result feels so complete so quickly: it is optimized to ship a working demo fast.</p>
<p>If the goal is a sales demo, an internal proof of concept, or something you can open in a browser and show immediately, <code>virtual-factory-1</code> is genuinely strong. Its value is obvious at first glance.</p>
<h2><code>virtual-factory-2</code>: Closer to a Product With Information Architecture</h2>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/507e8eec-3456-4ca9-a57a-a21418665fa2.png" alt="" style="display:block;margin:0 auto" />

<p><em>Figure 2. Full-screen capture of</em> <code>virtual-factory-2</code><em>. For the clearest comparison, use a screen that shows the left sidebar, center viewer, and right-side rail together.</em></p>
<p><code>virtual-factory-2</code> points in a noticeably different direction, even from the files that were visible. Its entry structure uses the Next.js App Router, with <code>app/layout.js</code> and <code>app/page.js</code>. In the CSS, you can already see vocabulary that suggests a more structured screen model: <code>sidebar</code>, <code>hero-grid</code>, <code>workspace-grid</code>, <code>viewer-stage</code>, <code>viewer-hud</code>, <code>rail-card</code>, and <code>rail-item</code>.</p>
<p>The visual tone is different too. Instead of a dark, “showy SaaS” feel, this version leans toward a softer gray operational-console aesthetic—something closer to a factory, blueprint, or monitoring tool. The background grid, HUD-like layers, and three-column structure with a sidebar and right rail make it feel calmer and more like a system people would use every day.</p>
<p>That is the important point. The difference is not simply whether it is more or less flashy. <code>virtual-factory-2</code> appears to decide the placement of navigation, viewing, monitoring, and supporting information first. It feels less like “make one great-looking screen” and more like “design how this product should be used.”</p>
<p>That lines up closely with the philosophy of <code>ui-ux-pro-max-skill</code>. Its SKILL.md explicitly frames the skill around things like dashboard design, navigation structure, information hierarchy, brand expression, and UX quality control. In other words, it is trying to get the AI to think beyond “place nice-looking components” and toward “organize the product as a system.”</p>
<h2>Side by Side, They Optimize for Different Things</h2>
<table>
<thead>
<tr>
<th>Lens</th>
<th><code>virtual-factory-1</code></th>
<th><code>virtual-factory-2</code></th>
</tr>
</thead>
<tbody><tr>
<td>First impression</td>
<td>Strong hero section and dark SaaS energy</td>
<td>Calm, factory-like operational UI</td>
</tr>
<tr>
<td>Center of gravity</td>
<td>Make one screen feel impressive and complete</td>
<td>Establish role separation across the interface</td>
</tr>
<tr>
<td>Implementation feel</td>
<td>High completion through a single-file core</td>
<td>Layout vocabulary and product structure come first</td>
</tr>
<tr>
<td>Best fit</td>
<td>Fast PoC / sales demo</td>
<td>UI exploration with future expansion in mind</td>
</tr>
</tbody></table>
<p>What this comparison reveals is not which one “wins.” It reveals what the AI is optimizing for.</p>
<p>Standard Codex optimizes for short-distance output: connect the required elements quickly, package them into a convincing screen, and make something that is ready to show.</p>
<p>The version with <code>ui-ux-pro-max-skill</code> seems to optimize differently. It tries to identify the product type, impose layout order, decide where information belongs, and then move toward implementation. The README reinforces that interpretation: the skill is built around a Design System Generator and encourages persistent design rules via <code>--persist</code>, with a structure based on shared design guidance and page-level overrides. That is a very different mindset from simply generating prettier UI code.</p>
<h2>What Exactly Makes <code>ui-ux-pro-max-skill</code> Effective?</h2>
<p>What stood out to me in this comparison was not just that the skill can make CSS look better.</p>
<p>Its real value is that it changes the AI’s default questions from:</p>
<ul>
<li><p>“How do I make this look impressive?”</p>
</li>
<li><p>“How do I style this?”</p>
</li>
</ul>
<p>into questions like:</p>
<ul>
<li><p>“How is this supposed to be used?”</p>
</li>
<li><p>“What information hierarchy should this product have?”</p>
</li>
<li><p>“Where should each function live to support everyday workflows?”</p>
</li>
</ul>
<p>The README describes a workflow where the skill automatically generates a design system for UI/UX tasks, recommends styles, colors, and typography based on product type, and then checks for UI/UX anti-patterns at the end. That maps very well to the feeling I got from <code>virtual-factory-2</code>: it looks like design structure was considered before surface polish.</p>
<h2>Final Thoughts</h2>
<p>The clearest lesson from this experiment is that even with the exact same prompt, the quality and character of the output can change significantly depending on the prior knowledge and design framework you give the AI.</p>
<p>Standard Codex can absolutely generate a strong UI demo on its own. <code>virtual-factory-1</code> is a good example of that. It is fast, visually compelling, and immediately usable as a frontend demo.</p>
<p>But with <code>ui-ux-pro-max-skill</code>, the AI seems to think over a longer time horizon. Instead of simply decorating a screen, it starts trying to organize a product. The gap I saw here was less about visual taste and more about <strong>the point of view behind the design</strong>.</p>
<p>That is the part I find most valuable. It does not just improve the UI output. It upgrades the way the AI thinks about UI in the first place. And that, to me, is where <code>ui-ux-pro-max-skill</code> feels genuinely impressive.</p>
]]></content:encoded></item><item><title><![CDATA[oh-my-claudecode is a Game Changer: Experiencing Local AI Swarm Orchestration]]></title><description><![CDATA[While the official Claude Code CLI has been making waves recently, I stumbled upon a tool that pushes its potential to the absolute limit: oh-my-claudecode (OMC).
More than just a coding assistant, OM]]></description><link>https://blog.yukifuruta.com/oh-my-claudecode-is-a-game-changer-experiencing-local-ai-swarm-orchestration-1</link><guid isPermaLink="true">https://blog.yukifuruta.com/oh-my-claudecode-is-a-game-changer-experiencing-local-ai-swarm-orchestration-1</guid><category><![CDATA[AI]]></category><category><![CDATA[ClaudeCode]]></category><category><![CDATA[developers]]></category><category><![CDATA[devtools]]></category><category><![CDATA[Productivity]]></category><dc:creator><![CDATA[Yuki Furuta]]></dc:creator><pubDate>Sat, 04 Apr 2026 14:50:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/acb84429-995f-4166-9bbe-b1109887ed10.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>While the official Claude Code CLI has been making waves recently, I stumbled upon a tool that pushes its potential to the absolute limit: <strong>oh-my-claudecode (OMC)</strong>.</p>
<p>More than just a coding assistant, OMC operates on the concept of <strong>local swarm orchestration for AI agents</strong>. It’s been featured in various articles and repos, but after spinning it up locally, I can confidently say this is a paradigm shift in the developer experience.</p>
<p>Here is my hands-on review and why I think it’s worth adding to your stack.</p>
<hr />
<h2>Why is oh-my-claudecode so powerful?</h2>
<p>If the standard Claude Code is like having a brilliant junior developer sitting next to you, OMC is like <strong>hiring an entire elite engineering team</strong>.</p>
<p>Instead of relying on a single AI to handle everything sequentially, OMC leverages multiple specialized agents working in parallel. What’s even more fascinating is its multi-model support: <strong>you aren't locked into Claude. You can integrate Gemini or Codex as Workers.</strong> This allows for highly optimized, multi-model team compositions—for instance, assigning frontend UI generation specifically to a Gemini worker because of its distinct strengths.</p>
<p>Before diving into the code, here is a quick matrix to help you choose the right OMC mode based on your task scale and preferred approach:</p>
<h3>oh-my-claudecode Mode Selection Matrix</h3>
<p>| Approach \ Task Scale | 🟢 Small<br /><em>(Q&amp;A, Minor Fixes)</em> | 🟡 Medium<br /><em>(Few Files, Features, Refactors)</em> | 🔴 Large<br /><em>(Multi-file, Complex Architecture)</em> | | --- | --- | --- | --- | | <strong>Hands-off Autonomous</strong><br /><em>(Set it and forget it)</em> | Native Claude Code | <strong>Autopilot</strong><br /><em>(End-to-end, minimal ceremony)</em> | - | | <strong>Guaranteed Completion</strong><br /><em>(No silent partial stops)</em> | - | <strong>Ralph</strong><br /><em>(Persistent verify/fix loops)</em> | - | | <strong>Burst Parallelism</strong><br /><em>(Maximum speed)</em> | - | <strong>Ultrawork</strong><br /><em>(Burst parallel execution)</em> | - | | <strong>Phased &amp; Robust</strong><br /><em>(Plan &amp; review focused)</em> | - | <strong>Pipeline</strong><br /><em>(Strict sequential ordering)</em> | <strong>Team (★ Recommended)</strong><br /><em>(Plan → PRD → Exec → Verify)</em> | | <strong>Multi-Model Collaboration</strong><br /><em>(Codex / Gemini)</em> | - | - | <strong>ccg</strong> <em>(Claude synthesizes AI inputs)</em><br /><strong>omc team</strong> <em>(Standalone CLI workers)</em> |</p>
<hr />
<h2>Taking <code>team 3:executor</code> for a Spin</h2>
<p>To test the waters, I built a prototype app using OMC’s built-in <code>team 3:executor</code> command. The verdict? <strong>It is absurdly fast.</strong></p>
<p>It’s not just about the raw speed of code generation; the velocity of the entire development lifecycle is on another level.</p>
<h3>1. Seamless Collaboration and Parallel Execution</h3>
<p>When you hit enter, it doesn't just linearly spit out code. Multiple agents spin up to handle <strong>high-level planning, actual coding, and peer-reviewing</strong> in parallel. Because the agents actively verify and review each other’s work, the output quality is exceptionally high right out of the gate. You barely need to touch the keyboard.</p>
<h3>2. The Orchestrator’s "Check-ins"</h3>
<p>You might worry that a swarm of AIs will go rogue and wreck your codebase. OMC handles this beautifully. An "Orchestrator" acts as the tech lead. At the end of every major phase, it pauses and prompts you: <strong>"Here is our progress so far. Do we have permission to proceed to the next phase?"</strong> You essentially become the engineering manager, reviewing the report and giving the "LGTM" to proceed. It’s the perfect balance of massive automation and human-in-the-loop control.</p>
<h3>3. The <code>tmux</code> Spectacle</h3>
<p>As an engineer, the coolest part is arguably the visual feedback. OMC integrates natively with <code>tmux</code>. When executed, your terminal automatically splits into multiple panes.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ce85bb0ff860b6def2c2ab/cafe6954-49a9-485d-8875-c3e16c3be1f3.png" alt="" style="display:block;margin:0 auto" />

<p><em>Multiple AI agents working concurrently in separate panes, while the orchestrator summarizes progress.</em></p>
<p>Watching different AI agents stream logs simultaneously in their own panes while collaborating to build a system is, frankly, spectacular. It feels like a scene straight out of a hacker movie.</p>
<hr />
<h2>⚖️ OMC vs. Anthropic Official Agent Teams: Which should you use?</h2>
<p>The elephant in the room: <em>"Anthropic just released official Agent Teams. Why bother with a third-party wrapper?"</em></p>
<p>It boils down to <strong>Official Stability vs. OMC's Extreme Flexibility and Speed</strong>.</p>
<table>
<thead>
<tr>
<th>Feature</th>
<th>🛠️ oh-my-claudecode (OMC)</th>
<th>🏢 Anthropic Official Agent Teams</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Core Concept</strong></td>
<td>Maximum flexibility &amp; speed</td>
<td>Predictability &amp; stability</td>
</tr>
<tr>
<td><strong>Agent Pool</strong></td>
<td>19+ agents (Custom additions supported)</td>
<td>Limited, pre-defined setups</td>
</tr>
<tr>
<td><strong>Model Routing</strong></td>
<td>Smart, automatic routing</td>
<td>Manual user configuration</td>
</tr>
<tr>
<td><strong>Skill Learning</strong></td>
<td>Automatically learns project quirks</td>
<td>None (Requires repeated context)</td>
</tr>
<tr>
<td><strong>Support/Stability</strong></td>
<td>OSS (Fast updates, potential breaking changes)</td>
<td>Official support, highly stable</td>
</tr>
</tbody></table>
<h3>3 Reasons OMC is Hard to Give Up</h3>
<p>If the table isn't convincing enough, here are three specific pain points OMC completely solves:</p>
<ol>
<li><p><strong>Escaping the Single-Agent Bottleneck (Parallelism)</strong> Official tools often force sequential execution. OMC’s Team Mode and Ultrawork execute tasks concurrently. If you are doing a massive multi-file refactor, the speed difference is staggering.</p>
</li>
<li><p><strong>Saving Your API Budget (Smart Routing)</strong> Running Opus for every minor file read will burn through your tokens in hours. OMC intelligently routes tasks: Haiku for quick searches, Sonnet for heavy coding, and Opus for complex architectural decisions. <strong>It saves money automatically.</strong></p>
</li>
<li><p><strong>The "Don't Repeat Yourself" Memory (Skill Learning)</strong> OMC learns the specific patterns, rules, and context of your project and remembers them across sessions. You no longer have to paste the same architectural guidelines into the prompt every single day.</p>
</li>
</ol>
<p><strong>The Verdict:</strong> If you cannot tolerate a single bug or breaking change in your tooling, stick to the Official Agent Teams. But if you want to push the boundaries of development speed, slash your API costs, and experience the bleeding edge of AI orchestration, OMC is the clear winner.</p>
<hr />
<h2>💻 GUI Alternative: Using Cursor</h2>
<p>While OMC truly shines in the terminal (especially for the <code>tmux</code> parallel execution views), not everyone loves living in the CLI.</p>
<p>If you prefer a GUI, you can achieve a similar setup within <strong>Cursor</strong>. By installing the Claude Code extension and adding OMC as a plugin, you can tap into this swarm intelligence directly from your favorite AI code editor.</p>
<hr />
<h2>Final Thoughts</h2>
<p>oh-my-claudecode bridges the gap between simple AI autocomplete and a fully autonomous AI engineering team.</p>
<ul>
<li><p>If you want to ship applications at lightning speed...</p>
</li>
<li><p>If you want to see AIs collaborate in real-time...</p>
</li>
<li><p>If you want to optimize your token usage...</p>
</li>
</ul>
]]></content:encoded></item></channel></rss>