paperclipai/paperclip · error

Skill reference is required unless --all is used.

Error message

Skill reference is required unless --all is used.

What it means

requireSkillRef guards commands that operate on one skill: neither a positional skill reference nor --all was provided, so the target set is undefined.

Solutions

  1. Provide a skill reference, or pass --all to operate on all skills.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cli/src/commands/client/skills.ts:945 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/da83c93dec7e8a1a. Report an issue: GitHub.

Appendix: source

Thrown at cli/src/commands/client/skills.ts:945

  }
}

function toSkillReferenceTarget(skill: CompanySkillReferenceTarget): CompanySkillReferenceTarget {
  return {
    id: skill.id,
    key: skill.key,
    slug: skill.slug,
    name: skill.name,
  };
}

function normalizeSkillSlug(value: string): string {
  return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
}

function requireSkillRef(skillRef: string | undefined): string {
  if (!skillRef?.trim()) {
    throw new Error("Skill reference is required unless --all is used.");
  }
  return skillRef;
}

function collectOptionValue(value: string, previous: string[]): string[] {
  return [...previous, value];
}

function emptyToUndefined(values: string[] | undefined): string[] | undefined {
  return values && values.length > 0 ? values : undefined;
}

function appendQueryParam(params: URLSearchParams, key: string, value: string | undefined): void {
  const trimmed = value?.trim();
  if (trimmed) {
    params.set(key, trimmed);
  }
}

View on GitHub (pinned to 120ae5428f)