amplicode/spring-skills/spring-explore
Claude Code and agent skill by amplicode/spring-skills
- community
Checking that the SKILL.md file is still in the repository.
Explores a Spring Boot application and builds primary context: tech stack, module structure, domain entities, REST endpoints. Triggers on explicit requests: "explore project", "describe project", "project overview", "what is this project", "project structure", "tech stack", "give me context about the project", or whenever you need to understand the project before starting any task.
Install
npx vskill@latest install amplicode/spring-skills/spring-exploreSKILL.md
Preflight: Spring MCP
This skill is part of the Spring Agent Toolkit and is designed to work with the Spring MCP server (provided by the Amplicode IntelliJ plugin). Before doing anything else, check your tool list for any Spring MCP tool — they are exposed under the amplicode MCP server (e.g. get_project_summary, list_module_dependencies, get_entity_details); harnesses that flatten MCP tools into the tool list use the mcp__amplicode__ prefix on the same names.
- If at least one Amplicode tool is available — MCP is connected. Proceed with the skill below.
- If none are available — stop and invoke the `amplicode-install` skill (bundled with the Spring Agent Toolkit). It installs the Amplicode plugin and walks the user through the «Настроить Spring Agent» welcome-screen button + MCP-client restart. After it completes, the MCP tools become available — resume this skill.
- If
amplicode-installis not registered in your skill list, tell the user (in their language): "This skill needs the Amplicode IntelliJ plugin and its MCP server. Install it from https://amplicode.ru/marketplace into IntelliJ IDEA Ultimate/Community or GigaIDE, open any project, click «Настроить Spring Agent» on the Amplicode welcome screen, then restart your MCP client."
Explore Application
Collects primary project context in steps 0–6. Execute steps sequentially — each one builds on the results of the previous.
Important: if context has already been collected in the current conversation, do not repeat the exploration — use what is already known.
Step 0 — Predict involvement from the user's request
Tell the user: Step 0/6: Analyzing request...
Do NOT call any tools in this step.
Read the user's request and reason about what the implementation likely involves. Without calling any tools, make educated guesses based on naming conventions, domain language, and typical Spring Boot patterns:
- Entities — what domain objects are likely involved? (e.g. "create order" →
Order,OrderItem) - Repositories — which repositories probably exist for those entities?
- Services — what service classes are likely needed?
- Controllers — what REST controllers probably handle this area?
- Other beans/components — mappers, validators, event listeners, configs, etc.
- Files — what non-Java files are likely relevant? (e.g. DB migration scripts,
application.properties, Liquibase changelogs, HTML templates). Do not list Java classes here — they belong to the categories above.
Build a preliminary gap list containing only what is genuinely required:
This prediction drives steps 1–5 — skip anything irrelevant to the task.
Step 1 — Define exploration goal and select paths
Tell the user: Step 1/6: Selecting exploration paths...
Do NOT call any tools in this step.
Read the current conversation context — the user's request, any prior exploration results, remaining gaps — and formulate the key exploration goal in one sentence. Show it to the user:
Using this goal, go through each exploration path below and explicitly decide: include or skip, with a one-line reason. Do this for every path — do not skip the evaluation itself.
Project structure
- Fetch project summary — include if the tech stack, Spring Boot version, or module structure are needed. Skip if the task is narrowly scoped to specific classes.
- Detect persistence stack — include if any entity-touching path below is selected AND the stack (JPA vs JDBC) is not yet known from the conversation. Call
list_module_dependencies: dependency onspring-boot-starter-data-jpa/hibernate→ JPA;spring-boot-starter-data-jdbc/spring-data-jdbc→ JDBC; neither → no supported persistence layer, skip entity-touching paths. - List domain entities — include ONLY if the domain area is completely unknown and you cannot predict which entities are involved. If entities are already named in the request or predictable from context — skip. Do NOT use to get entity structure or resolve FQNs.
- List REST endpoints — include only if you need to check what already exists to avoid duplication or understand conventions. Skip if the request fully defines all endpoints from scratch.
Domain model
- Get entity description — include if entity fields or annotations are needed. Apply only to predicted entities, not all entities. Route by stack: JPA →
get_entity_details, see `references/entity-description.md`; JDBC →get_jdbc_entity_details, see `references/entity-description-jdbc.md`. - Get deep model from entity — include if relationships across multiple entities need to be traversed (e.g. nested resources, cascades). JPA only — for JDBC
get_jdbc_entity_detailsalready returns the full owned-children tree (aggregates) and inverse links (referencedBy); use the DDD path below instead. See `references/deep-model-based-on-jpa.md`. - Get DDD model from entity — include if aggregate boundaries matter (e.g. URL design, cascade planning, DTO shaping). JPA: follow `references/ddd-model-based-on-jpa.md`. JDBC: call
get_jdbc_entity_detailsand readaggregateRootFqn,aggregates,referencedBydirectly — Spring Data JDBC enforces aggregate boundaries at the framework level.
Persistence
- Get entity repositories — include if repositories for predicted entities are unknown or need to be verified. See `references/entity-repositories.md`.
- Get entity components — include if you need a full picture of all components (repositories, services, controllers) for an entity. See `references/entity-components.md`.
Services
- Get entity services — include if services for predicted entities are unknown or need to be verified. See `references/entity-services.md`.
Mappers
- Get entity mappers — include if the task involves DTOs and you need to know what mappers exist. See `references/entity-mappers.md`.
DTOs
- Get entity DTOs — include if you need to know what DTO classes already exist. See `references/entity-dtos.md`.
REST layer
- Get entity controllers — include if you need to find which controllers are associated with an entity. See `references/entity-controllers.md`.
Write out the evaluation explicitly, then produce the final plan from included paths only:
Example — for a request "Add a paginated endpoint returning all orders for a customer with order items and product names":
Step 2 — Load references
Tell the user: Step 2/6: Loading relevant references...
Do NOT call any tools in this step.
Based on the exploration plan from step 1, load only the references needed for the selected paths that have not already been loaded in this conversation. After loading, proceed directly to step 3 — do NOT search files, glob, or explore the project structure manually. All project information must be obtained exclusively via MCP tools in steps 3–5.
| Selected path | Reference to load | |
|---|---|---|
| Get entity description (JPA) | `references/entity-description.md` | |
| Get entity description (JDBC) | `references/entity-description-jdbc.md` | |
| Get deep model from entity | `references/deep-model-based-on-jpa.md` | |
| Get DDD model from entity | `references/ddd-model-based-on-jpa.md` | |
| Get entity repositories | `references/entity-repositories.md` | |
| Get entity components | `references/entity-components.md` | |
| Get entity services | `references/entity-services.md` | |
| Get entity mappers | `references/entity-mappers.md` | |
| Get entity DTOs | `references/entity-dtos.md` | |
| Get entity controllers | `references/entity-controllers.md` |
If none of the paths require references — skip this step and proceed to step 3.
Step 3 — Build unified exploration plan
Tell the user: Step 3/6: Building exploration plan...
Do NOT call any tools in this step.
Using the selected paths from step 1 and the processes described in the loaded references, build a single unified numbered plan of MCP calls to execute in steps 4–5. Each item must be a concrete MCP tool call, not a category name.
Step 4 — Execute exploration plan via subagent
Tell the user: Step 4/6: Executing exploration plan...
Spawn a subagent and pass it the following instructions:
Wait for the subagent to complete and collect all results before proceeding.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/spring-explore/SKILL.md
Popularity
- Repository stars
- 120
- Repository forks
- 14
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 21 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/amplicode/spring-skills/spring-explore)