Agent skill

Intelliconnect Service Style

by ruanrongman in ruanrongman/IntelliConnect

Create or update IntelliConnect Spring Boot service/serviceimpl code in this repository style.

Apache-2.0Auto-check passedBackend & APIs

Install Intelliconnect Service Style

skills CLI
$ npx skills add ruanrongman/IntelliConnect --skill intelliconnect-service-style -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruanrongman/IntelliConnect intelliconnect-service-style --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruanrongman/IntelliConnect.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/intelliconnect-service-style .claude/skills/intelliconnect-service-style && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
intelliconnect-service-style
GitHub stars
147
Token cost
~2.4k tokens
SKILL.md length
796 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create or update IntelliConnect Spring Boot service/serviceimpl code in this repository style.

  • Works in 10 steps: Read existing nearby examples before… → Prefer the existing repository/service… → Add or update the request DTO in… → …
  • Adding backend services
  • SKILL.md covers Workflow, Service Interface Pattern, Implementation Pattern and Collection Style, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Intelliconnect Service Style is an agent skill from ruanrongman/IntelliConnect. Create or update IntelliConnect Spring Boot service/serviceimpl code in this repository style. Use when adding backend services, service implementations, request DTOs, repository methods, CRUD methods, token-filtered get methods, SafetyService-bound permission boundaries, duplicate checks, dependency checks before delete, or Java compile verification for IntelliConnect. Also use when deciding whether a delete should fail on dependencies or cascade-delete related tables.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Backend development, MCP servers and Embedded systems. It works with Java, Spring Boot, Model Context Protocol and ESP32. The repository describes itself as: 本项目为xiaozhi-esp32提供后端服务 | A Powerful AI agent IoT platform core. The licence is Apache-2.0.

When your agent uses it

  • Adding backend services
  • Service implementations
  • Repository methods
  • Token-filtered get methods

Example prompts

  • “/intelliconnect-service-style”

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Read existing nearby examples before editing
  2. Prefer the existing repository/service naming style over new abstractions.
  3. Add or update the request DTO in top.rslly.iot.param.request when the service method accepts input from controller code.
  4. Add derived Spring Data repository methods for simple lookups and pageable queries.
  5. Use database-backed pagination for paged APIs; do not manually paginate non-empty lists in the service.
  6. Use streams for simple collection projection, but avoid repeated repository calls and mutation-heavy stream code.
  7. Keep controller permission checks outside mutating service methods when the repository pattern already uses SafetyServiceImpl wrappers.
  8. Before implementing any delete path, inspect all related tables/repositories and decide whether the correct behavior is dependency failure…
  9. If the dependency policy is not already obvious from nearby code, ask the user whether to return HAS_DEPENDENCIES or delete related…
  10. Compile with JDK 21 after edits

What it can do on your machine

Read from SKILL.md and the folder at commit e7d6403. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are java and powershell).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Intelliconnect Service Style loads about 2.4k tokens when it runs. Until then it costs about 126 tokens; SKILL.md has 796 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~126
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruanrongman/IntelliConnect at commit e7d6403, republished under its Apache-2.0 licence (© ruanrongman). 796 words, ~2,352 tokens.

