Agent skill

Practical Development Validator

by shenjingnan in shenjingnan/xiaozhi-client

“务实开发原则检查和验证”

— description from SKILL.md by shenjingnan
MITAuto-check passedDevelopment

Install Practical Development Validator

skills CLI
$ npx skills add shenjingnan/xiaozhi-client --skill practical-development-validator -a claude-code

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

GitHub CLI
$ gh skill install shenjingnan/xiaozhi-client practical-development-validator --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/shenjingnan/xiaozhi-client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/practical-development-validator .claude/skills/practical-development-validator && 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
practical-development-validator
GitHub stars
341
Token cost
~948 tokens
SKILL.md length
82 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

  • Works in 4 steps: 过度设计检查 → 复杂度评估 → 实用性验证 → …
  • SKILL.md covers 技能能力, 使用方法, 实用原则指导 and 最佳实践
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

About this skill

Practical Development Validator is a skill in shenjingnan/xiaozhi-client (341 stars). Its SKILL.md is about 948 tokens. Licence: MIT.

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. 过度设计检查
  2. 复杂度评估
  3. 实用性验证
  4. 架构合理性验证

What it can do on your machine

Read from SKILL.md and the folder at commit fe3c382. 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 typescript).

    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

Practical Development Validator loads about 948 tokens when it runs. Until then it costs about 11 tokens; SKILL.md has 82 words of instructions outside code blocks.

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

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 shenjingnan/xiaozhi-client at commit fe3c382, republished under its MIT licence (© shenjingnan). 82 words, ~948 tokens.

