Hmbown/CodeWhale · error · anyhow::Error

skill '{name}' not found in CodeWhale-owned project/global r

Error message

skill '{name}' not found in CodeWhale-owned project/global roots

What it means

resolve_owned_skill_by_name matched no skill with the given (canonicalized) name in either CodeWhale-owned root, and the Compatible-mode external scan also found nothing. The name is simply unknown to any managed root — a user-facing lookup miss. The unrecognized skill name is the input at fault.

Source

Thrown at crates/tui/src/skills/mutation.rs:498

        [] => {
            // If the name only exists externally, tell the user to import.
            let compatible = scan_with_configured(
                ctx.workspace,
                ctx.home,
                ctx.configured_skills_dir,
                SkillAuditMode::Compatible,
                None,
            );
            if compatible.skills.iter().any(|s| {
                s.id.canonical_name == canonical
                    && s.source_kind == SkillSourceKind::CompatibleExternal
            }) {
                bail!(
                    "skill '{name}' exists only in a compatible external root; \
                     import it with /skills (refusing to write external harness directories)"
                );
            }
            bail!("skill '{name}' not found in CodeWhale-owned project/global roots");
        }
        [only] => {
            let DigestState::Known(digest) = &only.digest else {
                bail!("skill '{name}' has unknown package digest; refusing mutation");
            };
            Ok(ResolvedOwnedSkill {
                id: only.id.clone(),
                digest: digest.clone(),
            })
        }
        _ => bail!(
            "skill '{name}' exists in both project and global CodeWhale roots; \
             specify --project or --global"
        ),
    }
}

fn find_audited_skill(

View on GitHub (pinned to 0c42157ee5)

Solutions

  1. Check the skill name spelling or use the canonical name from /skills listing
  2. Install the skill first (install/import) before remove/update/trust
  3. Run a skills scan to confirm what is currently available in project/global roots
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/tui/src/skills/mutation.rs:498 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20). Data as JSON: /api/errors/864c41804409b4e1. Report an issue: GitHub.