3.8 KiB
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 onlyname; other props slug, description, markdown, categories, sharingScope enum private|company|public_link, forkedFromSkillId.POST /api/companies/{companyId}/skills/importrequires{source}; importing a path under~/.agentsreturns HTTP 403skill_workspace_boundary_deniedwith 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 likelocal/9a9eba3826/nixos-workflow. - Assignment is per agent:
POST /api/agents/{id}/skills/syncwith{"mode":"add"|"remove","desiredSkills":[...]}→ 200; verified add then remove on agentDocumenter(desiredSkills 3→4→3). - Extensions (
~/.agents/extensions) have no Paperclip counterpart; per-agent lever isadapterConfig.command(defaultpi, adapter appends its own args) → wrapper per agent that passes--extension …thenexec pi "$@". - Run history:
~/.pi/paperclips/<timestamp>-<agentId>.jsonl(178 files), withtask-sessionsmapping task→file; cheap UI option is a tool-pane entry opening that folder in Yazi or a pane runningpi --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.
Related
Related learned memories
- runbook: packs/paperclip-harness/70-runbooks/tmp-deployment-operations
- session: packs/paperclip-harness/80-sessions/paperclip-agent-skill-extension-picker-feasibility-measured-
- session: packs/paperclip-harness/80-sessions/rich-discovery-paperclip-2026-11-10-21-58-38
- context: packs/paperclip-harness/20-context/paperclipai
- observation: packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns