UML — who-iris/who-iris-skills

Generated by cat-harness-tools/scripts/gen-uml-overview.ts — do not edit. The who-iris-skills sub-graph of who-iris (who-iris/skills), with every attribute read from its node schema.

Sources (same model): PlantUML · Mermaid · Graphviz DOT

Layout
UML class diagram of who-iris/who-iris-skills: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of who-iris/who-iris-skills: one package per named sub-graph, one class per node schema, with its data fields. Landscape layout.

The interactive view lays this diagram out in your browser with Graphviz, and needs JavaScript. Without it, pick Portrait or Landscape, or read the DOT source.

sub-graphdirectorygraph typologiesnode schemanodescohesioninout
who-iris/who-iris-skillswho-iris/skillsskillsVoiceSkillSchema; SkillTopicsSchemanot measured

Nodes, cohesion, in and out are the detangler’s pinned measurements for the same directory (bun run cat kg:detangle; skill graph-detanglement). Not measured means the detangler does not scan that directory, not that it has no edges.

Sub-graphs

The same model, drawn by Mermaid

Kept so the page renders even where the PlantUML image is missing, and because Mermaid nodes carry the CSS class that colours them from uml.css.

classDiagram
  direction TB
  namespace who_iris__who_iris_skills {
    class who_iris_who_iris_skills_folio_voice_skill_v1_Source["Source"] {
      <<json: VoiceSkillSchema>>
      title [1] string
      instance [0..1] string
      libraryId [0..1] string
      path [0..1] string
      url [0..1] string~uri~
      year [0..1] integer
    }
    class who_iris_who_iris_skills_folio_voice_skill_v1_Pattern["Pattern"] {
      <<json: VoiceSkillSchema>>
      regex [1] string
      caseSensitive [0..1] boolean
      message [1] string
    }
    class who_iris_who_iris_skills_folio_voice_skill_v1_Terminology["Terminology"] {
      <<json: VoiceSkillSchema>>
      correct [1] string
      incorrect [1] string | string[]
      context [0..1] string
    }
    class who_iris_who_iris_skills_folio_voice_skill_v1_Rule["Rule"] {
      <<json: VoiceSkillSchema>>
      id [1] string
      title [1] string
      description [1] string
      category [1] enum(13)
      severity [1] critical | major | minor
      source [1] object
      patterns [0..*] Pattern[]
      terminology [0..*] Terminology[]
      judgementOnly [0..1] boolean
      counterintuitive [0..1] boolean
      commonError [0..1] string
    }
    class who_iris_who_iris_skills_folio_voice_skill_v1_folio_voice_skill_v1["folio-voice-skill/v1"] {
      <<json: VoiceSkillSchema>>
      $schema [1] 'folio-voice-skill/v1'
      id [1] string
      title [1] string
      description [1] string
      owner [0..1] string
      instructions [1] object
      sources [0..*] Source[]
      provenance [1] assertion | evidence | house
      rules [1..*] Rule[]
      overlaySeverity [0..1] critical | major | minor
      appliesTo [0..*] list~enum(17) | docs | skill | readme | specification | code~
      activeIn [0..1] object
      extends [0..1] object
      superseded [0..1] object
    }
    class who_iris_who_iris_skills_skill_topics_v1_Topic["Topic"] {
      <<json: SkillTopicsSchema>>
      id [1] string
      path [1] string
      title [1] string
      description [1] string
    }
    class who_iris_who_iris_skills_skill_topics_v1_Directory["Directory"] {
      <<json: SkillTopicsSchema>>
      id [1] string
      path [1] string
      subgraph [1] true
      graphTypologies [1..*] string[]
    }
    class who_iris_who_iris_skills_skill_topics_v1_skill_topics_v1["skill-topics/v1"] {
      <<json: SkillTopicsSchema>>
      $schema [1] 'skill-topics/v1'
      _comment [0..1] string
      topics [0..*] Topic[]
      directories [0..*] Directory[]
    }
  }
  who_iris_who_iris_skills_folio_voice_skill_v1_folio_voice_skill_v1 *-- "0..*" who_iris_who_iris_skills_folio_voice_skill_v1_Source : sources
  who_iris_who_iris_skills_folio_voice_skill_v1_Rule *-- "0..*" who_iris_who_iris_skills_folio_voice_skill_v1_Pattern : patterns
  who_iris_who_iris_skills_folio_voice_skill_v1_Rule *-- "0..*" who_iris_who_iris_skills_folio_voice_skill_v1_Terminology : terminology
  who_iris_who_iris_skills_folio_voice_skill_v1_folio_voice_skill_v1 *-- "1..*" who_iris_who_iris_skills_folio_voice_skill_v1_Rule : rules
  who_iris_who_iris_skills_skill_topics_v1_skill_topics_v1 *-- "0..*" who_iris_who_iris_skills_skill_topics_v1_Topic : topics
  who_iris_who_iris_skills_skill_topics_v1_skill_topics_v1 *-- "0..*" who_iris_who_iris_skills_skill_topics_v1_Directory : directories
  cssClass "who_iris_who_iris_skills_folio_voice_skill_v1_Source" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_folio_voice_skill_v1_Pattern" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_folio_voice_skill_v1_Terminology" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_folio_voice_skill_v1_Rule" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_folio_voice_skill_v1_folio_voice_skill_v1" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_skill_topics_v1_Topic" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_skill_topics_v1_Directory" fa_uml_kind_skills
  cssClass "who_iris_who_iris_skills_skill_topics_v1_skill_topics_v1" fa_uml_kind_skills

folio-assistant — code under the Apache License 2.0, documentation under CC BY 3.0. Generated schema and API references are rebuilt from source on every push to main.

deployed b08c961 · 2026-10-23T23:11:09Z