You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 98cb3af
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+15-5Lines changed: 15 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ If a skill produces unexpected output, fails to trigger, or behaves incorrectly:
22
22
- The skill name (e.g., `orca-alert-triage`)
23
23
- The exact prompt or input you used
24
24
- What you expected vs. what you got
25
-
- Your Claude Code version (`claude --version`) and OS
25
+
- Your client and version (`claude --version` or `codex --version`) and OS
26
26
- Any error output or unexpected MCP behavior
27
27
28
28
> For security vulnerabilities, **do not open a public issue**. See [SECURITY.md](SECURITY.md).
@@ -43,13 +43,22 @@ This avoids wasted effort and keeps the repo focused.
43
43
44
44
## Development Setup
45
45
46
+
Skills are plain Markdown files under `skills/<skill-name>/SKILL.md`. There is no build step or runtime dependency to author them. Node.js 20+ is required to run the repository packaging checks.
# Validate plugin packaging and run regression tests
54
+
npm test
50
55
```
51
56
52
-
Skills are plain Markdown files under `skills/<skill-name>/SKILL.md` — no build step or runtime is required to author or modify them. Install them via the Claude Code plugin marketplace (see [README](README.md)) to try them locally.
57
+
Claude, Cursor, and Codex all use this single root `skills/` tree. Edit it once; do not create copies under `plugins/orca-skills/`. `npm test` checks the plugin manifests, marketplace sources, and skill metadata. With Codex CLI installed, `npm run test:codex` also verifies installation and discovery in a temporary home. See [README](README.md#testing).
58
+
59
+
Keep shared skill instructions usable in both Claude and Codex. Label client-specific setup commands and usage examples clearly.
60
+
61
+
The independent `security-engineer` plugin has its own [development setup and test suite](plugins/security-engineer/README.md#developing).
53
62
54
63
**Note:**`.mcp.json` is gitignored. Never commit API tokens or credentials.
55
64
@@ -64,7 +73,7 @@ Skills are plain Markdown files under `skills/<skill-name>/SKILL.md` — no buil
64
73
git checkout -b docs/update-readme
65
74
```
66
75
67
-
2.**Make your changes.** Edit or add `SKILL.md` files under `skills/<skill-name>/`.
76
+
2.**Make your changes.** Edit or add `SKILL.md` files under `skills/<skill-name>/`. Run `npm test` before pushing; the packaging workflow runs it on every pull request.
68
77
69
78
3.**Keep PRs focused.** One bug fix or one new skill per PR. Do not bundle unrelated changes.
70
79
@@ -77,9 +86,10 @@ Skills are plain Markdown files under `skills/<skill-name>/SKILL.md` — no buil
77
86
5.**PR description** must include:
78
87
- What changed and why
79
88
- A link to the related issue (if applicable)
80
-
- For new skills: a brief validation note (did you test with a real Orca environment?)
89
+
- Confirmation that `npm test` passes locally
90
+
- For new skills: a brief Claude and/or Codex validation note, including whether you tested with a real Orca environment
81
91
82
-
6.**One approving review** from a maintainer is required to merge.
92
+
6.**CI must pass**, and one approving review from a maintainer is required to merge.
Copy file name to clipboardExpand all lines: README.md
+83-2Lines changed: 83 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,15 @@
14
14
15
15
---
16
16
17
+
Orca Skills supports both **Claude Code and Codex**. Both clients use the same
18
+
`skills/` directory, with separate plugin manifests and installation instructions.
19
+
17
20
### Table of Contents
18
21
-[Plugins](#plugins)
19
22
-[Skills Overview](#skills-overview)
20
23
-[Installation](#installation)
21
24
-[MCP Configuration](#mcp-configuration)
25
+
-[Usage Notes](#usage-notes)
22
26
-[Skill Details](#skill-details)
23
27
-[Testing](#testing)
24
28
-[Contributing](#contributing)
@@ -34,7 +38,7 @@ people want the first one.
34
38
35
39
| Plugin | What it is | Prerequisites |
36
40
|---|---|---|
37
-
|[`orca-skills`](#skills-overview)|16 read-only skills that answer questions about your cloud environment through the Orca MCP server | The Orca MCP server. Nothing else |
41
+
|[`orca-skills`](#skills-overview)|20 skills for cloud security analysis and guided remediation through the Orca MCP server | The Orca MCP server. Nothing else |
38
42
|[`security-engineer`](plugins/security-engineer/)| An autonomous agent that **remediates** Orca findings in your source code and opens a pull request per fix | Python 3.10+, authenticated [`gh`](https://cli.github.com/), `ORCA_API_TOKEN` in the environment, network access to OSV.dev and deps.dev |
39
43
40
44
They answer different questions and are kept apart on purpose: `orca-skills`
@@ -97,14 +101,23 @@ second plugin or any of its prerequisites.
97
101
Then install whichever plugins you want:
98
102
99
103
```bash
100
-
claude plugin install orca-skills@orcasecurity # the 16 MCP skills
104
+
claude plugin install orca-skills@orcasecurity # the MCP skills
101
105
claude plugin install security-engineer@orcasecurity # autonomous remediation
102
106
```
103
107
104
108
**Next step:** Configure the Orca Security MCP server (see [MCP Configuration](#mcp-configuration) below).
105
109
`security-engineer` does not use MCP — its setup is in
106
110
[its own README](plugins/security-engineer/README.md).
This installs `orca-skills` from the root `skills/` directory. Configure the Orca Security MCP server using the [Codex instructions](#codex-mcp-configuration) below. The separate `security-engineer` plugin uses Claude Code; see [its README](plugins/security-engineer/README.md).
120
+
108
121
### Claude Desktop
109
122
110
123
Add the marketplace to your Claude Desktop configuration, then install skills from the marketplace UI.
@@ -118,12 +131,18 @@ cd orca-skills
118
131
119
132
# Copy skills to your skills directory
120
133
cp -r skills/*~/.claude/skills/
134
+
135
+
# Or install into Codex's user skills directory
136
+
mkdir -p ~/.agents/skills
137
+
cp -r skills/*~/.agents/skills/
121
138
```
122
139
123
140
## MCP Configuration
124
141
125
142
**Required:** These skills need the Orca Security MCP server to access your environment data.
126
143
144
+
### Claude Code / Claude Desktop
145
+
127
146
Add to your `.mcp.json` (in project root or `~/.claude/.mcp.json`):
128
147
129
148
**Uses OAuth2 for authentication**
@@ -164,6 +183,42 @@ Add to your `.mcp.json` (in project root or `~/.claude/.mcp.json`):
164
183
> `.mcp.json`. Configuring one does not configure the other.
With Node.js 20+ installed, run the packaging validation and regression tests:
1501
+
1502
+
```bash
1503
+
npm test
1504
+
```
1505
+
1506
+
These dependency-free checks validate the Claude, Cursor, and Codex manifests, the marketplace sources, and each root skill's metadata. The packaging workflow runs them on every pull request.
1507
+
1508
+
### Codex Smoke Test
1509
+
1510
+
With Codex CLI installed, verify the complete local marketplace install:
1511
+
1512
+
```bash
1513
+
npm run test:codex
1514
+
```
1515
+
1516
+
The script uses a temporary Codex home, runs outside the repository, installs the root plugin, compares every installed skill and reference file with `skills/`, and verifies that Codex discovers the skills from the installed cache. It removes its temporary files on completion. This tests packaging and discovery without an Orca account or model call; it does not exercise the Orca MCP workflows.
1517
+
1518
+
### Claude Smoke Test
1519
+
1520
+
After installing the marketplace in Claude Code, run `claude mcp list` to check the Orca MCP connection, then try `/orca-alert-triage` with an alert from your environment.
1521
+
1522
+
The separate `security-engineer` tests and development setup are documented in [its README](plugins/security-engineer/README.md#developing).
1523
+
1443
1524
## Contributing
1444
1525
1445
1526
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
0 commit comments