Skip to content

feat(skills): one skills add connect (v2.4.0) - #206

Merged
paulkr merged 1 commit into
mainfrom
feat/skills-add-connect
Oct 6, 2026
Merged

paulkr merged 1 commit into
mainfrom
feat/skills-add-connect

Conversation

@krish221997

@krish221997 krish221997 commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Why

The One Connect skill ships inside @withone/connect. Today a developer has to find npx skills add withoneai/connect on their own. This PR lets them run one skills add connect from the CLI they already have. The skill always matches the SDK version their code calls.

How it works

one skills add connect
 1. find   ./node_modules/@withone/connect/skills/one-connect   (the version the code uses)
           └─ not installed → latest from npm, sha512 integrity-checked first
 2. copy   → .agents/skills/one-connect      Codex, Cursor, Amp, OpenCode read it
    link   → .claude/skills/one-connect      Claude Code
           → .windsurf/.kiro/.goose/.roo     only if the project has that folder (or --agents)
 3. stamp  → .one-skill.json                 version, source, links
 4. fresh  any `one` command in the project re-copies it when the SDK version moves (no network)
  • Also: one skills list | update [name] | remove <name>, --global, --agents, --agent JSON on all of them.
  • Project folders per agent follow the open agent-skills layout of npx skills v1.7.0.
  • On Windows: symlink, then junction, then copy.

What does NOT change

  • one init, the One skill, lib/skill-sync.ts, one config skills sync|status.
  • The new preAction step runs after the existing one. It is skipped for one skills, wrapped in try/catch, and does nothing unless an optional skill is installed in that project.

Tests

  • 22 new tests, covering all four steps plus:
    • --agents
    • replace and remove
    • other skills left untouched
    • refresh only on a version change
    • registry integrity and tar path-traversal safety
    • global installs
    • stamps written on Windows
  • Full suite: 641 tests, 635 pass. The 6 failures are the pre-existing resolveConfig macOS tmpdir cases and are identical on main. CI covers Windows.
  • End to end against the real npm package:
    • project install from node_modules
    • auto-refresh after npm install @withone/connect@0.14.0
    • registry fallback in a project without the SDK
    • --global
    • remove
    • error paths

Release (after merge)

Version is 2.4.0 (lockfile hand-edited per CLAUDE.md). Create the GitHub release v2.4.0; the existing workflow publishes to npm.

Companion: withoneai/connect#19. Its README already points to one skills add connect.

🤖 Generated with Claude Code

…from the SDK the project uses (v2.4.0)

New `one skills list|add|update|remove` for optional skills that ship
inside an SDK package. Today: `connect`, from @withone/connect.

one skills add connect
  1. find   node_modules/@withone/connect/skills/one-connect (the
            version the code calls); not installed → latest from npm,
            checked against the registry's sha512 integrity first
  2. copy   → .agents/skills/one-connect (Codex, Cursor, Amp, OpenCode)
     link   → .claude/skills/one-connect (Claude Code); Windsurf, Kiro,
            Goose, Roo when the project has their folder; --agents to
            choose; symlink → junction → copy fallback for Windows
  3. stamp  → .one-skill.json (version, source, links; POSIX paths)
  4. fresh  any `one` command in the project re-copies it when the
            installed package version moves (local files, no network)

--global installs to ~/.agents/skills and links the agents this
machine has (same home folders `one init` uses).

Unchanged: `one init`, the One skill, lib/skill-sync.ts and
`one config skills sync|status`. The new preAction step runs after the
existing one, is skipped for `one skills`, and never blocks a command.

Docs: README (one skills), skills/one/SKILL.md (Adding One Connect to
an App), guide overview, help text, CLAUDE.md.

Tests: 22 new (all four steps, --agents, replace/remove, other skills
untouched, refresh on version change, registry integrity + tar path
safety, global, cross-OS stamps). Full suite 641: 635 pass; the 6
failures are the pre-existing resolveConfig tmpdir cases on macOS,
identical on main. Verified end to end against the real npm package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@paulkr
paulkr merged commit a66dd80 into main Oct 6, 2026
7 checks passed
@paulkr
paulkr deleted the feat/skills-add-connect branch October 6, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants