Repository navigation
feat(agentic-engineering): bundle workspace skills, Codex app connectors and platform service servers - #656
Conversation
…ing, finance and productivity skills Add 43 skills from Anthropic's Engineering, Design, Product Management, Marketing, Finance and Productivity plugins, and OpenAI's standalone `check-skills` from Codex Security, all installed unmodified. Their connectors are not bundled. CodeRabbit's `code-review` and Product Management's `competitive-brief` keep their names over the clashing Anthropic Engineering and Marketing skills. Add two maintained skills: `workspace-conventions` sends the productivity skills' CLAUDE.md, memory/, TASKS.md and dashboard state to AGENTS.md, native memory and the issue tracker; `connector-setup` names the official mail, calendar, LinkedIn and Codex Security connectors and how to request them in Claude and Codex, and forbids working around a missing one. Most of the new skills use the `argument-hint` and `user-invocable` fields that Claude Code and VS Code read but the Agent Skills spec does not define. The spec check now judges each skill through a copy without exactly those two fields, refusing any value it cannot strip cleanly, and still rejects every other unknown field. Record the scope in ADR 0018. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…form service servers Ship a Codex manifest beside the Claude one. Codex reads .codex-plugin/plugin.json first and loads only the components it names, so it repeats the portable manifest and adds the skills, MCP servers, an interface listing and an .app.json that offers iCloud Mail, iCloud Calendar, LinkedIn and Codex Security Cloud as optional apps. The connector ids were read from the installed official plugins. A branch install into a throwaway CODEX_HOME loaded the plugin's skills and every bundled MCP server through it. validate-manifests.sh now checks a Codex manifest's parity, component paths and app list, every app optional, and refuses an app list no manifest declares. bump-plugin-version.sh moves its version with the other manifests. Add read-only servers for more of the platform: the Kubescape CLI's own server behind the Flux KUBECONFIG wrapper, HashiCorp's Terraform server limited to its registry toolset, and Cloudflare's and AWS's hosted documentation servers. Correct connector-setup for LinkedIn's official Codex plugin. Record the design in ADR 0019. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai full review |
Action failed
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
devantler
left a comment
There was a problem hiding this comment.
🤖 Generated by the Agentic Engineer
Self-review (fallback — CodeRabbit, Codex and Cursor Bugbot unavailable)
Reviewed commit: 5fa109f5bc75df6c510c8dcb0036ff518c883124
- CodeRabbit: full review failed at 2026-11-04T21:32:22Z (reply) and delivered no review or threads; its walkthrough notes that details were cut to fit the comment limit.
- Codex: usage limit reached at 2026-11-04T21:33:52Z on this PR (reply), with its review marked failed; only the maintainer can lift it.
- Cursor Bugbot: usage limit reached at 2026-11-04T08:07:41Z (devantler-tech/ksail#8195), account-wide; only the maintainer can lift it.
An independent reviewer with no part in writing this PR reviewed the whole diff at this head. It ran the validators and the CI-pinned skills-ref, reproduced the updater failure in a scratch clone, and loaded the plugin in Claude Code and in a throwaway CODEX_HOME.
Nits, to fix with the findings:
- ADR 0018 counts 89 skills, but this plugin has 87.
- 29 bundled skills link to a
CONNECTORS.mdthe plugin lacks. connector-setupmentions an app-specific password while forbidding asking for passwords; it should say the password goes only into Codex's own sign-in.
Verdict: 4 findings (P0: 0, P1: 4)
… sync publishing The spec view could hand the validator frontmatter the skill does not have: a blank or comment line ended a drop early, `key:value` without a space was taken for a key, and quoted, flow, anchored or tagged values were not refused. Tighten it, and have CI read each skill and its view with `skills-ref read-properties` and fail unless they match. Run the view's self-test in CI and register it in the sharding guard. The bump now moves the Codex manifest, which the skill sync's metadata publisher refused as outside the plugin's metadata. Allow it there, in its test and in the workflow's staging list. Say that Kubescape fetches its policy bundle from GitHub at start, add a CONNECTORS.md for the placeholders the knowledge-work skills link to, correct the ADR's skill count, and keep connector passwords out of the conversation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
devantler
left a comment
There was a problem hiding this comment.
🤖 Generated by the Agentic Engineer
Self-review (fallback — CodeRabbit, Codex and Cursor Bugbot unavailable)
Reviewed commit: 8edab87061615740d08b524201ead6ece2d0d34d
- CodeRabbit: full review failed at 2026-11-04T21:32:22Z (reply) and delivered no review or threads.
- Codex: usage limit reached at 2026-11-04T21:33:52Z on this PR (reply); only the maintainer can lift it.
- Cursor Bugbot: usage limit reached at 2026-11-04T08:07:41Z (devantler-tech/ksail#8195), account-wide; only the maintainer can lift it.
Second round, by the same independent reviewer, at the fix commit. All four round-1 findings are confirmed fixed:
- Spec view: 23 adversarial fixtures went through the view and the CI checks, and none got past with frontmatter the skill lacks. The
read-propertiescomparison is fail-closed underset -euo pipefail. - Skill sync: a scratch-clone rerun shows the sync publishing the Codex manifest.
- CI: the view's self-test runs in CI and is registered in the sharding guard.
- Docs: the Kubescape wording,
CONNECTORS.md, the ADR count and the password sentence are correct.
Nits, fixed in the next commit:
- the workflow guard should also pin the view's own
read-propertiesline; - the view should refuse a comment-only value;
CONNECTORS.mdshould map~~CI/CD,~~CRMand~~SEO tools.
Verdict: no P0/P1 findings
GitHub's server offers delete_repository to Claude Code's connection but not to a plain MCP client, so the probes that chose the exclusions never saw it, and 7.0.0 exposes it to every Claude Code session. Exclude it, and say in the README that the list names it for that reason. Also pin the view's own read-properties line in the workflow guard, with a negative control comparing the original with itself; refuse a comment-only value in the spec view; and map ~~CI/CD, ~~CRM and ~~SEO tools in CONNECTORS.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…repository The previous commit said GitHub offers delete_repository to every Claude Code connection and never to a plain MCP client. What was observed is narrower: one Claude Code session received it, and direct probes of the same toolsets, including with Claude Code's User-Agent, did not. Say that, and keep the exclusion either way. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
devantler
left a comment
There was a problem hiding this comment.
🤖 Generated by the Agentic Engineer
Self-review (fallback — CodeRabbit, Codex and Cursor Bugbot unavailable)
Reviewed commit: ddd123a9d50211dd94953116681309e0cfa3c044
- CodeRabbit: full review failed at 2026-11-04T21:32:22Z (reply) and delivered no review or threads.
- Codex: usage limit reached at 2026-11-04T21:33:52Z on this PR (reply); only the maintainer can lift it.
- Cursor Bugbot: usage limit reached at 2026-11-04T08:07:41Z (devantler-tech/ksail#8195), account-wide; only the maintainer can lift it.
Third round, by the same independent reviewer, at the head. The round-2 nits are confirmed fixed, and the validators and self-tests pass. The reviewer also explained how a Claude Code session received delete_repository:
- GitHub offers it only to a client that speaks MCP protocol 2026-07-28 and declares elicitation, as Claude Code 2.1.317 does.
- On that path the new exclusion removed it in five of five repeats.
- No other destructive tool is gated that way.
Nits, for a follow-up PR:
- state that mechanism in the README and changelog;
- add a test that pins
github's exclusion list, so a later edit cannot drop a tool unnoticed.
Verdict: no P0/P1 findings
|
Readiness at
🤖 Generated with Claude Code |
Why
The maintainer wants
agentic-engineeringto stay one plugin covering everything the agents need, not only engineering. That includes Anthropic's Engineering, Design, Product Management, Marketing, Finance and Productivity skills, iCloud Mail and Calendar, LinkedIn, Codex Security, and resources for the services the platform runs. A separate productivity plugin is the planned step if one plugin proves troublesome (ADR 0018).What
check-skills.code-reviewand Product Management'scompetitive-briefkeep theirs.argument-hintanduser-invocable, which Claude Code and VS Code read and many of these skills use. Every other unknown field still fails. A new script,skill-spec-view.sh, makes the copy the validator judges, and refuses anything it cannot strip cleanly.workspace-conventions(maintained here). It steers the Productivity skills to the standard places: shared terms toAGENTS.md, personal context to the agent's native memory, tasks to the issue tracker. NeverCLAUDE.md, amemory/folder orTASKS.mdinside a repository.connector-setup(maintained here). It names the official connector for mail, calendar, LinkedIn and Codex Security cloud scans, says how to request it in Claude and in Codex, and forbids improvising.icloud-mailandicloud-calendarplugins and LinkedIn's own plugin..codex-plugin/plugin.jsonplus an.app.jsonoffer iCloud Mail, iCloud Calendar, LinkedIn and Codex Security Cloud as optional apps, so Codex lists them with the plugin (ADR 0019).validate-manifests.shenforces the manifest's parity with the portable one, its component paths, and that every app is optional.bump-plugin-version.shmoves its version.kubescape mcpserver, behind the FluxKUBECONFIGwrapper. I checked in its source that its only cluster writes are dry runs.registrytoolset.Validation
validate-manifests.sh,check-skill-licenses.sh(89 skills),guard-bundled-skill-edits.sh, the version-bump check and the desired-state digest check pass.skills-refvalidates all 89 skills through the spec view.skill-spec-view.test.sh: 14 cases.ci-skill-validation-workflow.test.sh: a negative control that swaps the view script.validate-manifests.test.sh: 15 Codex-manifest cases.bump-plugin-version.test.sh: 4 Codex cases.CODEX_HOME.codex mcp listshowed every bundled server, andcodex debug prompt-inputlisted the plugin's skills, including the new ones.recheck-open-prs-observations.test.sh, which is macOS-only, also fails onmain, and passes on Linux CI.🤖 Generated with Claude Code