Skip to content

Add OpenAI provider integration - #11

Merged
0xLeif merged 7 commits into
mainfrom
leif/skills-grok-host
Aug 1, 2026
Merged

0xLeif merged 7 commits into
mainfrom
leif/skills-grok-host

Conversation

@0xLeif

@0xLeif 0xLeif commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary\n\nAdds OpenAI as a managed provider host for CorvidLabs skills, mirroring the existing Codex/Claude/Cursor/Grok conventions.\n\n## Changes\n\n- bin/corvid-skills: recognize openai as a host, resolve .openai/skills/, and include it in auto-detection and status checks.\n- README.md: document the OpenAI host in the compatibility table and host selection examples.\n- tests/installer.sh: add OpenAI install/status/uninstall coverage, auto-host inference, and a conditional fledge let find skills --host openai proof.\n- .github/workflows/ci.yml: include openai in the dogfood lifecycle host loop.\n\n## Cross-repo dependency\n\nThe Let skill-discovery proof requires .openai/skills support in the Let plugin. That change is proposed in CorvidLabs/let#6. When Let is patched, the installer test proves OpenAI placement is discoverable; with unpatched Let the test skips gracefully.\n\n## Verification\n\n- bash tests/installer.sh passes locally with patched Let.\n- fledge lanes validate . --strict and fledge lanes run verify pass.\n- shellcheck bin/corvid-skills bin/fledge-skills tests/installer.sh passes.\n- No private paths, secrets, or background jobs introduced.

0xLeif added 7 commits August 1, 2026 13:38
Teach the managed installer the repository-local Grok skill path so install,
status, update, and uninstall track .grok/skills the same way as Codex,
Claude, and Cursor.
Extend installer tests and CI dogfood so managed .grok/skills installs are
discovered by fledge let find skills for host grok, then disappear after uninstall.
The CorvidLabs/let plugin build hook requires Bun; install it so the Grok
placement proof can run fledge let find skills on ubuntu-latest.
- Recognize openai as a managed host with .openai/skills/<skill> destination

- Update installer usage, status, and auto-resolution for openai

- Document OpenAI host in README compatibility table

- Add installer tests covering openai install, status, uninstall, auto host, and Let skill discovery

- Include openai in CI dogfood host loop
@0xLeif
0xLeif merged commit fe35b4f into main Aug 1, 2026
2 checks passed

@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: 2117fbb771

鈩癸笍 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 bin/corvid-skills
printf -v row '%s\t%s\t%s\t%s\t%s\t%s' \
"$skill" "$host" "$destination_rel" "$revision" "$install_mode" "$expected_digest"
records+=("$row")
done < <(manifest_rows "$manifest")

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 Reject manifest parsing failures before lifecycle mutations

When a manifest contains a valid managed entry followed by a malformed entry (for example {}), manifest_rows emits the valid row and then exits nonzero, but the process substitution hides that failure from this loop. As a result, uninstall can remove the valid skill and its manifest entry and exit successfully despite printing a Python traceback; update and status use the same pattern and can likewise act on or report partial data. Capture the rows and verify manifest_rows completed successfully before processing any entry.

Useful? React with 馃憤聽/ 馃憥.

interface:
display_name: "Rune Session Control"
short_description: "Observe and control confirmed agent sessions"
default_prompt: "Use to safely observe or control this confirmed CLI-agent session."

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 Restore the missing skill tokens in OpenAI default prompts

When users launch these skills through the catalog-provided default prompt, the intended $<skill-name> reference is absent: Rune has no token at all, while seven other new descriptors contain truncated forms such as -coordination, -release-hygiene, and -sync. Unlike the existing OpenAI descriptors and the new Let descriptor, these prompts therefore do not explicitly invoke their installed skill; restore the complete $rune, $agent-coordination, $ci-release-hygiene, $corvid-swift-package, $fledge-workflows, $public-release-audit, $spec-sync-routing, and $spec-sync tokens.

Useful? React with 馃憤聽/ 馃憥.

Comment thread bin/corvid-skills
managed_link_is_owned "$repo" "$skill" "$destination_rel" ||
fail "refusing to update $skill on $host: managed link was changed or removed"
else
[[ "$state" == "current" ]] || fail "refusing to update $skill on $host: state is $state"

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 Detect metadata-only changes before overwriting copies

When a user changes a managed file's executable bit or adds an empty directory, symlink, or other non-regular entry, directory_digest remains unchanged because it hashes only regular-file contents and paths. This check consequently treats the copy as current, allowing the newly added update path to overwrite those local changes (and uninstall to remove them) despite the documented guarantee that local work is never overwritten or removed; include relevant modes and the complete directory-entry inventory in the managed digest or reject such differences separately.

Useful? React with 馃憤聽/ 馃憥.

Comment thread bin/corvid-skills
claude) printf '.claude/skills' ;;
cursor) printf '.cursor/skills' ;;
grok) printf '.grok/skills' ;;
openai) printf '.openai/skills' ;;

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 Install OpenAI skills into a discovered skill root

When --host openai is used with the current OpenAI Codex client, this destination is not scanned, so the installer reports success and status reports current while the skill is unavailable to the agent. I verified this with codex debug prompt-input in otherwise identical repositories: probes under .agents/skills and .codex/skills appeared in the model-visible skill list, while a probe under .openai/skills did not. Use a supported OpenAI skill root such as .agents/skills rather than introducing .openai/skills.

Useful? React with 馃憤聽/ 馃憥.

@0xLeif
0xLeif deleted the leif/skills-grok-host branch August 2, 2026 01:28
@0xLeif 0xLeif mentioned this pull request Aug 2, 2026
3 of 5 tasks
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