<?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: PerceptCore</title>
    <description>The latest articles on DEV Community by PerceptCore (perceptcore).</description>
    <link>https://dev.to/perceptcore</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%2Forganization%2Fprofile_image%2F15498%2Fd78a03f9-b8fe-49d2-95e6-eafccbf2bdbf.png</url>
      <title>DEV Community: PerceptCore</title>
      <link>https://dev.to/perceptcore</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/perceptcore"/>
    <language>en</language>
    <item>
      <title>I Put My Agent to Work Finding Clients</title>
      <dc:creator>Vincent Kest</dc:creator>
      <pubDate>Fri, 06 Nov 2026 11:49:35 +0000</pubDate>
      <link>https://dev.to/perceptcore/i-put-my-coding-agent-to-work-finding-clients-42a5</link>
      <guid>https://dev.to/perceptcore/i-put-my-coding-agent-to-work-finding-clients-42a5</guid>
      <description>&lt;p&gt;I gave my  agent a test offer: writing comparison pages for B2B software companies. Then I asked it to find five businesses I could approach.&lt;/p&gt;

&lt;p&gt;For each company, I wanted a reason the offer fit, a person responsible for that work, a public way to find them, and a first email. I also wanted the sources, because I needed to be able to check the recommendation before using it.&lt;/p&gt;

&lt;p&gt;The workflow lives in &lt;a href="https://github.com/perceptcore/ai-client-hunter" rel="noopener noreferrer"&gt;AI Client Hunter&lt;/a&gt;, a small open-source skill for Claude Code and Codex.&lt;/p&gt;

&lt;p&gt;The interesting part of the test was what happened when the research got messy.&lt;/p&gt;

&lt;h2&gt;
  
  
  What came back from five companies
&lt;/h2&gt;

&lt;p&gt;The run found four named founders or operators whose roles were supported by official company pages. It established two LinkedIn profiles through company links and one additional professional profile that was still under construction.&lt;/p&gt;

&lt;p&gt;It found &lt;strong&gt;zero personal email addresses&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Two companies needed more contact research. One had a named founder without a supported personal route. Another had conflicting information about the current marketing owner. The messages stayed as drafts.&lt;/p&gt;

&lt;p&gt;That distinction matters when you are looking at a spreadsheet. A row with a name, title and link can look finished long before you have enough information to contact that person.&lt;/p&gt;

&lt;p&gt;One old author biography still listed a cofounder as CTO. A newer company help page said he had left. The current team page supported a different person, who was selected instead.&lt;/p&gt;

&lt;p&gt;On another account, a company announcement named a marketing leader, but the person's publicly indexed profile pointed to a different employer. That account stayed unresolved.&lt;/p&gt;

&lt;p&gt;Those checks gave me something concrete to review. They also stopped missing information from disappearing inside a confident-looking recommendation. This was one small run; it says nothing about reply rates or sales.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part I made reusable
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/perceptcore/ai-client-hunter/blob/main/skills/ai-client-hunter/SKILL.md" rel="noopener noreferrer"&gt;skill itself is Markdown&lt;/a&gt;. It tells the agent how to qualify companies, check roles, keep source evidence and draft outreach.&lt;/p&gt;

&lt;p&gt;Your existing agent does the browsing and reasoning. There is no separate prospecting server to run, and the skill requires no enrichment subscription. Your normal model and tool usage still applies.&lt;/p&gt;

&lt;p&gt;I want to be able to return to a campaign and see why a company made the list. The instructions ask the agent to preserve earlier research, investigate missing facts and continue unfinished work. That makes the next session easier to brief.&lt;/p&gt;

&lt;p&gt;Qualification also happens before drafting. If the company doesn't fit the offer, it gets excluded or left for review. If a person's role is uncertain, that uncertainty stays in the output.&lt;/p&gt;

&lt;p&gt;The same applies to the message. The agent needs an observed finding that connects to the offer. Knowing a company exists is a weak reason to pitch it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it with a specific offer
&lt;/h2&gt;

