From ontologian
Use when the user runs /ontologian-search or wants to search for a keyword across all ontology domains (object types, link types, action types).
How this skill is triggered — by the user, by Claude, or both
Slash command
/ontologian:searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Search the entire ontology by keyword. Perform a case-insensitive search across Object Types, Link Types, and Action Types in all domains, and output results grouped by domain.
Search the entire ontology by keyword. Perform a case-insensitive search across Object Types, Link Types, and Action Types in all domains, and output results grouped by domain.
Glob .ontology/domains/_index.yaml → if missing, output "Ontology is not initialized." and exit.
Parse the keyword and filter options from the arguments.
--type=object|link|action → search only the specified type--domain=<name> → search only the specified domainExample: /ontologian-search User --type=object --domain=ecommerce
If no arguments are given, prompt:
Enter a search keyword:
Store the keyword, type filter, and domain filter, then proceed to Step 3.
Read .ontology/domains/_index.yaml. If the domains array is empty, output "No domains registered." and exit.
If a --domain filter is set, process only that domain. Iterate over the domains array and Read each file.
All domains use the directory format:
.ontology/domains/<directory>/objects/*.yaml for object type matches.ontology/domains/<directory>/links/*.yaml for link type matches.ontology/domains/<directory>/actions/*.yaml for action type matchesStore type data in memory per domain. On read failure, log the error for that domain and continue.
Iterate over stored data per domain and search for the keyword case-insensitively.
If a --type filter is set, search only that type's array.
Search targets:
| Type | Fields searched |
|---|---|
| Object Type | name, description, properties[].name |
| Link Type | name, description, from, to |
| Action Type | name, description, target, parameters[].name, trigger_condition.field, trigger_condition.from, trigger_condition.to |
Collect matching items grouped by domain.
No results found for '<keyword>'.
Output grouped by domain. Summarize key fields per item with a type label.
Output format:
## Search Results: "<keyword>"
### Domain: <domain_name>
[Object Type] <name>
Description: <description>
Properties: <prop1_name> (<type>[, PK][, computed]), <prop2_name> (<type>), ...
[Link Type] <name>
<from> → <to> (<cardinality>)
Description: <description>
[Action Type] <name>
Description: <description>
Target: <target> / Trigger: <trigger>
### Domain: <domain_name2>
...
Total: <N> result(s) (Object: <N>, Link: <N>, Action: <N>)
(Some domains failed to load: <name1>, <name2>) ← only shown if any domain failed
Result rendering (directory-format domains): Use the multi-line grouped format. For each matched result, render the entity name as a markdown file link within the type header line:
[Object Type] [<name>](.ontology/domains/<directory>/objects/<name>.yaml)[Link Type] [<name>](.ontology/domains/<directory>/links/<name>.yaml)[Action Type] [<name>](.ontology/domains/<directory>/actions/<name>.yaml)The description, properties, and other detail lines below the header remain as plain text. Apply this format only to directory-format domains.
Field output rules:
description.properties on one line. Mark primary: true as PK and computed: true as computed in parentheses. Omit if no properties.cardinality, show only the arrow (→).trigger, show only the target.## Search Results: "User"
### Domain: ecommerce
[Object Type] User
Description: Service user
Properties: user_id (string, PK), email (string), churn_score (float, computed)
[Link Type] places
User → Order (one_to_many)
Description: A user places an order
Total: 2 result(s) (Object: 1, Link: 1, Action: 0)
(Some domains failed to load: <name>).Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub swszz/ontologian --plugin ontologian