paperclipai/paperclip · error
At least one --skill value is required for skills agent…
Error message
At least one --skill value is required for skills agent sync.
What it means
The agent skills sync command collected zero --skill values, so there is no desired skill set to merge with the given --mode.
Solutions
- Pass at least one --skill value for the sync.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/commands/client/skills.ts:519 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/8ef3ac1b4345aac5.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/client/skills.ts:519
}),
{ includeCompany: true },
);
addCommonClientOptions(
agent
.command("sync")
.description("Merge an agent's desired company skills and sync runtime state")
.argument("<agentRef>", "Agent ID or shortname/url-key")
.option("--skill <skillRef>", "Desired company skill ID, key, or slug; may be repeated", collectOptionValue, [] as string[])
.requiredOption(
"--mode <mode>",
"Merge mode: add keeps other skills; remove deletes only named skills; replace destructively overwrites the complete set",
)
.action(async (agentRef: string, opts: AgentSkillSyncOptions) => {
try {
const desiredSkills = opts.skill ?? [];
if (desiredSkills.length === 0) {
throw new Error("At least one --skill value is required for skills agent sync.");
}
const ctx = resolveCommandContext(opts, { requireCompany: true });
const agentRow = await resolveAgent(ctx, agentRef);
const mode = agentSkillAssignmentModeSchema.parse(opts.mode);
const snapshot = await ctx.api.post<AgentSkillSnapshot>(
`/api/agents/${encodeURIComponent(agentRow.id)}/skills/sync`,
{ desiredSkills, mode },
);
if (ctx.json) {
printOutput(snapshot, { json: true });
return;
}
console.log(
`Desired company skills updated with ${mode} mode for ${agentRow.name} (${agentRow.id}); runtime sync returned ${snapshot?.entries.length ?? 0} entrie(s).`,
);
printAgentSkillSnapshot(snapshot, agentRow);
} catch (err) {
handleCommandError(err);View on GitHub (pinned to 120ae5428f)