Skip to content
Back to skills

Resolve Before Asking

ASecurity

Use before you ask anyone who a person, company, or thing is, what role or relationship someone has, or before you present an entity as unknown. Exhaust memory first — entity, recall, full Pod pages, synthesize — then external search, and escalate only with a hypothesis.

  • 179 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agents

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add AgentBull/ankole --skill resolve-before-asking --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Resolve Before Asking?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Resolve Before Asking
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/agentbull-resolve-before-asking/badge)](https://www.skillsdirectory.com/skills/agentbull-resolve-before-asking)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: resolve-before-asking
description: Use before you ask anyone who a person, company, or thing is, what role or relationship someone has, or before you present an entity as unknown. Exhaust memory first — entity, recall, full Pod pages, synthesize — then external search, and escalate only with a hypothesis.
ankole-runtime: any
---

# Resolve before asking

Never ask "who is X?" when memory already answers. The memory answers before
the human is bothered — that is the product promise. Asking the user about an
entity whose page carries a role line, a timeline, and meeting history spends
their attention on a question the system can answer itself.

## When this fires

- A reply draft contains "who is [name]?" or an equivalent question.
- A draft asks about someone's role, relationship, or identity.
- You are about to present an entity as unknown or unidentified.
- You are composing a list of people and leaving any as "unknown".

## The lookup chain

Run in order. Stop at the first clear answer.

1. **This conversation.** The thread, its participants, and the channel often
   name the person already.
2. **`entity`.** Pass the name as `name`. The result contains `entity`
   with its page ID, outline, metadata, current facts, takes, timeline,
   backlinks, and children; an ambiguous name returns `candidates` instead.
   A card that establishes the identity resolves the entity.
3. **`recall`, narrowed with `entity`.** Facts and takes come back first.
   Three timeline entries that repeat one role description settle the
   question.
4. **Read the full Pod page.** Call `pod_get_page` with the returned page
   UUID as `id` and `level: "L2"`. Read its `body` and visible children;
   `entity` supplies current claims, timeline, and relationships. In a
   Background Agent Job, use `ankole-pod pages.read` with that page ID to
   read the source text. Do this before concluding that memory does not know.
5. **`synthesize`.** Only when the answer needs threads connected across many
   pages; it is expensive. A clear synthesis answer ends the chain.
6. **External search.** Web or channel tools, seeded with the hints steps 1–5
   accumulated. `remember` what you confirm, with its provenance, so the next
   lookup does not repeat the work.
7. **Ask — with a hypothesis.** Only after all previous steps return nothing
   conclusive.

## Confidence

- **High — do not ask.** The entity card or synthesis gives a clear answer,
  or repeated timeline entries carry one consistent role.
- **Low — ask, leading with your best guess.** Signals are contradictory or
  very sparse. Open with the hypothesis, and state the contradiction when
  there is one.

There is no third state: either memory answered, or you finish the chain and
ask with a hypothesis.

## How to escalate

State what you searched, state what you found — partial signals included —
and ask one specific, confirmable question:

> Is Jane the operations lead at Acme? I find recurring invoice threads from
> @acme.example and two meetings alongside the Acme team, but nothing names
> her role directly.

Never a bare "who is Jane?".

## Email-domain shortcut

A sender's domain seeds the hypothesis; it is never proof.

| Domain shape | Hypothesis |
| --- | --- |
| Domain of a company memory knows | Likely an employee there. Confirm against the company page and shared history, then use it |
| Corporate domain memory does not know | A new company. Run the chain |
| Personal mail domain | No shortcut. Run the full chain |

## Anti-patterns

- "Who is X?" with no prior lookup.
- Asking about a relationship when the person's page holds a long timeline.
- Presenting a list of unknowns without running the chain on each name.
- Treating one recall hit as chain-complete: read the page before you
  conclude "not in memory".
- Escalating with false confidence: a partial signal is a hypothesis, not a
  resolution.

## The standard

Would the user look at this entity's memory — the timeline, the role facts,
the email domain that names an employer — and find it reasonable that you
asked? If not, the chain was not run. Run it.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.