<?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: AgentBrief Studio</title>
    <description>The latest articles on DEV Community by AgentBrief Studio (@agentbriefstudio).</description>
    <link>https://dev.to/agentbriefstudio</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%2F4057520%2Fc7691cfa-c2b4-4d72-94a3-32539520690a.png</url>
      <title>DEV Community: AgentBrief Studio</title>
      <link>https://dev.to/agentbriefstudio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agentbriefstudio"/>
    <language>en</language>
    <item>
      <title>7 reasons coding agents ignore your AGENTS.md (and how to fix them)</title>
      <dc:creator>AgentBrief Studio</dc:creator>
      <pubDate>Tue, 11 Aug 2026 02:05:09 +0000</pubDate>
      <link>https://dev.to/agentbriefstudio/7-reasons-coding-agents-ignore-your-agentsmd-and-how-to-fix-them-jao</link>
      <guid>https://dev.to/agentbriefstudio/7-reasons-coding-agents-ignore-your-agentsmd-and-how-to-fix-them-jao</guid>
      <description>&lt;p&gt;An &lt;code&gt;AGENTS.md&lt;/code&gt; file should make a coding agent safer and faster. But many instruction files become background noise: long, generic, contradictory, or impossible to verify.&lt;/p&gt;

&lt;p&gt;Here are seven common failure modes—and the smallest fix for each one.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The instructions describe aspirations, not commands
&lt;/h2&gt;

&lt;p&gt;Weak:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write clean, production-ready code.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Better:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Before finishing:
- run npm test
- run npm run lint
- do not modify generated files in src/generated/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agents act more reliably on observable rules than on adjectives.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The file ignores repository boundaries
&lt;/h2&gt;

&lt;p&gt;A root-level instruction file is useful, but a monorepo often needs narrower rules. Put specialized guidance closer to the code it governs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/
├── AGENTS.md
├── apps/
│   └── web/
│       └── AGENTS.md
└── packages/
    └── database/
        └── AGENTS.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The root file should define shared policy. Nested files should only add or override rules that genuinely differ.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The commands are not copy-pasteable
&lt;/h2&gt;

&lt;p&gt;"Run the tests" creates ambiguity. Which tests? From which directory? With which runtime?&lt;/p&gt;

&lt;p&gt;Prefer exact commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Validation from repository root:
1. npm ci
2. npm run typecheck
3. npm test -- --runInBand
4. npm run build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If a command is slow or optional, say so explicitly.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. There is no definition of done
&lt;/h2&gt;

&lt;p&gt;A coding agent needs an exit condition. A useful acceptance checklist might be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;requested behavior is implemented&lt;/li&gt;
&lt;li&gt;existing public APIs remain compatible&lt;/li&gt;
&lt;li&gt;relevant tests cover the change&lt;/li&gt;
&lt;li&gt;lint, typecheck, and build pass&lt;/li&gt;
&lt;li&gt;no secrets, generated artifacts, or unrelated refactors are included&lt;/li&gt;
&lt;li&gt;the final response lists changed files and verification results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That turns a vague request into a checkable delivery.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. The file mixes permanent policy with task-specific context
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; should contain durable repository guidance: architecture, commands, boundaries, conventions, and validation.&lt;/p&gt;

&lt;p&gt;The current task should live in the prompt or a separate brief:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Objective&lt;/span&gt;
Add rate limiting to the public API.

&lt;span class="gu"&gt;## In scope&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; middleware
&lt;span class="p"&gt;-&lt;/span&gt; configuration
&lt;span class="p"&gt;-&lt;/span&gt; tests

&lt;span class="gu"&gt;## Out of scope&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; auth redesign
&lt;span class="p"&gt;-&lt;/span&gt; database migration

&lt;span class="gu"&gt;## Acceptance criteria&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; returns 429 after the configured threshold
&lt;span class="p"&gt;-&lt;/span&gt; includes Retry-After
&lt;span class="p"&gt;-&lt;/span&gt; existing API tests still pass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keeping the two layers separate makes both easier to maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Failure recovery is missing
&lt;/h2&gt;

&lt;p&gt;Agents need to know what to do when the happy path breaks.&lt;/p&gt;

&lt;p&gt;Add a compact recovery rule:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;If validation fails:
1. determine whether the failure predates your change
2. fix failures caused by your change
3. do not weaken or delete tests to make them pass
4. report any verified pre-existing failure with the exact command and error
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This prevents silent test deletion and vague "could not verify" handoffs.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. The file is too long to scan
&lt;/h2&gt;

