<?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[Skaro]]></title><description><![CDATA[Skaro]]></description><link>https://skarodev.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/69dd1207217f5dfcbd0c8fc9/3a0e8636-0cb6-4cf9-b782-77fb2ee135a9.svg</url><title>Skaro</title><link>https://skarodev.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 08:41:05 GMT</lastBuildDate><atom:link href="https://skarodev.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Skaro 2.0: Not Another AI Coding Tool, but a Workspace for Building Software With AI]]></title><description><![CDATA[Skaro 2.0: Not Another AI Coding Tool, but a Workspace for Building Software With AI
I wrote about Skaro before, but since then the project has changed quite a lot.
Version 2.0 is not a cosmetic updat]]></description><link>https://skarodev.hashnode.dev/skaro-2-0-not-another-ai-coding-tool-but-a-workspace-for-building-software-with-ai</link><guid isPermaLink="true">https://skarodev.hashnode.dev/skaro-2-0-not-another-ai-coding-tool-but-a-workspace-for-building-software-with-ai</guid><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[llm]]></category><category><![CDATA[AI Engineering]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Developer Tools]]></category><category><![CDATA[software development]]></category><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Mon, 13 Apr 2026 16:14:45 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69dd1207217f5dfcbd0c8fc9/e1f87e01-667b-4c6b-8509-71ee2849daeb.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Skaro 2.0: Not Another AI Coding Tool, but a Workspace for Building Software With AI</p>
<p>I wrote about <strong>Skaro</strong> before, but since then the project has changed quite a lot.</p>
<p>Version 2.0 is not a cosmetic update. It is a deeper rethink of how the product should work and what kind of collaboration model it should support.</p>
<p>So instead of posting a simple changelog, I want to explain what Skaro actually is, why I keep building it, and where I want to take it next.</p>
<img src="https://habrastorage.org/webt/20/61/88/20618821d00b4b9ca59924593b2f2dcf.jpg" alt="&quot;Start&quot;" style="display:block;margin:0 auto" />

<h2>The question I get the most</h2>
<p>Whenever I show a new AI tool for software development, I get the same question almost immediately:</p>
<p>How is this different from Cursor, Codex, Claude Code, and why build something else at all?</p>
<p>That is a fair question. But I think the problem is in the framing.</p>
<p>Most people try to place Skaro into an existing category: editor, coding agent, code generator, or just another UI around an LLM.</p>
<p>That is not how I think about it.</p>
<p>Skaro was never meant to be just another utility that helps write code faster. And it was not meant to be just a chat where you occasionally paste pieces of a project.</p>
<p>The idea is different.</p>
<h2>What Skaro is</h2>
<p>In short, Skaro is a collaborator and a workspace for building software projects together with AI.</p>
<p>Not in the sense of replacing the developer.</p>
<p>Not in the sense of asking the model to do everything on its own.</p>
<p>But in the sense of real collaboration, where the human and the AI have different roles, and those roles are separated in a natural way.</p>
<p>The human leads the project. The human owns the intent, the key decisions, the architecture, the constraints, and the meaning behind the work.</p>
<p>The AI acts as engineering leverage. It helps discuss ideas, shape documents, break work into stages, define tasks, implement changes, return to context, and push things toward completion.</p>
<p>That is the model that makes sense to me.</p>
<img src="https://habrastorage.org/webt/24/e8/80/24e880d0b8c53d8234e9a01d0ff05c06.png" alt="" style="display:block;margin:0 auto" />

