Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
},
"metadata": {
"description": "Professional Rust development plugin: specialist agents with LSP integration, team orchestration, and peer-to-peer communication",
"version": "1.46.0"
"version": "1.47.0"
},
"plugins": [
{
"name": "rust-agents",
"source": "./rust-code",
"description": "Comprehensive collection of specialized Rust development agents with Claude Code best practices. 15 specialist agents covering the full development lifecycle. rust-live-tester for live binary execution and anomaly detection; rust-researcher for dependency monitoring and competitive parity; rust-arch-analyst for architecture audits; rust-security-analyst for vulnerability scanning. continuous-improvement orchestrates all four as a read-only cycle. rust-modern-apis for proactive Rust 1.89–1.98 API suggestions. team-develop and team-debug for multi-agent orchestration. Full-cycle SDD with BRD/SRS/NFR pipeline. rust-analyzer LSP integration. Adversarial critic for stress-testing designs. Rust Edition 2024.",
"version": "1.46.0",
"description": "Rust development agents and skills for Claude Code: 15 specialist agents (architect, developer, testing, performance, security, reviewer, CI/CD, debugger, critic, SDD, live-tester, tech-writer, researcher, architecture and security analysts), team-develop and team-debug agent-team orchestration, a read-only continuous-improvement cycle that also runs headless, Rust 1.89-1.98 API reference, handoff protocol, spec-driven development pipeline, and rust-analyzer LSP integration.",
"version": "1.47.0",
"author": {
"name": "Andrei G",
"email": "andrei.g@my.com"
Expand All @@ -38,7 +38,7 @@
"edition-2024",
"agent-teams",
"team-orchestration",
"teamlead",
"team-debug",
"issue-triage",
"github-issues",
"continuous-improvement",
Expand All @@ -48,7 +48,15 @@
"security-audit",
"tech-writer",
"documentation",
"mdbook"
"mdbook",
"brd",
"srs",
"nfr",
"requirements",
"spec-driven-development",
"modern-apis",
"rust-1-89",
"rust-1-98"
],
"category": "development",
"tags": [
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This repository contains plugins that extend Claude Code's capabilities with spe

### Rust Agents Plugin (`rust-code`)

[![Version](https://img.shields.io/badge/version-1.46.0-blue)](./rust-code)
[![Version](https://img.shields.io/badge/version-1.47.0-blue)](./rust-code)
[![License](https://img.shields.io/badge/license-MIT-green)](./rust-code/LICENSE)

A comprehensive collection of specialized Rust development agents covering the entire Rust development lifecycle.
Expand Down Expand Up @@ -59,8 +59,8 @@ A comprehensive collection of specialized Rust development agents covering the e
| rust-live-tester | sonnet | Live binary execution, anomaly detection, coverage tracking, bug filing |
| tech-writer | sonnet | User-facing documentation with mdBook, progressive disclosure |
| rust-researcher | sonnet | Dependency monitoring, security advisories, research, competitive parity |
| rust-arch-analyst | sonnet | Architecture audits: type system anti-patterns, DRY violations, workspace structure, async defects |
| rust-security-analyst | sonnet | Vulnerability audits: dependency advisories, unsafe code, secrets, injection, crypto misuse, auth, panic-DoS, supply chain |
| rust-arch-analyst | opus | Architecture audits: type system anti-patterns, DRY violations, workspace structure, async defects |
| rust-security-analyst | opus | Vulnerability audits: dependency advisories, unsafe code, secrets, injection, crypto misuse, auth, panic-DoS, supply chain |

**Best for**: Rust projects requiring expert guidance in architecture, performance, security, testing, DevOps, or multi-agent team workflows.

Expand Down
5 changes: 3 additions & 2 deletions rust-code/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "rust-agents",
"version": "1.46.0",
"version": "1.47.0",
"description": "Rust development agents and skills for Claude Code: 15 specialist agents (architect, developer, testing, performance, security, reviewer, CI/CD, debugger, critic, SDD, live-tester, tech-writer, researcher, architecture and security analysts), team-develop and team-debug agent-team orchestration, a read-only continuous-improvement cycle that also runs headless, Rust 1.89-1.98 API reference, handoff protocol, spec-driven development pipeline, and rust-analyzer LSP integration.",
"author": {
"name": "Andrei G",
Expand Down Expand Up @@ -30,7 +30,8 @@
"issue-triage",
"github-issues",
"continuous-improvement",
"ci-analyst",
"live-testing",
"research-protocol",
"vulnerability-scanning",
"security-audit",
"tech-writer",
Expand Down
21 changes: 21 additions & 0 deletions rust-code/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.47.0] - 2026-09-23

Adapts the plugin to Claude Code 2.1.265–2.1.280.

### Changed

- `rust-architect`, `rust-critic`, `rust-security-maintenance`, `rust-arch-analyst`, `rust-security-analyst`: model `claude-opus-5` → `claude-opus-5-5`, keeping `effort: high` explicit because the model defaults to `medium`. (#9)
- `continuous-improvement` subagents engine and `sdd-integration` references: in auto mode agents deliver their report through `SubagentHandback`, not a plain final message. (#9)
- `rust-agent-handoff`: names where the handoff block goes: `SendMessage` as a teammate, `SubagentHandback` when available, otherwise the final message. (#9)
- `team-develop` Step 6.5: handles `/code-review` running inline in the desktop app (`ReportFindings`) as well as forked. (#9)
- `team-develop`, `team-debug`: never pass `isolation` on teammate spawns, since it turns them into plain subagents outside the team. (#9)
- Marketplace entry description and keywords synced with `plugin.json`, because `/plugin` → Installed now shows the marketplace entry. (#9)
- `CLAUDE.md`: documents `omitClaudeMd`, `initialPrompt` (ignored for plugin agents) and full-ID model pinning. (#9)
- README: headless `continuous-improvement` runs recommend Claude Code 2.1.280 or later. (#9)

### Fixed

- `continuous-improvement` preflight showed an empty "Last cycle journal" instead of `none` when the journal directory was missing. (#9)
- Root README and `continuous-improvement` still described `rust-arch-analyst` and `rust-security-analyst` as `sonnet` agents. (#9)
- Version badges, plugin and marketplace manifests bumped to `1.47.0`. (#9)

## [1.46.0] - 2026-09-16

### Changed
Expand Down
4 changes: 2 additions & 2 deletions rust-code/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Rust Agents Plugin

[![Version](https://img.shields.io/badge/version-1.46.0-blue)](https://github.com/bug-ops/claude-plugins)
[![Version](https://img.shields.io/badge/version-1.47.0-blue)](https://github.com/bug-ops/claude-plugins)
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
[![Rust Edition](https://img.shields.io/badge/rust-Edition%202024-orange)](https://doc.rust-lang.org/edition-guide/rust-2024/)

Expand Down Expand Up @@ -456,7 +456,7 @@ Orchestrate a full CI cycle by spawning `rust-live-tester`, `rust-researcher`, `

**Workflow**: `TaskCreate` per agent → spawn teammates with `name` (the team forms implicitly) → wait for `SendMessage` with handoff → `TaskUpdate(completed)` → `SendMessage(shutdown_request)`; team directories are cleaned up automatically at session end

**Engines**: with `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in an interactive session the agents run as an agent team (add `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` on Claude Code 2.1.233+ for shared task-list coordination). Without the flag, or in a non-interactive session, the same agents run as background subagents and report through task notifications. This is the only orchestration skill that works headless, which makes it suitable for recurring runs:
**Engines**: with `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in an interactive session the agents run as an agent team (add `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` on Claude Code 2.1.233+ for shared task-list coordination). Without the flag, or in a non-interactive session, the same agents run as background subagents and report back when they finish (in auto mode through the `SubagentHandback` call). This is the only orchestration skill that works headless, which makes it suitable for recurring runs. Use Claude Code 2.1.280 or later for unattended runs: earlier versions could lose background reports or leave a `-p` run hanging:

```bash
# one-off unattended cycle
Expand Down
2 changes: 1 addition & 1 deletion rust-code/agents/01-rust-architect.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: rust-architect
description: Rust strategic architect specializing in type-driven design, domain modeling, workspace architecture, and compile-time safety patterns. Use PROACTIVELY when starting projects, designing type hierarchies, making architectural decisions, or implementing state machines with typestate pattern.
model: claude-opus-5
model: claude-opus-5-5
effort: high
memory: "user"
experimental:
Expand Down
2 changes: 1 addition & 1 deletion rust-code/agents/05-rust-security-maintenance.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: rust-security-maintenance
description: Rust security and maintenance specialist focused on cargo-deny, dependency management, vulnerability scanning, and secure coding practices. MUST BE USED for unsafe code blocks, authentication, authorization, cryptography, or external input validation.
model: claude-opus-5
model: claude-opus-5-5
effort: high
memory: "user"
skills:
Expand Down
2 changes: 1 addition & 1 deletion rust-code/agents/09-rust-critic.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: rust-critic
description: Adversarial critic specializing in finding logical gaps, flawed assumptions, scalability limits, and missing edge cases in architectural designs, implementation proposals, and ideas. Use PROACTIVELY after architecture design, before committing to an approach, or when a user wants their idea stress-tested. Never writes fixes — produces structured critique reports (may build a throwaway reproducer to prove a finding). Triggers on "review this design", "challenge assumptions", "find weak points", "devil's advocate", "stress test this idea", "what could go wrong", "critique this".
model: claude-opus-5
model: claude-opus-5-5
effort: high
memory: "user"
skills:
Expand Down
2 changes: 1 addition & 1 deletion rust-code/agents/15-rust-arch-analyst.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: rust-arch-analyst
description: Rust architecture analyst for continuous improvement cycles. Scans existing codebases for type system anti-patterns, DRY violations, API naming issues, workspace structure problems, and async concurrency defects. Read-only role — identifies and files improvement issues, never modifies source code. Use as part of the continuous-improvement skill or when auditing an existing project's structural health.
model: claude-opus-5
model: claude-opus-5-5
effort: high
memory: "local"
skills:
Expand Down
2 changes: 1 addition & 1 deletion rust-code/agents/16-rust-security-analyst.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: rust-security-analyst
description: Rust security analyst for continuous improvement cycles. Maps the attack surface and scans existing codebases for vulnerabilities — dependency advisories, unsafe code, exposed secrets, injection and input-validation gaps, cryptography misuse, broken authentication, panic and resource-exhaustion denial of service, network and filesystem hardening, supply-chain risk, and missing verification gates. Read-only role — identifies and files security issues, never modifies source code. Use as part of the continuous-improvement skill or when auditing an existing project's security posture.
model: claude-opus-5
model: claude-opus-5-5
effort: high
memory: "local"
skills:
Expand Down
12 changes: 6 additions & 6 deletions rust-code/skills/continuous-improvement/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Run a continuous improvement cycle for the current Rust project by coordinating

- **`rust-live-tester`** — syncs with remote, executes the project binary live, detects anomalies and regressions, tracks coverage, files bug issues
- **`rust-researcher`** — monitors dependency health, researches new techniques, tracks competitive parity, files research and dependency issues
- **`rust-arch-analyst`** — audits existing codebase for type system anti-patterns, DRY violations, architectural debt, API naming issues, and async concurrency problems; files improvement issues (read-only, sonnet + high effort)
- **`rust-security-analyst`** — scans existing codebase for vulnerabilities: dependency advisories, unsafe code, exposed secrets, injection and input-validation gaps, crypto misuse, broken auth, panic-based DoS, and supply-chain risk; files security issues (read-only, sonnet + high effort)
- **`rust-arch-analyst`** — audits existing codebase for type system anti-patterns, DRY violations, architectural debt, API naming issues, and async concurrency problems; files improvement issues (read-only)
- **`rust-security-analyst`** — scans existing codebase for vulnerabilities: dependency advisories, unsafe code, exposed secrets, injection and input-validation gaps, crypto misuse, broken auth, panic-based DoS, and supply-chain risk; files security issues (read-only)

**Focus**: $ARGUMENTS

Expand Down Expand Up @@ -43,7 +43,7 @@ If the preflight shows `.claude/rules/continuous-improvement.md` as present, pas
- Task tools flag: !`printenv CLAUDE_CODE_ENABLE_TODO_TOOLS || echo unset`
- Cargo.toml: !`test -f Cargo.toml && echo present || echo missing`
- Project CI rules: !`test -f .claude/rules/continuous-improvement.md && echo present || echo absent`
- Last cycle journal: !`ls .local/testing/journal/ 2>/dev/null | grep -E '^ci-[0-9]{3}\.md$' | sort | tail -1 || echo none`
- Last cycle journal: !`ls .local/testing/journal/ 2>/dev/null | grep -E '^ci-[0-9]{3}\.md$' | sort | tail -1 | grep . || echo none`

STOP if Cargo.toml is `missing`.

Expand All @@ -54,9 +54,9 @@ This cycle is read-only fan-out: every agent works alone and reports back, so it
| Agent teams flag | Engine | How agents report |
|---|---|---|
| `1` in an interactive session | **teams** — named spawns become teammates, the team forms implicitly on the first spawn | `SendMessage` to `team-lead` with handoff frontmatter + path |
| `unset`, or a non-interactive session (`claude -p`, SDK, `/loop`, `/schedule`) | **subagents** — the same `Agent()` calls run as background subagents | Task notification carries the agent's final message; require the handoff frontmatter + path in it |
| `unset`, or a non-interactive session (`claude -p`, SDK, `/loop`, `/schedule`) | **subagents** — the same `Agent()` calls run as background subagents | The agent's report arrives with its task notification, or in auto mode as its `SubagentHandback` message; require the handoff frontmatter + path in it |

Tell the user which engine is active. On the subagents engine: drop the Task Management and Communication sections from the spawn template, replace them with "Finish with your handoff frontmatter block + path as the last lines of your final message", skip Step 2.5 (background subagents end on their own), and treat each task notification as the WAIT signal. Never run `team-develop` or `team-debug` this way — they need peer messaging.
Tell the user which engine is active. On the subagents engine: drop the Task Management and Communication sections from the spawn template, replace them with "Deliver your report to the caller: the handoff frontmatter block + path. If you have the `SubagentHandback` tool, that call is your report — plain text at the end is not delivered", skip Step 2.5 (background subagents end on their own), and treat each task notification as the WAIT signal. Never run `team-develop` or `team-debug` this way — they need peer messaging.

On the teams engine, load the tools:

Expand Down Expand Up @@ -250,7 +250,7 @@ Write your handoff with a Security Review section listing all findings, severiti
TaskUpdate(taskId: "security", owner: "security-analyst", status: "in_progress")
```

**WAIT** for all spawned agents (teams engine: messages with handoff frontmatter + paths; subagents engine: task notifications). Then update their tasks to `completed`. Apply the Agent outcomes table from Step 0 to partial or failed results.
**WAIT** for all spawned agents (teams engine: messages with handoff frontmatter + paths; subagents engine: task notifications, with the report in the agent's hand-back message in auto mode). Then update their tasks to `completed`. Apply the Agent outcomes table from Step 0 to partial or failed results.

## Step 2.5: Shutdown Agents (teams engine only)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Use the Spec Template from the sdd skill. Pre-fill all sections from
the context above. Mark any missing information as
`[NEEDS CLARIFICATION: ...]` rather than blocking.

Respond with the path to the created spec file when done.
Report the path to the created spec file when done.
```

### Subagent call
Expand Down Expand Up @@ -116,7 +116,7 @@ Research spec structure (use Spec Template, focus on these sections):
The subagent MUST:
1. Create `.local/specs/<NNN>-<slug>/spec.md`
2. Add an entry to `.local/specs/MOC-specs.md`
3. Return the spec file path in its final message
3. Return the spec file path in its report

The CI analyst MUST:
1. Extract the spec path from the subagent result
Expand Down
4 changes: 2 additions & 2 deletions rust-code/skills/live-testing/references/sdd-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Use the Spec Template from the sdd skill. Pre-fill all sections from
the context above. Mark any missing information as
`[NEEDS CLARIFICATION: ...]` rather than blocking.

Respond with the path to the created spec file when done.
Report the path to the created spec file when done.
```

### Subagent call
Expand Down Expand Up @@ -116,7 +116,7 @@ Research spec structure (use Spec Template, focus on these sections):
The subagent MUST:
1. Create `.local/specs/<NNN>-<slug>/spec.md`
2. Add an entry to `.local/specs/MOC-specs.md`
3. Return the spec file path in its final message
3. Return the spec file path in its report

The CI analyst MUST:
1. Extract the spec path from the subagent result
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Use the Spec Template from the sdd skill. Pre-fill all sections from
the context above. Mark any missing information as
`[NEEDS CLARIFICATION: ...]` rather than blocking.

Respond with the path to the created spec file when done.
Report the path to the created spec file when done.
```

### Subagent call
Expand Down Expand Up @@ -116,7 +116,7 @@ Research spec structure (use Spec Template, focus on these sections):
The subagent MUST:
1. Create `.local/specs/<NNN>-<slug>/spec.md`
2. Add an entry to `.local/specs/MOC-specs.md`
3. Return the spec file path in its final message
3. Return the spec file path in its report

The CI analyst MUST:
1. Extract the spec path from the subagent result
Expand Down
2 changes: 1 addition & 1 deletion rust-code/skills/rust-agent-handoff/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Frontmatter is flat scalars; the only allowed array is `parent: [id1, id2]` when

Conditional sections: `## Blockers` if `status: blocked`; `## Acceptance Criteria` if `next_task` needs more than one line. On `needs_discussion` state the open question — the caller returns it to the user.

3. Return frontmatter + path to caller — parent routes without reading the file:
3. Return frontmatter + path to caller — parent routes without reading the file. The block goes where your caller reads results: `SendMessage` to the lead when you are a teammate, the `SubagentHandback` call when you have that tool, otherwise your final message:

~~~markdown
## Handoff
Expand Down
2 changes: 2 additions & 0 deletions rust-code/skills/team-debug/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ Every WAIT step below ends with one of these outcomes:

Never reuse a name for a fresh spawn — a new agent with an existing name shadows the old one and breaks `SendMessage` routing.

Never pass `isolation` on a teammate spawn, even when the Agent tool suggests `isolation: "worktree"` for parallel writers. A named call with `isolation` starts a plain subagent outside the team. Every teammate here is report-only.

## Step 1: Load Tools

```
Expand Down
Loading
Loading