feat(software-engineer): realign agent to canonical Software Engineer role (1.0.0)#124
feat(software-engineer): realign agent to canonical Software Engineer role (1.0.0)#124withinfocus wants to merge 2 commits into
Conversation
… role (1.0.0) Rewrites the bitwarden-software-engineer agent definition around Bitwarden's canonical Software Engineer role on the Engineering Career Ladder, mirroring the recent realignment of bitwarden-tech-lead. - Description now opens with the three role dimensions from the Confluence "Software Engineer" page (Engineering Excellence, Delivery & Impact, Leadership & Communication) and adds four `<example>` blocks (story implementation, PR review, surfacing ambiguity, commit/PR prep) so the orchestrator can route on concrete triggering scenarios. - Body intro grounds the agent in the role's actual responsibilities and explicitly disclaims tech-lead / architect / EM scope. - New Cross-Plugin Integration section listing the delivery-lifecycle skills (committing-changes, creating-pull-request, perform-preflight, labeling-changes) and researching-jira-issues the engineer role exercises daily. - Renames agents/bitwarden-software-engineer.md → agents/AGENT.md to match the convention used by tech-lead and shepherd plugins; plugin.json's agents field switches to the string form ./agents/AGENT.md. - Plugin and marketplace descriptions, plus the marketplace README catalog row, rewritten to match the new framing. Adds software-engineer to plugin keywords. - Bumps plugin from 0.4.2 → 1.0.0.
Validation Summary — PR #124 (
|
| Check | Tool | Outcome |
|---|---|---|
| Plugin structure & manifest | plugin-dev:plugin-validator agent |
PASS |
| Agent frontmatter & system prompt | plugin-dev:plugin-validator agent |
PASS |
| Security / config review | claude-config-validator:reviewing-claude-config |
PASS |
| Marketplace ↔ plugin.json ↔ CHANGELOG consistency | Manual cross-check | PASS |
| Hardcoded credentials / secrets | grep + skill review | PASS |
Skill review and command/hook/MCP checks are not applicable — this PR adds no skills, commands, hooks, or MCP servers.
Critical issues
None.
Major issues
None.
Minor warnings (non-blocking)
plugins/bitwarden-software-engineer/README.md— Thin README (16 lines). Has Overview and Usage but no Installation section. Also still references "skills" in the lead paragraph even though skills were migrated out in 0.4.0. Recommendation: reword the lead sentence to describe the agent and add an Installation block. Not blocking — this is a pre-existing condition, not introduced by PR feat(software-engineer): realign agent to canonical Software Engineer role (1.0.0) #124.plugins/bitwarden-software-engineer/agents/AGENT.md:42—tools: Read, Write, Edit, Bash, Glob, Grep, Skilluses the comma-separated string form rather than a YAML array. Claude Code accepts both forms and this matches the prior file (unchanged by this PR, per CHANGELOG0.4.1). Optional cleanup only.plugins/bitwarden-software-engineer/agents/AGENT.md:71-77— Cross-plugin skill references (committing-changes,creating-pull-request,perform-preflight,labeling-changes,researching-jira-issues, security-engineer skills) are not asserted to exist in this PR's diff. If a sibling plugin renames or removes one, theSkill()call fails silently. Worth a periodic spot-check; not a PR feat(software-engineer): realign agent to canonical Software Engineer role (1.0.0) #124 issue.
Notes on false positives in the deeper scan
- The validator agent flagged
"agents": "./agents/AGENT.md"inplugin.json:12as non-standard. This is the established repository convention —bitwarden-shepherdandbitwarden-tech-leaduse the identical pattern (verified). Not an issue. - The validator agent flagged the flat
agents/AGENT.mdlayout (vs nestedagents/<name>/AGENT.md) as a mismatch withscripts/validate-plugin-structure.sh:424. This is a repo-level layout inconsistency between siblings (bitwarden-code-reviewis nested;bitwarden-shepherd,bitwarden-tech-lead, and this plugin are flat). Out of scope for PR feat(software-engineer): realign agent to canonical Software Engineer role (1.0.0) #124 — should be reconciled separately at the repo level.
Positive findings
- Version bump applied consistently across all three required surfaces:
plugin.json:3(1.0.0),.claude-plugin/marketplace.json:45(1.0.0),CHANGELOG.md:8([1.0.0] - 2026-05-19). 1.0.0jump from0.4.2is justified by the realignment to the canonical Software Engineer role and the AGENT.md rename. Classifying it as### Changed(not breaking) is correct because the install/invocation contract is unchanged.- CHANGELOG entry (
CHANGELOG.md:8-14) follows Keep a Changelog format and clearly documents (a) the realignment to the Engineering Career Ladder dimensions, (b) the file rename, and (c) the description and keyword updates. - Agent description includes 4
<example>blocks (AGENT.md:6-40) covering implementation, PR review, ambiguity escalation, and deliverable preparation — strong orchestrator-routing signal. - System prompt is substantial (~2.2k chars, well above the 20-char floor) and explicitly disclaims tech-lead / architect / EM responsibilities, which helps keep the agent in lane.
- Plugin/marketplace descriptions match exactly (
plugin.json:4↔marketplace.json:46). - No hardcoded credentials, API keys, or tokens anywhere in the changed files. The only matches for security-related terms are legitimate references to the
detecting-secretsskill name inAGENT.md:77andCHANGELOG.md:60. keywordsupdated to includesoftware-engineer, matching the new description framing.
Files validated
plugins/bitwarden-software-engineer/.claude-plugin/plugin.jsonplugins/bitwarden-software-engineer/CHANGELOG.mdplugins/bitwarden-software-engineer/agents/AGENT.mdplugins/bitwarden-software-engineer/agents/bitwarden-software-engineer.md(deletion — renamed toAGENT.md).claude-plugin/marketplace.json(cross-check)
Bitwarden Claude Code ReviewOverall Assessment: APPROVE Reviewed the realignment of the Code Review DetailsNo findings. Verified:
|
- Collapse the three role-dimensions recap (which duplicated the description prose) into a single paragraph; keep the explicit not-tech-lead/architect/EM disclaimer. - Tighten Working Approach wording; consolidate Verification commands into per-repo bullets instead of nested sub-headings. - Fold the Security-Aware Development section into Cross-Plugin Integration to remove the parallel listing; behavior is unchanged. - Reduce CHANGELOG 1.0.0 entry to three bullets. Brings the file in line with the size and density of bitwarden-tech-lead's AGENT.md, which is the reference for this realignment.
🎟️ Tracking
No Jira/issue tracker — follows the recent realignment of
bitwarden-tech-lead(2.3.0) and applies the same pattern tobitwarden-software-engineer, sourced from Bitwarden's Software Engineer role definition on the Engineering Career Ladder.📔 Objective
Realign the
bitwarden-software-engineeragent with the canonical Software Engineer role and bring the plugin's file layout in line with sibling plugins.<example>blocks (story implementation, PR review, surfacing mid-implementation ambiguity, preparing the commit/PR deliverable) so the orchestrator can route on concrete triggering scenarios.bitwarden-tech-lead's AGENT.md (the reference): collapse the role-dimensions recap, condense Verification, and fold Security-Aware Development into Cross-Plugin Integration.agents/bitwarden-software-engineer.md→agents/AGENT.mdto match the convention used bybitwarden-tech-leadandbitwarden-shepherd; switchplugin.json'sagentsfield to the string form.software-engineerto plugin keywords../scripts/bump-plugin-version.sh.Validators run locally:
./scripts/validate-plugin-structure.sh bitwarden-software-engineer— clean./scripts/validate-marketplace.sh bitwarden-software-engineer— cleannpm run lint(prettier + cspell) — clean afternpm run formatplugin-dev:plugin-validatoragent — PASS