Hey CoderLegion, first post here from the Aiden team. We build a physical AI agent device (plugs into any phone or computer via USB, open source firmware), and I wanted to share something small we shipped recently because I think it's a pattern worth discussing beyond our specific use case.
The problem
Ask most AI agents a question about their own environment, "what do you own," "where did this route to," "did this actually finish," and without something real to check against, a confident-sounding guess and a correct answer look identical. The agent isn't lying exactly. It's filling a gap with the most plausible thing it can construct, because it has no better source of truth.
We hit this constantly with Aiden, since it operates across hardware ownership, runtime routing, a phone-bridge connection, board configuration, and recovery workflows, several genuinely different subsystems where the honest answer depends entirely on which one is being asked about.
What we actually built (PR #624)
A self-knowledge Skill: a bundled, project-specific reference covering hardware ownership, runtime routing, Phone Bridge behavior, board configuration, phone setup, observation, verification, and recovery boundaries. Now when Aiden answers a question about itself, it's pulling from something documented instead of reconstructing an answer from general assumptions.
The part I think generalizes well: the Skill enforces a hard rule that an acknowledgement is not proof a task is complete. Receiving or accepting a request is a real event. It's not evidence anything downstream actually finished. Verified completion needs its own evidence from whatever observation or verification path actually applies.
A concrete, narrow example
During one specific recovery process, the agent can end up looking at a stale image left over from before something went wrong. The Skill is explicit that a stale image can't count as evidence for what happened, or whether recovery succeeded. That rule is scoped to exactly that recovery path, it's not a sweeping claim about every image the system ever processes. Honestly, writing the narrow version was harder than writing a broad rule would have been, but I think it's the more useful engineering discipline.
How we validated it
Structural checks only: skillopt lint (zero issues), YAML frontmatter validation, focused skill-loader tests, git diff review. That confirms the content is formatted and loadable correctly. It does not confirm every future answer will be right, and we're upfront about that.
Full writeup: https://aidenai.io/blog/aiden-adds-a-self-knowledge-skill-for-clearer-agent-boundaries/
PR: https://github.com/AidenAI-IO/aiden-firmware/pull/624
Genuinely curious if others here building agent systems have run into the same "confident but ungrounded self-description" problem, especially across multiple subsystems where the honest answer depends on context. How did you solve it?