1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! Family metadata — group related skills and describe them as a unit.
//!
//! A **family** is a cohesive group of [skills](crate::Skill) that share a
//! theme and, often, a host requirement (a binary, a daemon socket, an
//! interpreter). Registering a [`FamilyMeta`] gives an introspection tool,
//! a dashboard, and the startup logs a single source of truth for "what does
//! this group do, what tools does it contribute, and can it run here?"
//!
//! Families are optional: a group of pure, dependency-free skills can simply
//! not register one and inherit the implicit "always ready" behavior.
use crateSkillCapability;
/// The contract a skill **family** implements. Each family-level module
/// conventionally exports a unit struct (`pub struct Family;`) that impls
/// this trait; an application collects them into a registry that the
/// dispatcher, a dashboard, and the startup logs all read from.