| // Copyright 2026 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module skills.mojom; |
| |
| import "mojo/public/mojom/base/time.mojom"; |
| |
| // LINT.IfChange(SkillSource) |
| enum SkillSource { |
| kUnknown = 0, |
| // Skill created by Google. |
| kFirstParty = 1, |
| // Skill created by an end-user. |
| kUserCreated = 2, |
| // Skill derived from a first party skill. |
| kDerivedFromFirstParty = 3, |
| }; |
| // clang-format off |
| // LINT.ThenChange(//components/sync/protocol/skill_specifics.proto:SkillSource, //chrome/browser/glic/host/glic.mojom:SkillSource) |
| // clang-format on |
| |
| // LINT.IfChange(Skill) |
| // Represents a single skill. |
| struct Skill { |
| // A unique identifier for the skill. It's GUID now but can be other IDs in |
| // the future. |
| string id; |
| |
| // The source skill id that this skill is derived from. This field is only |
| // present if the SkillSource is kDerivedFromFirstParty. |
| string? source_skill_id; |
| |
| // The user-facing name of the skill. |
| string name; |
| |
| // The icon for the skill, will be using emojis for now. |
| string icon; |
| |
| // The underlying LLM prompt for the skill. |
| string prompt; |
| |
| // The source of the skill which can be 1P or user created. |
| SkillSource source; |
| |
| // The description of the skill. |
| string description; |
| |
| // The Time when the skill was created. |
| mojo_base.mojom.Time creation_time; |
| |
| // The Time when the skill was last updated. |
| mojo_base.mojom.Time last_update_time; |
| }; |
| // clang-format off |
| // LINT.ThenChange(//components/skills/public/skill.h:Skill, //chrome/browser/glic/host/glic.mojom:Skill) |
| // clang-format on |