<?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: Parvez Ahammed</title>
    <description>The latest articles on DEV Community by Parvez Ahammed (@piru72).</description>
    <link>https://dev.to/piru72</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%2F621984%2F6f510eb9-722e-4955-9f67-137d321bcd69.jpeg</url>
      <title>DEV Community: Parvez Ahammed</title>
      <link>https://dev.to/piru72</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/piru72"/>
    <language>en</language>
    <item>
      <title>Stop asking Claude Code to "review my code". Give it a process instead.</title>
      <dc:creator>Parvez Ahammed</dc:creator>
      <pubDate>Tue, 20 Oct 2026 09:25:50 +0000</pubDate>
      <link>https://dev.to/piru72/stop-asking-claude-code-to-review-my-code-give-it-a-process-instead-1cdo</link>
      <guid>https://dev.to/piru72/stop-asking-claude-code-to-review-my-code-give-it-a-process-instead-1cdo</guid>
      <description>&lt;p&gt;"Review my code" is a weak prompt. You get a list. Some items are real. Some sound real. A few are wrong in a way that costs you 20 minutes to check.&lt;/p&gt;

&lt;p&gt;The model is not the problem. The process is. A human senior reviewer does not just read the diff and talk. They check who calls the changed method. They try to prove their own finding wrong before they post it. They ask "did anyone run this?"&lt;/p&gt;

&lt;p&gt;So I wrote those steps down as Claude Code skills, and published them as &lt;strong&gt;&lt;a href="https://github.com/parvez-ahammed/shipkit" rel="noopener noreferrer"&gt;ShipKit&lt;/a&gt;&lt;/strong&gt;: 24 skills and 2 git hooks, MIT licensed, any stack.&lt;/p&gt;

&lt;p&gt;This post shows four of them, what each one forces Claude to do, and how to install them in two commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;p&gt;Inside Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/plugin marketplace add parvez-ahammed/shipkit
/plugin install shipkit@shipkit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For most skills you do not need to remember any command. Ask in plain words, and Claude loads the skill whose description matches. Three long or personal ones (&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/deliver-issue/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;deliver-issue&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/show-usage/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;show-usage&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/fill-timesheet/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;fill-timesheet&lt;/code&gt;&lt;/a&gt;) run only when you type their command, so they cost nothing until you need them. You can also run any skill directly, for example &lt;code&gt;/shipkit:review-branch&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Want only one skill? Each one is a self-contained folder. Copy &lt;a href="https://github.com/parvez-ahammed/shipkit/tree/master/plugins/shipkit/skills" rel="noopener noreferrer"&gt;&lt;code&gt;plugins/shipkit/skills/&amp;lt;name&amp;gt;&lt;/code&gt;&lt;/a&gt; into &lt;code&gt;~/.claude/skills/&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;code&gt;fix-bug&lt;/code&gt;: no fix before the root cause
&lt;/h2&gt;

&lt;p&gt;The usual agent loop for a bug is: read the error, guess, patch, done. It often works. When it does not, you get a fix for the symptom and the bug comes back next week.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/fix-bug/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;fix-bug&lt;/code&gt;&lt;/a&gt; blocks that shortcut. The order is fixed:&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%2F1ax4ojws8guzjea5tczl.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%2F1ax4ojws8guzjea5tczl.png" alt="fix-bug runs six steps in a fixed order: reproduce, root cause, prove it, fix the cause, regression test, re-verify. Root cause, proof and the regression test are gates."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reproduce the bug.&lt;/li&gt;
&lt;li&gt;Find the root cause and write it down as one testable sentence, with the file and line.&lt;/li&gt;
&lt;li&gt;Prove it. "This line could cause it" is not proof.&lt;/li&gt;
&lt;li&gt;Fix the cause, not the symptom, with the smallest change.&lt;/li&gt;
&lt;li&gt;Add a regression test that &lt;strong&gt;fails without the fix&lt;/strong&gt; and passes with it.&lt;/li&gt;
&lt;li&gt;Re-verify, and look for the same bug next door.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 5 is the one people skip. A test that passes before and after your fix tests nothing.&lt;/p&gt;

&lt;p&gt;What you type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;this endpoint returns 500 since yesterday, fix it
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. &lt;code&gt;review-branch&lt;/code&gt;: findings that survive a refutation pass
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/review-branch/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;review-branch&lt;/code&gt;&lt;/a&gt; runs your branch past six reviewer seats: backend, frontend, architecture, tests, QA and text. A seventh seat checks the licence of any new dependency.&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%2Fuzfyogyd6ds13m61wuc8.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%2Fuzfyogyd6ds13m61wuc8.png" alt="review-branch: your branch goes to seven reviewer seats, every finding goes through a refutation pass, and what survives becomes a ranked punch list and an HTML report. Comment mode asks before posting."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then the part that matters: &lt;strong&gt;every finding goes through a refutation pass.&lt;/strong&gt; A separate check tries to prove the finding wrong. Is the "missing null check" handled by the caller? Is the "unused method" called from a file the diff did not touch? Findings that do not survive are dropped.&lt;/p&gt;

&lt;p&gt;You get one ranked punch list and an HTML report. Optional comment mode posts the findings to GitHub, GitLab or Azure DevOps, but only after it re-checks each one and you say yes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;review my branch before I open the PR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The rule behind it: a reviewer who posts five real findings is worth more than one who posts twenty and makes you check all of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;code&gt;test-branch&lt;/code&gt;: run the app, not the diff
&lt;/h2&gt;

