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
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# implement-issue
# implement-spec

## Purpose

Deliver a GitHub issue through an approved implementation plan or a validated OpenSpec task list.
Deliver an approved implementation plan or validated OpenSpec task list through controlled implementation.

## Usage

```text
/implement-issue <approved-plan|openspec-change> [task-or-group] [constraints]
/implement-spec <approved-plan|openspec-change> [task-or-group] [constraints]
```

## Accepted inputs
Expand All @@ -28,14 +28,14 @@ A bare issue is context, not an execution contract. When repository policy requi

- If the command runner is not `@robot-tech-lead`, immediately delegate the whole command execution to `@robot-tech-lead` and wait for its result.
- `@robot-tech-lead` MUST invoke the selected implementation agent for implementation, test, and verification work; naming an agent in the response is not delegation.
- If agent invocation is unavailable in the current environment, stop and report that `/implement-issue` cannot proceed instead of implementing directly.
- If agent invocation is unavailable in the current environment, stop and report that `/implement-spec` cannot proceed instead of implementing directly.
- Before any implementation agent starts, pass the branch/worktree gate below and report the selected isolation strategy.

## Branch/worktree gate

- Before choosing a branch or worktree strategy, inspect the workspace with `git status --short`.
- If the workspace is dirty, stop immediately and report the changed/untracked paths. Do not create a feature branch, create a worktree, delegate implementation, or ask for approval to continue in the dirty checkout.
- Continue only after the user cleans, commits, or stashes the workspace and reruns `/implement-issue`.
- Continue only after the user cleans, commits, or stashes the workspace and reruns `/implement-spec`.
- Determine whether the selected artifact should run in the current checkout, a new feature branch, or one or more linked worktrees.
- If the work is serial and the current checkout is not already a safe, suitable feature branch, execute `/create-feature-branch` before delegating implementation.
- If independent groups can run in parallel or need isolation, execute `/create-worktree` for each independent branch/worktree before delegating implementation.
Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/maven.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ jobs:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
- name: Scan generated skills with Snyk Agent Scan
run: |
set -o pipefail
set +e
uvx snyk-agent-scan@latest scan .agents/skills \
--ci \
--no-bootstrap \
Expand All @@ -200,7 +200,20 @@ jobs:
--verbose \
--print-errors \
--print-full-descriptions \
| tee snyk-agent-scan-report.txt
2>&1 | tee snyk-agent-scan-report.txt
scan_status=${PIPESTATUS[0]}
set -e

if [ "${scan_status}" -eq 0 ]; then
exit 0
fi

if grep -Eq "X007|Could not reach analysis server|API timeout while scanning discovered servers" snyk-agent-scan-report.txt; then
echo "::warning title=Snyk Agent Scan unavailable::Snyk Agent Scan could not reach the analysis server. Treating this infrastructure timeout as non-blocking; review the uploaded report."
exit 0
fi

exit "${scan_status}"
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
- name: Upload Snyk Agent Scan report
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ 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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.17.0] 2026-07-06
## [0.17.0] 2026-07-13

### Added

