back
loading skill details...
面向个人开发者的JavaScript代码风格指南,涵盖核心规则与基础代码审查能力。
---
name: "javascript-skills-tool-free"
description: "面向个人开发者的JavaScript代码风格指南,涵盖核心规则与基础代码审查能力。"
license: Proprietary
allowed-tools: read exec
compatibility: "Requires LLM with tool-use capability"
metadata:
displayName: "JavaScript规范工具(免费版)"
version: "1.0.0"
summary: "面向个人开发者的JavaScript代码风格指南,涵盖核心规则与基础代码审查能力。"
tags:
- "Development"
- "Frontend"
- "JavaScript"
- "代码规范"
source: "SkillHub"
converted_at: "2026-07-22T17:58:36"
---
# JavaScript规范工具(免费版)
## 概述
JavaScript规范工具(免费版)面向个人开发者,提供经过提炼的JavaScript代码风格指南。当你在请求中提及 JavaScript 或前端编码相关内容时,本工具会自动激活,为你输出符合业界主流规范的代码、给出风格纠正建议,并解释每条规则背后的原因。
本版本聚焦于日常编码中最常用的核心规则集,适合个人项目、学习场景与快速自查。如需团队级规范、性能优化与自动化集成能力,请升级至 PRO 版本。
## 核心能力
| 能力 | 说明 |
| --- | --- |
| 风格规则指导 | 覆盖引用、对象、数组、函数、箭头函数、字符串等核心规则 |
| 代码生成 | 输出符合规范的JavaScript代码片段 |
| 基础代码审查 | 识别常见风格问题并给出修正建议 |
| 命名约定 | 提供camelCase / PascalCase / 常量命名指引 |
**技术实现要点**:核心能力基于`input_params`参数与`output_format`配置实现,支持创建/查询/修改/删除等操作模式,通过`config_options`进行运行时配置。
### 核心功能执行
用`input_params`参数进行配置。
**输入**: 用户提供核心功能执行所需的指令和必要参数。
**处理**: 按照skill规范执行核心功能执行操作,遵循单一意图原则。
**输出**: 返回核心功能执行的执行结果,包含操作状态和输出数据。
- 执行此能力时使用`input_params`参数,支持创建/查询/导出操作
### 参数配置与调用
用`config_options`参数进行配置。
**输入**: 用户提供参数配置与调用所需的指令和必要参数。
**处理**: 按照skill规范执行参数配置与调用操作,遵循单一意图原则。
**输出**: 返回参数配置与调用的执行结果,包含操作状态和输出数据。
- 执行此能力时使用`config_options`参数,支持修改/重置/导入操作
### 结果处理与输出
用`output_format`参数进行配置。
**输入**: 用户提供结果处理与输出所需的指令和必要参数。
**处理**: 按照skill规范执行结果处理与输出操作,遵循单一意图原则。
**输出**: 返回结果处理与输出的执行结果,包含操作状态和输出数据。
- 执行此能力时使用`output_format`参数,支持导出/保存/转换操作
**能力覆盖范围**:本skill的核心能力覆盖以下场景关键词:面向个人开发者的、代码风格指南、涵盖核心规则与基、础代码审查能力、规范工具、免费版、为个人开发者提供、基础而实用的、代码风格指导、涵盖对象、字符串等核心语法、提供基础代码审查、与风格纠正建议、输出符合主流规范等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
## 使用场景
### 场景一:个人项目快速编写工具函数
用户希望生成一个深拷贝对象的工具函数,工具会输出符合规范的实现。
```javascript
/**
* 深拷贝一个普通对象或数组,优先使用结构化克隆。
* 在不支持 structuredClone 的环境中回退到 JSON 序列化。
*
* @param {Object|Array} source - 待克隆的值。
* @returns {Object|Array} source 的深拷贝。
*/
function deepClone(source) {
if (typeof structuredClone === 'function') {
return structuredClone(source);
}
return JSON.parse(JSON.stringify(source));
}
export default deepClone;
```
### 场景二:代码风格自查与修正
用户粘贴一段使用 `var` 和函数声明的旧代码,工具指出问题并给出符合规范的版本。
```javascript
// 修正前
var count = 1;
var items = new Array();
// 修正后
const count = 1;
const items = [];
```
### 场景三:学习ES模块与解构语法
用户询问如何正确使用解构与模块导入,工具给出标准示例。
```javascript
// 对象解构
function getFullName({ firstName, lastName }) {
return `${firstName} ${lastName}`;
}
// 数组解构
const [first, , third] = [1, 2, 3];
// ES 模块
import { fetchData } from './utils';
export default fetchData;
```
## 不适用场景
以下场景JavaScript规范工具(免费版)不适合处理:
- 无明确技术栈的模糊需求
- 纯架构设计决策
- 运维部署管理
## 触发条件
需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于非本工具能力范围的需求。
## 快速开始
本工具为基于Markdown指令的Prompt Skill,无需安装额外依赖。
1. 在请求中提及 JavaScript 即可自动激活。
2. 直接描述需求,例如:"写一个处理表单校验的 JavaScript 模块"。
3. 粘贴代码请求审查,例如:"审查这段 JavaScript 代码的风格问题"。
```text
用户: 如何在 JavaScript 中正确声明变量?
工具: 使用 const 声明不会被重新赋值的引用,使用 let 声明需要重新赋值的引用,避免使用 var。
```
**结果处理**: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
## 示例
### 基础ESLint配置(个人项目)
```javascript
// .eslintrc.js
module.exports = {
env: {
browser: true,
es2022: true,
},
extends: ['eslint:recommended'],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
'no-var': 'error',
'prefer-const': 'error',
'eqeqeq': ['error', 'always'],
'no-unused-vars': 'warn',
},
};
```
### Prettier基础格式化
```json
{
"singleQuote": true,
"semi": true,
"tabWidth": 2,
"trailingComma": "all",
"printWidth": 80
}
```
## 最佳实践
### 1. 引用声明
使用 `const` 为主,`let` 为辅,杜绝 `var`。
```javascript
// 推荐
const count = 1;
let mutableValue = 1;
mutableValue += 1;
// 不推荐
var count = 1;
```
### 2. 对象与数组字面量
使用字面量语法创建对象与数组,避免使用构造函数。
```javascript
// 推荐
const item = {};
const items = [];
// 不推荐
const item = new Object();
const items = new Array();
```
### 3. 箭头函数
匿名函数优先使用箭头函数,单表达式可省略大括号与 `return`。
```javascript
// 推荐
[1, 2, 3].map((x) => x * 2);
[1, 2, 3].map((x) => {
const y = x + 1;
return x * y;
});
```
### 4. 字符串
单引号 `''` 用于普通字符串,模板字符串用于插值与多行。
```javascript
// 推荐
const name = 'Alice';
const greeting = `Hello, ${name}!`;
```
### 5. 解构
访问对象多个属性或函数多返回值时使用解构。
```javascript
// 推荐
function getFullName({ firstName, lastName }) {
return `${firstName} ${lastName}`;
}
const { left, top } = processInput(input);
```
### 6. 命名约定
| 类型 | 约定 | 示例 |
| --- | --- | --- |
| 变量与函数 | camelCase | `calculateTotal` |
| 类与构造函数 | PascalCase | `class User {}` |
| 常量 | UPPERCASE_SNAKE_CASE | `MAX_RETRY_COUNT` |
### 7. 比较运算
使用 `===` 与 `!==`,避免隐式类型转换。
```javascript
// 推荐
if (name !== '') { /* ... */ }
if (collection.length > 0) { /* ... */ }
// 不推荐
if (name != '') { /* ... */ }
```
### 8. 模块导入
统一使用 ES 模块,导入语句置于文件顶部。
```javascript
// 推荐
import { fetchData } from './utils';
import {
longNameA,
longNameB,
} from 'path/to/module';
export default fetchData;
```
## 常见问题
### Q1:免费版支持哪些规则?
免费版涵盖引用、对象、数组、解构、字符串、函数、箭头函数、类与构造函数、模块、命名约定、比较运算、块与控制语句、注释与空白、逗号与分号、类型转换、可选链与空值合并等核心规则集。
### Q2:免费版是否支持TypeScript?
本工具主要面向 JavaScript 规范,对 TypeScript 提供基础兼容建议,深度 TypeScript 规范请使用 PRO 版本或专用工具。
### Q3:如何让工具审查我粘贴的代码?
直接在请求中粘贴代码并说明"审查这段 JavaScript 代码的风格问题",工具会逐项给出修正建议。
### Q4:免费版与PRO版的主要差异?
| 维度 | 免费版 | PRO版 |
| --- | --- | --- |
| 规则覆盖 | 核心规则集 | 全量规则 + 性能优化 + 安全审查 |
| 适用对象 | 个人开发者 | 团队与企业 |
| 自动化集成 | 基础配置示例 | CI/CD + 预提交钩子 + 自定义规则 |
| 异步最佳实践 | 基础 async/await | 完整并发模型与错误链路 |
| 支持 | 社区支持 | 优先支持 |
### Q5:工具是否会自动修改我的文件?
本工具基于Markdown指令驱动Agent,实际文件修改由Agent执行。工具仅提供建议与代码片段,是否落盘由用户与Agent配置决定。
## 依赖说明
### 运行环境
- **Agent平台**: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- **操作系统**: Windows / macOS / Linux
- **Node.js版本**: 建议 18 LTS 及以上(用于运行ESLint/Prettier等配套工具)
### 依赖详情
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|:-------|:-----|:---------|:---------|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| ESLint | npm包 | 可选 | `npm i -D eslint` |
| Prettier | npm包 | 可选 | `npm i -D prettier` |
| Node.js | 运行时 | 可选 | nodejs.org 下载 |
### API Key 配置
- 本skill基于Markdown指令规范,无需额外API Key(除内容中明确标注的外部API)。
- 若需对接外部Lint服务,请按对应服务文档配置对应环境变量。
### 可用性分类
- **分类**: MD+EXEC(纯Markdown指令,部分功能需exec命令行执行)
- **说明**: 基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作。免费版聚焦个人开发场景的核心规则指导。
## 错误处理
| 错误场景 | 原因 | 处理方式 |
|---------|------|---------|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
## 已知限制
- 本地运行,不支持多设备同步
don't have the plugin yet? install it then click "run inline in claude" again.