Skip to content

feat(agentic-engineering): bundle workspace skills, Codex app connectors and platform service servers - #656

Merged
devantler merged 5 commits into
mainfrom
claude/plugins-workspace-toolbox
Nov 4, 2026
Merged

devantler merged 5 commits into
mainfrom
claude/plugins-workspace-toolbox

Conversation

@devantler

Copy link
Copy Markdown
Contributor

Why

The maintainer wants agentic-engineering to 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

  • Workspace skills. 43 skills from Anthropic's knowledge-work plugins, unmodified, plus OpenAI's standalone check-skills.
    • Their SaaS connectors are not bundled.
    • Two names clashed, so CodeRabbit's code-review and Product Management's competitive-brief keep theirs.
  • Spec check. It now accepts exactly two non-spec fields, argument-hint and user-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 to AGENTS.md, personal context to the agent's native memory, tasks to the issue tracker. Never CLAUDE.md, a memory/ folder or TASKS.md inside 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.
    • Claude has no iCloud connector.
    • Codex has OpenAI's icloud-mail and icloud-calendar plugins and LinkedIn's own plugin.
  • Codex manifest. .codex-plugin/plugin.json plus an .app.json offer iCloud Mail, iCloud Calendar, LinkedIn and Codex Security Cloud as optional apps, so Codex lists them with the plugin (ADR 0019).
    • The connector ids come from the installed official plugins.
    • validate-manifests.sh enforces the manifest's parity with the portable one, its component paths, and that every app is optional.
    • bump-plugin-version.sh moves its version.
  • Platform servers. Four read-only additions:
    • Kubescape's own server, kubescape mcpserver, behind the Flux KUBECONFIG wrapper. I checked in its source that its only cluster writes are dry runs.
    • HashiCorp's Terraform server, limited to its registry toolset.
    • Cloudflare's and AWS's hosted documentation servers.
  • Not bundled:
    • FleetDM's skill, whose helper is Python; FleetDM is also disabled on the platform.
    • Coroot's endpoint, which waits for a service account its auth proxy lets through.

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.
  • The CI-pinned skills-ref validates all 89 skills through the spec view.
  • New self-tests:
    • 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: I installed this branch into a throwaway CODEX_HOME. codex mcp list showed every bundled server, and codex debug prompt-input listed the plugin's skills, including the new ones.
  • Live probes: the Cloudflare and AWS documentation servers answered without an account.
  • Full local suite: 88 of 89 pass. The exception is recheck-open-prs-observations.test.sh, which is macOS-only, also fails on main, and passes on Linux CI.

🤖 Generated with Claude Code

devantler and others added 2 commits November 4, 2026 22:16
…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>
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Action failed

Review failed.

@botantler-1 botantler-1 Bot closed this Nov 4, 2026
@botantler-1 botantler-1 Bot reopened this Nov 4, 2026
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Nov 4, 2026
@github-project-automation github-project-automation Bot moved this from ✅ Done to 🫴 Ready in 🌊 Project Board Nov 4, 2026
@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Explain Change →

Walkthrough

Warning

Review details and warnings were omitted to fit the comment limit.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-11-04T21:33:45.801604Z
We couldn’t complete this review. Comment @codex review to try again.
5fa109f Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@devantler devantler left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🤖 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.md the plugin lacks.
  • connector-setup mentions 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)

Comment thread scripts/skill-spec-view.sh Resolved
Comment thread scripts/bump-plugin-version.sh Resolved
Comment thread scripts/skill-spec-view.test.sh Resolved
Comment thread plugins/agentic-engineering/README.md Resolved
… 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 devantler left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🤖 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-properties comparison is fail-closed under set -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-properties line;
  • the view should refuse a comment-only value;
  • CONNECTORS.md should map ~~CI/CD, ~~CRM and ~~SEO tools.

Verdict: no P0/P1 findings

devantler and others added 2 commits November 4, 2026 23:09
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 devantler left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🤖 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

@devantler

Copy link
Copy Markdown
Contributor Author

Readiness at ddd123a

  • Checks: every required check passes at this commit. There are no merge conflicts and no open review threads.
  • Review: CodeRabbit's full review failed, and Codex and Cursor Bugbot are usage-limited, so this went to local review rounds. An independent reviewer did three rounds:
    • Round 1, at 5fa109f: four P1s.
    • Round 2, at 8edab87: no P0 or P1, three nits.
    • Round 3, at this commit: no P0 or P1, judged GREEN self@ddd123a by local-review-verdict.sh.
    • Its two remaining nits go to a follow-up PR: state how a Claude Code session gets delete_repository, and pin github's exclusion list in a test.
  • Tried as a user, at this commit:
    • Claude Code 2.1.317 (claude --plugin-dir … mcp list): aws-knowledge, cloudflare-docs, context7, flux-operator-mcp, github, github-ghas-tools, siderolabs-docs and svelte connect, and stripe asks for its OAuth sign-in. No server is suppressed as a duplicate. kubescape and terraform-registry cannot start because their binaries aren't installed on this host, as the README says.
    • Codex 0.166, in a throwaway CODEX_HOME: the plugin installs as 7.1.0 through its new Codex manifest, codex mcp list shows all 11 servers, and codex debug prompt-input lists the new skills, including workspace-conventions, connector-setup, design-critique, journal-entry and check-skills.
    • Live server: github's exclusions leave 42 tools, and on the MCP 2026-07-28 path with elicitation, delete_repository is gone in five of five repeats.
    • Local suites: all pass except the macOS-only recheck-open-prs-observations.test.sh, which also fails on main and passes on Linux CI.

🤖 Generated with Claude Code

@devantler
devantler marked this pull request as ready for review November 4, 2026 22:26
@devantler
devantler merged commit 5e3cd8e into main Nov 4, 2026
24 checks passed
@devantler
devantler deleted the claude/plugins-workspace-toolbox branch November 4, 2026 22:26
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

1 participant