Skip to content
Back to skills

Atlas Absorb

ASecurity

Pull concepts out of prose (meeting notes, specs, PR descriptions), checking for duplicates first. Writes nothing until a person picks. Use for "extract from this" · "fold this document in".

  • 141 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 2, 2026
developmentgonode

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add wlsdks/ontology-atlas --skill atlas-absorb --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Atlas Absorb?

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

Security grade badge for Atlas Absorb
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wlsdks-atlas-absorb-ontology-atlas/badge)](https://www.skillsdirectory.com/skills/wlsdks-atlas-absorb-ontology-atlas)

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: atlas-absorb
description: Pull concepts out of prose (meeting notes, specs, PR descriptions), checking for duplicates first. Writes nothing until a person picks. Use for "extract from this" · "fold this document in".
---

# /atlas-absorb — prose into the graph

## The value here is in what it does *not* create

The most common failure when extracting concepts from prose is **recreating
something that already exists under a different name**. So the order is not
"extract, then check for duplicates" but **"check for duplicates, then extract"**.

1. **What are you reading**

- **A file in the vault** (or one the user pointed at) → `absorb_document({ filePath })`.
  Call it **without `confirm` first** — that returns proposals and writes nothing.
- **Prose pasted into the conversation** → read it directly and draw candidates.

2. **Check each candidate for duplicates first**

For every candidate name, make two calls.

- `query_concepts({ filter: '<name>' })` — does a near-name already exist
- `find_evidence({ title: '<name>' })` — is it already here under another name

If it exists, **do not create a new node.** Do one of two things: fill the
existing node with `patch_concept` (pass `expected_mtime`), or add only the
missing relation.

3. **Do not create what the text does not claim**

Prose is written loosely. "It would be nice if…" and "this might…" are wishes,
not facts. Only raise candidates the text **actually asserts**. When it is
borderline, raise it but mark it "weak support in the text" so the person decides.

4. **Write only what was approved — then verify**

- For a file: `absorb_document({ filePath, confirm: true })`
- For pasted prose: `add_concepts` → (after all succeed) `add_relations`
- Then `validate_vault({})` → `query_ontology({ operation: 'health' })`

## Name things the way this vault already does

`title` is the single canonical name search matches on, so **one language must
win across the vault**. Mixing them splits search. Other-language names go in
`display_ko` / `display_en`. Check which way this vault leans with
`list_concepts` before writing.

## How this skill fails

- Invents a plausible concept the text never claimed
- Recreates an existing concept under a new name
- Calls `confirm: true` first, writing before anyone has looked
- Uses a `title` language the vault does not use, splitting search

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.