Download SKILL.mdSave it as .claude/skills/practical-development-validator/SKILL.md (or your agent's skills folder).
name
practical-development-validator
description
务实开发原则检查和验证

我是务实开发原则检查技能,专门帮助开发团队避免过度设计,确保代码实现符合"如无必要勿增实体"的核心原则。

技能使用原则
  • 检查是否引入了不必要的复杂性:评估代码变更是否增加了不必要的复杂度
  • 评估功能实现是否符合"如无必要勿增实体":确保每个实体都有明确的功能价值
  • 确保代码优雅但不过度设计:平衡代码质量和复杂度
  • 验证架构合理性但不冗余:确保架构设计有实际意义

技能能力

1. 过度设计检查

核心能力:识别代码中可能存在的过度设计和不必要的复杂性。

检查内容
  • 过度抽象:为了抽象而抽象的代码结构
  • 预防性编程:为"未来可能需要"而增加的复杂功能
  • 过度设计模式:不必要的复杂设计模式使用
  • 过度配置:过于复杂的配置系统
  • 过早优化:在没有性能问题时进行的性能优化
检查示例
typescript
// ❌ 过度抽象
abstract class BaseService<T, U, V> {
  abstract execute(request: T): Promise<U>;
  abstract validate(request: T): V;
  abstract handleError(error: Error): void;
}

// ✅ 简单直接
class UserService {
  async createUser(userData: UserData): Promise<User> {
    // 直接实现功能
  }
}
2. 复杂度评估

评估代码变更的复杂度是否与其功能价值匹配。

评估标准
  • 功能价值比:复杂度与实际功能价值的比例
  • 维护成本:新增代码对整体维护成本的影响
  • 理解难度:新贡献者理解代码的难度
  • 扩展性需求:是否真的需要当前设计的扩展性
复杂度指标
typescript
// 复杂度检查清单
interface ComplexityChecklist {
  // ✅ 合理的复杂度
  hasClearPurpose: boolean;           // 有明确的目的
  solvesRealProblem: boolean;         // 解决实际问题
  necessaryAbstraction: boolean;     // 必要的抽象
  maintainableCode: boolean;         // 可维护的代码

  // ❌ 过度的复杂度
  futureProofing: boolean;           // 为未来过度设计
  unnecessaryPatterns: boolean;      // 不必要的设计模式
  overConfiguration: boolean;        // 过度配置
  prematureOptimization: boolean;    // 过早优化
}
3. 实用性验证

验证代码实现的实用性,确保解决实际问题。

实用性检查
  • 问题匹配:代码是否解决了实际的用户问题
  • 功能必要性:每个功能模块是否都必要
  • 接口设计:API 设计是否简洁实用
  • 错误处理:错误处理是否实用而非过度
实用性示例
typescript
// ❌ 过度的错误处理
try {
  const result = await apiCall();
  if (result !== null && result !== undefined) {
    if (typeof result === 'object' && result.data) {
      // 过度嵌套的检查
    }
  }
} catch (error) {
  if (error instanceof NetworkError) {
    // 详细的错误分类
  } else if (error instanceof ValidationError) {
    // 详细的错误分类
  }
  // ...
}

// ✅ 实用的错误处理
try {
  const result = await apiCall();
  return result;
} catch (error) {
  console.error('API调用失败:', error);
  throw new Error('服务不可用');
}
4. 架构合理性验证

确保架构设计有实际意义,避免不必要的抽象层。

架构检查项
  • 模块职责:每个模块是否有明确的职责
  • 分层必要性:每一层抽象是否真的必要
  • 接口设计:接口是否简洁实用
  • 依赖关系:依赖关系是否合理且必要

使用方法

基础过度设计检查
请检查当前的代码变更,是否存在过度设计的问题?
功能必要性评估
请评估这个新功能的实现是否符合"如无必要勿增实体"的原则?
架构合理性检查
请检查当前的架构设计是否合理,是否存在不必要的抽象层?
复杂度优化建议
请分析这段代码的复杂度,并提供简化建议。

实用原则指导

何时考虑复杂设计
  • 实际遇到问题:当确实出现性能瓶颈时
  • 功能需求:当用户明确需要相关功能时
  • 维护困难:当代码确实难以维护时
  • 团队协作:当多人协作需要统一接口时
何时保持简单
  • 预防性设计:为了"可能的需要"而增加复杂度
  • 理论完美:为了代码的"优雅"而过度抽象
  • 过度优化:在没有性能问题时优化性能
  • 设计模式:为了使用设计模式而使用
务实开发检查清单
设计阶段检查
  • 每个新模块都有明确的功能价值
  • 没有为"未来可能需要"而增加的功能
  • 抽象层次适度,不过度分层
  • 接口设计简洁实用
实现阶段检查
  • 代码实现直接,避免不必要的间接层
  • 错误处理实用,不过度分类
  • 配置简单,避免过度复杂
  • 注释解释实际复杂度,而非简单逻辑
代码审查检查
  • 新增代码的复杂度与功能价值匹配
  • 没有引入不必要的设计模式
  • 代码易于理解,不需要过度文档
  • 维护成本在合理范围内

最佳实践

简单直接的设计
typescript
// ✅ 推荐的简单设计
class ConfigManager {
  private config: Config;

  constructor(configPath: string) {
    this.config = this.loadConfig(configPath);
  }

  get(key: string): any {
    return this.config[key];
  }

  set(key: string, value: any): void {
    this.config[key] = value;
  }
}
避免的过度设计
typescript
// ❌ 避免的过度设计
abstract class ConfigurationProvider<T extends ConfigurationOptions> {
  abstract getConfiguration(): Promise<Configuration<T>>;
  abstract validateConfiguration(config: Configuration<T>): ValidationResult;
  abstract transformConfiguration(config: Configuration<T>): TransformedConfiguration<T>;
}

class JSONConfigurationProvider<T extends JSONConfigurationOptions>
  extends ConfigurationProvider<T> {
  // 过度复杂的实现
}

通过这个技能的帮助,可以确保 xiaozhi-client 项目始终保持务实的设计理念,避免过度工程化,专注解决实际问题。

© shenjingnan, MIT. 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 .agents/skills/practical-development-validator of shenjingnan/xiaozhi-client.

Open the folder on GitHubat commit fe3c382

Compare with similar skills

Practical Development Validator 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.

Practical Development Validator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Practical Development Validator this skillshenjingnan/xiaozhi-client341—~948Automated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from shenjingnan/xiaozhi-client

All 16 skills in this repo
  • E2E Coverage Analyzer

    shenjingnan/xiaozhi-client

    分析当前分支 git 改动,检查 e2e 测试用例覆盖情况,并可补充缺失的测试用例. An agent skill from shenjingnan/xiaozhi-client.

    341 GitHub stars~954 tokensUpdated 1 mo ago
    Auto-check passed
  • Fix Comment

    shenjingnan/xiaozhi-client

    GitHub 评论修复技能,用于获取 PR 的 Copilot 评论并分析修复问题. An agent skill from shenjingnan/xiaozhi-client.

    341 GitHub stars~873 tokensUpdated 1 mo ago
    Auto-check passed
  • API Docs

    shenjingnan/xiaozhi-client

    文档自动生成

    341 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • CI Validator

    shenjingnan/xiaozhi-client

    CI检查验证和质量保障

    341 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Commit

    shenjingnan/xiaozhi-client

    生成代码评审友好的 commit 信息

    341 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Dev Workflow Checker

    shenjingnan/xiaozhi-client

    开发流程检查技能,确保代码修改后执行必要的质量检查

    341 GitHub stars~464 tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Practical Development Validator

How do I install Practical Development Validator in Claude Code?

Run `npx skills add shenjingnan/xiaozhi-client --skill practical-development-validator -a claude-code`. Or copy the skill folder (.agents/skills/practical-development-validator in shenjingnan/xiaozhi-client) into .claude/skills/practical-development-validator in your project. Claude Code loads it when a task matches its description.

How do I install Practical Development Validator in Codex?

Run `npx skills add shenjingnan/xiaozhi-client --skill practical-development-validator -a codex`. Or copy the skill folder (.agents/skills/practical-development-validator in shenjingnan/xiaozhi-client) into .agents/skills/practical-development-validator in your project. Codex loads it when a task matches its description.

Can I use Practical Development Validator 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 shenjingnan/xiaozhi-client --skill practical-development-validator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/practical-development-validator, .gemini/skills/practical-development-validator, .github/skills/practical-development-validator and .opencode/skills/practical-development-validator in your project.

What does Practical Development Validator need to run?

SKILL.md names no scripts, command-line tools or credentials: Practical Development Validator is instructions for the agent only.

Does Practical Development Validator 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 Practical Development Validator 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 Practical Development Validator use?

Practical Development Validator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Practical Development Validator use?

About 948 tokens (SKILL.md is roughly 3.8k 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 Practical Development Validator?

Skills that share tags, products or a category with Practical Development Validator: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Practical Development Validator?

shenjingnan (a GitHub user) maintains it in shenjingnan/xiaozhi-client, which has 341 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 3, 2026.

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