&lt;p&gt;An instruction file is an operational interface, not a company handbook. Put the highest-value rules first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;repository map&lt;/li&gt;
&lt;li&gt;exact commands&lt;/li&gt;
&lt;li&gt;scope boundaries&lt;/li&gt;
&lt;li&gt;coding conventions that are unique to the repo&lt;/li&gt;
&lt;li&gt;validation checklist&lt;/li&gt;
&lt;li&gt;recovery rules&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Link to deeper documentation instead of duplicating it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A compact starter template
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# AGENTS.md&lt;/span&gt;

&lt;span class="gu"&gt;## Repository map&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; src/: application code
&lt;span class="p"&gt;-&lt;/span&gt; tests/: automated tests
&lt;span class="p"&gt;-&lt;/span&gt; docs/: user-facing documentation
&lt;span class="p"&gt;-&lt;/span&gt; generated/: do not edit manually

&lt;span class="gu"&gt;## Working rules&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; keep changes scoped to the request
&lt;span class="p"&gt;-&lt;/span&gt; preserve public API compatibility unless explicitly requested
&lt;span class="p"&gt;-&lt;/span&gt; follow the nearest existing pattern before adding a new abstraction
&lt;span class="p"&gt;-&lt;/span&gt; never commit credentials or local environment files

&lt;span class="gu"&gt;## Validation&lt;/span&gt;
Run from the repository root:
&lt;span class="p"&gt;-&lt;/span&gt; npm run lint
&lt;span class="p"&gt;-&lt;/span&gt; npm run typecheck
&lt;span class="p"&gt;-&lt;/span&gt; npm test
&lt;span class="p"&gt;-&lt;/span&gt; npm run build

&lt;span class="gu"&gt;## Definition of done&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; acceptance criteria are met
&lt;span class="p"&gt;-&lt;/span&gt; relevant tests are added or updated
&lt;span class="p"&gt;-&lt;/span&gt; validation passes
&lt;span class="p"&gt;-&lt;/span&gt; final response summarizes changes and commands run

&lt;span class="gu"&gt;## Failure recovery&lt;/span&gt;
Do not bypass failing checks. Fix failures introduced by the change and clearly report verified pre-existing failures.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The template is intentionally small. The value comes from adapting it to the repository's real commands, architecture, risks, and release process.&lt;/p&gt;

&lt;p&gt;I published a &lt;a href="https://github.com/agentbriefstudio/agentbrief" rel="noopener noreferrer"&gt;free AgentBrief starter&lt;/a&gt; with reusable examples.&lt;/p&gt;

&lt;p&gt;If you want the complete reusable library, &lt;a href="https://agentbriefstudio.itch.io/agentbrief-pro" rel="noopener noreferrer"&gt;AgentBrief Pro is available for US$25 on itch.io&lt;/a&gt;. It includes 18 AGENTS.md patterns, 12 task briefs, 8 recovery playbooks, and 5 quality gates as editable Markdown.&lt;/p&gt;

&lt;p&gt;If you want a repo-specific audit and custom &lt;code&gt;AGENTS.md&lt;/code&gt; delivered in one day, the &lt;a href="https://www.fiverr.com/briefops_studio/create-agents-md-and-ai-coding-agent-workflows" rel="noopener noreferrer"&gt;US$25 Fiverr package&lt;/a&gt; is the hands-on option.&lt;/p&gt;

&lt;p&gt;What instruction has made the biggest difference in your coding-agent workflow?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Write an AGENTS.md for Codex, Claude Code, and Cursor</title>
      <dc:creator>AgentBrief Studio</dc:creator>
      <pubDate>Tue, 11 Aug 2026 01:12:24 +0000</pubDate>
      <link>https://dev.to/agentbriefstudio/how-to-write-an-agentsmd-for-codex-claude-code-and-cursor-4l06</link>
      <guid>https://dev.to/agentbriefstudio/how-to-write-an-agentsmd-for-codex-claude-code-and-cursor-4l06</guid>
      <description>&lt;p&gt;An AI coding agent can only work safely with the context it receives. A good &lt;code&gt;AGENTS.md&lt;/code&gt; gives that context once, close to the code, so every task starts with the same commands, boundaries, and definition of done.&lt;/p&gt;

&lt;p&gt;This guide shows a practical structure you can use with Codex, Claude Code, Cursor, GitHub Copilot, and other repository-aware coding agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an AGENTS.md file should do
&lt;/h2&gt;

&lt;p&gt;An &lt;code&gt;AGENTS.md&lt;/code&gt; is not a long prompt or generic advice. It should answer the questions an experienced contributor would ask before editing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What does this repository contain?&lt;/li&gt;
&lt;li&gt;Which commands install, test, lint, type-check, and build it?&lt;/li&gt;
&lt;li&gt;Which files are generated or protected?&lt;/li&gt;
&lt;li&gt;Where should new code go?&lt;/li&gt;
&lt;li&gt;What evidence is required before a task is complete?&lt;/li&gt;
&lt;li&gt;Which changes need extra review because they affect security, data, payments, or public APIs?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best file is short enough to scan and specific enough to execute.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Start with a repository map
&lt;/h2&gt;

&lt;p&gt;Name the important directories and what owns them. Avoid listing every folder. Focus on the paths that determine where an agent should inspect or edit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app/     product routes and UI
db/      schema and database access
worker/  deployment entry point
tests/   focused regression coverage
public/  static assets only
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add a sentence about where business logic belongs and where it does not. This prevents an agent from placing a quick fix in the wrong layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Write commands that can actually run
&lt;/h2&gt;

&lt;p&gt;Never say “run the tests” when the repository has several test modes. Provide exact commands and explain when each one applies.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run lint
npm &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; path/to/relevant.test.ts
npm run build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If a command requires credentials, external services, or a long-running environment, say so. Agents should not guess at missing access or silently skip validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Define boundaries and protected areas
&lt;/h2&gt;

&lt;p&gt;Make risky surfaces explicit. Common examples include authentication, payment flows, migrations, deployment files, generated code, lockfiles, analytics contracts, and public APIs.&lt;/p&gt;

&lt;p&gt;A useful rule is concrete:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do not edit generated migrations by hand. Create a new migration and include a rollback note.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A weak rule is vague:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Be careful with the database.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Specific boundaries reduce accidental scope expansion and make review faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. State the workflow
&lt;/h2&gt;

&lt;p&gt;Describe the smallest reliable sequence for a task:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inspect the relevant files and existing tests.&lt;/li&gt;
&lt;li&gt;State material assumptions before editing.&lt;/li&gt;
&lt;li&gt;Make the smallest complete change.&lt;/li&gt;
&lt;li&gt;Add or update focused regression coverage.&lt;/li&gt;
&lt;li&gt;Run the narrow checks first, then broader validation.&lt;/li&gt;
&lt;li&gt;Report what changed, what passed, and what remains uncertain.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This workflow matters because coding agents often optimize for producing code quickly. Your repository instructions should optimize for producing verified results.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Make “done” testable
&lt;/h2&gt;

&lt;p&gt;A definition of done should describe evidence, not confidence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The requested behavior works on the primary path.&lt;/li&gt;
&lt;li&gt;Relevant failure states are covered.&lt;/li&gt;
&lt;li&gt;Type checks, focused tests, and the production build pass.&lt;/li&gt;
&lt;li&gt;Unrelated behavior and existing user changes are preserved.&lt;/li&gt;
&lt;li&gt;The final handoff names residual risk and checks that could not run.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a validation step is impossible, require the agent to say why. An honest limitation is more useful than a false green check.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Put specific instructions close to the code
&lt;/h2&gt;

&lt;p&gt;Large repositories may need more than one instruction file. Keep repository-wide rules at the root, then add narrower instructions inside high-risk or specialized areas such as payments, infrastructure, or mobile apps.&lt;/p&gt;

&lt;p&gt;The closer file can refine commands and guardrails without repeating the entire root document. Avoid contradictions: more specific rules should clarify the general workflow, not replace its safety standards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Copying a generic template without checking the actual repository.&lt;/li&gt;
&lt;li&gt;Listing commands that do not exist.&lt;/li&gt;
&lt;li&gt;Writing philosophy instead of executable rules.&lt;/li&gt;
&lt;li&gt;Omitting generated files and protected areas.&lt;/li&gt;
&lt;li&gt;Requiring every possible test for every tiny change.&lt;/li&gt;
&lt;li&gt;Forgetting to define what the final handoff must contain.&lt;/li&gt;
&lt;li&gt;Letting task instructions conflict with repository constraints.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A practical &lt;code&gt;AGENTS.md&lt;/code&gt; should reduce decisions the agent must invent while preserving the decisions that belong to the developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  A compact starter structure
&lt;/h2&gt;

&lt;p&gt;Use these sections as a first draft:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository map&lt;/li&gt;
&lt;li&gt;Setup and commands&lt;/li&gt;
&lt;li&gt;Editing rules&lt;/li&gt;
&lt;li&gt;Protected areas&lt;/li&gt;
&lt;li&gt;Testing and quality gates&lt;/li&gt;
&lt;li&gt;Definition of done&lt;/li&gt;
&lt;li&gt;Handoff requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then replace every generic sentence with evidence from the repository itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify the method or skip the setup work
&lt;/h2&gt;

&lt;p&gt;You can inspect the &lt;a href="https://github.com/agentbriefstudio/agentbrief" rel="noopener noreferrer"&gt;free AgentBrief starter and public release&lt;/a&gt; before buying anything.&lt;/p&gt;

&lt;p&gt;If you want a larger reusable library, &lt;a href="https://payhip.com/b/TCHaM" rel="noopener noreferrer"&gt;AgentBrief Pro&lt;/a&gt; includes 18 AGENTS.md templates, 12 task briefs, 8 recovery playbooks, and 5 quality gates. It is an editable Markdown kit with instant delivery for &lt;strong&gt;$25&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you prefer a repository-specific result, the &lt;a href="https://agentbrief-launch.groovy-vine-6579.chatgpt.site" rel="noopener noreferrer"&gt;AgentBrief site&lt;/a&gt; links to a fixed-scope custom AGENTS.md service delivered in 24 hours.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The 4-part brief that keeps coding agents from drifting</title>
      <dc:creator>AgentBrief Studio</dc:creator>
      <pubDate>Sat, 01 Aug 2026 06:14:39 +0000</pubDate>
      <link>https://dev.to/agentbriefstudio/the-4-part-brief-that-keeps-coding-agents-from-drifting-1lpn</link>
      <guid>https://dev.to/agentbriefstudio/the-4-part-brief-that-keeps-coding-agents-from-drifting-1lpn</guid>
      <description>&lt;p&gt;Coding agents usually do not drift because they are incapable. They drift because the task leaves too much room for interpretation.&lt;/p&gt;

&lt;p&gt;A request like “clean up authentication” sounds clear to a human who already knows the codebase. To an agent, it can mean anything from renaming one helper to replacing the entire authentication stack.&lt;/p&gt;

&lt;p&gt;The fix is not a longer prompt. It is a &lt;strong&gt;brief with four explicit parts&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Outcome&lt;/li&gt;
&lt;li&gt;Context&lt;/li&gt;
&lt;li&gt;Guardrails&lt;/li&gt;
&lt;li&gt;Definition of Done&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Below is the exact structure I use.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. State the outcome as an observable change
&lt;/h2&gt;

&lt;p&gt;Describe what should be different for the user or system when the work is complete.&lt;/p&gt;

&lt;p&gt;Weak:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Fix the login bug.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Better:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When a user submits an expired magic link, show the existing “Link expired” message and offer a button that requests a new link without leaving the page.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The better version gives the agent a destination. It does not prescribe the implementation, but it makes success testable.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Give only the context that changes the decision
&lt;/h2&gt;

&lt;p&gt;Context is useful when it removes ambiguity. It becomes noise when it is a tour of the whole repository.&lt;/p&gt;

&lt;p&gt;Useful context often includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The relevant entry point or route&lt;/li&gt;
&lt;li&gt;The existing component or service that should be reused&lt;/li&gt;
&lt;li&gt;A similar implementation elsewhere in the codebase&lt;/li&gt;
&lt;li&gt;The command used to run the relevant tests&lt;/li&gt;
&lt;li&gt;A known constraint, such as backwards compatibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The page is implemented in &lt;code&gt;app/auth/verify/page.tsx&lt;/code&gt;. Reuse &lt;code&gt;requestMagicLink()&lt;/code&gt; from &lt;code&gt;lib/auth/client.ts&lt;/code&gt;. The existing error-message styles live in &lt;code&gt;components/auth/AuthNotice.tsx&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is enough to start investigating without pretending we already know the final patch.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Add guardrails that define the change boundary
&lt;/h2&gt;

&lt;p&gt;Guardrails prevent a small task from becoming an accidental rewrite.&lt;/p&gt;

&lt;p&gt;A useful set might be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do not change the public API.&lt;/li&gt;
&lt;li&gt;Do not add dependencies.&lt;/li&gt;
&lt;li&gt;Keep the current visual design.&lt;/li&gt;
&lt;li&gt;Do not edit generated files.&lt;/li&gt;
&lt;li&gt;Limit changes to the authentication flow and its tests.&lt;/li&gt;
&lt;li&gt;If a database migration appears necessary, stop and explain why before creating one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notice that the last guardrail gives the agent an escalation rule. “Stop and explain” is much safer than letting an uncertain assumption become a migration.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Make the Definition of Done evidence-based
&lt;/h2&gt;

&lt;p&gt;“Works correctly” is not a Definition of Done. Ask for evidence that you can inspect.&lt;/p&gt;

&lt;p&gt;For the magic-link example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An expired link shows the existing error message.&lt;/li&gt;
&lt;li&gt;Clicking “Request a new link” calls the existing client method once.&lt;/li&gt;
&lt;li&gt;The success and failure states are both covered by tests.&lt;/li&gt;
&lt;li&gt;The relevant test suite passes.&lt;/li&gt;
&lt;li&gt;The final response lists changed files and the verification commands run.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This turns the end of the task into a small acceptance test.&lt;/p&gt;

&lt;h2&gt;
  
  
  Copyable task-brief template
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Outcome&lt;/span&gt;
[Describe the observable behavior that should exist when complete.]

&lt;span class="gh"&gt;# Context&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Entry point:
&lt;span class="p"&gt;-&lt;/span&gt; Existing code to reuse:
&lt;span class="p"&gt;-&lt;/span&gt; Similar implementation:
&lt;span class="p"&gt;-&lt;/span&gt; Verification command:

&lt;span class="gh"&gt;# Guardrails&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Do not:
&lt;span class="p"&gt;-&lt;/span&gt; Preserve:
&lt;span class="p"&gt;-&lt;/span&gt; Scope limit:
&lt;span class="p"&gt;-&lt;/span&gt; Stop and ask if:

&lt;span class="gh"&gt;# Definition of Done&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Observable behavior is implemented.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Important success and failure paths are tested.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Relevant checks pass.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Final response includes changed files and verification evidence.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  A complete bug-fix brief
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Outcome&lt;/span&gt;
When an expired magic link is submitted, show the existing “Link expired”
message and let the user request a replacement without leaving the page.

&lt;span class="gh"&gt;# Context&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Page: app/auth/verify/page.tsx
&lt;span class="p"&gt;-&lt;/span&gt; Reuse: requestMagicLink() from lib/auth/client.ts
&lt;span class="p"&gt;-&lt;/span&gt; Reuse styles: components/auth/AuthNotice.tsx
&lt;span class="p"&gt;-&lt;/span&gt; Tests: npm test -- auth-verify

&lt;span class="gh"&gt;# Guardrails&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Do not add dependencies.
&lt;span class="p"&gt;-&lt;/span&gt; Do not change the public auth API.
&lt;span class="p"&gt;-&lt;/span&gt; Preserve the current layout and copy.
&lt;span class="p"&gt;-&lt;/span&gt; Limit changes to this flow and its tests.
&lt;span class="p"&gt;-&lt;/span&gt; If a server/API change seems necessary, stop and explain why first.

&lt;span class="gh"&gt;# Definition of Done&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Expired links show the existing message.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] The replacement-link action is available on the same page.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Loading, success, and failure states are covered.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] npm test -- auth-verify passes.
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Final response lists files changed and checks run.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Add one quality gate before accepting the patch
&lt;/h2&gt;

&lt;p&gt;A good brief controls the start of the work. A quality gate controls the end.&lt;/p&gt;

&lt;p&gt;Before accepting the result, ask:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Did the patch solve the stated outcome?&lt;/li&gt;
&lt;li&gt;Did it stay inside the guardrails?&lt;/li&gt;
&lt;li&gt;Is there test or command output supporting the claim?&lt;/li&gt;
&lt;li&gt;Did the agent disclose assumptions and unverified areas?&lt;/li&gt;
&lt;li&gt;Is the diff smaller than a reasonable alternative?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That last question is especially useful. A correct result can still create unnecessary maintenance work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free resources and the kit I built
&lt;/h2&gt;

&lt;p&gt;I published a free starter repository with brief templates and a small browser-based builder:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/agentbriefstudio/agentbrief" rel="noopener noreferrer"&gt;Free AgentBrief repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://agentbrief-launch.groovy-vine-6579.chatgpt.site/" rel="noopener noreferrer"&gt;Free interactive brief builder&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also packaged the expanded version, &lt;strong&gt;AgentBrief Pro&lt;/strong&gt;, with 43 reusable assets: 18 task briefs, 12 task recipes, 8 recovery playbooks, and 5 quality gates. It is a paid download ($29): &lt;a href="https://payhip.com/b/TCHaM" rel="noopener noreferrer"&gt;view AgentBrief Pro on Payhip&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The important idea is free to use: make the outcome observable, provide decision-changing context, set boundaries, and demand evidence.&lt;/p&gt;

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