<?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: Fryderyk</title>
    <description>The latest articles on DEV Community by Fryderyk (@fredcallagan).</description>
    <link>https://dev.to/fredcallagan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3906606%2Fe170132a-5d5a-4e49-9eef-efb955c3ad49.jpg</url>
      <title>DEV Community: Fryderyk</title>
      <link>https://dev.to/fredcallagan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fredcallagan"/>
    <language>en</language>
    <item>
      <title>I built Arness: a Claude Code plugin marketplace you drive with four slash commands</title>
      <dc:creator>Fryderyk</dc:creator>
      <pubDate>Mon, 04 May 2026 11:00:00 +0000</pubDate>
      <link>https://dev.to/fredcallagan/i-built-arness-a-claude-code-plugin-marketplace-you-drive-with-four-slash-commands-4jnb</link>
      <guid>https://dev.to/fredcallagan/i-built-arness-a-claude-code-plugin-marketplace-you-drive-with-four-slash-commands-4jnb</guid>
      <description>&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%2Fbjqzpdiedtpnzlaghkbw.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%2Fbjqzpdiedtpnzlaghkbw.png" alt="Arness - The H? Handled!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claude Code is powerful. Without structure around it, every session starts cold, plans live in chat history, and the spec you cared about is buried in a thread you will never re-read.&lt;/p&gt;

&lt;p&gt;I built Arness because I got tired of two things at once: the ad-hoc-prompting ceiling, and the ceremony every framework adds when it tries to fix it. It is an open-source Claude Code plugin marketplace, and you drive it with four slash commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four commands
&lt;/h2&gt;

&lt;p&gt;These are the user-facing surface. You do not pick between dozens of skills. You pick a verb that matches what you are doing right now, and the entry skill routes the rest.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/arn-brainstorming     → start a new product idea from scratch
/arn-planning          → turn a feature idea into a phased plan
/arn-implementing      → build the plan task-by-task
/arn-infra-wizard      → set up, deploy, or change infrastructure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;That is the whole vocabulary. If you can describe what you are doing in one verb, you know which command to run.&lt;/p&gt;
&lt;h2&gt;
  
  
  What happens underneath
&lt;/h2&gt;

&lt;p&gt;Each entry skill dispatches to dozens of specialist skills and agents. &lt;code&gt;/arn-planning&lt;/code&gt; calls feature-spec generation, codebase-pattern discovery, plan-writer, and plan-reviewer. &lt;code&gt;/arn-implementing&lt;/code&gt; runs a task-executor and a task-reviewer agent per task, with self-healing test loops between them. &lt;code&gt;/arn-infra-wizard&lt;/code&gt; walks discovery, define, containerize, deploy, verify, and change management.&lt;/p&gt;

&lt;p&gt;You do not learn the names. The entry skill reads your &lt;code&gt;## Arness&lt;/code&gt; config and the current state of your repo, then picks the right next move. If your project has no spec yet, it writes one. If a spec exists but no plan, it produces a plan. If a plan exists but tasks are pending, it executes them. The progressive disclosure is by design: the surface is small, the depth is real, and you only meet the depth when something needs your attention.&lt;/p&gt;
&lt;h2&gt;
  
  
  What this looks like in practice
&lt;/h2&gt;

&lt;p&gt;You start a new product idea. You run &lt;code&gt;/arn-brainstorming&lt;/code&gt;. It walks discovery, drafts personas, proposes an architecture vision, and scaffolds a working skeleton you can run. You move into the build phase: &lt;code&gt;/arn-planning&lt;/code&gt; for the next feature, then &lt;code&gt;/arn-implementing&lt;/code&gt; to walk the plan task-by-task. When the feature needs a deploy, &lt;code&gt;/arn-infra-wizard&lt;/code&gt; handles the IaC, the deploy, and the post-deploy verification.&lt;/p&gt;

&lt;p&gt;Four slash commands. Full lifecycle. The depth is there when you need it (each entry skill exposes its sub-skills if you want to drive at a finer grain), but most of the time you do not.&lt;/p&gt;
&lt;h2&gt;
  
  
  Install one, install all three
&lt;/h2&gt;

&lt;p&gt;Arness ships as three independently-installable plugins. Each plugin stands alone.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plugin&lt;/th&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Entry skill&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;arn-spark&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Greenfield exploration&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/arn-brainstorming&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;arn-code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Development pipeline&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;/arn-planning&lt;/code&gt;, &lt;code&gt;/arn-implementing&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;arn-infra&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Infrastructure&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/arn-infra-wizard&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Install Spark for a brand-new product idea and stop there. Install Code on an existing codebase you want to add structure to. Install Infra to manage deployment without touching the dev pipeline. Or install all three and ride the full chain from idea to deployed feature.&lt;/p&gt;

&lt;p&gt;When you install a second plugin alongside an existing one, it reuses the &lt;code&gt;## Arness&lt;/code&gt; config block in your &lt;code&gt;CLAUDE.md&lt;/code&gt;. The new plugin inherits what the first one already learned about your project. No re-init, no re-discovery, no contradictory state.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why it actually works: the artifact contract
&lt;/h2&gt;

&lt;p&gt;The single design rule across the marketplace is &lt;strong&gt;the human is the only writer of intent&lt;/strong&gt;. Every skill writes structured output to disk. Every skill reads structured input from disk. The conversation is scaffolding, not the source of truth.&lt;/p&gt;

