Skip to content

feat(orca-skills): vendor Orca's orca-cli, computer-use, orchestration - #44

Merged
UnbreakableMJ merged 1 commit into
mainfrom
feat/vendor-orca-skills
Aug 18, 2026
Merged

feat(orca-skills): vendor Orca's orca-cli, computer-use, orchestration#44
UnbreakableMJ merged 1 commit into
mainfrom
feat/vendor-orca-skills

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Why

npx skills add --global cannot install on a Steelbore OS machine. Every global target it writes to — the canonical ~/.agents/skills and all nine per-agent fan-out directories — is a symlink into the read-only Nix store, so each write fails with EROFS.

The CLI prints those failures but still exits 0 with a green Done!, which is why the install looked successful while Orca's own check saw nothing. The empty "skills": {} left in ~/.agents/.skill-lock.json is the machine-readable proof it landed nothing. Orca's blessed orca skills install resolves to the same command with --agent universal, so it fails identically.

Vendoring is the only route that survives: the skill tree is rebuilt from this flake on every skills-sync, so anything written imperatively is replaced on the next pointer move even where a write happens to land.

What

  • orca-skills/ — three SKILL.md files vendored verbatim from stablyai/orca at fe95698 (MIT, © Lovecast Inc.), plus LICENSE.txt, CREDITS.md (§15.3) and a README.md.
  • REUSE.tomlorca-skills/**MIT, same non-relicensing posture as the android-skills entry (§4.2).
  • flake.nix — merged into the base tree unconditionally, unlike the opt-in Android set: the orca CLI resolves its skills by exact leaf name, so they must be present wherever an agent reads skills from rather than behind a toggle.

Leaf names

computer-use and orchestration are vendored under their generic upstream names rather than a vendor prefix, because renaming them would vendor the content while breaking the tool that consumes it. CREDITS.md records that both names are now reserved against future Spacecraft skills.

Refactor

Replaces the hand-rolled copy loop in the Android branch with mkMerged, which takes any number of { source; names; } pairs — so a third vendored tree no longer means a third special case in mkSkills.

Verification

  • nix build .#skills → 47 skills, all three Orca leaves present, no stray LICENSE/CREDITS/README at top level
  • .#skills-with-android (66) and .#skills-grok still build
  • reuse lint → compliant, licenses now Apache-2.0, GFDL-1.3-or-later, GPL-3.0-or-later, MIT
  • §5.6 description cap → all three pass (785 / 534 / 816 rendered chars)
  • check-skill-refs.py reports one problem, pre-existing on main (an archived chat transcript pinning a document version); catalogue 46 → 49

🤖 Generated with Claude Code

`npx skills add --global` cannot install on a Steelbore OS machine. Every
global target it writes to — the canonical `~/.agents/skills` and all nine
per-agent fan-out directories — is a symlink into the read-only Nix store, so
each write fails with EROFS. The CLI prints those failures but still exits 0
with a green "Done!", which is why the install looked successful and Orca's
own check still saw nothing. The empty `"skills": {}` left in
`~/.agents/.skill-lock.json` is the machine-readable proof it landed nothing.

Vendoring is the only route that survives: the skill tree is rebuilt from this
flake on every `skills-sync`, so anything written imperatively is replaced on
the next pointer move even where a write happens to land.

Merged into the base tree unconditionally, unlike the opt-in Android set. The
`orca` CLI resolves its skills by exact leaf name, so `computer-use` and
`orchestration` are vendored under their generic upstream names rather than a
vendor prefix — CREDITS.md records that those names are now reserved.

Replaces the hand-rolled copy loop in the Android branch with `mkMerged`, which
takes any number of { source; names; } pairs, so a third vendored tree no
longer means a third special case in `mkSkills`.

Vendored verbatim from stablyai/orca at fe95698, MIT, © Lovecast Inc.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@UnbreakableMJ
UnbreakableMJ merged commit a9ee8a8 into main Aug 18, 2026
3 checks passed
@UnbreakableMJ
UnbreakableMJ deleted the feat/vendor-orca-skills branch August 18, 2026 21:07

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fca62321a4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread flake.nix
Comment on lines +78 to +79
mkdir -p $out/${n}
cp -r ${source}/${n}/. $out/${n}/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Include Orca's MIT notice in packaged skill outputs

When consumers build .#skills, .#skills-with-android, or an individual .#orca-* package, this loop copies only each leaf directory, while the copyright and MIT license notice lives at orca-skills/LICENSE.txt one level above. The resulting Nix distributions therefore contain the Orca SKILL.md content without the notice that the MIT license requires in copies or substantial portions; copy the notice into the packaged tree or otherwise ensure every Orca package carries it.

Useful? React with 👍 / 👎.

Comment thread REUSE.toml
Comment on lines +66 to +69
path = "orca-skills/**"
precedence = "override"
SPDX-FileCopyrightText = "Lovecast Inc."
SPDX-License-Identifier = "MIT"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scope the Orca copyright override to upstream files

The wildcard also covers the newly authored orca-skills/README.md and orca-skills/CREDITS.md, so REUSE inventories and generated SBOMs incorrectly report Lovecast Inc. as the sole copyright holder of those local documents. Restrict this override to the verbatim upstream files (the three SKILL.md files and license), and give the local catalogue/provenance documents their actual copyright metadata.

AGENTS.md reference: AGENTS.md:L437-L439

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant