Skip to content

feat(setup): install in-repo skills and silence workspace prompts#57

Merged
chubes4 merged 1 commit intomainfrom
feat/install-in-repo-skills-and-bash-allow
Apr 22, 2026
Merged

feat(setup): install in-repo skills and silence workspace prompts#57
chubes4 merged 1 commit intomainfrom
feat/install-in-repo-skills-and-bash-allow

Conversation

@chubes4
Copy link
Copy Markdown
Member

@chubes4 chubes4 commented Apr 22, 2026

Summary

  • install_skills now copies every skill shipped under the repo's own skills/ directory (today: upgrade-wp-coding-agents, wp-coding-agents-setup) into the runtime skills dir. Previously these were never deployed to live installs, so /upgrade-wp-coding-agents was missing on every configured runtime and the only way to pull the latest was to cd ~/Developer/wp-coding-agents && ./upgrade.sh by hand.

  • Claude Code + Studio Code hook installers used to add the Data Machine workspace only to permissions.additionalDirectories. That covers the Read/Edit/Write tools but the Bash tool is gated by explicit allow rules, so every ls / git / studio wp datamachine-code … inside the workspace still prompted. Both runtimes now also merge:

    • Read/Edit/Write($DM_WORKSPACE_DIR/**)
    • Bash(<wp_prefix> datamachine-code workspace:*), … github:*, … gitsync:*

    wp_prefix is studio wp on Studio installs and bare wp on VPS installs, matching the rest of the runtime's command display logic. OpenCode already uses its native permission.external_directory model, so no change there.

Both changes are idempotent: in-repo skill copies now rm -rf the target first, and the jq / Python merges dedupe against existing entries.

Test plan

  • bash -n lib/skills.sh runtimes/claude-code.sh runtimes/studio-code.sh — syntax clean
  • install_skills dry-run with DRY_RUN=true INSTALL_SKILLS=true INSTALL_DATA_MACHINE=true emits Would install in-repo skill: upgrade-wp-coding-agents and … wp-coding-agents-setup before the two remote clones
  • jq merge preview for Claude Code produces the expected permissions.allow entries, preserves existing rules, and dedupes on re-run
  • Python merge preview for Studio Code produces the same rules
  • Run ./setup.sh --skills-only on a Studio install and confirm $SITE_PATH/.claude/skills/upgrade-wp-coding-agents/ appears
  • Run ./upgrade.sh --skills-only on an existing Studio install and confirm the same
  • On a fresh Studio install, confirm .claude/settings.json contains the new permissions.allow rules and that reading a file under $DATAMACHINE_WORKSPACE_PATH no longer prompts

install_skills now copies every skill under the repo's own skills/
directory (currently upgrade-wp-coding-agents and wp-coding-agents-setup)
into the runtime skills dir before falling back to the external skill
repos. The in-repo skills were never deployed to live installs, so
/upgrade-wp-coding-agents was missing on every configured runtime.

On Claude Code and Studio Code, the Data Machine workspace was only
added to permissions.additionalDirectories. That grants file-tool access
but the Bash tool is gated by explicit allow rules, so ls / git / studio
wp datamachine-code … inside the workspace still prompted. The hook
installer now also merges Read/Edit/Write globs for the workspace and
Bash allow patterns for the datamachine-code workspace, github, and
gitsync command families. Prefix adapts to Studio vs VPS.
@chubes4 chubes4 merged commit f9dd603 into main Apr 22, 2026
2 checks passed
@chubes4 chubes4 deleted the feat/install-in-repo-skills-and-bash-allow branch April 22, 2026 12:35
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