Download SKILL.mdSave it as .claude/skills/intelliconnect-service-style/SKILL.md (or your agent's skills folder).
name
intelliconnect-service-style
description
Create or update IntelliConnect Spring Boot service/serviceimpl code in this repository style. Use when adding backend services, service implementations, request DTOs, repository methods, CRUD methods, token-filtered get methods, SafetyService-bound permission boundaries, duplicate checks, dependency checks before delete, or Java compile verification for IntelliConnect. Also use when deciding whether a delete should fail on dependencies or cascade-delete related tables.

IntelliConnect Service Style

Use this skill when implementing backend service/serviceimpl code in IntelliConnect. Prefer PUT/update flows that identify the target row by id.

Workflow

  1. Read existing nearby examples before editing:
    • src/main/java/top/rslly/iot/services/agent/*ServiceImpl.java
    • src/main/java/top/rslly/iot/services/thingsModel/*ServiceImpl.java
    • matching dao/, models/, and param/request/ files.
  2. Prefer the existing repository/service naming style over new abstractions.
  3. Add or update the request DTO in top.rslly.iot.param.request when the service method accepts input from controller code.
  4. Add derived Spring Data repository methods for simple lookups and pageable queries.
  5. Use database-backed pagination for paged APIs; do not manually paginate non-empty lists in the service.
  6. Use streams for simple collection projection, but avoid repeated repository calls and mutation-heavy stream code.
  7. Keep controller permission checks outside mutating service methods when the repository pattern already uses SafetyServiceImpl wrappers.
  8. Before implementing any delete path, inspect all related tables/repositories and decide whether the correct behavior is dependency failure or cascade delete.
  9. If the dependency policy is not already obvious from nearby code, ask the user whether to return HAS_DEPENDENCIES or delete related records too.
  10. Compile with JDK 21 after edits:
powershell
$env:JAVA_HOME='C:\Users\Lenovo\.jdks\ms-21.0.9'; $env:Path="$env:JAVA_HOME\bin;$env:Path"; .\mvnw.cmd -q -DskipTests compile

Service Interface Pattern

Use interfaces under the same service package as the implementation.

Common method shape:

java
List<Entity> findAllById(int id);

List<Entity> findAllByProductId(int productId);

JsonResult<?> getThing(String token);

JsonResult<?> postThing(ThingParam param);

JsonResult<?> updateThing(ThingParam param);

JsonResult<?> deleteThing(int id);

Use String token for list getters that need user-specific filtering. Do not pass token into post, update, or delete when controller/SafetyService will authorize the operation before calling the service.

Implementation Pattern

Use @Service, @Resource, @Transactional(rollbackFor = Exception.class), JsonResult<?>, ResultTool, and ResultCode to match the repo.

For get... (String token), keep the whole role-based flow in one method, like other impls:

java
String tokenDeal = token.replace(JwtTokenUtil.TOKEN_PREFIX, "");
String role = JwtTokenUtil.getUserRole(tokenDeal);
String username = JwtTokenUtil.getUsername(tokenDeal);
List<Entity> result;
if (role.equals("ROLE_" + "wx_user")) {
  if (wxUserRepository.findAllByName(username).isEmpty()) {
    return ResultTool.fail(ResultCode.COMMON_FAIL);
  }
  // collect records through wx product binds
} else if (!role.equals("[ROLE_admin]")) {
  if (userRepository.findAllByUsername(username).isEmpty()) {
    return ResultTool.fail(ResultCode.COMMON_FAIL);
  }
  // collect records through user product binds
} else {
  result = repository.findAll();
}
if (result.isEmpty()) {
  return ResultTool.fail(ResultCode.COMMON_FAIL);
} else
  return ResultTool.success(result);

Do not split this into a helper unless the surrounding codebase already does so for the same type of service. Do not return null; return ResultTool.fail(ResultCode.COMMON_FAIL).

Collection Style

Use streams for simple one-step projections from repository results, especially when extracting ids for scoped queries:

java
List<Integer> productIdList = userProductBindRepository.findAllByUserId(userId)
    .stream()
    .map(UserProductBindEntity::getProductId)
    .toList();

Prefer .toList() on Java 21 when the result is only passed to another method or returned. Use new ArrayList<>(...) or collect(Collectors.toList()) only when later code must mutate the list.

Do not use streams for code that needs side effects, complex branching, or repository calls per item. Prefer one repository query returning all needed rows, then a simple map(...).toList() if only a field is needed.

Avoid duplicate repository calls. Store the result list once before checking it:

java
List<WxUserEntity> wxUserEntityList = wxUserRepository.findAllByName(username);
if (wxUserEntityList.isEmpty()) {
  return ResultTool.fail(ResultCode.COMMON_FAIL);
}
String appid = wxUserEntityList.getFirst().getAppid();

Pagination Pattern

For paged APIs, use Spring Data Pageable/Page and push pagination into the repository/database. Do not manually page non-empty data with List.subList(...), stream skip/limit, loops, or in-memory sorting in the service.

Controller methods should accept pageNum and pageSize with @Min(1) validation, then pass them to the service. Services should build PageRequest.of(pageNum - 1, pageSize, Sort.by(...)) and call a repository method returning Page<Entity>.

Use derived repository methods for scoped paging, including permission-filtered ID lists:

java
Page<ProductEntity> findAllByIdIn(List<Integer> ids, Pageable pageable);

If there are no authorized ids, returning new PageImpl<>(List.of(), pageable, 0) is acceptable. Do not use PageImpl to wrap a manually sliced non-empty result list when a repository query can page it.

For permission-filtered pagination, first collect the authorized ids with simple stream projection, then pass the ids to a pageable repository method. If the id list is empty, return an empty page instead of querying with IN ().

java
List<Integer> productIdList = wxProductBindRepository.findAllByAppidAndOpenid(appid, openid)
    .stream()
    .map(WxProductBindEntity::getProductId)
    .toList();
Page<ProductEntity> result = productIdList.isEmpty() ? emptyProductPage(pageable)
    : productRepository.findAllByIdIn(productIdList, pageable);
Show full SKILL.md (278 more words)Show less

Mutation Rules

For post:

  • Validate required fields and referenced records such as productId.
  • If the controller already uses @Valid, do not duplicate DTO null/blank checks in the service.
  • Normalize strings with trim() before duplicate checks and saving.
  • Check duplicates before saving.
  • Return ResultTool.fail(ResultCode.PARAM_NOT_VALID) for missing/invalid parameters.
  • Return ResultTool.fail(ResultCode.COMMON_FAIL) for duplicate business records unless the local service uses a more specific result code.

For update:

  • Prefer id-based updates for PUT: require id, load the existing entity first, and fail with PARAM_NOT_VALID when missing.
  • Do not design new PUT flows around natural keys unless the user explicitly asks for that exception.
  • Check duplicate conflicts while excluding the current id.
  • Update only intended fields and save the existing entity.

For delete:

  • Load by id first; fail with PARAM_NOT_VALID when missing.
  • Check dependent records before deleting.
  • If related tables should block deletion, use ResultCode.HAS_DEPENDENCIES.
  • If related tables should be removed too, delete them in the same transaction before deleting the parent row.
  • When the dependency policy is unclear, ask the user before coding the delete path.
  • Return the repository delete result through ResultTool.success(result).

Duplicate Checks

Use the business key the user specifies, including scope fields such as productId.

Example for scoped uniqueness:

java
List<Entity> duplicateList =
    repository.findAllByProductIdAndPairCodeAndAgentType(productId, pairCode, agentType);
for (Entity duplicate : duplicateList) {
  if (!duplicate.getId().equals(param.getId())) {
    return ResultTool.fail(ResultCode.COMMON_FAIL);
  }
}

When adding repository methods, prefer Spring Data derived names:

java
List<Entity> findAllByProductIdAndPairCodeAndAgentType(Integer productId,
    String pairCode, String agentType);

Request DTO Pattern

Use Lombok getters/setters or @Data, and Jakarta validation annotations already used in the repo.

java
@Getter
@Setter
public class ThingParam {
  private Integer id;

  @NotBlank(message = "name 不能为空")
  @Size(min = 1, max = 255, message = "name 长度必须在 1 到 255 之间")
  private String name;

  @NotNull(message = "productId 不能为空")
  private Integer productId;
}

Use Integer for optional id and nullable request fields that need @NotNull.

Safety Boundary

If controller code will wrap calls with SafetyServiceImpl, keep service mutation methods focused on business invariants, not permission checks.

Expected controller shape:

java
if (!safetyService.controlAuthorizeProduct(header, param.getProductId()))
  return ResultTool.fail(ResultCode.NO_PERMISSION);
return thingService.postThing(param);

For delete/update by id, add a SafetyServiceImpl authorization helper only when controller integration is part of the task.

© ruanrongman, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .codex/skills/intelliconnect-service-style of ruanrongman/IntelliConnect.

Open the folder on GitHubat commit e7d6403

Compare with similar skills

Intelliconnect Service Style next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Intelliconnect Service Style compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Intelliconnect Service Style this skillruanrongman/IntelliConnect147—~2.4kAutomated safety check: PassApache-2.0
MCP Serverrrezartprebreza/spring-boot-skills301—~1.1kAutomated safety check: PassMIT
MCP Serverrrezartprebreza/spring-boot-skills301—~1.3kAutomated safety check: PassMIT
Java MCP Server Generatorgithub/awesome-copilot40k1 repos~5.5kAutomated safety check: PassMIT
Java Coding StandardsSnailclimb/AIGuide675—~1kAutomated safety check: PassNone
Solon Development Skillopensolon/soloncode197—~1.8kAutomated safety check: PassMIT

Similar skills

  • MCP Server

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when exposing Spring Boot 3 application capabilities through Model Context Protocol tools, resources, or prompts.

    301 GitHub stars~1.1k tokensUpdated 20 days ago
    Backend & APIsAuto-check passed
  • MCP Server

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when exposing Spring Boot 4 application capabilities through Model Context Protocol tools, resources, or prompts.

    301 GitHub stars~1.3k tokensUpdated 20 days ago
    Backend & APIsAuto-check passed
  • Java MCP Server Generator

    github/awesome-copilot

    Official

    Generate a complete Model Context Protocol server project in Java using the official MCP Java SDK with reactive streams and optional Spring Boot integration.

    40k GitHub starsUsed in 1 repo~5.5k tokens
    Agent WorkflowsAuto-check passed
  • Java Coding Standards

    Snailclimb/AIGuide

    Java/Spring Boot 编码规范:用于编写、审查、重构和讲解 Java 代码。适用于 Java 风格、Spring Boot 架构、Controller/Service/Manager/DAO 分层、API 边界、Entity/VO/Form/DTO/BO 设计、MyBatis/MyBatis-Plus 持久化、事务、异常、日志、安全、性能、测试和 Java 代码评审等场景。默认结合…

    675 GitHub stars~1k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed
  • Solon Development Skill

    opensolon/soloncode

    Solon Java framework expert (NOT Spring). An agent skill from opensolon/soloncode.

    197 GitHub stars~1.8k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Spring Explore

    Amplicode/spring-skills

    Explores a Spring Boot application and builds primary context: tech stack, module structure, domain entities, REST endpoints.

    128 GitHub stars~4.1k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed

Categories

Questions about Intelliconnect Service Style

What does Intelliconnect Service Style do?

Create or update IntelliConnect Spring Boot service/serviceimpl code in this repository style. Intelliconnect Service Style is an agent skill from ruanrongman/IntelliConnect. Create or update IntelliConnect Spring Boot service/serviceimpl code in this repository style.

When should I use Intelliconnect Service Style?

Intelliconnect Service Style fits situations like: adding backend services; service implementations; repository methods; token-filtered get methods.

How do I install Intelliconnect Service Style in Claude Code?

Run `npx skills add ruanrongman/IntelliConnect --skill intelliconnect-service-style -a claude-code`. Or copy the skill folder (.codex/skills/intelliconnect-service-style in ruanrongman/IntelliConnect) into .claude/skills/intelliconnect-service-style in your project. Claude Code loads it when a task matches its description.

How do I install Intelliconnect Service Style in Codex?

Run `npx skills add ruanrongman/IntelliConnect --skill intelliconnect-service-style -a codex`. Or copy the skill folder (.codex/skills/intelliconnect-service-style in ruanrongman/IntelliConnect) into .agents/skills/intelliconnect-service-style in your project. Codex loads it when a task matches its description.

Can I use Intelliconnect Service Style in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruanrongman/IntelliConnect --skill intelliconnect-service-style -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/intelliconnect-service-style, .gemini/skills/intelliconnect-service-style, .github/skills/intelliconnect-service-style and .opencode/skills/intelliconnect-service-style in your project.

What does Intelliconnect Service Style need to run?

SKILL.md names no scripts, command-line tools or credentials: Intelliconnect Service Style is instructions for the agent only.

Does Intelliconnect Service Style access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Intelliconnect Service Style safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Intelliconnect Service Style use?

Intelliconnect Service Style is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Intelliconnect Service Style use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Intelliconnect Service Style?

Skills that share tags, products or a category with Intelliconnect Service Style: MCP Server (rrezartprebreza/spring-boot-skills, 301 stars), MCP Server (rrezartprebreza/spring-boot-skills, 301 stars), Java MCP Server Generator (github/awesome-copilot, 40k stars) and Java Coding Standards (Snailclimb/AIGuide, 675 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Intelliconnect Service Style?

ruanrongman (a GitHub user) maintains it in ruanrongman/IntelliConnect, which has 147 GitHub stars. The repository was last updated on October 7, 2026.

Source: ruanrongman/IntelliConnect on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.