[DEMO] Brand and Style Enforcer Agent
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3561088. -->
Reported by: [yautja_cetanu](https://www.drupal.org/user/626050)
>>>
<p>[Tracker]<br>
<strong>Update Summary: </strong>Quite a lot of work and no one to work on it yet. Pulling things into CCC might be quite difficult.<br>
<strong>Short Title: </strong> Brand and Style Enforcer Agent<br>
<strong>Short Description: </strong>Agents can pull information from an external style guide or brand guide and bring them into the Context Control Centre. These can be processed via a mix of AI checks and non AI checks.<br>
<strong>Check-in Date: </strong>MM/DD/YYYY<br>
<strong>Due Date:</strong> 01/13/2026<br>
<strong>Additional Collaborators: </strong><br>
<em>Metadata is used by the <a href="https://www.drupalstarforge.ai/" title="AI Tracker">AI Tracker.</a> Docs and additional fields <a href="https://www.drupalstarforge.ai/ai-dashboard/docs" title="AI Issue Tracker Documentation">here</a>.</em><br>
[/Tracker]</p>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>This is unlikely to be for the EC demo but might inform Content Control Center. We could target local gov Drupal.</p>
<p>The idea is that when AI Agents do anything with Content, we can check it to a brand guideline including:</p>
<ul>
<li>After a page is created, it automatically checks it.</li>
<li>As part of a workflow, when a page is submitted from an external editor, it checks it first and gives the editor feedback.</li>
<li>As part of a bulk process.</li>
<li>As part of a Chatbot or Field Widget Actions that help you whilst writing.</li>
</ul>
<p>However before we can get that happening we need to get the brand and style guides in. They are rarely in a format suitable for AI not organised in clear specific seperated areas.</p>
<p>For example:</p>
<p><a href="https://www.gov.uk/government/publications/govuk-brand-guidelines">https://www.gov.uk/government/publications/govuk-brand-guidelines</a><br>
<a href="https://www.gov.uk/guidance/style-guide/a-to-z">https://www.gov.uk/guidance/style-guide/a-to-z</a></p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<p>If you look at the Style guideline there are two major types of Style guidelines:</p>
<p><strong>1) Simple Find and replace rules </strong></p>
<ul>
<li>"foundation schools" should be lower case.</li>
</ul>
<p><strong>2) Medium Complexity where LLMs are needed:</strong></p>
<ul>
<li>Lower case unless the full name of the foundation trust is being used: Salisbury NHS Foundation Trust.</li>
</ul>
<p><strong>3) Complex examples:</strong><br>
<strong>The word "fine"</strong></p>
<ul>
<li>Use ‘fine’ instead of ‘financial penalty’.</li>
<li>For example, “You’ll pay a £50 fine.”</li>
<li>For other types of sanction, say what will happen to the user - you’ll get points on your licence, go to court and so on. Only say ‘civil penalty’ if there’s evidence users are searching for the term.</li>
<li>Describe what the user might need to do, rather than what government calls a thing.</li>
</ul>
<p><strong>Abbreviations and acronyms</strong></p>
<ul>
<li>The first time you use an abbreviation or acronym, explain it in full on each page unless it’s well known, like UK, DVLA, USA, EU, VAT and MP. This includes government departments or schemes. Then refer to it by initials.</li>
<li>Always use acronym Markdown so the full explanation is available as hover text.</li>
<li>If you think an acronym is well known, please provide evidence that 80% of the UK population will understand and commonly use it. Evidence can be from search analytics or testing of a representative sample.</li>
<li>Do not use full stops in abbreviations: BBC, not B.B.C.</li>
<li>There are a lot of these rules and we may run into Context window problems.</li>
</ul>
<p>Second Step:</p>
<p>- Creating agents that can make use of these.</p>
<h3 id="summary-remaining-tasks">Target date or deadline</h3>
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
> Related issue: [Issue #3561074](https://www.drupal.org/node/3561074)
issue