Archive
Discover and discuss technology tools
Explore the Tiscuss archive by category or keyword, then jump into conversations around what matters most.
WorkProof: JSON Schema for Skill Evidence Graphs
WorkProof: Harnessing JSON Schema for Skill Evidence Graphs WorkProof leverages JSON Schema to structure and validate skill evidence graphs, offering a robust f…
Mastering AEO: How to Get Cited by AI and Boost Your Visibility
SEO or AEO? Why you’re not showing up in AI answers (yet) This is a consolidation of findings from Neil Patel and Hubspot plus what we have found to work well on our own website. Most business owners are still playing the old game. Some aren’t playing at all. They’re thinking in rankings, keywords, and “getting to page one.” Meanwhile, the ground is shifting under them. Google Search is still dominant, but even it has changed. It’s no longer just a list of blue links. It’s summarizing, interpreting, and answering. And tools like ChatGPT and Perplexity AI aren’t ranking pages at all. They’re answering questions. Which creates a problem most people haven’t fully processed yet: **Users don’t need to click your website anymore to get value.** CTR is dropping. Site visits are declining. Because the answer is already sitting in front of them. And yet, paradoxically… **Your website has never mattered more.** Because now it’s not just competing for clicks. It’s competing to be **the source that gets cited in the answer.** # What actually changed AI search works like this: User asks a question → system searches multiple sources → pulls the best chunks → builds an answer → cites what it trusts If your content isn’t structured for that flow, you don’t exist. Not “low ranking.” Invisible. # What AI actually cares about AI doesn’t care about your keyword density or your clever SEO hacks. It cares if your content is: * easy to find * easy to understand * easy to quote That’s AEO (Answer Engine Optimization). Not magic. Not a secret algorithm. Just being usable inside an answer. # What actually works If you do nothing else, do this: # 1. Start with the answer Don’t spend 800 words “building context.” Bad: “AI is transforming industries…” Better: “AEO is how you structure content so AI tools can find, understand, and cite it in answers.” That’s what gets pulled. # 2. Structure like a human, not a content farm Use: * clear headings * short sections * simple tables * FAQs AI extracts. It doesn’t patiently read your thought leadership essay. Walls of text = ignored. # 3. Be consistent about who you are Your: * business name * description * services * location Need to match everywhere. If your site, LinkedIn, Reddit, and directories all say different things, AI doesn’t trust you. No trust = no citation. # 4. Keep things updated Outdated content doesn’t get used. Simple: * update pages * keep timestamps current * maintain your sitemap Not exciting. Still works. # 5. Let crawlers access your site If AI crawlers can’t access your content, you won’t get cited. Blocking them and expecting visibility is… optimistic. # 6. Measure the right things Stop obsessing over rankings. Track: * Are you mentioned? * Are you cited? * Which pages show up? If you’re not measuring AI visibility, you’re guessing. # Why you’re not cited (yet) Most businesses don’t get cited because: * their content is vague * their structure is messy * their positioning is inconsistent AI didn’t ignore you. It couldn’t understand you. # What you actually need (and what you don’t) You don’t need: * a massive content team * expensive tools * some “AI SEO expert” selling confidence You need: * 10–20 clear, structured pages * direct answers * consistent messaging * basic technical setup That’s enough to start showing up. # The technical layer (the stuff everyone ignores) These are the files quietly determining whether you exist to AI at all. # robots.txt Controls crawler access. If bots can’t crawl your site, you don’t get indexed. # sitemap.xml Tells crawlers what pages exist and what’s been updated. No sitemap = slower discovery = less visibility. # JSON-LD (structured data) Explains what your business, pages, and content actually are. Without it, AI guesses. Poorly. # llms.txt A machine-readable summary of your site for AI systems. Not widely adopted yet, but useful for shaping how you’re interpreted. # crawlers.txt An emerging way to control AI-specific crawlers. Still early. Treat it as a signal, not enforcement. # Human query-based metadata Your content should be built around real questions, not keyword fantasies. Instead of: “AI Solutions for SMB Efficiency Optimization” Write: “How can a small business use AI without hiring a developer?” AI systems think in questions. If you match that, you get used. If you don’t, you get skipped. # How it all fits together * robots.txt / crawlers.txt → controls access * sitemap.xml → tells crawlers what exists * JSON-LD → explains what things are * llms.txt → suggests how to interpret it * query-based content → makes it usable in answers Miss one, you weaken the system. Miss most, you disappear. # Simple test Ask: “What companies would you recommend for \[your category\] in \[your region\]?” If you’re not mentioned or cited, that’s your baseline. No opinions. Just signal. # Bottom line SEO was about ranking pages. AEO is about being useful inside an answer. If your content helps AI explain something clearly, you get cited.
AI Agents: Identity, Not Memory, Was the Key to Stability
Everyone's building memory layers right now. Longer context, better embeddings, persistent state across sessions. I spent weeks on the same thing. But the failure mode that actually cost me the most debugging time had nothing to do with memory. Here's what it looked like: an agent would be technically correct - good reasoning, clean output - but operating from the wrong context entirely. Answering questions nobody asked. Taking actions outside its scope. Not hallucinating. Drifting. Like a competent person who walked into the wrong meeting and started contributing without realizing they're in the wrong room. I run 11 persistent agents locally. Each one is a domain specialist - its entire life is one thing. The mail agent's every session, every test, every bug fix is about routing messages. The standards auditor's whole existence is quality checks. They're not generic workers configured for a task. They've each accumulated dozens of sessions of operational history in their domain, and that history is what makes them good at their job. When they started drifting, my first instinct was what everyone's instinct is: better memory. More context. None of it helped. An agent with perfect recall of its last 50 sessions would still lose track of who it was in session 51. What actually fixed it I separated identity from memory entirely. Three files per agent: passport.json - who you are. Role, purpose, principles. Rarely changes. This is the anchor. local.json - what happened. Rolling session history, key learnings. Capped and trimmed when it fills up. observations.json - what you've noticed about the humans and agents you work with. Concrete stuff like "the git agent needs 2 retries on large diffs" or "quality audits overcorrect on technical claims." The agent writes these itself based on what actually happens. Identity loads first, then memory, then observations. That ordering matters. When the identity file loads first, the agent has a stable reference point before any history lands. The mail routing agent learned the sharpest version of this. When identity was ambiguous, it would route messages from the wrong sender. The fix wasn't better routing logic - it was: fail loud when identity is unclear. Wrong identity is worse than silence. The files alone weren't enough Three JSON files helped, but didn't scale past a few agents. What actually made 11 work is that none of them need to understand the full system. Hooks inject context automatically every session - project rules, branch instructions, current plan. One command reaches any agent. Memory auto-archives when it fills up. Plans keep work focused so agents don't carry their entire history in context. The system learned from failing. The agents communicate through a local email system - they send each other tasks, status updates, bug reports. One agent monitors all logs for errors. When it spots something, it emails the agent who owns that domain and wakes them up to investigate. The agents fix each other. The memory agent iterated three sessions to fix a single rollover boundary condition - each time it shipped, observed a new edge case, and improved. These aren't cold modules. They break, they help each other fix it, they get better. That's how the system got to where it is. You don't need 11 agents The 11 agents in my setup maintain the framework itself. That's the reference implementation. But u could start with one agent on a side project - just identity and memory, pick up where u left off tomorrow. Need a team? Add a backend agent, a frontend agent, a design researcher. Three agents, same pattern, same commands. Or scale to 30 for a bigger system. Each new agent is one command and the same structure. What this doesn't solve This all runs locally on one machine. I don't know whether identity drift looks the same in hosted environments. If u run stateless agents behind an API, the problem might not exist for you. Small project, small community, growing. The pattern itself is small enough to steal - three JSON files and a convention. But the system that keeps agents coherent at scale is where the real work went. pip install aipass and two commands to get a working agent. The .trinity/ directory is the identity layer. Has anyone else tried separating identity from memory in their agent setups? Curious whether the ordering matters in other architectures, or if it's just an artifact of how this system evolved.