&lt;p&gt;"The code path does X" and "I ran it and saw X" are two different claims. The first one is an argument. The second one is evidence.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/test-branch/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;test-branch&lt;/code&gt;&lt;/a&gt; starts from the running app. It seeds the data the change needs, predicts the result with a query, drives the API and the browser, and writes an HTML report with screenshots that a product owner can read. It compares the base branch with your branch, and it lists only what is still open.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;test this branch against the running app and give me a report for the PO
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. &lt;code&gt;grill-feature&lt;/code&gt;: is the promise real?
&lt;/h2&gt;

&lt;p&gt;Your landing page says "users can export everything". Can they? Including archived items? With more than 10,000 rows?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/grill-feature/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;grill-feature&lt;/code&gt;&lt;/a&gt; takes a promise and checks it in the code. The answer is one of three:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BULLETPROOF&lt;/strong&gt;: the promise holds in the code, with the file and line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CRACKED&lt;/strong&gt;: it works, but here is the real gap or risk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FAKE&lt;/strong&gt;: the code does not deliver it: a stub, a mock or a no-op.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;is checkout really bulletproof?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The rest of the kit
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Skills&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Review and fix&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/review-branch/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;review-branch&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/fix-bug/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;fix-bug&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/build-story/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;build-story&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/test-branch/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;test-branch&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/grill-feature/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;grill-feature&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plan and deliver&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/groom-issue/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;groom-issue&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/deliver-issue/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;deliver-issue&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/price-product/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;price-product&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QA and UX&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/audit-app/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;audit-app&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/find-ux-gaps/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;find-ux-gaps&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refactor&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/refactor/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;refactor&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/enforce-clean-architecture/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;enforce-clean-architecture&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/find-shared-code/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;find-shared-code&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/simplify-code/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;simplify-code&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/trim-comments/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;trim-comments&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ship and operate&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/deploy-to-vps/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;deploy-to-vps&lt;/code&gt;&lt;/a&gt; (with honest health checks), &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/add-mcp-server/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;add-mcp-server&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/boost-seo/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;boost-seo&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Create and document&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/make-video/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;make-video&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/make-demo/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;make-demo&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/write-user-guide/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;write-user-guide&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/write-plainly/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;write-plainly&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Insight&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/show-usage/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;show-usage&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/parvez-ahammed/shipkit/blob/master/plugins/shipkit/skills/fill-timesheet/SKILL.md" rel="noopener noreferrer"&gt;&lt;code&gt;fill-timesheet&lt;/code&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Plus two git hooks: &lt;a href="https://github.com/parvez-ahammed/shipkit/tree/master/hooks/secret-hygiene" rel="noopener noreferrer"&gt;&lt;code&gt;secret-hygiene&lt;/code&gt;&lt;/a&gt; blocks a commit that adds a secret, and &lt;a href="https://github.com/parvez-ahammed/shipkit/tree/master/hooks/safe-commit" rel="noopener noreferrer"&gt;&lt;code&gt;safe-commit&lt;/code&gt;&lt;/a&gt; checks commit messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three rules every skill follows
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Evidence or nothing.&lt;/strong&gt; Findings cite a file and line. If a skill could not see it, the report says UNKNOWN. It does not guess.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ask before anything leaves your machine.&lt;/strong&gt; Posting a PR comment, filing a ticket, pushing a branch, attaching a file: the skill shows you what it will send and waits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Any stack, any OS.&lt;/strong&gt; No framework lock-in. Where a script needs a shell, there is a bash and a PowerShell version.&lt;/p&gt;

&lt;h2&gt;
  
  
  One thing I learned while building it
&lt;/h2&gt;

&lt;p&gt;ShipKit had 30 skills. I tested every skill against a plain agent with no skill. Six of them found nothing the plain agent missed, so I folded them into other skills. Later I folded a seventh.&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%2Frzxas2dt64p1dm5kvt3v.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%2Frzxas2dt64p1dm5kvt3v.png" alt="30 skills became 24: five catalog skills folded into refactor, brief-milestone into groom-issue, add-health-check into deploy-to-vps, and add-mcp-server was added."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The skills that passed all had the same shape: they do not teach the model facts. They force the steps it skips.&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%2Fj6r208w6942qiqbb4x7v.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%2Fj6r208w6942qiqbb4x7v.png" alt="What belongs in a skill: keep the order of steps, gates, evidence rules, scripts and one routing line. Move out or cut catalogs the model knows, essays, repeated tables and detail needed at one step only."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before the release I applied the same rule to every skill: no sentence said twice, and detail needed at one step moved to a file that is read only at that step.&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%2Fc98j7vc6b173gesqazew.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%2Fc98j7vc6b173gesqazew.png" alt="Size after the cleanup as a percentage of before: descriptions loaded in every session 79%, all skill bodies 84%, review-branch 77%."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/plugin marketplace add parvez-ahammed/shipkit
/plugin install shipkit@shipkit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Repo: &lt;a href="https://github.com/parvez-ahammed/shipkit" rel="noopener noreferrer"&gt;github.com/parvez-ahammed/shipkit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Website: &lt;a href="https://parvez-ahammed.github.io/shipkit/" rel="noopener noreferrer"&gt;parvez-ahammed.github.io/shipkit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Every skill: &lt;a href="https://github.com/parvez-ahammed/shipkit/tree/master/plugins/shipkit/skills" rel="noopener noreferrer"&gt;plugins/shipkit/skills&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If it saves you time, a &lt;a href="https://github.com/parvez-ahammed/shipkit" rel="noopener noreferrer"&gt;star on GitHub&lt;/a&gt; helps other developers find it.&lt;/p&gt;

&lt;p&gt;Which step does your agent skip most often? Tell me in the comments. If it is a common one, it is probably the next skill.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
