Files
paperclip-harness/.pi/memory-vault/packs/paperclip-harness/80-sessions/paperclip-agent-skill-extension-picker-feasibility-measured-.md

3.8 KiB

type: session id: session.paperclip-harness.paperclip-agent-skill-extension-picker-feasibility-measured- title: Paperclip agent skill/extension picker feasibility: measured API path and boundaries status: active source_of_truth: false freshness: current last_reviewed: 2026-11-10 tags: - pack/paperclip-harness - agent-memory/session - paperclip - skills - extensions - pi-config - api - agent-assignment

Paperclip agent skill/extension picker feasibility: measured API path and boundaries

Discovery turn on a Paperclip harness workspace investigating whether a pi-config-style picker (global skills+extensions → per-agent assignment) can be built for Paperclip agents.

Measured sets:

  • ~/.agents/skills = 21 skills (what the local pi-config picker lists): archify, caveman, design-build, design-explore, graphify, markitdown, nixos-workflow, npm-security, obsidian-cli, obsidian-sorter, openspec-apply-change, openspec-archive-change, openspec-explore, openspec-propose, paperclip-board, project-docs, ste-writing, system-architect, terminal-browser, tuios (and one more).
  • Company skill list GET /api/companies/{companyId}/skills = 9 entries (mix of paperclipai/paperclip/* catalog keys and company//* local keys).
  • Gap: 11+ picker-visible skills were unknown to Paperclip.

API facts verified:

  • POST /api/companies/{companyId}/skills (create) required only name; other props slug, description, markdown, categories, sharingScope enum private|company|public_link, forkedFromSkillId.
  • POST /api/companies/{companyId}/skills/import requires {source}; importing a path under ~/.agents returns HTTP 403 skill_workspace_boundary_denied with remediation "Import from a configured Paperclip workspace or the company managed-skill directory."
  • Workaround that worked: copy skill into ~/.paperclip/instances/default/skills/<companyId>/<skill> then import that path → 201, key like local/9a9eba3826/nixos-workflow.
  • Assignment is per agent: POST /api/agents/{id}/skills/sync with {"mode":"add"|"remove","desiredSkills":[...]} → 200; verified add then remove on agent Documenter (desiredSkills 3→4→3).
  • Extensions (~/.agents/extensions) have no Paperclip counterpart; per-agent lever is adapterConfig.command (default pi, adapter appends its own args) → wrapper per agent that passes --extension … then exec pi "$@".
  • Run history: ~/.pi/paperclips/<timestamp>-<agentId>.jsonl (178 files), with task-sessions mapping task→file; cheap UI option is a tool-pane entry opening that folder in Yazi or a pane running pi --resume.

Cleanup state: nixos-workflow imported into the company and assignable, assigned to no agent; Documenter's skills restored to original 3. Committed as e44b0df, documentation only, running layout untouched.

Evidence

  • Confidence: 90%
  • Reason: Final answer contains many durable, measured API/path details for a future picker implementation.