Skip to content
Back to skills

Forgetful Entities

ASecurity

Model the things knowledge attaches to — people, organisations, devices, products, system components. Use when a new thing surfaces that memories will reference, when relationships between things need recording (owns, depends on, part of), or when another skill routes a pointable thing here. Litmus: an entity is a noun you could point at; knowledge about it stays a memory.

  • 301 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentsgobashdebugging

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add ScottRBK/forgetful --skill forgetful-entities --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Forgetful Entities?

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

Security grade badge for Forgetful Entities
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/scottrbk-forgetful-entities/badge)](https://www.skillsdirectory.com/skills/scottrbk-forgetful-entities)

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: forgetful-entities
description: >-
  Model the things knowledge attaches to — people, organisations, devices, products, system
  components. Use when a new thing surfaces that memories will reference, when relationships
  between things need recording (owns, depends on, part of), or when another skill routes a
  pointable thing here. Litmus: an entity is a noun you could point at; knowledge about it
  stays a memory.
license: MIT
tags: [entities, knowledge-graph, relationships, modelling]
allowed-tools:
  - mcp__forgetful__discover_forgetful_tools
  - mcp__forgetful__how_to_use_forgetful_tool
  - mcp__forgetful__execute_forgetful_tool
  - Bash(forgetful:*)
---

# Modelling entities in Forgetful

Entities are the graph's nouns. Model the thing once, then let knowledge accrue to it
through links — that is what makes `get_entity_memories` a useful reverse lookup later.

## Invoking operations

Operations are named by registry name (`create_entity`, `link_entity_to_memory`, ...).
Invoke via whichever surface this agent has:

- **MCP**: `execute_forgetful_tool(tool_name="create_entity", arguments={...})`
- **CLI**: `forgetful call create_entity --args '{"name": "..."}' --json`

Get any operation's schema at runtime: `how_to_use_forgetful_tool` (MCP) or
`forgetful tools info <operation>` (CLI) — schemas are deliberately not repeated here.

## Step 1 — Apply the litmus, then dedupe

Can you point at it? "Sarah Chen" is an entity; "Sarah is great at debugging async issues"
is a memory linked to her. The fact stays a memory (`forgetful-remember`); the thing it is
about becomes the entity.

Before creating, `search_entities` for the thing under its likely names — it matches both
`name` and `aka`. Set `aka` at creation time for any alternative names the thing goes by, so
a later dedupe search under a different name still finds it.

Done when: the thing either already exists (use it) or is confirmed new.

## Step 2 — Create with a type

`create_entity` with a name and type: Organization, Individual, Team, Device, System, or
Other (`custom_type` required when Other). Stored Title-case; matched case-insensitively on
input. Check `list_entities` for the types already in use and match them — a graph where
servers are sometimes typed "Device" and sometimes "System" fragments reverse lookups.

Done when: the entity exists once, typed consistently with the existing graph.

## Step 3 — Link knowledge and projects as they accrue

- `link_entity_to_memory` whenever a memory is *about* the entity — done at capture time,
  this is one line; done later, it is an archaeology project.
- `link_entity_to_project` when the entity belongs to a project's world.

Done when: knowledge about the thing is reachable from the thing (`get_entity_memories`).

## Step 4 — Record relationships between entities

`create_entity_relationship` with a direction and a type. Keep the vocabulary small and
consistent — `owns`, `depends_on`, `part_of`, `uses`, `created_by` cover most structure.
Check `get_entity_relationships` on either entity first and reuse the types already in the
graph before coining new ones. Direction carries meaning: A `depends_on` B is a statement
about A.

Done when: the relationships that answer real questions (impact, structure, responsibility)
are recorded, and none duplicate an existing edge.

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.