<p>There is a typo in the generated image :)</p>
<h2>Why I felt this tool needed to exist</h2>
<p>Once you start building software with AI seriously, one problem shows up very quickly.</p>
<p>Human + AI collaboration produces a large amount of decisions, assumptions, agreements, intermediate conclusions, corrections, and context. You cannot keep all of that in your head. And you cannot scatter it across random chats either.</p>
<p>At some point, a project starts to fall apart not because there is not enough code, but because the thread gets lost:</p>
<ul>
<li><p>why a certain decision was made</p>
</li>
<li><p>what the architecture depends on</p>
</li>
<li><p>what was already agreed on</p>
</li>
<li><p>how one task relates to another</p>
</li>
<li><p>which constraints were already established</p>
</li>
</ul>
<p>That is why I think an AI-assisted project needs external memory.</p>
<p>Not a detached knowledge base somewhere on the side, but a working structure that lives close to the project itself and stays visible during everyday work.</p>
<h2>Why artifacts are at the center of Skaro</h2>
<p>That is what artifacts are for in Skaro.</p>
<p>Artifacts are not documents for the sake of documents. And they are not bureaucracy layered on top of development.</p>
<p>They are the recorded output of what was already discussed, designed, and agreed on: architecture, plans, milestones, tasks, and other important project decisions.</p>
<p>That gives the human a stable thread to follow.</p>
<p>And it gives the AI something better than a blank slate every time. The model can work from an existing foundation instead of guessing from a short prompt.</p>
<p>For me, this is one of the key ideas.</p>
<p>If a project is developed together with AI, then an important part of the context should live not only in the author’s head and not only in chat history, but in a clear structure inside the repository.</p>
<p>That is what gives the work continuity.</p>
<p><strong>This is what the</strong> <code>.skaro</code> <strong>folder structure looks like:</strong> (trimmed)</p>
<pre><code class="language-text">.skaro
│   config.yaml
│   constitution.md
│   devplan.md
│   secrets.yaml
│   state.yaml
│   token_usage.yaml
│   usage_log.jsonl
│
├───architecture
│   │   adr-001-using-fastapi-as-web-framework.md
│   │   adr-002-simplified-layered-monolith-as-architectural-pattern.md
│   │   adr-003-using-psutil-for-system-metrics.md
│   │   adr-004-no-database-in-favor-of-stateless-architecture.md
│   │   adr-005-no-docker-in-favor-of-native-windows-run.md
│   │   adr-006-no-authentication-and-authorization-for-public-....md
│   │   adr-007-using-pydantic-settings-for-config.md
│   │   adr-008-sync-psutil-calls-in-async-endpoints.md
│   │   adr-009-testing-strategy
│   │   architecture.md
│   │   chat-conversation.json
│   │
│   └───diagrams
├───chat
│       tasks.json
│
├───docs
│       review-results.json
│
├───features
├───milestones
│   ├───01-foundation
│   │   │   milestone.md
│   │   │   order.json
│   │   │
│   │   ├───config-module
│   │   │   │   clarifications.md
│   │   │   │   plan.md
│   │   │   │   spec.md
│   │   │   │   tasks.md
│   │   │   │   tests-confirmed
│   │   │   │   tests.json
│   │   │   │   verify.yaml
│   │   │   │
│   │   │   └───stages
│   │   │       └───stage-01
│   │   │               AI_NOTES.md
│   │   │
├───models_cache
│       groq.json
│
├───ops
└───templates
        adr-template.md
        ai-notes-template.md
        architecture-template.md
        constitution-template.md
        devplan-template.md
        plan-template.md
        security-checklist.md
        spec-template.md
</code></pre>
<h2>What the workflow is supposed to look like</h2>
<p>The workflow I believe in looks roughly like this:</p>
<p>First, the human and the AI think through the project and create the core architecture documents.</p>
<p>Then those documents are used to shape a plan, break it into milestones, and define concrete tasks.</p>
<p>Only after that does implementation begin, again with AI, but no longer in a chaotic way. It happens with a recorded foundation behind it.</p>
<p>This is also why chat matters to me — but only where discussion is actually needed.</p>
<p>The point is not “the product has chat.”</p>
<p>There is already enough chat in the world.</p>
<p>The point is that architecture, plans, tasks, and other working materials can be discussed right where they live, and the result can be saved directly into the repository.</p>
<p>That keeps the workflow coherent. Context stays attached to the thing it belongs to.</p>
<h2>What changed in Skaro 2.0</h2>
<p>With version 2.0, my goal was not to add isolated features.</p>
<p>The goal was to improve the overall process of human + AI collaboration around a software project.</p>
<p>Not “a few more screens,” but a product that makes this way of working more understandable, more natural, and more usable in day-to-day practice.</p>
<p>Here are the changes that matter most to me.</p>
<h2>Chat is now embedded where the work happens</h2>
<p>In Skaro 2.0, chat is available wherever discussion with AI is actually part of the workflow.</p>
<p>That matters not because “there is now a chat inside the product.” Plenty of tools already have that.</p>
<p>What matters is that the discussion now happens in the context of artifacts, tasks, and working pages. You do not have to leave the workflow or move important conversations into a disconnected place.</p>
<img src="https://habrastorage.org/webt/d4/68/39/d46839e20ea9fdf9c0d75ee2919dd776.png" alt="&quot;chat&quot;" style="display:block;margin:0 auto" />

<h2>The model gets a real starting point before implementation</h2>
<p>Before executing a task, the LLM receives an initial project context and can then request the files it needs for implementation.</p>
<p>That is an important step toward consistency.</p>
<p>The model is not just given a short prompt and expected to work almost blindly. It starts from a defined context and can retrieve the relevant material within the scope of the task.</p>
<p>That makes the implementation more coherent and reduces the number of cases where generated changes drift away from decisions that were already made.</p>
<h2>Auto-commit when a task is completed</h2>
<p>There is now an option to enable automatic commits after task completion.</p>
<p>This does not look like a headline feature, but in practice it is genuinely useful.</p>
<p>When your workflow is moving quickly, small things like this reduce friction and help maintain momentum.</p>
<h2>Statistics now live on a separate page</h2>
<p>This made the interface cleaner and easier to reason about.</p>
<p>Core workflows no longer compete for space on the same screen, and model usage and activity metrics are easier to inspect in a dedicated place.</p>
<img src="https://habrastorage.org/webt/99/07/0c/99070c3e3fe67c925c02c47ab25d13be.jpg" alt="&quot;stat&quot;" style="display:block;margin:0 auto" />

<h2>The start page reflects project state better</h2>
<p>The start page now includes a Kanban-style task board.</p>
<p>This is not just a nicer overview. It gives a quick read on the current project state, shows where work stopped, and helps you get back into the flow without extra navigation.</p>
<p>For a tool that is supposed to help run a project, not just generate code fragments, that matters a lot.</p>
<img src="https://habrastorage.org/webt/20/61/88/20618821d00b4b9ca59924593b2f2dcf.jpg" alt="&quot;Start&quot;" style="display:block;margin:0 auto" />

<h2>The interface became more flexible and more calm</h2>
<p>Version 2.0 adds lightweight theme customization. You can choose an accent color or set your own.</p>
<p>More broadly, the UI was improved to feel more stable and predictable during daily use.</p>
<p>I do not think of interface design as decoration. If a product is meant to be a real workspace, it should feel calm, readable, and consistent.</p>
<p>So in 2.0 I paid attention not only to what was added, but also to how the product feels while you work in it every day.</p>
<img src="https://habrastorage.org/webt/51/76/78/517678706f9d39d424fb5ad5ddadf0c9.jpg" alt="" style="display:block;margin:0 auto" />

<h2>Known issues were also fixed</h2>
<p>A less glamorous but important part of the work in 2.0 was fixing known issues that were getting in the way of the product being used the way it was intended.</p>
<p>For me, that kind of work matters just as much as shipping new features.</p>
<p>If a tool wants to become a long-term workspace, it has to be solid in everyday use, not only interesting as an idea.</p>
<h2>Where I want to take the project next</h2>
<p>The core of Skaro will remain <strong>Open Source</strong>.</p>
<p>That is a principle for me.</p>
<p>The underlying idea — building software with AI around artifacts, project memory, and a tighter link between discussion and implementation — should stay open.</p>
<p>At the same time, I want to build a separate workspace layer around Skaro for teams and companies.</p>
<p>That means a broader collaboration environment: access control, analytics, cost visibility, boards, shared workflows, and other capabilities that matter when the product is used by a team rather than a single developer.</p>
<p>That feels like the next logical layer.</p>
<p>But the open source core is not going away, and it is not meant to become a closed showcase.</p>
<h2>Final thoughts</h2>
<p>I do not see Skaro as an attempt to make “just another AI coding tool.”</p>
<p>And I do not see it as another shell around a model.</p>
<p>I see it as a working environment where humans and AI build software projects together, while key decisions, plans, milestones, and tasks are stored in a clear structure so the project does not dissolve into memory and scattered chat threads.</p>
<p>That is what Skaro 2.0 was rebuilt for.</p>
<p>If this model resonates with you, I would genuinely like to hear your thoughts.</p>
<p>And if you are already building software with AI and have run into the same problems — project memory, decision consistency, context loss — I would be especially interested in comparing approaches.</p>
<hr />
<p><strong>GitHub</strong>: <a href="https://github.com/skarodev/skaro">https://github.com/skarodev/skaro</a><br /><strong>Website</strong>: <a href="https://skaro.dev">https://skaro.dev</a><br /><strong>Docs</strong>: <a href="https://docs.skaro.dev">https://docs.skaro.dev</a></p>
<p><strong>Telegram</strong>: <a href="https://t.me/skarodev">https://t.me/skarodev</a><br /><strong>Discord</strong>: <a href="https://discord.gg/zUv6AHuJwD">https://discord.gg/zUv6AHuJwD</a></p>
]]></content:encoded></item></channel></rss>