| name | mcp-java-dev-tools-performance-plan-crafter |
| description | Create or update deterministic performance plans (`metadata.json`, `contract.json`, `plan.md`) under `.mcpjvm/.../plans/performance`. Use when authoring workload-centric Java performance-suite Artifacts with required strict line-hit verification. |
MCP JVM Performance Plan Crafter
Use this skill to author or refine a persisted performance plan package before execution.
Execution Mode
This skill must run in two phases:
Research
Craft
Do not skip Research when transport facts, runtime entrypoints, or required Strict Line Key targets are incomplete.
Goal
Produce a deterministic, fail-closed plan package:
.mcpjvm/<project_name>/plans/performance/<performance_name>/metadata.json
.mcpjvm/<project_name>/plans/performance/<performance_name>/contract.json
.mcpjvm/<project_name>/plans/performance/<performance_name>/plan.md
Do not hand-author runs/<run_id>/... Artifacts in this skill.
Portable Source of Truth
Always align with:
references/spec-rules.md
references/authoring-checklist.md
references/templates/metadata.template.json
references/templates/contract.template.json
references/templates/plan.template.md
If user input conflicts with these rules, fail closed and request clarification.
Contract Rules
metadata.execution.intent must be performance.
metadata.suiteType must be performance.
entrypoints[] must contain at least one entry.
observationTargets.requiredLineHits[] must contain at least one Strict Line Key.
loadModel.mode must be concurrency for the current supported contract.
loadModel.concurrency must be positive integer.
loadModel.rampUpSeconds must be integer >= 0.
loadModel.durationSeconds must be positive integer.
successCriteria must define deterministic threshold fields only.
- No hardcoded secrets in any authored Artifact.
- If MSTA is enabled,
analysis.executionTiming and analysis.msta.methodTargets[] must both be valid.
Plan Authoring Workflow
- Research entrypoint and runtime facts
- Collect workload scope
- Define observation targets
- Define entrypoints
- Define load model
- Define success criteria
- Generate
plan.md
- Validate consistency and fail closed on ambiguity
0) Research entrypoint and runtime facts
Before crafting, gather only provable facts from:
- source mappings
- runtime docs/contracts
- explicit user-provided inputs
Do not synthesize route prefixes or runtime targets.
1) Collect workload scope
Capture:
- Performance name (
<performance_name>)
- Runtime/service under test
- Load entrypoint transport facts
- Required
Strict Line Key proof targets
2) Define observation targets
Use Strict Line Key as the canonical identity.
Required fields:
requiredLineHits[]
Optional fields:
optionalLineHits[]
Do not require duplicated className or method fields when the strict line key already defines them.
2a) Define MSTA targets when requested
Use explicit method references only for timing-analysis focus.
Required fields when enabled:
analysis.executionTiming.enabled=true
analysis.executionTiming.provider=async-profiler
analysis.executionTiming.outputFormat=jfr
analysis.msta.enabled=true
analysis.msta.methodTargets[].methodRef
Supported modes:
method_targets
target_plus_path
Do not treat methodTargets[] as a replacement for required strict line verification.
3) Define entrypoints
For each entrypoint, define:
transport.protocol
transport.baseUrl
transport.healthCheckPath when needed
- request method/path/query/body template
The observed Java target may be deeper than the entrypoint. Model them separately.
4) Define load model
Current supported mode:
mode=concurrency
Required fields:
concurrency
rampUpSeconds
durationSeconds
Do not author unsupported modes such as arrival_rate.
5) Define success criteria
Base threshold fields:
maxErrorRatePct
minThroughputPerSec
p95LatencyMs
Only persist deterministic criteria that the executor can evaluate.
6) Generate plan.md
Required sections:
Purpose
Entrypoints
Observation Targets
Load Model
Success Criteria
Expected Outcomes
Required verbs:
Executes
Uses
WaitsFor
Captures
Verifies
7) Validate consistency
Before finalizing, verify:
- metadata and contract compatibility
- at least one required strict line key
- entrypoint facts are deterministic
- load model fields are complete and supported
- success criteria are measurable and deterministic
plan.md semantics match contract.json
- when MSTA is enabled, timing-analysis configuration and method targets are coherent
Required Deliverables Per Craft Request
When user asks to craft a plan, produce or update:
.mcpjvm/<project_name>/plans/performance/<performance_name>/metadata.json
.mcpjvm/<project_name>/plans/performance/<performance_name>/contract.json
.mcpjvm/<project_name>/plans/performance/<performance_name>/plan.md
Fail-Closed Cases
Stop and return deterministic blocked guidance when:
- required
Strict Line Key is missing
- entrypoint transport facts are ambiguous
- load model mode is unsupported
- required load model fields are missing
- thresholds are non-deterministic or unsupported
- user asks to persist secrets
- base URL or path is not proven but required to produce an executable entrypoint
Output Style
When crafting or updating plans, output:
- absolute paths changed
- short summary of entrypoint, required line hits, and load model
- any blocked fields that still need user input