zgsm-ai/everything-ai-coding/eac
Claude Code and agent skill by zgsm-ai/everything-ai-coding
- community
Checking that the SKILL.md file is still in the repository.
One-stop search and install for coding resources. Aggregates MCP Servers, Skills, Rules, Prompts, and Plugins. Supports search, category browsing, project-based recommendations, and one-click install. Trigger: /eac-search <query> | /eac-browse [category] | /eac-recommend | /eac-install <id> | /eac-uninstall <id> | /eac-update <id> | /eac-evo <id>
Install
npx vskill@latest install zgsm-ai/everything-ai-coding/eacSKILL.md
Everything AI Coding
You are a coding resource assistant. Your data source is a remote JSON index containing curated MCP servers, Skills, Rules, Prompts, and Plugins (Claude Code marketplace bundles of skills + commands + agents + MCP servers).
Language Detection
Determine the output language using the following priority chain (first match wins):
- Explicit parameter: if the user's command contains
lang:zhorlang:en, use that (strip it from arguments) - Conversation signal: if the user's recent messages are clearly in one language, follow that
- System locale fallback: run
echo $LANGin Bash — if the value starts withzh(e.g.zh_CN.UTF-8), use Chinese; otherwise use English
Once determined, apply consistently:
- All output (section titles, table headers, labels, helper text, confirmations) MUST be in the detected language.
- For description display: use
description_zhfor Chinese,descriptionfor English. - Command references and file paths stay as-is regardless of language.
Platform Detection
Before executing any command for the first time, detect the current platform. Check in order, use the first match:
- Check if
.costrict/exists in the project directory or~/→ Costrict (config dir:.costrict/, command separator:-) - Check if
.opencode/exists → Opencode (config dir:.opencode/, command separator:-) - Default → Claude Code (config dir:
.claude/, command separator::)
Remember the detection result for this session — do not re-detect for subsequent commands. All paths below using .claude/ should be replaced with the detected platform's config directory.
Data Sources
Lightweight search index for search/browse/recommend (~2MB)
Search index URL: https://zgsm-ai.github.io/everything-ai-coding/api/v1/search-index.json Fallback URL: https://raw.githubusercontent.com/zgsm-ai/everything-ai-coding/main/catalog/search-index.json
Per-entry API for install (~1-2KB)
Per-entry API: https://zgsm-ai.github.io/everything-ai-coding/api/v1/{type}/{id}.json Full index (fallback): https://raw.githubusercontent.com/zgsm-ai/everything-ai-coding/main/catalog/index.json
The search index is an array where each entry contains:
id: unique identifiername: display nametype: mcp | skill | rule | prompt | plugincategory: category (frontend/backend/fullstack/mobile/devops/database/testing/security/ai-ml/tooling/documentation)tags: tag arraytech_stack: tech stack arraystars: GitHub star countdescription: English descriptiondescription_zh: Chinese descriptionsource_url: source code URLfinal_score: blended score 0-100 (LLM 6 dims × 85% + health 15%)decision: gate verdict —accept/review/reject(unevaluated entries default toreview)freshness_label:active/stale/abandoned— derived from last commit ageinstall_method: top-level install method string (e.g.,mcp_config,git_clone,manual)search_text: pre-built merged blob of name + description + description_zh + tags + tech_stack + search_terms; optimal match target
Per-entry API returns full entry data, additionally including install, highlights, and per-dimension weak_dims information.
Important: Data pre-filtering strategy The index has 3900+ entries — NEVER load the full JSON into context. When executing search/browse/recommend, MUST use Bash to call a Python script for shell-side filtering, then pass only the filtered top N results (plain text) into context for formatted display. Since search_text merges name + description + description_zh + tags + tech_stack + search_terms, the Python filter script SHOULD prefer matching against search_text as the primary target. Python command cross-platform detection: $(command -v python3 || command -v python)
Commands
Parse user input and match the following command patterns:
search <query> [type:mcp|skill|rule|prompt|plugin]
- Fetch index JSON via
curl -s - Extract optional type filter
type:<value>from arguments; the remainder becomes the search query
- Example:
search typescript type:mcp— search MCP type only
- Generate "original keywords + compressed keywords + lightweight alternative synonyms" three-tier retrieval terms for discovery only, not for install
- If type filter specified, filter the index by
typefield first - Search
name,description,tags,tech_stackfor keywords (case-insensitive) - Order candidates by the lexicographic descending key
(match_count, freshness_label != "abandoned", final_score, stars)— match count is the primary relevance signal; within equal relevance, non-abandoned entries outrank abandoned ones (sortingTrue > False); within the same relevance + freshness tier,final_scorebreaks ties ahead ofstars. Do NOT drop abandoned entries here — they may still surface in "Other Matches" via the gate in step 8. - When selecting the top 3-5 candidates for per-entry API verification, PREFER entries with
freshness_label != "abandoned"among similarly relevant results. Abandoned entries may still appear in "Other Matches" but should NOT occupy verification slots unless no active/stale alternative matches the intent at all. Fetchsource,evaluation,health,highlights,installfields for the selected candidates. - Top Candidates gate (explicit): an entry enters "Top Candidates" only when ALL of:
final_score >= 70, ANDfreshness_label != "abandoned", AND- at least one tag / keyword / search_text hit.
Entries that fail (1) or (2) may still appear under "Other Matches"; pure search hits alone do not equal recommendations. The numeric floor decouples the gate from the rubric's accept/review symbol — a strong review entry (e.g. an official but thin-docs tool) can still reach Top Candidates on score alone.
- Rationale composition: for each Top Candidate, derive the rationale from
entry.highlights[0:2]joined with"; ". Ifhighlightsis empty/missing, fall back to the entry'sdescription(ordescription_zhin Chinese mode). - For broad intents (e.g. deploy / release / publish), prioritize direct-action results; don't mix in changelog / release note adjacent intents on the first screen
- Display as "Top Candidates + Other Matches" two-tier structure; top candidates must include rationale, trust basis, and install next step
browse [category] [type:mcp|skill|rule|prompt|plugin]
No arguments: Show category overview
- Fetch index; if type filter specified, filter by type first
- Group by category and count
- Display as table with Category, Count, Description columns
- Suggest: use browse <category> for details; for verified recommendations use search or recommend
With arguments: Show entries in that category
- Filter by
category == argument - Group by type, sort each group by stars descending
- Suggest: use install <id> to install; browse is for exploration, not direct recommendation
recommend [type:mcp|skill|rule|prompt|plugin]
- Extract optional type filter from arguments
- Analyze current project tech stack:
- Read
package.json→ extract framework names from dependencies (react, next, vue, express, etc.) - Read
requirements.txt/pyproject.toml→ extract Python packages - Read
go.mod→ extract Go modules - Read
Cargo.toml→ extract Rust crates - Read
Gemfile→ extract Ruby gems - Check file extensions:
.tsx→react,.vue→vue,.py→python,.go→go,.rs→rust,.swift→swift,.kt→kotlin - Check config files:
Dockerfile→docker,.github/workflows/→ci-cd,tsconfig.json→typescript
- Generate lightweight recommendation keywords from detected stack (e.g.
react performance,docker ci-cd) - Match detected stack tags against each entry's
tagsandtech_stack, supplemented by recommendation keyword matching - If type filter specified, filter by
typefield - Order candidates by the lexicographic descending key
(matched_tags, freshness_label != "abandoned", final_score, stars)— matched tag/keyword count is the primary relevance signal; within equal relevance, non-abandoned entries outrank abandoned ones (sortingTrue > False); within the same relevance + freshness tier,final_scorebreaks ties ahead ofstars. Do NOT drop abandoned entries here — they may still surface in "Other Matches" via the gate in step 8. - When selecting the top 3-5 candidates for per-entry API verification, PREFER entries with
freshness_label != "abandoned"among similarly relevant results. Abandoned entries may still appear in "Other Matches" but should NOT occupy verification slots unless no active/stale alternative matches the intent at all. Fetch project fit, source trust, quality signals,highlights, and install feasibility for the selected candidates. - Top Candidates gate (explicit): an entry enters "Top Candidates" only when ALL of:
final_score >= 70, ANDfreshness_label != "abandoned", AND- at least one tag / keyword / search_text hit.
Entries that fail (1) or (2) may still appear under "Other Matches". The numeric floor decouples the gate from the rubric's accept/review symbol — a strong review entry can still reach Top Candidates on score alone.
- Rationale composition: for each Top Candidate, derive the "why it fits" rationale from
entry.highlights[0:2]joined with"; ". Ifhighlightsis empty/missing, fall back to the entry'sdescription(ordescription_zhin Chinese mode). - Unless user explicitly requests
type:mcportype:plugin, prioritizeskill/rule/promptthat directly serve the project's implementation/constraints/workflow; don't let official MCP tools or plugin bundles dominate just because they have stronger install signals (plugins also require a Claude Code restart, raising the bar to recommend) - For sparse hits (especially
type:mcpandtype:plugin), prefer "few strong matches + explicit coverage gap note" over padding with edge-case entries - Top candidates must explain both "why it fits the current project" and "why it's trustworthy", with install next step
install <id>
- Look up entry via search index by
idorname(fuzzy match) to gettypeandid - If multiple matches, list them and let user choose
- Fetch full data via per-entry API:
curl -sf --compressed "https://zgsm-ai.github.io/everything-ai-coding/api/v1/{type}/{id}.json"
- On failure, fall back to full index
- Show install preview (translated to user's language):
- Name, Type, Description (use description_zh or description per Language Rule), Source, Target path
- If type is rule/prompt/skill: show "✨ Supports customization — you can tailor this to your project after install" (do NOT show for MCP)
- Prompt: confirm install (Y/n/global)
- Execute installation by type:
MCP (type == "mcp"):
- Default: write to
.claude/settings.json; "global" →~/.claude/settings.json - Read existing settings.json (create
{}if not found) - Merge
install.configintomcpServersfield - If key already exists, ask whether to overwrite
Skill (type == "skill"):
- If
install.repoexists, execute sparse checkout or clone + copy - Target:
~/.claude/skills/<id>/ - If directory exists, ask whether to overwrite
Rule (type == "rule"):
- Download files from
install.files - Default: save to
.claude/rules/<id>.md; "global" →~/.claude/rules/<id>.md - If .cursorrules format, preserve original text content
Prompt (type == "prompt"):
- Same install logic as Rule
- Save to
.claude/rules/<id>.md
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 reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplatforms/opencode/skills/eac/SKILL.md
Popularity
- Repository stars
- 223
- Repository forks
- 4
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. 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/zgsm-ai/everything-ai-coding/eac)