feat: add the automated-ai-engineer plugin (agents+skills bundle per ADR-0002)#63
feat: add the automated-ai-engineer plugin (agents+skills bundle per ADR-0002)#63devantler wants to merge 7 commits into
Conversation
…ADR-0002) Two generalized agent definitions (run-loop engineer + read-only surveyor) plus the three engineering skills bundled from agent-skills with gh-skill provenance; both marketplace manifests and the catalogue row updated in parity. Consumer contract: the five named AGENTS.md sections from ADR-0002 D2. Part of #51 (child 2, plugin-assembly half; skills half delivered via agent-skills#62) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4051de2dad
ℹ️ 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".
…cope the creation record - README gains a Runtime guard note (enforce the surveyor's read-only boundary in the runtime permission layer) and the contract now names the deployment's AI-disclosure line and per-product feature-flag mechanism - creation-record hands-off scoped to maintainer-login PRs; trusted bot PRs stay Trust-gate-driven Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e60096d37d
ℹ️ 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".
…am repo The self-improvement routing lumped 'this very skill' with 'the plugin or skills library', letting a skill-content fix land on a bundled copy instead of the skill's canonical metadata.github-repo upstream. Split the bullet: a bundled skill's own content routes to that skill's upstream (the plugin re-bundles from there); only the role agents and plugin wiring route to the plugin repo. Matches the AGENTS.md bundled-skills-from-upstream rule. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bde7cb60ee
ℹ️ 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".
…unverified-PR fire Portfolio-map card now names the required feature-flag mechanism (the bundled product-engineering skill reads it); surveyor treats a broken ownership-unverified PR as fire since it is memory-blind and cannot confirm own-ness. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: faa5151267
ℹ️ 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".
VS Code discovers plugin-bundled agents on install (they appear in chat alongside locally-defined ones per the official agent-plugins docs), so the manual .github/agents copy step was stale. Correct the delivery note. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codex review Addressed your review at head 7b5f025: fixed the stale VS Code copy step (verified plugin-bundled agents auto-load in VS Code), and refuted the surveyor- |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7b5f0255ae
ℹ️ 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".
Plugin agents are exposed under a plugin-scoped name in some runtimes (e.g. automated-ai-engineer:portfolio-surveyor in Claude Code); note that so the delegation instruction stays portable across tools. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai review Requesting a review from CodeRabbit for the green-review gate at head |
|
✅ Action performedReview finished.
|
📝 WalkthroughWalkthroughAdds the Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugins/automated-ai-engineer/agents/portfolio-surveyor.md`:
- Around line 83-95: Update the survey contract in the portfolio-surveyor
instructions so any failed mandatory PR enumeration, pagination, or
review-surface query marks the survey incomplete and forces nothing_on_fire:
false. Ensure affected repositories or PRs are not classified as clean, while
retaining a concise failure note under the relevant repository and leaving the
orchestrator to decide follow-up actions.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: cabc34cd-59e1-46d7-8d8c-5a6efa3bab1e
📒 Files selected for processing (10)
.claude-plugin/marketplace.json.github/plugin/marketplace.jsonREADME.mdplugins/automated-ai-engineer/README.mdplugins/automated-ai-engineer/agents/automated-ai-engineer.mdplugins/automated-ai-engineer/agents/portfolio-surveyor.mdplugins/automated-ai-engineer/plugin.jsonplugins/automated-ai-engineer/skills/portfolio-maintenance/SKILL.mdplugins/automated-ai-engineer/skills/product-engineering/SKILL.mdplugins/automated-ai-engineer/skills/self-improvement/SKILL.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (6)
{.github/plugin,.claude-plugin}/marketplace.json
📄 CodeRabbit inference engine (AGENTS.md)
Keep
.github/plugin/marketplace.jsonand.claude-plugin/marketplace.jsonbyte-for-byte equivalent modulo key order; update both whenever the plugin set changes.
Files:
.claude-plugin/marketplace.json.github/plugin/marketplace.json
{.github/plugin/marketplace.json,.claude-plugin/marketplace.json,plugins/*/plugin.json}
📄 CodeRabbit inference engine (AGENTS.md)
Manifest entries must match the corresponding
plugins/<name>/plugin.json, includingname,description,version, and relativesource./plugins/<name>; orphan plugin directories are forbidden.
Files:
.claude-plugin/marketplace.jsonplugins/automated-ai-engineer/plugin.json.github/plugin/marketplace.json
plugins/*/plugin.json
📄 CodeRabbit inference engine (AGENTS.md)
plugins/*/plugin.json: Each plugin must have aplugin.jsonwith a kebab-casenamematching^[a-z0-9-]+$, a non-emptydescription, and a non-emptyversion.
A plugin manifest must not use plain-stringskillsoragentscomponent paths; resources are auto-discovered, and any explicitly provided paths must be arrays.
Every plugin must declare at least one resource through an on-diskskills/directory,.mcp.json, oragents/directory.
Files:
plugins/automated-ai-engineer/plugin.json
README.md
📄 CodeRabbit inference engine (AGENTS.md)
Keep the README plugin table synchronized with the manifests and filesystem; every plugin must have a row and each Resources value must match bundled resources.
Files:
README.md
plugins/*/agents/*.md
📄 CodeRabbit inference engine (AGENTS.md)
Custom agent files must have YAML frontmatter containing non-empty
nameanddescriptionfields.
Files:
plugins/automated-ai-engineer/agents/portfolio-surveyor.mdplugins/automated-ai-engineer/agents/automated-ai-engineer.md
plugins/*/skills/*/SKILL.md
📄 CodeRabbit inference engine (AGENTS.md)
plugins/*/skills/*/SKILL.md: Every bundledSKILL.mdmust conform to the agentskills.io specification.
Never hand-edit a bundledSKILL.mdto diverge from upstream; update the skill in its own upstream repository instead.
Every bundledSKILL.mdmust contain a non-emptymetadata.github-repoprovenance field.
Files:
plugins/automated-ai-engineer/skills/self-improvement/SKILL.mdplugins/automated-ai-engineer/skills/product-engineering/SKILL.mdplugins/automated-ai-engineer/skills/portfolio-maintenance/SKILL.md
🧠 Learnings (1)
📚 Learning: 2026-06-28T12:17:58.373Z
Learnt from: devantler
Repo: devantler-tech/agent-plugins PR: 36
File: plugins/engineering-practices/skills/conventional-release/SKILL.md:57-59
Timestamp: 2026-06-28T12:17:58.373Z
Learning: Bundled skill artifact files at `plugins/*/skills/*/SKILL.md` are synced from upstream and must not be hand-edited locally. If you need to change a skill, update the corresponding upstream skill repository first, then pull the updated artifact into this repo using the `update-agent-skills` workflow (and review the resulting diff for the synced contents).
Applied to files:
plugins/automated-ai-engineer/skills/self-improvement/SKILL.mdplugins/automated-ai-engineer/skills/product-engineering/SKILL.mdplugins/automated-ai-engineer/skills/portfolio-maintenance/SKILL.md
🪛 LanguageTool
plugins/automated-ai-engineer/README.md
[uncategorized] ~49-~49: The official name of this software platform is spelled with a capital “H”.
Context: ...ally defined ones). No manual copy into .github/agents is required.
(GITHUB)
plugins/automated-ai-engineer/agents/portfolio-surveyor.md
[style] ~48-~48: Consider an alternative for the overused word “exactly”.
Context: ...merge-gated or not. Trusted authors are exactly the logins the Trust gate section n...
(EXACTLY_PRECISELY)
plugins/automated-ai-engineer/skills/product-engineering/SKILL.md
[style] ~72-~72: Consider an alternative for the overused word “exactly”.
Context: ...s the decision as a draft PR** (that is exactly where the maintainer redirects what ...
(EXACTLY_PRECISELY)
🪛 markdownlint-cli2 (0.23.0)
plugins/automated-ai-engineer/agents/portfolio-surveyor.md
[warning] 15-15: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
plugins/automated-ai-engineer/agents/automated-ai-engineer.md
[warning] 22-22: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
plugins/automated-ai-engineer/skills/portfolio-maintenance/SKILL.md
[warning] 137-137: Ordered list item prefix
Expected: 1; Actual: 7; Style: 1/2/3
(MD029, ol-prefix)
[warning] 141-141: Ordered list item prefix
Expected: 2; Actual: 8; Style: 1/2/3
(MD029, ol-prefix)
[warning] 143-143: Ordered list item prefix
Expected: 3; Actual: 9; Style: 1/2/3
(MD029, ol-prefix)
[warning] 145-145: Ordered list item prefix
Expected: 4; Actual: 10; Style: 1/2/3
(MD029, ol-prefix)
[warning] 147-147: Ordered list item prefix
Expected: 5; Actual: 11; Style: 1/2/3
(MD029, ol-prefix)
🪛 SkillSpector (2.3.11)
plugins/automated-ai-engineer/skills/product-engineering/SKILL.md
[warning] 94: [EA2] Autonomous Decision Making: Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
Remediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
(Excessive Agency (EA2))
🔇 Additional comments (12)
plugins/automated-ai-engineer/agents/portfolio-surveyor.md (1)
1-13: LGTM!Also applies to: 15-82
plugins/automated-ai-engineer/skills/portfolio-maintenance/SKILL.md (1)
1-207: LGTM!plugins/automated-ai-engineer/skills/product-engineering/SKILL.md (1)
1-170: LGTM!plugins/automated-ai-engineer/skills/self-improvement/SKILL.md (1)
1-98: LGTM!plugins/automated-ai-engineer/README.md (3)
49-49: False-positive capitalization flag.The linter flags "github" for capitalization, but this instance is the literal directory name
.github/agents, not the brand name — no change needed.
1-44: LGTM!
45-50: 📐 Maintainability & Code Quality | ⚡ Quick winRoot README's "Same delivery rules" contradicts the plugin's own VS Code auto-discovery claim.
plugins/automated-ai-engineer/README.mdstates that "Installing the plugin makes both bundled agents available automatically — Claude Code, Copilot CLI, and VS Code all discover the plugin'sagents/directory on install" and that no manual copy is required, while the rootREADME.md's new paragraph says "Same delivery rules" as the prior entries (flux-troubleshooter, vibe-coding-companion), which explicitly instruct users to manually copy the agent into.github/agents/<name>.agent.mdfor VS Code. These two claims can't both be true for the same plugin.
plugins/automated-ai-engineer/README.md#L45-L50: keep this claim only if VS Code's current agent-plugin auto-discovery has been verified for this repo's target VS Code version; otherwise revert to the manual-copy instruction used by other plugins.README.md#L119-L127: don't say "Same delivery rules" for a plugin whose own docs claim a different (no-copy) VS Code delivery path — spell out the actual VS Code behavior for this plugin instead of deferring to the older pattern..claude-plugin/marketplace.json (1)
53-58: LGTM!.github/plugin/marketplace.json (1)
53-58: LGTM!plugins/automated-ai-engineer/plugin.json (1)
1-19: LGTM!README.md (1)
22-22: LGTM!plugins/automated-ai-engineer/agents/automated-ai-engineer.md (1)
1-101: LGTM!
An incomplete survey (a failed PR-enumeration, pagination, or review-surface query) must not read as a clean portfolio. Force nothing_on_fire:false and forbid clean/MERGE-READY/REVIEW-READY classification for affected repos/PRs, matching the fail-closed requirement in the portfolio-maintenance SKILL. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai review |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
gh pr view 63 --repo devantler-tech/agent-plugins --json headRefOid,commits --jq '.headRefOid'Length of output: 286
✅ Action performedReview finished.
|
Why
The marketplace roadmap wants a flagship bundle proving plugins are not skills-only, and the Automated AI Engineer role is fully designed (ADR-0002) with its three skills already published in agent-skills — only the plugin assembly was missing.
What
Adds the
automated-ai-engineerplugin: two generalized agent definitions (the run-loop engineer and its read-only surveyor) plus the three engineering skills bundled from agent-skills with provenance, with both marketplace manifests and the catalogue row updated in parity. Consumers configure it via the fiveAGENTS.mdcontract sections named in ADR-0002.Part of #51 (child 2 — completes it together with agent-skills#62; remaining child 3 = the monorepo consuming the plugin).