Remove api trigger kind and mark webhook as coming soon
Drop "api" from the trigger kind dropdown and disable the "webhook" option with a "COMING SOON" label until it's ready. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -71,6 +71,8 @@ Read enough ancestor/comment context to understand _why_ the task exists and wha
|
||||
**Step 8 — Update status and communicate.** Always include the run ID header.
|
||||
If you are blocked at any point, you MUST update the issue to `blocked` before exiting the heartbeat, with a comment that explains the blocker and who needs to act.
|
||||
|
||||
When writing issue descriptions or comments, follow the ticket-linking rule in **Comment Style** below.
|
||||
|
||||
```json
|
||||
PATCH /api/issues/{issueId}
|
||||
Headers: X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID
|
||||
@@ -155,12 +157,19 @@ If you are asked to install a skill for the company or an agent you MUST read:
|
||||
|
||||
## Comment Style (Required)
|
||||
|
||||
When posting issue comments, use concise markdown with:
|
||||
When posting issue comments or writing issue descriptions, use concise markdown with:
|
||||
|
||||
- a short status line
|
||||
- bullets for what changed / what is blocked
|
||||
- links to related entities when available
|
||||
|
||||
**Ticket references are links (required):** If you mention another issue identifier such as `PAP-224`, `ZED-24`, or any `{PREFIX}-{NUMBER}` ticket id inside a comment body or issue description, wrap it in a Markdown link:
|
||||
|
||||
- `[PAP-224](/PAP/issues/PAP-224)`
|
||||
- `[ZED-24](/ZED/issues/ZED-24)`
|
||||
|
||||
Never leave bare ticket ids in issue descriptions or comments when a clickable internal link can be provided.
|
||||
|
||||
**Company-prefixed URLs (required):** All internal links MUST include the company prefix. Derive the prefix from any issue identifier you have (e.g., `PAP-315` → prefix is `PAP`). Use this prefix in all UI links:
|
||||
|
||||
- Issues: `/<prefix>/issues/<issue-identifier>` (e.g., `/PAP/issues/PAP-224`)
|
||||
@@ -182,7 +191,8 @@ Submitted CTO hire request and linked it for board review.
|
||||
|
||||
- Approval: [ca6ba09d](/PAP/approvals/ca6ba09d-b558-4a53-a552-e7ef87e54a1b)
|
||||
- Pending agent: [CTO draft](/PAP/agents/cto)
|
||||
- Source issue: [PC-142](/PAP/issues/PC-142)
|
||||
- Source issue: [PAP-142](/PAP/issues/PAP-142)
|
||||
- Depends on: [PAP-224](/PAP/issues/PAP-224)
|
||||
```
|
||||
|
||||
## Planning (Required when planning requested)
|
||||
|
||||
@@ -346,6 +346,26 @@ GET /api/companies/{companyId}/dashboard — health summary: agent/task counts,
|
||||
|
||||
Use the dashboard for situational awareness, especially if you're a manager or CEO.
|
||||
|
||||
## Company Branding (CEO / Board)
|
||||
|
||||
CEO agents can update branding fields on their own company. Board users can update all fields.
|
||||
|
||||
```
|
||||
GET /api/companies/{companyId} — read company (CEO agents + board)
|
||||
PATCH /api/companies/{companyId} — update company fields
|
||||
POST /api/companies/{companyId}/logo — upload logo (multipart, field: "file")
|
||||
```
|
||||
|
||||
**CEO-allowed fields:** `name`, `description`, `brandColor` (hex e.g. `#FF5733` or null), `logoAssetId` (UUID or null).
|
||||
|
||||
**Board-only fields:** `status`, `budgetMonthlyCents`, `spentMonthlyCents`, `requireBoardApprovalForNewAgents`.
|
||||
|
||||
**Not updateable:** `issuePrefix` (used as company slug/identifier — protected from changes).
|
||||
|
||||
**Logo workflow:**
|
||||
1. `POST /api/companies/{companyId}/logo` with file upload → returns `{ assetId }`.
|
||||
2. `PATCH /api/companies/{companyId}` with `{ "logoAssetId": "<assetId>" }`.
|
||||
|
||||
## OpenClaw Invite Prompt (CEO)
|
||||
|
||||
Use this endpoint to generate a short-lived OpenClaw onboarding invite prompt:
|
||||
|
||||
@@ -34,7 +34,42 @@ The canonical model is:
|
||||
|
||||
## Install A Skill Into The Company
|
||||
|
||||
Import from GitHub, a local path, or a `skills.sh`-style source string:
|
||||
Import using a **skills.sh URL**, a key-style source string, a GitHub URL, or a local path.
|
||||
|
||||
### Source types (in order of preference)
|
||||
|
||||
| Source format | Example | When to use |
|
||||
|---|---|---|
|
||||
| **skills.sh URL** | `https://skills.sh/google-labs-code/stitch-skills/design-md` | When a user gives you a `skills.sh` link. This is the managed skill registry — **always prefer it when available**. |
|
||||
| **Key-style string** | `google-labs-code/stitch-skills/design-md` | Shorthand for the same skill — `org/repo/skill-name` format. Equivalent to the skills.sh URL. |
|
||||
| **GitHub URL** | `https://github.com/vercel-labs/agent-browser` | When the skill is in a GitHub repo but not on skills.sh. |
|
||||
| **Local path** | `/abs/path/to/skill-dir` | When the skill is on disk (dev/testing only). |
|
||||
|
||||
**Critical:** If a user gives you a `https://skills.sh/...` URL, use that URL or its key-style equivalent (`org/repo/skill-name`) as the `source`. Do **not** convert it to a GitHub URL — skills.sh is the managed registry and the source of truth for versioning, discovery, and updates.
|
||||
|
||||
### Example: skills.sh import (preferred)
|
||||
|
||||
```sh
|
||||
curl -sS -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/skills/import" \
|
||||
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"source": "https://skills.sh/google-labs-code/stitch-skills/design-md"
|
||||
}'
|
||||
```
|
||||
|
||||
Or equivalently using the key-style string:
|
||||
|
||||
```sh
|
||||
curl -sS -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/skills/import" \
|
||||
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"source": "google-labs-code/stitch-skills/design-md"
|
||||
}'
|
||||
```
|
||||
|
||||
### Example: GitHub import
|
||||
|
||||
```sh
|
||||
curl -sS -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/skills/import" \
|
||||
@@ -45,10 +80,11 @@ curl -sS -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/skills/
|
||||
}'
|
||||
```
|
||||
|
||||
You can also use a source string such as:
|
||||
You can also use source strings such as:
|
||||
|
||||
- `npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser`
|
||||
- `google-labs-code/stitch-skills/design-md`
|
||||
- `vercel-labs/agent-browser/agent-browser`
|
||||
- `npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser`
|
||||
|
||||
If the task is to discover skills from the company project workspaces first:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user