Expand All @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- **Skills**:
- Hardened Maven and Mongock skill guidance for Snyk Agent Scan by requiring allowlisted XML query output for POM analysis and gating MongoDB container verification behind explicit approval and pinned/project-approved images (#938)
- Hardened architecture diagram, profiling refactor, and Spring Boot acceptance-test skills for Snyk Agent Scan by replacing runtime PlantUML container execution with trusted local tooling and adding explicit trust gates for profiling and Gherkin prose inputs (`@033-architecture-diagrams`, `@163-java-profiling-refactor`, `@323-frameworks-spring-boot-testing-acceptance-tests`)
- Expanded Flyway and Mongock migration guidance for Spring Boot, Quarkus, and Micronaut with migration safety, antipattern, and parallel-change coverage (#901, #908, #909)
- Improved design pattern, Java testing strategy, acceptance testing, OpenAPI, and WireMock guidance with richer examples and reference structure (#943)
- Split Maven search guidance into Maven Central lookup and project version update workflows (`@114-java-maven-search`) (#948)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ MCP Servers
Implement and improve Java applications with Maven, design, coding, testing, security, documentation, Spring Boot, Quarkus, Micronaut, OpenAPI, and WireMock guidance.

```text
/implement-issue
/implement-spec
@robot-tech-lead
/create-feature-branch
/create-worktree
Expand Down
4 changes: 2 additions & 2 deletions README_ES.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Plan
@robot-business-analyst

Build
/implement-issue
/implement-spec
@robot-tech-lead
/create-feature-branch
/create-worktree
Expand Down Expand Up @@ -157,7 +157,7 @@ Implementa y mejora aplicaciones Java con orientación sobre Maven, diseño, pro

| Recurso | Opciones disponibles |
| --- | --- |
| **Commands** | [`/create-feature-branch`](./.cursor/commands/create-feature-branch.md) · [`/create-worktree`](./.cursor/commands/create-worktree.md) · [`/implement-issue`](./.cursor/commands/implement-issue.md) |
| **Commands** | [`/create-feature-branch`](./.cursor/commands/create-feature-branch.md) · [`/create-worktree`](./.cursor/commands/create-worktree.md) · [`/implement-spec`](./.cursor/commands/implement-spec.md) |
| **Agents** | `@robot-tech-lead` · `@robot-no-java` · `@robot-java-coder` · `@robot-java-spring-boot-coder` · `@robot-java-quarkus-coder` · `@robot-java-micronaut-coder` |
| **Skills** | [110-java-maven-best-practices](https://www.skills.sh/jabrena/plinth/110-java-maven-best-practices) · [111-java-maven-dependencies](https://www.skills.sh/jabrena/plinth/111-java-maven-dependencies) · [121-java-object-oriented-design](https://www.skills.sh/jabrena/plinth/121-java-object-oriented-design) · [124-java-secure-coding](https://www.skills.sh/jabrena/plinth/124-java-secure-coding) · [143-java-functional-exception-handling](https://www.skills.sh/jabrena/plinth/143-java-functional-exception-handling) |
| **MCP Servers** | [Jbang-Quarkus-JDBC](https://github.com/quarkiverse/quarkus-mcp-servers/blob/main/jdbc/README.md) · [MongoDB](https://github.com/mongodb-js/mongodb-mcp-server) · [JavaDocs](https://www.javadocs.dev/mcp) · [Serena-LSP](https://oraios.github.io/serena/01-about/000_intro.html) |
Expand Down
4 changes: 2 additions & 2 deletions README_ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Plan
@robot-business-analyst

Build
/implement-issue
/implement-spec
@robot-tech-lead
/create-feature-branch
/create-worktree
Expand Down Expand Up @@ -157,7 +157,7 @@ MCP Servers

| 资源 | 可用选项 |
| --- | --- |
| **Commands** | [`/create-feature-branch`](./.cursor/commands/create-feature-branch.md) · [`/create-worktree`](./.cursor/commands/create-worktree.md) · [`/implement-issue`](./.cursor/commands/implement-issue.md) |
| **Commands** | [`/create-feature-branch`](./.cursor/commands/create-feature-branch.md) · [`/create-worktree`](./.cursor/commands/create-worktree.md) · [`/implement-spec`](./.cursor/commands/implement-spec.md) |
| **Agents** | `@robot-tech-lead` · `@robot-no-java` · `@robot-java-coder` · `@robot-java-spring-boot-coder` · `@robot-java-quarkus-coder` · `@robot-java-micronaut-coder` |
| **Skills** | [110-java-maven-best-practices](https://www.skills.sh/jabrena/plinth/110-java-maven-best-practices) · [111-java-maven-dependencies](https://www.skills.sh/jabrena/plinth/111-java-maven-dependencies) · [121-java-object-oriented-design](https://www.skills.sh/jabrena/plinth/121-java-object-oriented-design) · [124-java-secure-coding](https://www.skills.sh/jabrena/plinth/124-java-secure-coding) · [143-java-functional-exception-handling](https://www.skills.sh/jabrena/plinth/143-java-functional-exception-handling) |
| **MCP Servers** | [Jbang-Quarkus-JDBC](https://github.com/quarkiverse/quarkus-mcp-servers/blob/main/jdbc/README.md) · [MongoDB](https://github.com/mongodb-js/mongodb-mcp-server) · [JavaDocs](https://www.javadocs.dev/mcp) · [Serena-LSP](https://oraios.github.io/serena/01-about/000_intro.html) |
Expand Down
71 changes: 36 additions & 35 deletions docs/2/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Skills & Agents for Java</title>
<title>Plinth</title>
<meta name="author" content="" />
<meta name="description" content="">
<link rel="alternate" type="application/atom+xml" href="../feed.xml" title="Skills & Agents for Java"/>
<link rel="alternate" type="application/atom+xml" href="../feed.xml" title="Plinth"/>

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="../css/bootstrap.min.css">
Expand All @@ -35,7 +35,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">Skills & Agents for Java</a>
<a class="navbar-brand" href="../index.html">Plinth</a>
</div>

<div class="collapse navbar-collapse" id="main-navbar">
Expand Down Expand Up @@ -77,9 +77,9 @@
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Skills & Agents for Java</h1>
<h1>Plinth</h1>
<hr class="small">
<span class="page-subheading">An opinionated AI-native workflow for evolving modern Java Enterprise SDLC practices through reusable Skills, Agents, Commands & MCP servers.</span>
<span class="page-subheading">Plinth is an AI-native engineering toolkit for modern Java enterprise development, powered by Commands, Agents, Skills and MCP Servers.</span>
</div>
</div>
</div>
Expand All @@ -92,9 +92,9 @@ <h1>Skills & Agents for Java</h1>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Skills & Agents for Java</h1>
<h1>Plinth</h1>
<hr class="small">
<span class="page-subheading">An opinionated AI-native workflow for evolving modern Java Enterprise SDLC practices through reusable Skills, Agents, Commands & MCP servers.</span>
<span class="page-subheading">Plinth is an AI-native engineering toolkit for modern Java enterprise development, powered by Commands, Agents, Skills and MCP Servers.</span>
</div>
</div>
</div>
Expand All @@ -114,6 +114,35 @@ <h1>Skills & Agents for Java</h1>
<div class="posts-section">
<h2 class="section-title"><i class="fa fa-rss"></i> Latest Posts</h2>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2026/06/skill-validators-pipeline.html">How to validate skills?</a></h3>

<p class="post-meta">
<i class="fa fa-calendar-o"></i>
2026-06-16
&nbsp;
<i class="fa fa-pencil"></i>
MyRobot
<span class="blog-tags">
&nbsp;
<i class="fa fa-tags"></i>
<a href="../tags/blog.html">blog</a>
<a href="../tags/skills.html">skills</a>
<a href="../tags/security.html">security</a>
<a href="../tags/ci.html">ci</a>
</span>
</p>

<div class="post-entry-container">
<div class="post-entry">
Why validate Skills?
Skills are executable guidance for AI agents. They can include instructions, references, scripts, and workflows that influence how an agent reads files, runs commands, edits code, or reasons about a software delivery process.
That power is useful, but it also means a generated skill should not be treated as ordinary Markdown. A broken document can confuse an agent. A malformed ...
<p></p>
<a href="../blog/2026/06/skill-validators-pipeline.html" class="post-read-more">[Read More]</a>
</div>
</div>
</article>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2026/06/introduction-to-eu-regulations-part-i.html">Introduction to EU regulations Part I</a></h3>

<p class="post-meta">
Expand Down Expand Up @@ -232,34 +261,6 @@ <h3 class="post-title"><a href="../blog/2026/03/release-0.13.0.html">What&apos;s
</div>
</div>
</article>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2026/03/release-0.12.0.html">What&apos;s new in Cursor rules for Java 0.12.0?</a></h3>

<p class="post-meta">
<i class="fa fa-calendar-o"></i>
2026-03-08
&nbsp;
<i class="fa fa-pencil"></i>
Juan Antonio Breña Moral
<span class="blog-tags">
&nbsp;
<i class="fa fa-tags"></i>
<a href="../tags/blog.html">blog</a>
</span>
</p>

<div class="post-entry-container">
<div class="post-entry">
What are Cursor rules for Java?
A curated collection of System prompts &amp; Skills for Java Enterprise development that help software engineers and pipelines in their daily programming work.
Recently, we reached the milestone of 300+ ⭐ on GitHub. Many thanks to the users in Lanzhou, Singapore, Pontiac, Boardman, and Shanghai. 👋👋👋
What's new in this release?
In this release, the project introduc...
<p></p>
<a href="../blog/2026/03/release-0.12.0.html" class="post-read-more">[Read More]</a>
</div>
</div>
</article>
</div>

</div>
Expand Down
72 changes: 35 additions & 37 deletions docs/3/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Skills & Agents for Java</title>
<title>Plinth</title>
<meta name="author" content="" />
<meta name="description" content="">
<link rel="alternate" type="application/atom+xml" href="../feed.xml" title="Skills & Agents for Java"/>
<link rel="alternate" type="application/atom+xml" href="../feed.xml" title="Plinth"/>

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="../css/bootstrap.min.css">
Expand All @@ -35,7 +35,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">Skills & Agents for Java</a>
<a class="navbar-brand" href="../index.html">Plinth</a>
</div>

<div class="collapse navbar-collapse" id="main-navbar">
Expand Down Expand Up @@ -77,9 +77,9 @@
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Skills & Agents for Java</h1>
<h1>Plinth</h1>
<hr class="small">
<span class="page-subheading">An opinionated AI-native workflow for evolving modern Java Enterprise SDLC practices through reusable Skills, Agents, Commands & MCP servers.</span>
<span class="page-subheading">Plinth is an AI-native engineering toolkit for modern Java enterprise development, powered by Commands, Agents, Skills and MCP Servers.</span>
</div>
</div>
</div>
Expand All @@ -92,9 +92,9 @@ <h1>Skills & Agents for Java</h1>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Skills & Agents for Java</h1>
<h1>Plinth</h1>
<hr class="small">
<span class="page-subheading">An opinionated AI-native workflow for evolving modern Java Enterprise SDLC practices through reusable Skills, Agents, Commands & MCP servers.</span>
<span class="page-subheading">Plinth is an AI-native engineering toolkit for modern Java enterprise development, powered by Commands, Agents, Skills and MCP Servers.</span>
</div>
</div>
</div>
Expand All @@ -114,6 +114,34 @@ <h1>Skills & Agents for Java</h1>
<div class="posts-section">
<h2 class="section-title"><i class="fa fa-rss"></i> Latest Posts</h2>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2026/03/release-0.12.0.html">What&apos;s new in Cursor rules for Java 0.12.0?</a></h3>

<p class="post-meta">
<i class="fa fa-calendar-o"></i>
2026-03-08
&nbsp;
<i class="fa fa-pencil"></i>
Juan Antonio Breña Moral
<span class="blog-tags">
&nbsp;
<i class="fa fa-tags"></i>
<a href="../tags/blog.html">blog</a>
</span>
</p>

<div class="post-entry-container">
<div class="post-entry">
What are Cursor rules for Java?
A curated collection of System prompts &amp; Skills for Java Enterprise development that help software engineers and pipelines in their daily programming work.
Recently, we reached the milestone of 300+ ⭐ on GitHub. Many thanks to the users in Lanzhou, Singapore, Pontiac, Boardman, and Shanghai. 👋👋👋
What's new in this release?
In this release, the project introduc...
<p></p>
<a href="../blog/2026/03/release-0.12.0.html" class="post-read-more">[Read More]</a>
</div>
</div>
</article>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2025/11/the-tour-in-europe-2025-is-over.html">The European tour 2025 is over</a></h3>

<p class="post-meta">
Expand Down Expand Up @@ -223,36 +251,6 @@ <h3 class="post-title"><a href="../blog/2025/09/release-0.10.0.html">What&apos;s
</div>
</div>
</article>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2025/07/release-0.9.0.html">What&apos;s new in Cursor rules for Java 0.9.0?</a></h3>

<p class="post-meta">
<i class="fa fa-calendar-o"></i>
2025-07-23
&nbsp;
<i class="fa fa-pencil"></i>
Juan Antonio Breña Moral
<span class="blog-tags">
&nbsp;
<i class="fa fa-tags"></i>
<a href="../tags/blog.html">blog</a>
</span>
</p>

<div class="post-entry-container">
<div class="post-entry">
What are Cursor rules for Java?
Cursor Rules for Java is an Open Source project that provides a set of interactive system prompts for Java that help software engineers in their daily work.

In this new release, the project includes the following features:
Added Version control
Added a new rule about 127-java-functional-exception-handling
Added Consultative Interaction Technique in the majority of R...
<p></p>
<a href="../blog/2025/07/release-0.9.0.html" class="post-read-more">[Read More]</a>
</div>
</div>
</article>
</div>

</div>
Expand Down
Loading