Back to Rules
📋

Claude Plugins CLAUDE.md

29 free, open-source plugins for Claude Code & Cowork — Google Drive, WhatsApp, YouTube, WordPress, Apollo & more. Built on the SOSA™ security framework.

MSApps-Mobile

by @MSApps-Mobile

Sourced from MSApps-Mobile/claude-plugins — MIT

View profile
CLAUDE.md
> Sourced from [MSApps-Mobile/claude-plugins](https://github.com/MSApps-Mobile/claude-plugins) — [MIT](https://github.com/MSApps-Mobile/claude-plugins/blob/195e6c0b2a0b1fbab669a3fe7ee4b04a61a492dc/plugins/sosa-compliance-checker/CLAUDE.md).

# CLAUDE.md — claude-plugins

Developer notes for the MSApps Claude Plugins repository.

---

## Repo Structure

```
plugins/
  {plugin-name}/
    README.md
    CONNECTORS.md
    skills/{skill-name}/
      SKILL.md
      references/
    commands/
      {command}.md
```

---

## Known Issues & Fixes

### session-backup: VM Proxy Blocks Google Drive Uploads

**Problem:** The Cowork VM proxy blocks outbound connections to `script.google.com`. Running `curl` or `requests` from inside the VM to the Google Apps Script upload endpoint fails with `403 Forbidden / X-Proxy-Error: blocked-by-allowlist`.

**Fix (as of 2026-03-27):** Upload must run on the Mac side via **Desktop Commander**:
1. Copy zip files from `/tmp/cowork-backup/` to `{SESSION_MNT}/Claude/.backup-tmp/` (mounted Mac folder)
2. Write a Python upload script to the staging dir
3. Use `mcp__Desktop_Commander__start_process` to run `python3 ~/Documents/Claude/.backup-tmp/do_upload.py` on the Mac
4. Clean up staging dir after upload

See `plugins/session-backup/skills/session-backup/SKILL.md` Step 4 for full implementation.

### session-backup: Hardcoded Session Paths Break Between Runs

**Problem:** Cowork VM session names (e.g. `loving-gracious-allen`, `modest-sleepy-carson`) are randomly generated and change with every new session. Any hardcoded path like `/sessions/loving-gracious-allen/mnt/...` will fail in a different session.

**Fix (as of 2026-03-27):** Always discover the active session dynamically:
```python
import glob
candidates = glob.glob('/sessions/*/mnt/Claude/credentials/cowork-gdrive-config.json')
session_mnt = candidates[0].replace('/Claude/credentials/cowork-gdrive-config.json', '')
```

**Rule:** Never hardcode a session name in any skill or scheduled task prompt.

---

## Deployment

Plugins are published via:
- **GitHub**: `MSApps-Mobile/claude-plugins` (this repo)
- **Marketplace**: Listed in Anthropic Claude plugin marketplace

To install from this repo in Cowork:
> Settings → Plugins → Marketplaces → Add → `MSApps-Mobile/claude-plugins`

---

## Contact

**Owner:** Michal Shatz — michal@msapps.mobi — [msapps.mobi](https://msapps.mobi)

---

Add to your project

Paste into your project's CLAUDE.md or ~/.claude/CLAUDE.md for global rules.

More for Python

MCP servers for Python

Browse all MCP servers →

Browse by Tag

Get the Claude Code Starter Pack

Top CLAUDE.md rules for Next.js, TypeScript, Python, Go, and React — free.