# Workspace Share

> workspace-share

- Skill: `evolution-foundation/workspace-share` (Agent Skill)
- Install (CLI): `npx skillmds@latest add evolution-foundation/workspace-share`
- Raw SKILL.md: https://api.skillmd.com/api/skills/evolution-foundation/workspace-share/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: evolution-foundation (https://skillmd.com/u/evolution-foundation)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/evolution-foundation/workspace-share

---

# workspace-share

**Description:** Create, list, or revoke public share links for workspace files. Use when the user says "share this file", "create a public link", "share the dashboard", "compartilha esse arquivo", "list my share links", "revoke share link", or wants to share a report/HTML with someone external.

## Trigger

Use this skill when the user wants to:
- Share a workspace file with an external person
- Generate a public URL for a file (report, dashboard, HTML, markdown)
- List or manage active share links
- Revoke a share link

## Actions

Use `from dashboard.backend.sdk_client import evo` — auto-handles URL + auth.

### 1. Create share link

Accepts a file path (explicit or resolved from context, e.g., "today's dashboard").

**Smart resolution:** If the user says "share the financial pulse" or "share today's report", search `workspace/` for the most recent matching file (e.g., `workspace/finance/*pulse*.html`) and confirm with the user before sharing.

```python
from dashboard.backend.sdk_client import evo
share = evo.post("/api/shares", {
    "path": "<repo-relative-path>",
    "expires_in": "7d",
})
```

`expires_in` options: `"1h"`, `"24h"`, `"7d"`, `"30d"`, or `null` (no expiration).

Returns `{ token, url, expires_at }`. Present the `url` to the user — this is the public link.

### 2. List active shares

```python
from dashboard.backend.sdk_client import evo
result = evo.get("/api/shares")
```

Returns `{ shares: [...] }`. Format as a readable table showing: file path, created by, created at, expires at, views, status.

### 3. Revoke share

Accepts a token or identifies the share from context (e.g., file path).

```python
from dashboard.backend.sdk_client import evo
evo.delete(f"/api/shares/{token}")
```

Confirm with the user before revoking (the link becomes immediately inaccessible).

## Notes

- Only files inside `workspace/` can be shared (no admin paths)
- HTML files render natively in the browser (no login required)
- Markdown and code files are rendered by the EvoNexus share viewer
- Each view is counted and logged in the audit trail

