oaa-ontology-designlisted
Install: claude install-skill Chuck3PointZero/OAA
# OAA Ontology Design Skill
## What this skill does
Guides you through creating, editing, and validating a business domain ontology for an OAA workspace. The ontology defines **business vocabulary** — the concepts, properties, relationships, and constraints that agents, roles, and skills refer to. Tool nodes then map these business names to API vocabulary.
**Key invariant:** concepts like `Campaign`, `budget`, `Channel` appear throughout the agent graph. The *only* place Meta Ads API names like `AdSet`, `daily_budget` appear is inside a `map` declaration. Swapping tools means replacing one map block — not rewriting roles or skills.
## Source format: `.rel` files
Ontology source files use a formal logic language with extension `.rel`. Never hand-edit the compiled output `ONTOLOGY.md` — edit `.rel` sources and run `compile_ontology`.
### Grammar reference
```
// Scalar type alias
type TypeName : BaseType
// Enumeration
enum EnumName = value1 | value2 | value3
// Base entity
entity EntityName {
identified-by: TypeName // optional — primary key type
property prop-name : Type // functional relation
relation rel-name : TargetEntity [cardinality]
constraint constraint-name: expr
}
// Derived entity (subtype by rule)
entity DerivedName extends BaseEntity {
where: expr
}
// Tool vocabulary map
map tool-name {
Concept -> ApiObject // object type mapping
Concept.property -> api_field // field mapping
Concept -> implicit /