doc/plans/2026-03-14-adapter-skill-sync-rollout.md
Status: Proposed Date: 2026-03-14 Audience: Product and engineering Related:
doc/plans/2026-03-14-skills-ui-product-plan.mddoc/plans/2026-03-13-company-import-export-v2.mddocs/companies/companies-spec.mdThis document defines the rollout plan for adapter-wide skill support in Paperclip.
The goal is not just “show a skills tab.” The goal is:
Paperclip currently has these adapters:
claude_localcodex_localcursor_localgemini_localopencode_localpi_localopenclaw_gatewayThe current skill API supports:
unsupportedpersistentephemeralCurrent implementation state:
codex_local: implemented, persistentclaude_local: implemented, ephemeralcursor_local: not yet implemented, but technically suited to persistentgemini_local: not yet implemented, but technically suited to persistentpi_local: not yet implemented, but technically suited to persistentopencode_local: not yet implemented; likely persistent, but with special handling because it currently injects into Claude’s shared skills homeopenclaw_gateway: not yet implemented; blocked on gateway protocol support, so unsupported for nowThese adapters have a stable local skills directory that Paperclip can read and manage.
Candidates:
codex_localcursor_localgemini_localpi_localopencode_local with caveatsExpected UX:
syncThese adapters do not have a meaningful Paperclip-owned persistent install state.
Current adapter:
claude_localExpected UX:
These adapters cannot support skill sync without new external capabilities.
Current adapter:
openclaw_gatewayExpected UX:
unsupportedTarget mode:
persistentCurrent state:
Requirements to finish:
Success criteria:
CODEX_HOME/skillsTarget mode:
ephemeralCurrent state:
Requirements to finish:
Success criteria:
Target mode:
persistentTechnical basis:
~/.cursor/skillsImplementation work:
listSkills for Cursor.syncSkills for Cursor.Testing:
Success criteria:
Target mode:
persistentTechnical basis:
~/.gemini/skillsImplementation work:
listSkills for Gemini.syncSkills for Gemini.Potential caveat:
Success criteria:
Target mode:
persistentTechnical basis:
~/.pi/agent/skillsImplementation work:
listSkills for Pi.syncSkills for Pi.Success criteria:
Target mode:
persistentSpecial case:
~/.claude/skillsThis is product-risky because:
Plan:
Phase 1:
listSkills and syncSkillspersistentPhase 2:
Success criteria:
Target mode:
unsupported until gateway protocol support existsRequired external work:
Until then:
Future target:
Near-term adapter contract remains:
listSkills(ctx)syncSkills(ctx, desiredSkills)This is enough for all local adapters.
Add only if needed after the first broad rollout:
skillHomeLabelsharedHome: booleansupportsExternalDiscovery: booleansupportsDestructiveSync: booleanThese should be optional metadata additions to the snapshot, not required new adapter methods.
The company-level skill library can stay adapter-neutral.
The agent-level Skills tab must become adapter-aware by copy and status:
persistent: installed / missing / stale / externalephemeral: mounted on next run / external / desired onlyunsupported: desired only, adapter cannot report actual stateAdditional UI requirement for shared-home adapters:
Ship:
cursor_localgemini_localpi_localRationale:
Ship:
opencode_localRationale:
Decide:
openclaw_gateway unsupported for V1My recommendation:
Adapter-wide skill support is ready when all are true:
persistentephemeralunsupportedlistSkillssyncSkillsopenclaw_gateway is either:
The recommended immediate order is:
cursor_localgemini_localpi_localopencode_localopenclaw_gatewayThat gets Paperclip from “skills work for Codex and Claude” to “skills work for the whole local-adapter family,” which is the meaningful V1 milestone.