&lt;p&gt;Install it for Claude Code and Codex:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add perceptcore/ai-client-hunter --skill ai-client-hunter --agent codex claude-code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The installer needs Node.js/npm. The agent needs web access for live research.&lt;/p&gt;

&lt;p&gt;Here is an example brief for a developer who sells API documentation services:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use $ai-client-hunter to research five UK B2B API companies.

My offer is writing API integration guides for developer onboarding.
Find founders or developer-marketing leads.

For each company, save:
- Why it fits my offer
- One relevant public finding
- The responsible person and their current role
- A published work email or professional profile
- Sources, observation dates and unresolved gaps

Draft a short first email and two follow-ups.
Save prospects.csv and outreach.md under campaigns/api-guides.
Keep missing contacts and conflicting roles marked for review.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you sell your own product, describe the use case and the kind of business it serves. The agent needs something specific enough to rule companies out.&lt;/p&gt;

&lt;p&gt;To show the output without publishing real prospect data, here is a &lt;strong&gt;fictional example&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Suppose Northstar API has launched webhooks. Its reference lists event fields, but there is no end-to-end subscriber example. Maya Chen is listed as founder on the team page.&lt;/p&gt;

&lt;p&gt;The supporting pages would be recorded alongside the finding: &lt;code&gt;northstar-api.test/updates/webhooks&lt;/code&gt; and &lt;code&gt;northstar-api.test/team/maya&lt;/code&gt;. The company, person and reserved &lt;code&gt;.test&lt;/code&gt; addresses are made up.&lt;/p&gt;

&lt;p&gt;A draft for that account could read:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Subject: A working example for Northstar's webhooks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hi Maya,&lt;/p&gt;

&lt;p&gt;Your webhook launch gives developers a new way to react to completed jobs. I can write a runnable integration guide that connects the event reference to a working subscriber, including signature checks and duplicate-event handling.&lt;/p&gt;

&lt;p&gt;Would you like an outline?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is a bounded offer the recipient can evaluate. It leaves room for the team to say they already have the guide covered.&lt;/p&gt;

&lt;p&gt;If the research found only Maya's professional profile, the email would remain a review draft. A generic support address would be labelled separately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with a list you can actually check
&lt;/h2&gt;

&lt;p&gt;Run a batch of five before asking for fifty. Open the sources, check the person's role and decide whether the proposed email gives them a sensible reason to respond.&lt;/p&gt;

&lt;p&gt;If the agent returns generic descriptions, tighten the offer or qualification criteria and run the missing research again. Save the useful findings so you can continue from them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/perceptcore/ai-client-hunter" rel="noopener noreferrer"&gt;AI Client Hunter is on GitHub&lt;/a&gt;. Try it on an offer you can explain in one sentence. If it makes a bad selection, open an issue with a redacted example and the instruction you would change.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>What to Fix When AI Gets Your Brand Wrong</title>
      <dc:creator>Vincent Kest</dc:creator>
      <pubDate>Mon, 02 Nov 2026 07:35:24 +0000</pubDate>
      <link>https://dev.to/perceptcore/what-to-fix-when-ai-gets-your-brand-wrong-f4l</link>
      <guid>https://dev.to/perceptcore/what-to-fix-when-ai-gets-your-brand-wrong-f4l</guid>
      <description>&lt;p&gt;If an AI answer tells a potential customer that your service is unavailable in their area, a more persuasive homepage will not fix the problem. Start by checking whether the information about coverage is correct and consistent across the pages you control.&lt;/p&gt;

&lt;p&gt;A developer can investigate several parts of this problem: the rendered page, the underlying content, structured data, and any sources the answer cites. None of those checks guarantees an AI system will change its response. They do give you specific discrepancies to resolve and a record for checking what happens later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with a claim that matters
&lt;/h2&gt;

&lt;p&gt;Prioritize statements that could change whether someone can buy or use the product: availability, service area, eligibility, pricing conditions, or an essential capability.&lt;/p&gt;

&lt;p&gt;Suppose a company now installs equipment across a region, but an AI answer describes its old, smaller service area. A buyer outside that old boundary could rule it out for the wrong reason. First confirm the current coverage with the team responsible for it. If the service really is unavailable in a particular location, the answer may be accurate.&lt;/p&gt;

&lt;p&gt;Consider &lt;a href="https://perceptcore.com/blog/is-ai-recommending-your-brand-to-the-right-buyers/" rel="noopener noreferrer"&gt;the buying situation behind the recommendation&lt;/a&gt; to judge whether the claim matters to the customers you want to reach.&lt;/p&gt;

&lt;p&gt;An omission needs a different diagnosis. An answer that does not mention a feature has not necessarily claimed the feature is absent. Save the exact question and answer before deciding what to fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  Compare the visible page with the source
&lt;/h2&gt;

&lt;p&gt;Open the page a customer would use to check the claim. Is the current coverage stated in text? Does the pricing page say something different? Can someone understand the conditions without opening an old PDF or interpreting a map?&lt;/p&gt;

&lt;p&gt;Then inspect the content path. A CMS field, a translation, a cached page, or a component default could carry an older value. For a page with client-side rendering, compare the browser's rendered page with the response your server returns. A command such as this gives you the initial response to inspect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl -Ls https://example.com/services/ &lt;span class="o"&gt;|&lt;/span&gt; less
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command does not execute JavaScript, so a difference from what you see in the browser is a reason to investigate, not proof that a crawler cannot access the content. Use your browser's developer tools and the search engine's inspection tools to understand the actual rendering and indexing behavior.&lt;/p&gt;

&lt;p&gt;Update the authoritative content where buyers expect to find it. If the correct detail is buried while the main service page gives a conflicting impression, make the condition clear on that page. Avoid adding several pages that repeat a fact one existing page should state accurately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check structured data against visible content
&lt;/h2&gt;

&lt;p&gt;If the page includes JSON-LD or another form of structured data, compare its relevant values with the visible page and the current facts. For example, an old service-area value in structured data alongside a newly updated coverage page is a contradiction worth correcting. Check any shared templates and feeds that generate the same information so the old value does not return on the next deployment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developers.google.com/search/docs/appearance/ai-features" rel="noopener noreferrer"&gt;Google's guidance for AI features in Search&lt;/a&gt; recommends making important content available as text and keeping structured data consistent with visible content. Google also says no special AI-specific schema or new machine-readable file is required for its AI search features. That guidance concerns Google Search; other AI experiences can use different sources and methods.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspect cited sources carefully
&lt;/h2&gt;

&lt;p&gt;If an answer cites a page with the outdated claim, open the page and check what it actually says. You can fix your own page directly. For a third-party page, send the publisher the corrected information and supporting evidence; that publisher controls whether and when it changes.&lt;/p&gt;

&lt;p&gt;Treat a citation as a lead, not a complete explanation. Finding the same statement on a cited page does not establish every influence behind the AI answer. Record the discrepancy without claiming that the page caused it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repeat the question and record the conditions
&lt;/h2&gt;

&lt;p&gt;After the correction is live, repeat the original question in the same AI experience. Record the date, the prompt, the answer, any cited sources, and which pages changed. Keep those conditions comparable when you check again.&lt;/p&gt;

&lt;p&gt;Look for the specific disputed claim. The answer may stop repeating an outdated limitation and still recommend a competitor for a different reason. A single favorable answer cannot establish that the issue is resolved, and a change after an edit does not prove the edit caused it.&lt;/p&gt;

&lt;p&gt;If the claim persists, investigate remaining inconsistencies. If the answer is accurate and the product genuinely lacks a capability, bring that decision to the team responsible for the offer. A clearer page can help people understand what exists; it cannot add a capability that is not there.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>brand</category>
      <category>seo</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Why AI’s Perception of Your Brand Matters as Much as SEO</title>
      <dc:creator>Vincent Kest</dc:creator>
      <pubDate>Thu, 22 Oct 2026 16:34:34 +0000</pubDate>
      <link>https://dev.to/perceptcore/why-ais-perception-of-your-brand-matters-as-much-as-seo-4nb0</link>
      <guid>https://dev.to/perceptcore/why-ais-perception-of-your-brand-matters-as-much-as-seo-4nb0</guid>
      <description>&lt;p&gt;A potential customer already knows your name. Someone they trust recommended your business. They visited your website, understood the offer, and were ready to take the next step.&lt;/p&gt;

