<?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: Shapovalov Valentine</title>
    <description>The latest articles on DEV Community by Shapovalov Valentine (@apovalov).</description>
    <link>https://dev.to/apovalov</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%2F4137385%2Fd4bd3a61-6890-47bd-98e5-289c99a1e685.png</url>
      <title>DEV Community: Shapovalov Valentine</title>
      <link>https://dev.to/apovalov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/apovalov"/>
    <language>en</language>
    <item>
      <title>Claude Code skills: stop onboarding your agent every Monday</title>
      <dc:creator>Shapovalov Valentine</dc:creator>
      <pubDate>Wed, 07 Oct 2026 08:53:59 +0000</pubDate>
      <link>https://dev.to/apovalov/claude-code-skills-stop-onboarding-your-agent-every-monday-de9</link>
      <guid>https://dev.to/apovalov/claude-code-skills-stop-onboarding-your-agent-every-monday-de9</guid>
      <description>&lt;p&gt;Writing the same long prompt for the same task every time is like onboarding a new intern every Monday.&lt;/p&gt;

&lt;p&gt;Skills are how you stop.&lt;/p&gt;

&lt;p&gt;A skill sits somewhere between a program and a prompt. At its core is a &lt;code&gt;SKILL.md&lt;/code&gt; file of instructions for one specific job. It can also include reference material, templates, and scripts. The aim is a repeatable workflow, not a guarantee of an identical result.&lt;/p&gt;

&lt;p&gt;Claude Code has them. Anthropic &lt;a href="https://www.anthropic.com/news/skills" rel="noopener noreferrer"&gt;published the format as an open standard&lt;/a&gt; in December 2025. &lt;a href="https://developers.openai.com/codex/skills" rel="noopener noreferrer"&gt;Codex&lt;/a&gt; and &lt;a href="https://cursor.com/docs/skills" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; support skills too.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes in practice
&lt;/h2&gt;

&lt;p&gt;Think about a skill for writing blog posts. Instead of leaving "write a post" open to interpretation, you can specify a workflow: read your previous posts, check for repeats, look for fresh data, ask a couple of clarifying questions, suggest a few options, then write in your voice. That's the difference between a stranger on the street and an assistant who's worked with you for six months.&lt;/p&gt;

&lt;p&gt;Describe the logic once, then invoke it when you need that job done.&lt;/p&gt;

&lt;p&gt;A monthly content plan. Sorting a folder full of documents. A proposal tailored to one client.&lt;/p&gt;

&lt;p&gt;One skill to start each workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why skills scale better than one long prompt
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://agentskills.io" rel="noopener noreferrer"&gt;Agent Skills standard&lt;/a&gt; uses progressive disclosure: the agent starts with skill names and descriptions, then loads the full instructions when a skill is activated. You can also invoke a skill directly.&lt;/p&gt;

&lt;p&gt;That keeps the full procedures out of context until you need them. The names and descriptions still take up space.&lt;/p&gt;

&lt;p&gt;For me, that's the reason to keep task-specific procedures in skills. I want the workflow for the current job loaded when I need it, rather than carrying every procedure into every conversation.&lt;/p&gt;

&lt;p&gt;Think of a tool as an action with a clear contract, like sending an email. A skill describes the workflow around those actions: what to check, which tools to call, and what the finished result should look like.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building your first one
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://code.claude.com/docs/en/skills" rel="noopener noreferrer"&gt;Claude Code documentation&lt;/a&gt; explains how to create and invoke skills. There are already skill packs for development, like &lt;a href="https://github.com/obra/superpowers" rel="noopener noreferrer"&gt;Superpowers&lt;/a&gt;. There are even skills for building skills.&lt;/p&gt;

&lt;p&gt;The ones I'd tried felt closer to one-shot generation than to working through the design with a brainstorming partner. I wanted a process that helped me decide what the skill should do before writing it.&lt;/p&gt;

