tangcent/easy-yapi/easy-yapi-assistant
Claude Code and agent skill by tangcent/easy-yapi
- community
Checking that the SKILL.md file is still in the repository.
Help author EasyYapi rule files (.easyapi/ folder). Invoke when the user is editing an EasyYapi rule file or asks to add/modify EasyYapi rules (annotations, field rename, custom headers, etc.).
Install
npx vskill@latest install tangcent/easy-yapi/easy-yapi-assistantSKILL.md
EasyYapi Rule Authoring Assistant
This skill is the external mirror of EasyYapi's built-in rule-authoring agent. It helps you write or modify EasyYapi rule files (.rules / .properties files in .easyapi/) that the EasyYapi IntelliJ plugin reads to customise API export (YApi/Postman/Markdown), field naming, annotations, and more.
It runs the same perceive → reason → act loop as the built-in agent and exposes the same capability surface: the same rule guide and key catalog, and CLI equivalents of every built-in perception tool. The only difference is how each capability is delivered — the built-in agent calls IntelliJ PSI tools; you read files and search the codebase directly.
When to Use
Invoke this skill when:
- The user opens or edits any file in the project's
.easyapi/folder or
the global ~/.easyapi/ folder.
- The user asks to "add a rule", "rename a field", "ignore a class", "add a
header to every POST", etc. in the EasyYapi context.
- The user mentions
easy.api,EasyApi,EasyYapi, oreasyapiin a request about
config or rule authoring.
Bundled Knowledge Base (read these first — they ARE the built-in agent's docs)
This skill ships mirrors of the in-plugin agent's authoritative sources, kept in sync by Gradle tasks in the easy-yapi repo. Run `./gradlew syncSkill` to refresh all four mirrors in one command (it aggregates syncKnowledgeBase, syncAgentCatalog, syncRuleKeySchemes, and syncRuleContexts):
- `docs/` — the long-form knowledge-base pages the plugin bundles for its
built-in agent's get_plugin_doc tool. Kept in sync by the syncKnowledgeBase Gradle task.
- `ai/detection/` + `ai/key-guides/` — the per-detection / per-key guide
catalog the in-plugin agent loads via PromptCatalog (the same files get_detection_prompt and get_rule_detail read at runtime). Kept in sync by the syncAgentCatalog Gradle task.
- `rule-keys.json` + `rule-keys.md` — the auto-generated rule-key
scheme catalog. RuleKeySchemeExporter reflects every *RuleKeys object (general + channel + framework) and the implicit keys, and emits the full self-describing scheme of each key — the same information the in-plugin agent gets from its list_rule_keys tool. Regenerated by the syncRuleKeySchemes Gradle task, so any key added to a `*RuleKeys` object is picked up automatically (a brand-new channel/framework must be registered in RuleKeyCatalog.SOURCES).
- `rule-contexts.json` + `rule-contexts.md` — the auto-generated
script-context mirror of the in-plugin get_rule_context tool. RuleContextExporter reuses the exact same key assembly (so it covers rule keys and the implicit keys read via configReader.getFirst — one interface, the same one the built-in agent sees) and, per key, reflects the runtime bindings + script-object method signatures. Regenerated by the syncRuleContexts Gradle task.
All mirrors are content-equality-checked and idempotent, so the rule content the built-in and external agents produce is identical. Always read the relevant page first — do not rely on memory or guess syntax.
| Bundled file | Built-in get_plugin_doc name | What it covers | |
|---|---|---|---|
docs/rule-guide.md | rule-guide | The source of truth. Rule file format, filter syntax, expression prefixes, Groovy binding reference, recipes, the Custom-Pattern Catalog, and the Workflow-Pattern Catalog (cross-endpoint auth/signing/refresh recipes). | |
docs/index.md | index | Knowledge-base index / topic map. | |
docs/README.md | overview | Overview of EasyYapi concepts. | |
docs/settings-guide.md | settings-guide | Plugin settings reference. | |
docs/usage-guide.md | usage-guide | Usage guidance. | |
docs/postman-script-reference.md | postman-script-reference | Postman-compatible pm.* Groovy scripting (pre-request / post-response only). | |
rule-keys.md | (built-in `list_rule_keys` tool) | Complete rule-key catalog, auto-generated from every key's self-describing scheme (full scheme in rule-keys.json). | |
rule-contexts.md | (built-in `get_rule_context` tool) | Per-key script-context (bindings + callable script-object method signatures), auto-generated by reflecting the same rule keys. Fetch one key with scripts/get_key_context.sh. | |
tools.md | (built-in tool registries) | Auto-generated inventory of every AI tool: name, kind (perception/action), approval, timeout, implementation class, the registry it belongs to (standardRuleTools() / orchestratorToolRegistry() / subAgentToolRegistry()), and which tools have a bundled CLI mirror. | |
locales.md | (built-in `BundledLanguageTemplates`) | Auto-generated list of bundled Markdown-template locales for markdown.template.language. | |
extensions.md | (built-in `plugin.xml`) | Auto-generated extension-point declarations + every registered implementation class — the full EP wiring overview. |
All generated files (rule-keys.*, rule-contexts.*, tools.md, locales.md, extensions.md) are refreshed by ./gradlew syncSkill and must never be edited by hand.
Toolset — CLI mirrors of the built-in agent tools
The mechanical inventory of the built-in tools (name, kind, approval,timeout, description, registry membership, which have a CLI mirror) isgenerated — see `tools.md`. The tables below add theemulation guidance: how to achieve each tool's job with your ownfile/rgcapabilities, which is not derivable from code.
The built-in agent has a fixed set of perception/action tools. You provide equivalent capability by reading files and searching the codebase. Use the mapping below so your workflow tracks the built-in agent's.
EasyYapi-domain tools (bundled as scripts/)
These mirror the EasyYapi-specific perception tools. Run them from the project root (the CWD when the assistant is invoked). They auto-detect the project root and ~/.easyapi/ so you never hard-code paths.
| Built-in tool | Your equivalent | What it does | |
|---|---|---|---|
list_rule_keys | Read bundled rule-keys.json / rule-keys.md | Lists every supported rule key with its full self-describing scheme (auto-generated). | |
get_plugin_doc | Read the bundled *.md pages above | Reads a knowledge-base page. | |
read_rule_file | scripts/read_rule_file.sh <name> | Reads a rule file by name. Supports global: / project: scope prefixes. Resolves against tracked .easyapi/ dirs — never guesses home paths. | |
get_existing_rules_for_key | scripts/get_existing_rules_for_key.sh <key> [<key>...] | Finds all configured values for a key across project + global rule files. Prints file:line: <line content> so you can reason about precedence. |
Usage examples:
Catalog recipe tools (mirrors of in-plugin get_detection_prompt / get_rule_detail)
The built-in agent's decomposed prompt catalog (Phase A of the in-plugin agent) lives under src/main/resources/ai/{detection,key-guides}/ in the easy-yapi repo. This skill ships a verbatim copy under ai/{detection,key-guides}/ next to SKILL.md, kept in sync by the syncAgentCatalog Gradle task. CLI scripts mirror the in-plugin perception tools that read that catalog — same id space, same body content, same error shape — so your workflow tracks the in-plugin agent's exactly.
Key discovery now goes through rule-keys.md (the auto-generated full catalog, mirror of the in-plugin list_rule_keys tool): it lists every supported rule key — including the implicit keys with no RuleKey constant — with its full self-describing scheme. The key-guide index (which keys carry a per-key guide file) is folded into get_key_guide.sh --list.
| Built-in tool | Your equivalent | What it does | |
|---|---|---|---|
get_detection_prompt | scripts/get_detection_prompt.sh <id> | Fetches the full detection recipe for one detection family by id (e.g. spring-filters-interceptors, static-auth). Strips the YAML front-matter; prints the markdown body. Unknown id → error: unknown detection id: <id> on stderr, exit 1. | |
get_rule_detail (by-key path) | scripts/get_key_guide.sh <key> | Fetches the full per-key guide by rule key (e.g. postman.test, method.additional.header). Strips the YAML front-matter; prints the body. --list lists every key that has a guide. Unknown key → error: unknown rule key: <key> on stderr, exit 1. | |
list_rule_keys | rule-keys.md / rule-keys.json | Lists every supported rule key with its full self-describing scheme (auto-generated). | |
get_rule_context | scripts/get_key_context.sh <key> | Fetches the runtime script-context for one rule key (auto-generated mirror): the key's execution mode, per-key bindings, and the full callable script-object method signatures (it/request/response/api/…). Unknown key → error: unknown rule key: <key> on stderr, exit 1. | |
SystemPromptBuilder.indexMessage("detection") | scripts/list_detections.sh | Lists every detection family: id — title: cue per file (lexicographic by filename). | |
SystemPromptBuilder.indexMessage("key-guides") | scripts/get_key_guide.sh --list | Lists every per-key guide: key — title: cue per file. Complements (does NOT replace) rule-keys.md, which lists every supported rule key including those without a per-key guide file. |
Usage examples:
Catalog recipe access priority (mirrors the in-plugin agent's agent-base.md): for a detection-family question, the preferred first stop is scripts/get_detection_prompt.sh <id>; for a per-key guide question, the preferred first stop is scripts/get_key_guide.sh <key>. The long-form docs/rule-guide.md stays the reference for cross-cutting context (Workflow Patterns, Multi-Application Namespace, the full filter-prefix table). Memory is never a substitute for the catalog — always read the guide before drafting.
General codebase-perception tools (your file/grep capabilities)
The built-in agent has PSI tools to inspect source. You use file reads + rg/grep instead. rg is assumed available (it ships with most AI coding assistants); fall back to grep -rn if it isn't.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 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/easy-yapi-assistant/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
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/tangcent/easy-yapi/easy-yapi-assistant)