Skip to content

feat: install Partiful skill for supported agents - #73

Merged
KalebCole merged 2 commits into
mainfrom
feat/unified-skill-installer
Jul 30, 2026
Merged

feat: install Partiful skill for supported agents#73
KalebCole merged 2 commits into
mainfrom
feat/unified-skill-installer

Conversation

@KalebCole

@KalebCole KalebCole commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • add partiful skill install <agent> and partiful skill uninstall <agent>
  • support Hermes, OpenClaw, GitHub Copilot, and Claude Code personal skill directories
  • copy the bundled partiful skill with provenance and content hashes
  • preserve unowned and locally modified files unless the user explicitly forces an owned replacement or removal
  • migrate legacy OpenClaw partiful-* symlinks without touching unrelated links

Stack

Targets feat/singular-partiful-skill from #71. This branch does not contain or depend on the RSVP questionnaire branch.

Verification

  • npm test: 228 passed, 6 skipped
  • npm run typecheck: passed
  • git diff --check: passed
  • npm package dry-run includes one Partiful skill and the installer source
  • real temporary-home install/uninstall cycle passed for all four agents
  • independent adversarial review passed after fixing legacy-link provenance and locally modified uninstall protection

Summary by CodeRabbit

  • New Features

    • Added partiful skill install <agent> to install the Partiful skill for supported AI agents.
    • Added partiful skill uninstall <agent> with safe removal and optional OpenClaw legacy cleanup.
    • Added dry-run and force options for previewing or overriding installation changes.
    • Installations now detect existing, modified, or unowned skill directories to help prevent accidental data loss.
  • Documentation

    • Added installation, uninstall, and behavior guidance to the README.
    • Added design and implementation planning documentation for the unified skill installer.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@KalebCole, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 58 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e87517ec-405f-4a0c-a393-71dd5b66c154

📥 Commits

Reviewing files that changed from the base of the PR and between 0086e34 and 2dcd66e.

📒 Files selected for processing (7)
  • README.md
  • docs/plans/2026-07-28-unified-agent-skill-installer-design.md
  • docs/plans/2026-07-28-unified-agent-skill-installer-plan.md
  • src/cli.ts
  • src/commands/skill.ts
  • tests/skill-installer.test.js
  • tests/skill-structure.test.js
📝 Walkthrough

Walkthrough

Adds partiful skill install and uninstall commands for Hermes, OpenClaw, Copilot, and Claude, with provenance tracking, safe overwrite/removal, dry-run and force options, OpenClaw legacy cleanup, documentation, and CLI tests.

Changes

Unified skill installer

Layer / File(s) Summary
Installer contract and target resolution
docs/plans/*, src/commands/skill.ts
Defines supported agents, install destinations, provenance markers, dry-run and force semantics, and the implementation plan for the unified CLI.
Installation and provenance flow
src/commands/skill.ts, tests/skill-installer.test.js
Hashes the bundled skill, performs atomic installation, records ownership, handles idempotence and conflicts, and tests agent-specific paths and installation states.
Uninstallation and OpenClaw cleanup
src/commands/skill.ts, tests/skill-installer.test.js
Removes only owned destinations, protects modified or unowned content, supports dry-run removal, and cleans eligible OpenClaw legacy symlinks.
CLI registration and user-facing verification
src/cli.ts, src/commands/skill.ts, README.md, tests/skill-structure.test.js, tests/skill-installer.test.js
Registers the skill commands, documents their usage, and validates help output, unsupported-agent errors, and obsolete setup-command behavior.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Operator
  participant PartifulCLI
  participant SkillInstaller
  participant AgentDirectory
  participant OpenClawWorkspace

  Operator->>PartifulCLI: run skill install or uninstall
  PartifulCLI->>SkillInstaller: pass agent and flags
  SkillInstaller->>AgentDirectory: inspect, copy, or remove skill
  SkillInstaller->>OpenClawWorkspace: clean legacy links for OpenClaw
  SkillInstaller-->>PartifulCLI: return structured JSON result
  PartifulCLI-->>Operator: print result and exit status
Loading

Possibly related PRs

✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch feat/unified-skill-installer
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/unified-skill-installer

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@KalebCole
KalebCole force-pushed the feat/unified-skill-installer branch from 9ba10f5 to 2dcd66e Compare July 30, 2026 09:20
@KalebCole
KalebCole changed the base branch from feat/singular-partiful-skill to main July 30, 2026 09:20
@KalebCole
KalebCole merged commit d2c8054 into main Jul 30, 2026
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.

1 participant