Remove skill model delegation support (#39068)

## What changed

- Stop parsing and exposing the `model` field from skill frontmatter.
- Remove the skill model delegation types and instruction generation.

GitOrigin-RevId: 01198c68c095da5062e8abec417cc3539099d9d5
This commit is contained in:
felixxia-oai authored and copyberry committed 2026-08-17 20:19:04 +00:00
1 parent 51a9edc083
commit d24507a59b
17 files changed
+1 -360

No files matched your search

@@ -24,7 +24,6 @@ fn host_interface_metadata_makes_unlisted_workflow_discoverable() {
name: "content-tools".to_string(),
description: "Prepare visual content.".to_string(),
short_description: None,
model: None,
interface: Some(SkillInterface {
display_name: Some("Visual Assets".to_string()),
short_description: Some("Create illustrated assets.".to_string()),
@@ -225,7 +225,6 @@ fn expected_skill(path: AbsolutePathBuf, name: &str, scope: SkillScope) -> Skill
name: name.to_string(),
description: format!("{name} description"),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -324,7 +324,6 @@ async fn snapshot_for_config_preserves_host_precedence_for_symlinked_plugin_root
name: "sample:search".to_string(),
description: "shared skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -72,7 +72,6 @@ impl ParsedEnvironmentSkill {
name: base_name,
description,
short_description,
model: _,
} = parse_skill_frontmatter_metadata(&contents, || default_skill_name(&skill.path))
.map_err(|err| err.to_string())?;
let (dependencies, policy) = match &skill.metadata {
@@ -241,7 +240,6 @@ pub fn load_environment_skills_from_discovery(
name: base_name,
description,
short_description,
model: _,
} = match parse_skill_frontmatter_metadata(&skill.instructions.contents, || {
default_skill_name(&skill.instructions.path)
}) {
-2
View File
@@ -356,7 +356,6 @@ async fn parse_skill_file(
name,
description,
short_description,
model,
} = parse_skill_frontmatter_metadata(&contents, || default_skill_name(path))
.map_err(|error| error.to_string())?;
let LoadedSkillMetadata {
@@ -369,7 +368,6 @@ async fn parse_skill_file(
name,
description,
short_description,
model,
interface,
dependencies,
policy,
@@ -84,7 +84,6 @@ async fn host_loading_reuses_walk_inventory_for_symlinked_skill_pack() {
name: "linked:first".to_string(),
description: "first skill.".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: Some(SkillPolicy {
@@ -100,7 +99,6 @@ async fn host_loading_reuses_walk_inventory_for_symlinked_skill_pack() {
name: "linked:second".to_string(),
description: "second skill.".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
+1 -13
View File
@@ -7,7 +7,6 @@ use codex_protocol::protocol::SkillScope;
use codex_skills::SkillDependencies;
use codex_skills::SkillInterface;
use codex_skills::SkillMetadata;
use codex_skills::SkillModel;
use codex_skills::SkillPolicy;
use codex_skills::SkillToolDependency;
use codex_utils_absolute_path::AbsolutePathBuf;
@@ -108,7 +107,7 @@ async fn loads_host_frontmatter_dependencies_and_policy() {
let skill_path = write_skill(
&root,
"demo",
"name: demo\ndescription: Demo skill\nmodel: luna\nmetadata:\n short-description: Short demo",
"name: demo\ndescription: Demo skill\nmetadata:\n short-description: Short demo",
);
write_metadata(
&root,
@@ -135,7 +134,6 @@ policy:
name: "demo".to_string(),
description: "Demo skill".to_string(),
short_description: Some("Short demo".to_string()),
model: Some(SkillModel::Luna),
interface: None,
dependencies: Some(SkillDependencies {
tools: vec![SkillToolDependency {
@@ -175,7 +173,6 @@ async fn invalid_optional_metadata_fails_open() {
name: "demo".to_string(),
description: "Demo skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -215,7 +212,6 @@ async fn loads_host_interface_metadata_and_local_asset_paths() {
name: "demo".to_string(),
description: "Demo skill".to_string(),
short_description: None,
model: None,
interface: Some(SkillInterface {
display_name: Some("Demo".to_string()),
short_description: Some("Interface summary".to_string()),
@@ -255,7 +251,6 @@ async fn loads_plugin_skill_interface_icons_from_local_and_shared_assets() {
name: "plugin:send-message".to_string(),
description: "Send messages".to_string(),
short_description: None,
model: None,
interface: Some(SkillInterface {
display_name: None,
short_description: None,
@@ -298,7 +293,6 @@ async fn rejects_plugin_skill_interface_icons_outside_shared_assets() {
name: "plugin:send-message".to_string(),
description: "Send messages".to_string(),
short_description: None,
model: None,
interface: Some(SkillInterface {
display_name: Some("Send Message".to_string()),
short_description: None,
@@ -336,7 +330,6 @@ async fn rejects_interface_fields_that_escape_or_fail_validation() {
name: "demo".to_string(),
description: "Demo skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -387,7 +380,6 @@ async fn discovers_nested_plugin_namespace_without_plugin_identity() {
name: "plugin-name:demo".to_string(),
description: "Demo skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -433,7 +425,6 @@ async fn plugin_root_accepts_maximum_length_qualified_skill_name() {
name: format!("{plugin_namespace}:{skill_name}"),
description: "Search skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -528,7 +519,6 @@ async fn recursive_plugin_root_preserves_owner_namespace_and_shared_asset_policy
name: "plugin:demo".to_string(),
description: "Demo skill".to_string(),
short_description: None,
model: None,
interface: Some(SkillInterface {
display_name: None,
short_description: None,
@@ -588,7 +578,6 @@ async fn direct_child_plugin_root_ignores_nested_skills() {
name: "plugin:direct".to_string(),
description: "Direct skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -670,7 +659,6 @@ async fn recursive_plugin_root_preserves_symlinked_skill_discovery_path() {
name: "plugin:demo".to_string(),
description: "Symlinked skill".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -175,7 +175,6 @@ async fn installed_extension_uses_host_service_snapshot() -> TestResult {
name: "demo".to_string(),
description: "Demo skill.".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -257,7 +256,6 @@ async fn host_world_state_records_catalog_metrics_on_publish_and_change() -> Tes
name: "demo".to_string(),
description: "Demo skill.".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -322,7 +320,6 @@ async fn host_world_state_records_catalog_metrics_on_publish_and_change() -> Tes
name: "other".to_string(),
description: "Other skill.".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,
@@ -375,7 +372,6 @@ async fn persisted_host_snapshot_deduplicates_warning_after_reinitialization() -
name: "demo".to_string(),
description: "Demo skill.".to_string(),
short_description: None,
model: None,
interface: None,
dependencies: None,
policy: None,