&lt;p&gt;So I built my own: &lt;a href="https://github.com/apovalov/superskill-creator" rel="noopener noreferrer"&gt;SuperSkill Creator&lt;/a&gt;. You answer questions, it checks for overlap with existing skills, and it helps you choose ready-made building blocks. Then it writes the skill, pressure-tests it with you, and saves it. The design happens in conversation; you do not have to hand-write the instructions.&lt;/p&gt;

&lt;p&gt;If you want agents to take over everyday work and you'd rather not write code, skills are where I'd start. Pick one task you do every week and make it your first skill.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to tell if your AI agent actually got better</title>
      <dc:creator>Shapovalov Valentine</dc:creator>
      <pubDate>Wed, 23 Sep 2026 20:40:15 +0000</pubDate>
      <link>https://dev.to/apovalov/how-to-tell-if-your-ai-agent-actually-got-better-2p12</link>
      <guid>https://dev.to/apovalov/how-to-tell-if-your-ai-agent-actually-got-better-2p12</guid>
      <description>&lt;p&gt;People keep asking me how you actually know an agent got better. I collected my answers to the most common questions in one place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Isn't it obvious from the answers?
&lt;/h2&gt;

&lt;p&gt;No. The agent says "You're booked for Thursday," and that sentence tells you nothing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents" rel="noopener noreferrer"&gt;Anthropic's guide on agent evals&lt;/a&gt; shows it with a flight-booking agent: it may say "Your flight has been booked," but the outcome is whether a reservation actually exists in the database. What counts is the state the agent leaves behind, not what it says.&lt;/p&gt;

&lt;p&gt;So the questions that matter are boring. Did the row appear in the database? Did the tool call fire with the right arguments?&lt;/p&gt;

&lt;p&gt;A demo watches the reply. An eval watches the system. That is why demos always look great.&lt;/p&gt;

&lt;h2&gt;
  
  
  Doesn't an LLM judge solve this?
&lt;/h2&gt;

&lt;p&gt;Partly. The judge brings its own bias.&lt;/p&gt;

&lt;p&gt;In June a &lt;a href="https://arxiv.org/abs/2606.19544" rel="noopener noreferrer"&gt;study of 21 LLM judges&lt;/a&gt; came out, Claude Opus 4.6 and GPT-5.4 among them. One of the tests: show the judge two answers, then swap their order and ask again. A good judge should not care which one came first.&lt;/p&gt;

&lt;p&gt;On the easier benchmark, the median judge flipped its verdict 9% of the time. On the harder one it was 17%, and some judges went as high as 38%. The harder the task, the closer the judge gets to a coin toss.&lt;/p&gt;

&lt;p&gt;The unpleasant part is that rerunning does not help. On a rerun, the same judge gives the same verdict roughly nine times out of ten or more, bias included. Stable is not the same as correct, so the only way to catch the bias is to calibrate the judge against human labels.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should I score from 1 to 10?
&lt;/h2&gt;

&lt;p&gt;Binary. Pass or fail.&lt;/p&gt;

&lt;p&gt;The gap between a 3 and a 4 is a matter of taste, and everyone hides their uncertainty in the middle of the scale. A binary verdict makes you name the reason something failed instead of quietly giving it a 7.&lt;/p&gt;

&lt;h2&gt;
  
  
  How many cases do I need?
&lt;/h2&gt;

&lt;p&gt;Dozens, not thousands. Start with 20 to 50 tasks pulled from real failures.&lt;/p&gt;

&lt;p&gt;Thirty ugly cases from production beat a thousand synthetic ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  So evals come before prompts?
&lt;/h2&gt;

&lt;p&gt;It sounds logical, like TDD. For capabilities it can work: writing the eval first pins down what done means, and the Anthropic guide recommends exactly that.&lt;/p&gt;

&lt;p&gt;For failures, no. An LLM can break in practically endless ways, so whatever you write upfront covers the failures you imagined, not the ones that will happen.&lt;/p&gt;

&lt;p&gt;For failures the order is different:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ship → read the traces → write an eval for a failure that really happened.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;While you are looking at replies, you are not measuring the agent, you are measuring its politeness.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
