@probo/skills 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +2 -2
- package/COMPATIBILITY.md +10 -0
- package/README.md +16 -4
- package/package.json +3 -3
- package/plugin.json +2 -2
- package/skills/using-prb/SKILL.md +126 -0
- package/skills/using-prb/references/commands.md +48 -0
- package/skills/using-prb/references/create.md +32 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"plugins": [
|
|
7
7
|
{
|
|
8
8
|
"name": "probo",
|
|
9
|
-
"description": "Open-source compliance workflows
|
|
9
|
+
"description": "Open-source compliance workflows for the Probo MCP API, plus the using-prb CLI skill",
|
|
10
10
|
"source": {
|
|
11
11
|
"source": "local",
|
|
12
12
|
"path": "./"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"plugins": [
|
|
9
9
|
{
|
|
10
10
|
"name": "probo",
|
|
11
|
-
"description": "Open-source compliance workflows
|
|
11
|
+
"description": "Open-source compliance workflows for the Probo MCP API, plus the using-prb CLI skill",
|
|
12
12
|
"source": {
|
|
13
13
|
"source": "npm",
|
|
14
14
|
"package": "@probo/skills"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "probo",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Open-source compliance workflows
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Open-source compliance workflows and the using-prb CLI skill (Claude Code, Codex, OpenCode)",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Probo Inc",
|
|
7
7
|
"email": "hello@probo.com"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "probo",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Open-source compliance workflows
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Open-source compliance workflows and the using-prb CLI skill (Codex, OpenCode, Claude Code)",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Probo Inc",
|
|
7
7
|
"email": "hello@probo.com"
|
package/COMPATIBILITY.md
CHANGED
|
@@ -40,6 +40,16 @@ Both documents declare
|
|
|
40
40
|
`https://agent-plugins.org/schemas/1.0.0/{plugin,mcp}.schema.json`, and the
|
|
41
41
|
spec requires the two versions to match.
|
|
42
42
|
|
|
43
|
+
`using-prb` is a skill in that same `skills/` directory. It describes the
|
|
44
|
+
`prb` CLI and does not use the MCP servers. Install it from the repository
|
|
45
|
+
pinned to the `@probo/skills` tag matching the installed CLI (see
|
|
46
|
+
`CHANGELOG.md` for the version):
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
gh skill install getprobo/probo using-prb --pin @probo/skills/vX.Y.Z
|
|
50
|
+
npx skills add "getprobo/probo#@probo/skills/vX.Y.Z" --skill using-prb
|
|
51
|
+
```
|
|
52
|
+
|
|
43
53
|
Commands, marketplace catalogs, and the client manifests are outside the v1
|
|
44
54
|
format — Agent Plugins v1 standardizes only skills and MCP servers. Clients
|
|
45
55
|
ignore the extra files.
|
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @probo/skills
|
|
2
2
|
|
|
3
|
-
Multi-agent
|
|
3
|
+
Multi-agent skills for open-source GRC workflows and the `prb` CLI. Ships an
|
|
4
4
|
[Agent Plugins 1.0.0](https://agent-plugins.org/) package: Agent
|
|
5
5
|
Skills–compatible instructions plus portable MCP wiring to the [Probo MCP
|
|
6
6
|
API](https://github.com/getprobo/probo/tree/main/pkg/server/api/mcp/v1) over
|
|
7
|
-
OAuth 2.0.
|
|
7
|
+
OAuth 2.0. `using-prb` is the CLI skill and does not use MCP.
|
|
8
8
|
|
|
9
9
|
**Supported agents:** any Agent Plugins client, plus Claude Code, Codex,
|
|
10
10
|
OpenCode, and Cursor through their own plugin or MCP configuration.
|
|
@@ -70,16 +70,28 @@ claude plugin install probo@probo
|
|
|
70
70
|
claude --plugin-dir ./packages/skills
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
+
### prb CLI
|
|
74
|
+
|
|
75
|
+
`using-prb` lives in `skills/` next to the MCP workflows. It covers sign-in,
|
|
76
|
+
organization choice, and record changes. Install it from the repository
|
|
77
|
+
pinned to the `@probo/skills` tag that matches the installed `prb` (see
|
|
78
|
+
`CHANGELOG.md` for the version). The binary does not embed a copy.
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
gh skill install getprobo/probo using-prb --pin @probo/skills/vX.Y.Z
|
|
82
|
+
npx skills add "getprobo/probo#@probo/skills/vX.Y.Z" --skill using-prb
|
|
83
|
+
```
|
|
84
|
+
|
|
73
85
|
## What's included
|
|
74
86
|
|
|
75
87
|
| Component | Location | Purpose |
|
|
76
88
|
| --- | --- | --- |
|
|
77
89
|
| Manifest | `plugin.json` | Agent Plugins 1.0.0 plugin identity |
|
|
78
90
|
| MCP | `mcp.json` | Portable hosted Probo servers |
|
|
79
|
-
| Skills | `skills/` |
|
|
91
|
+
| Skills | `skills/` | MCP compliance workflows, plus `using-prb` for the CLI |
|
|
80
92
|
| Commands | `commands/` | `access-review`, `missing-signatures` — semi-auto workflows (Claude Code) |
|
|
81
93
|
|
|
82
|
-
|
|
94
|
+
MCP skills: `/probo:<skill-name>` (e.g. `/probo:open-source-compliance`, `/probo:missing-signatures`).
|
|
83
95
|
|
|
84
96
|
Commands: `/probo:<command-name>` (e.g. `/probo:access-review`, `/probo:missing-signatures`).
|
|
85
97
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@probo/skills",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Multi-agent
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Multi-agent skills for open-source GRC and the prb CLI (Claude Code, Codex, OpenCode, Cursor)",
|
|
5
5
|
"private": false,
|
|
6
6
|
"scripts": {
|
|
7
7
|
"validate": "node scripts/validate.mjs",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
],
|
|
39
39
|
"license": "MIT",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"js-yaml": "^5.
|
|
41
|
+
"js-yaml": "^5.5.0"
|
|
42
42
|
},
|
|
43
43
|
"repository": {
|
|
44
44
|
"type": "git",
|
package/plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "probo",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"description": "Open-source compliance workflows
|
|
4
|
+
"version": "0.5.0",
|
|
5
|
+
"description": "Open-source compliance workflows for the Probo MCP API, plus the using-prb CLI skill",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Probo Inc",
|
|
8
8
|
"email": "hello@probo.com",
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-prb
|
|
3
|
+
description: Call the prb CLI without inventing flags. Use when an agent runs prb, signs in, chooses an organization, or creates, lists, views, updates, or deletes Probo records such as frameworks, controls, risks, documents, tasks, assets, data, vendors, audits, findings, obligations, processing activities, rights requests, business functions, AI systems, or webhooks.
|
|
4
|
+
compatibility: Requires the prb binary on PATH. Setting PROBO_HOST and PROBO_TOKEN lets every command skip login entirely. Otherwise `prb auth login` runs the device flow; it opens a browser when the session is interactive, and prints a URL and code to approve manually when it is not.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Use prb
|
|
8
|
+
|
|
9
|
+
`prb` is the Probo CLI. Prefer it over hand-written GraphQL. Command help is
|
|
10
|
+
the source of truth for flags. This skill is the source of truth for how to
|
|
11
|
+
call the CLI.
|
|
12
|
+
|
|
13
|
+
Before the first call to a command in this session, read its help:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
prb <command> --help
|
|
17
|
+
prb <command> <verb> --help
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Pass only flags that appear there. Copy enum values from the help text.
|
|
21
|
+
Read `references/commands.md` in this skill for the command groups. Required
|
|
22
|
+
create flags are listed in `references/create.md`. Flag help wins when it
|
|
23
|
+
disagrees with a reference.
|
|
24
|
+
|
|
25
|
+
## Call shape
|
|
26
|
+
|
|
27
|
+
1. Export `PROBO_NO_INTERACTIVE=1` so prb does not prompt. In that mode every
|
|
28
|
+
required flag must be present.
|
|
29
|
+
2. Results go to stdout. Errors go to stderr and the process exits non-zero.
|
|
30
|
+
Do not treat stderr warnings as failure when the exit code is 0.
|
|
31
|
+
3. Request JSON with `--json`. `--output json` and `-o json` are the same
|
|
32
|
+
choice. Combining `--json` with any other `--output` value fails.
|
|
33
|
+
`--json` is registered on list and view commands; a few create and
|
|
34
|
+
update commands have it too. Check `--help` to confirm it exists before
|
|
35
|
+
relying on it elsewhere.
|
|
36
|
+
4. `list` is also `ls`.
|
|
37
|
+
5. Command and flag names are kebab-case. The vendor command is
|
|
38
|
+
`prb third-party`. `tp` is its short alias.
|
|
39
|
+
6. View, update, and delete take the resource id printed by create. That id
|
|
40
|
+
is the first token that parses as a Probo id.
|
|
41
|
+
7. Update with only the id fails with `at least one field must be specified`.
|
|
42
|
+
Pass the fields that change.
|
|
43
|
+
8. Delete in non-interactive mode requires `--yes`. Without it, prb exits
|
|
44
|
+
non-zero and deletes nothing.
|
|
45
|
+
9. `--limit` / `-L` is the maximum number of rows to return; a list with
|
|
46
|
+
fewer matches returns fewer rows. It must be greater than 0.
|
|
47
|
+
stderr prints `Showing N of M` when more rows exist, and
|
|
48
|
+
`Next cursor: <cursor>` when another page exists. Repeat the same
|
|
49
|
+
command and filters with `--after <cursor>`. Do not treat one page as
|
|
50
|
+
the full set. On commands that expose it, `--order-direction` accepts
|
|
51
|
+
`ASC` or `DESC`.
|
|
52
|
+
|
|
53
|
+
## Sign in
|
|
54
|
+
|
|
55
|
+
Settle the host and the organization before any other `prb` command.
|
|
56
|
+
|
|
57
|
+
1. Run `prb auth status`.
|
|
58
|
+
2. An active host prints `(active)` and `Token: set` or `Token: not set`.
|
|
59
|
+
The command never prints the token. Do not ask the user to paste a token
|
|
60
|
+
into the chat when status already says `Token: set`.
|
|
61
|
+
3. `PROBO_HOST` selects the host for this process. `PROBO_TOKEN` supplies the
|
|
62
|
+
bearer token. A token without a host is an error.
|
|
63
|
+
4. Hosts without a scheme are HTTPS. A local server needs an explicit
|
|
64
|
+
`http://` URL, for example `http://localhost:8080`.
|
|
65
|
+
5. When status shows no active host, or an active host with `Token: not
|
|
66
|
+
set`, run `prb auth login`. Pass `--hostname` when the user names a
|
|
67
|
+
region or a self-hosted instance (`eu.probo.com`, `us.probo.com`, or the
|
|
68
|
+
instance host). Pass `--org` when the user already knows the default
|
|
69
|
+
organization id.
|
|
70
|
+
|
|
71
|
+
Then choose the organization:
|
|
72
|
+
|
|
73
|
+
1. Run `prb org list --json`.
|
|
74
|
+
2. Use the organization the user named, or the only organization in the list.
|
|
75
|
+
3. When several organizations match, print the id and name of each and ask
|
|
76
|
+
which one to use.
|
|
77
|
+
4. Pass that id as `--org` on later commands. `--organization` is the same
|
|
78
|
+
flag. Pass it once to `prb auth login --org` so it becomes the saved
|
|
79
|
+
default.
|
|
80
|
+
5. A missing organization fails with `organization is required; pass --org or
|
|
81
|
+
--organization, or set a default with 'prb auth login'`.
|
|
82
|
+
|
|
83
|
+
## Organization
|
|
84
|
+
|
|
85
|
+
Commands that select an organization take `--org`. `--organization` sets the
|
|
86
|
+
same value. Lists of a child record take the parent id instead: `control`
|
|
87
|
+
takes `--framework`, `evidence` takes `--internal-control`, consent records
|
|
88
|
+
and cookie categories take the banner, and access-review entries take the
|
|
89
|
+
campaign.
|
|
90
|
+
|
|
91
|
+
`connector connect --organization` is a boolean. The Probo organization id
|
|
92
|
+
on that command is `--org`.
|
|
93
|
+
|
|
94
|
+
## Change a record
|
|
95
|
+
|
|
96
|
+
1. Pass the organization as `--org` or `--organization`. Controls are the
|
|
97
|
+
exception: pass `--framework` and omit both.
|
|
98
|
+
2. Create with every required flag from `references/create.md`. The new id
|
|
99
|
+
is on stdout.
|
|
100
|
+
3. `prb <command> view <id> --json` and confirm the field you wrote.
|
|
101
|
+
4. Update with `prb <command> update <id>` plus at least one changed flag.
|
|
102
|
+
5. Delete with `prb <command> delete <id> --yes` only after the user asked to
|
|
103
|
+
delete that record.
|
|
104
|
+
|
|
105
|
+
Ids used as inputs:
|
|
106
|
+
|
|
107
|
+
- `--owner` is a profile id from `prb user list --org <org> --json`.
|
|
108
|
+
- `--framework` on audits and controls is a framework id from
|
|
109
|
+
`prb framework create` or `prb framework list --json`.
|
|
110
|
+
- `--third-party-ids` takes vendor ids. The kebab-case flag is the one to
|
|
111
|
+
pass.
|
|
112
|
+
|
|
113
|
+
Document title, type, and classification are fields of the document.
|
|
114
|
+
`prb document view <id> --json` includes `title`.
|
|
115
|
+
|
|
116
|
+
`prb webhook list` requires `--org`. Create takes `--url` and one or more
|
|
117
|
+
`--event` flags. `--help` only shows example event names, not the full set.
|
|
118
|
+
An invalid `--event` value returns an error listing every valid name; use
|
|
119
|
+
that to confirm a name before retrying.
|
|
120
|
+
|
|
121
|
+
## After writing
|
|
122
|
+
|
|
123
|
+
Confirm the change with `prb <command> view <id> --json` or
|
|
124
|
+
`prb <command> list --org <id> --json`. A deleted id is absent from the list.
|
|
125
|
+
Controls are the exception from "Change a record": verify with
|
|
126
|
+
`prb control list --framework <framework-id> --json`, not `--org`.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# prb command groups
|
|
2
|
+
|
|
3
|
+
Run `prb <command> --help` before using a group. This list is the group name
|
|
4
|
+
only.
|
|
5
|
+
|
|
6
|
+
| Group | What it manages |
|
|
7
|
+
| --- | --- |
|
|
8
|
+
| `auth` | Login, logout, and status |
|
|
9
|
+
| `org` | Organizations the caller can access |
|
|
10
|
+
| `user` | People in an organization |
|
|
11
|
+
| `config` | prb's local configuration file |
|
|
12
|
+
| `context` | The organization context saved by `prb auth login` |
|
|
13
|
+
| `framework` | Frameworks |
|
|
14
|
+
| `control` | Controls inside a framework |
|
|
15
|
+
| `internal-control` | Internal controls |
|
|
16
|
+
| `soa` | Statement of applicability |
|
|
17
|
+
| `risk` | Risks |
|
|
18
|
+
| `risk-analysis` | Risk analysis diagrams |
|
|
19
|
+
| `treatment-plan` | Treatment plans |
|
|
20
|
+
| `task` | Tasks |
|
|
21
|
+
| `document` | Documents |
|
|
22
|
+
| `evidence` | Evidence |
|
|
23
|
+
| `audit` | Audits |
|
|
24
|
+
| `finding` | Findings |
|
|
25
|
+
| `asset` | Assets |
|
|
26
|
+
| `datum` | Data |
|
|
27
|
+
| `third-party` | Vendors |
|
|
28
|
+
| `processing-activity` | Processing activities |
|
|
29
|
+
| `obligation` | Obligations |
|
|
30
|
+
| `rights-request` | Data-subject requests |
|
|
31
|
+
| `dpia` | Data protection impact assessments |
|
|
32
|
+
| `tia` | Transfer impact assessments |
|
|
33
|
+
| `business-function` | Business functions |
|
|
34
|
+
| `ai-system` | AI systems |
|
|
35
|
+
| `cookie-banner` | Cookie consent banners |
|
|
36
|
+
| `cookie-category` | Cookie categories on a banner |
|
|
37
|
+
| `consent-record` | Cookie consent records |
|
|
38
|
+
| `tracker-pattern` | Tracker detection patterns |
|
|
39
|
+
| `tracker-resource` | Detected tracker scripts and resources |
|
|
40
|
+
| `resource-alias` | Aliases on compliance portal entries |
|
|
41
|
+
| `webhook` | Webhook subscriptions |
|
|
42
|
+
| `audit-log` | Audit log |
|
|
43
|
+
| `connector` | External connectors |
|
|
44
|
+
| `scim` | SCIM |
|
|
45
|
+
| `device` | Devices |
|
|
46
|
+
| `compliance-portal` | Compliance portal |
|
|
47
|
+
| `employee-portal` | Employee portal |
|
|
48
|
+
| `access-review` | Access reviews |
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Required create flags
|
|
2
|
+
|
|
3
|
+
An organization is required on every command in this table except
|
|
4
|
+
`control`. Pass `--org` or `--organization` (the same flag), or rely on the
|
|
5
|
+
default saved by `prb auth login --org`.
|
|
6
|
+
`prb <command> create --help` is authoritative when a row is stale.
|
|
7
|
+
|
|
8
|
+
| Command | Required flags besides `--org` |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| `framework create` | `--name` |
|
|
11
|
+
| `control create` | `--framework`, `--section-title`, `--name`, `--description` |
|
|
12
|
+
| `task create` | `--name`, `--priority` |
|
|
13
|
+
| `document create` | `--title`, `--document-type`, `--classification` |
|
|
14
|
+
| `asset create` | `--name`, `--asset-type`, `--amount`, `--owner`, `--data-types-stored` |
|
|
15
|
+
| `datum create` | `--name`, `--data-classification`, `--owner` |
|
|
16
|
+
| `risk create` | `--name`, `--category` |
|
|
17
|
+
| `processing-activity create` | `--name`, `--role`, `--lawful-basis`, `--special-or-criminal-data`, `--data-protection-impact-assessment`, `--transfer-impact-assessment` |
|
|
18
|
+
| `obligation create` | `--area`, `--source`, `--status`, `--type`, `--owner` |
|
|
19
|
+
| `rights-request create` | `--data-subject`, `--type`, `--state` |
|
|
20
|
+
| `internal-control create` | `--name`, `--category` |
|
|
21
|
+
| `business-function create` | `--name`, `--classification`, `--mtd-minutes`, `--rto-minutes`, `--rpo-minutes` |
|
|
22
|
+
| `ai-system create` | `--name`, `--status`, `--risk-classification` |
|
|
23
|
+
| `audit create` | `--name`, `--framework` (repeat `--framework` for another framework) |
|
|
24
|
+
| `finding create` | `--kind`, `--status`, `--priority` |
|
|
25
|
+
| `third-party create` | `--name`, `--category` |
|
|
26
|
+
| `webhook create` | `--url`, `--event` (repeat `--event` for another event) |
|
|
27
|
+
|
|
28
|
+
`control list` takes `--framework` and does not take `--org`. Other lists take
|
|
29
|
+
`--org`.
|
|
30
|
+
|
|
31
|
+
`--amount` is an integer of at least 1. Business-function minute flags are
|
|
32
|
+
integers. `--international-transfers` defaults to false and can be omitted.
|