&lt;p&gt;That is what makes the four-verb surface possible. You can stop a session, switch projects, switch plugins, and the chain still composes because every step left a file behind. A feature spec written by &lt;code&gt;/arn-planning&lt;/code&gt; is a plain Markdown file your colleague can read, your code reviewer can grep, and &lt;code&gt;/arn-implementing&lt;/code&gt; can pick up tomorrow.&lt;/p&gt;

&lt;p&gt;Three concrete things this changes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Every decision is inspectable.&lt;/strong&gt; Spec, plan, task list, review verdict, deploy report all live as plain Markdown or JSON in your repo. You diff them, PR-review them, grep them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stages are interruptible and resumable.&lt;/strong&gt; Lose the session, restart Claude tomorrow, point the next entry skill at the artifact. The pipeline picks up where it left off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The output of one stage gates the next.&lt;/strong&gt; A plan with no acceptance criteria does not produce executable tasks. An execution with no green test run does not produce a change record. The structure is checked, not assumed.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Who this is for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Solo builders&lt;/strong&gt; who lose context between sessions and want a chain of artifacts instead of a thread of prompts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skeptical staff engineers&lt;/strong&gt; who refuse to trust AI output without an inspectable audit trail. Plain-text artifacts mean code review still works.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stretched operators&lt;/strong&gt; who re-paste 2,400 words of infra context every session. arn-infra owns that context as artifacts so the operator does not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engineering managers&lt;/strong&gt; who need uneven AI productivity to converge. The structure of the pipeline is the convergence mechanism.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Add the marketplace&lt;/span&gt;
/plugin marketplace add AppsVortex/arness

&lt;span class="c"&gt;# Install the plugins you need (or all three)&lt;/span&gt;
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;arn-spark@arn-marketplace
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;arn-code@arn-marketplace
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;arn-infra@arn-marketplace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;After install, run &lt;code&gt;/arn-spark-init&lt;/code&gt;, &lt;code&gt;/arn-code-init&lt;/code&gt;, or &lt;code&gt;/arn-infra-init&lt;/code&gt; once per project. Each init writes the &lt;code&gt;## Arness&lt;/code&gt; block to your &lt;code&gt;CLAUDE.md&lt;/code&gt; and asks four short setup questions. After that, the four entry skills are usable.&lt;/p&gt;
&lt;h2&gt;
  
  
  Status
&lt;/h2&gt;

&lt;p&gt;Arness opened publicly a few weeks ago at v1.0.0. Current versions: arn-code 3.3.0 (35 skills), arn-spark 2.2.0 (28 skills), arn-infra 2.2.0 (25 skills). MIT licensed. No telemetry, no server component, runs entirely inside your Claude Code session.&lt;/p&gt;

&lt;p&gt;What I am still working out: how much of each entry skill should pause for confirmation versus just proceed. Right now &lt;code&gt;/arn-implementing&lt;/code&gt; halts before each phase boundary; some users want that, others find it ceremony. The current answer is a &lt;code&gt;## Arness&lt;/code&gt; config flag, but the right default is not settled.&lt;/p&gt;

&lt;p&gt;What is your current Claude Code setup, and where does the chain of intent break down for you the most?&lt;/p&gt;




&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/AppsVortex" rel="noopener noreferrer"&gt;
        AppsVortex
      &lt;/a&gt; / &lt;a href="https://github.com/AppsVortex/arness" rel="noopener noreferrer"&gt;
        arness
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Structured AI workflows for Claude Code — from first idea to production deploy. Three plugins: Spark (discovery &amp;amp; prototyping), Code (development pipeline), Infra (infrastructure &amp;amp; deployment).
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Arness&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/AppsVortex/arness/assets/arness.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAppsVortex%2Farness%2FHEAD%2Fassets%2Farness.png" alt="Arness"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arness.appsvortex.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4a7e7303b46c15d67e644ed349ddb5da1f14519eeaa490e35c16229e02d805ec/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63732d61726e6573732e61707073766f727465782e636f6d2d3765336666323f6c6f676f3d617374726f266c6f676f436f6c6f723d7768697465" alt="Docs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Arness — H not required.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Structured AI workflows for Claude Code. From first idea to production deploy.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seven entry commands. That's all you need to remember. Behind them, 134 specialist skills and agents handle the details across three independent plugins — ideation, development, and infrastructure.&lt;/p&gt;

&lt;p&gt;Most AI coding tools help you write code faster. Arness helps you build software better. It gives your Claude Code session a structured pipeline: specs before code, plans before execution, reviews before shipping. Every stage produces a human-readable artifact that feeds the next. Nothing is hidden, nothing is locked in.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Three Plugins, One Lifecycle&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Arness Spark — Where ideas come alive&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/AppsVortex/arness/assets/spark.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAppsVortex%2Farness%2FHEAD%2Fassets%2Fspark.png" alt="Arness Spark"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most projects fail before the first commit — wrong problem, wrong audience, wrong architecture. Spark takes a raw idea and puts it through product discovery, stress testing, brand naming, use case writing, architecture evaluation, and interactive prototyping. By the time you write real…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/AppsVortex/arness" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;em&gt;Drafted with Claude Code, edited by me. Which is, recursively, the workflow Arness is for.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