&lt;p&gt;Then they opened an AI assistant.&lt;/p&gt;

&lt;p&gt;“Compare this company with two alternatives. Which is the better fit for my requirements?”&lt;/p&gt;

&lt;p&gt;The answer described a competitor as the stronger choice. Perhaps it misunderstood your service, missed an integration, or relied on outdated pricing. The customer moved on.&lt;/p&gt;

&lt;p&gt;Your marketing did its job. The recommendation happened somewhere else.&lt;/p&gt;

&lt;p&gt;That possibility deserves a place in how businesses think about growth. We spend heavily on getting discovered. We need to pay equal attention to what happens when AI helps a customer evaluate what they discovered.&lt;/p&gt;

&lt;p&gt;Two changes make this urgent.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Customers are handing more of the research to AI
&lt;/h2&gt;

&lt;p&gt;Traditional web research asks the customer to do considerable work: choose a query, open results, read competing claims, establish differences, and decide which details matter.&lt;/p&gt;

&lt;p&gt;A conversational interface lets them describe the situation directly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I run a small architecture practice. I need project management software with client access, straightforward billing, and minimal setup. Compare the options for a team of twelve.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They can then challenge the answer, change the budget, or ask which option handles a particular constraint.&lt;/p&gt;

&lt;p&gt;The appeal is practical. Customers want help working through a decision. A list of relevant pages is useful, but it still leaves them with the comparison.&lt;/p&gt;

&lt;p&gt;This behavior already appears in research. In March 2025, Adobe reported that &lt;strong&gt;39% of 5,000 surveyed U.S. consumers had used generative AI for online shopping&lt;/strong&gt;. That measures reported use, rather than how much control AI had over their purchases. &lt;a href="https://blog.adobe.com/en/publish/2025/03/17/adobe-analytics-traffic-to-us-retail-websites-from-generative-ai-sources-jumps-1200-percent" rel="noopener noreferrer"&gt;Adobe’s consumer research&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The shift also reaches business purchasing. G2’s 2026 study of 1,076 B2B decision-makers reported that &lt;strong&gt;51% started software research with an AI chatbot more often than Google&lt;/strong&gt;. The finding concerns software buying within that survey, but it gives businesses a concrete reason to examine where their own customers research. &lt;a href="https://learn.g2.com/g2-2026-ai-search-insight-report" rel="noopener noreferrer"&gt;G2’s AI Search Insight Report&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Calling Google or Bing obsolete would miss what is happening. Search engines themselves are incorporating generative answers. Google says its generative search features remain rooted in its Search ranking and quality systems, with SEO foundations continuing to matter. &lt;a href="https://developers.google.com/search/docs/fundamentals/ai-optimization-guide" rel="noopener noreferrer"&gt;Google’s official guidance&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The change to watch is the work customers delegate: interpreting requirements, comparing trade-offs, and reducing the field.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. You can win the introduction and lose the evaluation
&lt;/h2&gt;

&lt;p&gt;This second change reaches beyond AI-generated traffic.&lt;/p&gt;

&lt;p&gt;A referral can introduce your company. An affiliate can explain your product. A search result can bring someone to your website. An advertisement can make your name familiar.&lt;/p&gt;

&lt;p&gt;Any of those journeys can include a later AI conversation.&lt;/p&gt;

&lt;p&gt;A customer might paste in your proposal and ask whether the price makes sense. They might compare your service package with a competitor’s. They might ask what risks to investigate before signing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The channel that brought you the opportunity does not determine where the customer will evaluate it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That distinction matters when deciding whether AI deserves attention. Looking only at referral traffic answers a narrow question: how many visitors clicked through from an AI platform?&lt;/p&gt;

&lt;p&gt;It cannot tell you whether someone heard about you from a colleague, used AI to compare alternatives, and contacted a competitor instead.&lt;/p&gt;

&lt;p&gt;G2’s research makes the evaluation issue difficult to dismiss. &lt;strong&gt;69% of the software buyers it surveyed said an AI chatbot led them to select a different vendor than initially planned.&lt;/strong&gt; This is self-reported behavior within a B2B software sample, rather than evidence that AI redirects the same share of all purchases. It nevertheless shows that AI-assisted evaluation can change an existing preference. &lt;a href="https://learn.g2.com/g2-2026-ai-search-insight-report" rel="noopener noreferrer"&gt;G2’s findings&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Businesses should take that seriously without assuming buyers surrender their judgment. Gartner’s survey of 645 B2B buyers found that &lt;strong&gt;69% preferred to validate AI-generated insights with sales representatives&lt;/strong&gt;. &lt;a href="https://www.gartner.com/en/newsroom/press-releases/2026-05-20-gartner-survey-finds-sixty-nine-percent-of-b-two-b-buyers-turn-to-sales-reps-to-validate-ai-generated-insights" rel="noopener noreferrer"&gt;Gartner’s research&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI can shape the questions customers bring to sales, the objections they raise, and the shortlist they are willing to discuss. Human validation and AI influence can coexist.&lt;/p&gt;

&lt;h2&gt;
  
  
  A single detail can change who looks suitable
&lt;/h2&gt;

&lt;p&gt;Consider a customer comparing two software providers. Their essential requirement is integration with the accounting system they already use.&lt;/p&gt;

&lt;p&gt;Your product supports it. The information sits in your documentation, but your main product page barely mentions it. An older comparison article says the integration is unavailable.&lt;/p&gt;

&lt;p&gt;An AI-generated comparison repeats that limitation and recommends the competitor.&lt;/p&gt;

&lt;p&gt;For this customer, the integration is a requirement. That one detail could outweigh several advantages elsewhere.&lt;/p&gt;

&lt;p&gt;Similar problems can arise around minimum contract size, geographic coverage, implementation support, pricing, or the audience a service is designed for.&lt;/p&gt;

&lt;p&gt;This is what “AI’s perception of your brand” means in practice: the description and judgment a system produces in a particular conversation. Different questions and platforms can produce different representations.&lt;/p&gt;

&lt;p&gt;The response also needs to depend on what is wrong. If the limitation is real, improve the offer or explain the trade-off honestly. If the answer is inaccurate, investigate the information supporting it.&lt;/p&gt;

&lt;p&gt;Treating every unfavorable comparison as a visibility problem would ignore useful feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start reviewing the answers your customers might receive
&lt;/h2&gt;

&lt;p&gt;You do not need hundreds of prompts to begin. Start with a few decisions customers actually face.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ask about fit.&lt;/strong&gt; Who is your business suitable for, and who should look elsewhere?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask for a comparison.&lt;/strong&gt; Use the competitors customers regularly mention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add a decisive requirement.&lt;/strong&gt; Test an integration, budget, location, or service constraint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inspect the explanation.&lt;/strong&gt; Record incorrect claims, missing facts, and cited sources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check again.&lt;/strong&gt; Save the question, platform, date, and answer. One response is an observation; repeated checks help you assess whether the issue persists.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the findings to improve product pages, documentation, service descriptions, and outdated information where you can. Track whether later answers change. A content update is an intervention to evaluate, rather than a guarantee of a different recommendation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your brand needs to hold up through the comparison
&lt;/h2&gt;

&lt;p&gt;SEO remains important because customers and search systems still need to find and understand your business.&lt;/p&gt;

&lt;p&gt;AI-assisted evaluation adds another responsibility: knowing whether the description customers receive reflects what you actually offer.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://perceptcore.com" rel="noopener noreferrer"&gt;PerceptCore&lt;/a&gt;, that question sits at the center of AI Brand Intelligence: understanding how AI represents a brand, where that representation breaks down, and which improvements deserve attention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When a customer asks AI to compare you with your strongest competitor, do you know what it says—and why?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>marketing</category>
      <category>ai</category>
      <category>perception</category>
    </item>
  </channel>
</rss>
