paperclipai/paperclip · error
Skill not found
Error message
Skill not found: ${reference} What it means
Error "Skill not found: ${reference}" thrown in paperclipai/paperclip.
Solutions
- Verify the skill reference; list skills and use a valid ID, key, or slug.
When it happens
Trigger: Thrown at cli/src/commands/client/skills.ts:627 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/405ca97a7b62369d.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/client/skills.ts:627
const trimmed = reference.trim();
if (!trimmed) {
throw new Error("Skill reference is required.");
}
const byId = skills.find((skill) => skill.id === trimmed);
if (byId) return byId;
const byKey = skills.find((skill) => skill.key === trimmed);
if (byKey) return byKey;
const normalizedSlug = normalizeSkillSlug(trimmed);
const bySlug = skills.filter((skill) => skill.slug === normalizedSlug);
if (bySlug.length === 1 && bySlug[0]) return bySlug[0];
if (bySlug.length > 1) {
throw new Error(`Ambiguous skill slug "${trimmed}". Use a skill ID or key instead.`);
}
throw new Error(`Skill not found: ${reference}`);
}
async function resolveCompanySkill(
ctx: ResolvedClientContext,
reference: string,
): Promise<CompanySkillReferenceTarget> {
return resolveCompanySkillReference(await listCompanySkills(ctx), reference);
}
async function checkCompanySkills(
ctx: ResolvedClientContext,
skillRef: string | undefined,
): Promise<CompanySkillCheckRow[]> {
const skills = await listCompanySkills(ctx);
const selected = skillRef ? [resolveCompanySkillReference(skills, skillRef)] : skills;
const rows: CompanySkillCheckRow[] = [];
for (const skill of selected) {
const status = await ctx.api.get<CompanySkillUpdateStatus>(View on GitHub (pinned to 120ae5428f)