{"_id":"@adonis0123/staged-simplifier","_rev":"2-52116e7a9dac8c5e745faeefd4a59d1d","name":"@adonis0123/staged-simplifier","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@adonis0123/staged-simplifier","version":"1.0.1","keywords":["claude-code","skill","git","code-quality","code-simplifier","staged-changes","pre-commit","refactoring"],"author":{"name":"adonis"},"license":"MIT","_id":"@adonis0123/staged-simplifier@1.0.1","maintainers":[{"name":"adonis0123","email":"513554676@qq.com"}],"homepage":"https://github.com/adonis0123/claude-skills/tree/main/packages/staged-simplifier#readme","bugs":{"url":"https://github.com/adonis0123/claude-skills/issues"},"dist":{"shasum":"4e7b952008ba3e51981f06174eb01f795f415b61","tarball":"https://registry.npmjs.org/@adonis0123/staged-simplifier/-/staged-simplifier-1.0.1.tgz","fileCount":9,"integrity":"sha512-dk8ov9lBh2iQQUF/z0WAt79H3MmxFD7Rb6/g9228Yyveej9P8roHKofam2YZsKqBkYJx6QfyM0BloPPjRnPykA==","signatures":[{"sig":"MEYCIQDMlKDt4MXCZbriht8tJeqt4ceBiNjvFYE3W+hlrMmMSgIhAK48hW+qmftbXmTQJ59fSTGFznR74Zk08gBUI+nV0z6a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96442},"main":"install-skill.js","gitHead":"a00a4ec9667c5c1b4cfd4f332f4e23293d8c29d9","scripts":{"test":"node install-skill.js && echo 'Installation test completed successfully.'","postinstall":"node install-skill.js","preuninstall":"node uninstall-skill.js"},"_npmUser":{"name":"adonis0123","email":"513554676@qq.com"},"repository":{"url":"git+https://github.com/adonis0123/claude-skills.git","type":"git","directory":"packages/staged-simplifier"},"_npmVersion":"10.9.3","description":"Apply code-simplifier principles to staged Git changes before commit","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@adonis0123/code-simplifier":"^1.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/staged-simplifier_1.0.1_1769506775149_0.34869610892294145","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Deprecated: these skills moved to https://adonis-skills.vercel.app/. This package is no longer maintained."}},"time":{"created":"2026-01-27T09:39:35.038Z","modified":"2026-09-05T11:15:46.025Z","1.0.1":"2026-01-27T09:39:35.290Z"},"bugs":{"url":"https://github.com/adonis0123/claude-skills/issues"},"author":{"name":"adonis"},"license":"MIT","homepage":"https://github.com/adonis0123/claude-skills/tree/main/packages/staged-simplifier#readme","keywords":["claude-code","skill","git","code-quality","code-simplifier","staged-changes","pre-commit","refactoring"],"repository":{"url":"git+https://github.com/adonis0123/claude-skills.git","type":"git","directory":"packages/staged-simplifier"},"description":"Apply code-simplifier principles to staged Git changes before commit","maintainers":[{"name":"adonis0123","email":"513554676@qq.com"}],"readme":"# @adonis0123/staged-simplifier\n\nApply code-simplifier principles to staged Git changes before commit.\n\n专门针对 Git 暂存文件应用代码简化原则的技能，在提交前优化代码质量。\n\n## Features\n\n- 🎯 **Git-Aware**: 仅优化通过 `git add` 暂存的文件\n- 🔍 **智能分析**: 识别深层嵌套、模糊命名、重复代码等问题\n- 📋 **详细建议**: 提供前后对比和具体改进点\n- ✅ **保持功能不变**: 仅优化代码质量，不改变业务逻辑\n- 🚀 **提升提交质量**: 确保每次提交都是高质量的代码\n- 🔗 **技能组合**: 与 staged-changes-review、commit 完美配合\n\n## Installation\n\n```bash\nnpm install -g @adonis0123/staged-simplifier\n```\n\nAfter installation, the skill will be automatically available in:\n- Claude Code (`~/.claude/skills/staged-simplifier/`)\n- Cursor (`~/.cursor/skills/staged-simplifier/`)\n\n## Usage\n\n### Basic Usage\n\n```bash\n# 1. 开发功能\nvim src/feature.js\n\n# 2. 暂存文件\ngit add src/feature.js\n\n# 3. 优化暂存的代码\n# 在 Claude Code 中运行:\n/staged-simplifier\n\n# 4. 应用优化建议并提交\n/commit\ngit push\n```\n\n### Recommended Workflow\n\n```bash\n# 完整工作流\n开发 → 测试 → git add → /staged-simplifier → /staged-changes-review → /commit → git push\n```\n\n### Quick Example\n\n**Before optimization** (`src/utils/validation.js`):\n```javascript\nfunction validateUser(user) {\n  if (user) {\n    if (user.email) {\n      if (user.email.includes('@')) {\n        if (user.age >= 18) {\n          return true;\n        }\n      }\n    }\n  }\n  return false;\n}\n```\n\n**After running `/staged-simplifier`**:\n```javascript\nfunction validateUser(user) {\n  if (!user || !user.email) return false;\n  if (!user.email.includes('@')) return false;\n  return user.age >= 18;\n}\n```\n\n**Improvements**:\n- ✅ Reduced nesting from 4 levels to 1 level\n- ✅ Used guard clauses for early returns\n- ✅ Improved readability\n- ✅ Maintained identical functionality\n\n## When to Use\n\n### ✅ Recommended Scenarios\n\n- After `git add`, before `git commit`\n- Bug fixes that need code cleanup\n- Refactoring legacy code\n- Before creating Pull Requests\n- Team collaboration with coding standards\n\n### ❌ Not Recommended\n\n- No staged files (use `/code-simplifier` instead)\n- Not in a Git repository (use `/code-simplifier` instead)\n- Too many staged files (>20 files, split into batches)\n- Auto-generated files (add to `.gitignore`)\n\n## Core Principles\n\nBased on code-simplifier's 5 core principles:\n\n1. **保持功能不变**: Only optimize code quality, don't change business logic\n2. **应用项目标准**: Follow project's coding standards (CLAUDE.md)\n3. **增强清晰度**: Use meaningful names, reduce nesting, eliminate redundancy\n4. **保持平衡**: Avoid over-engineering\n5. **聚焦范围**: Only optimize staged files\n\n## How It Works (Reuse code-simplifier)\n\n`staged-simplifier` is built on top of `code-simplifier`.\n\nDuring installation, it will:\n\n1. Install `@adonis0123/code-simplifier` as a dependency (so you will see **both** skills installed)\n2. Prefer reusing the locally installed `code-simplifier/SKILL.md` as the base (so it follows upstream updates)\n3. Generate `staged-simplifier/SKILL.md` by applying staged-specific additions, and copy `code-simplifier` references into `references/code-simplifier/`\n\nThis avoids keeping a duplicated full copy of `code-simplifier` documentation inside this package.\n\nNote: since both skills can register Claude hooks, you may see duplicated “run skill” hints. This is safe and does not affect functionality.\n\n## Skill Comparison\n\n| Skill | Target Files | Purpose | When to Use |\n|-------|-------------|---------|-------------|\n| **code-simplifier** | Any code files | General code quality optimization | Anytime during development |\n| **staged-simplifier** | Git staged files | Pre-commit code optimization | After `git add`, before `git commit` |\n| **staged-changes-review** | Git staged files | Risk assessment and error detection | After `git add`, before `git commit` |\n| **commit** | Git staged files | Generate conventional commit messages | Ready to commit |\n\n## What Gets Optimized\n\n### Common Issues Detected\n\n1. **Deep nesting** (>3 levels)\n2. **Complex ternary expressions**\n3. **Unclear variable names**\n4. **Duplicate code logic**\n5. **Overly long functions** (>50 lines)\n6. **Inconsistent code style**\n\n### Example Optimizations\n\n#### Deep Nesting → Guard Clauses\n```javascript\n// Before\nif (user) {\n  if (user.isActive) {\n    if (user.role === 'admin') {\n      return performAction();\n    }\n  }\n}\nreturn null;\n\n// After\nif (!user || !user.isActive) return null;\nif (user.role !== 'admin') return null;\nreturn performAction();\n```\n\n#### Complex Ternary → Clear Function\n```javascript\n// Before\nconst status = user ? (user.isPremium ? (user.isActive ? 'active-premium' : 'inactive-premium') : 'basic') : 'unknown';\n\n// After\nfunction getUserStatus(user) {\n  if (!user) return 'unknown';\n  if (!user.isPremium) return 'basic';\n  return user.isActive ? 'active-premium' : 'inactive-premium';\n}\nconst status = getUserStatus(user);\n```\n\n#### Unclear Naming → Meaningful Names\n```javascript\n// Before\nconst d = new Date();\nconst x = data.filter(i => i.a > 5);\n\n// After\nconst currentDate = new Date();\nconst activeItems = data.filter(item => item.age > 5);\n```\n\n## Integration with Other Skills\n\n### With `/commit`\n```bash\ngit add .\n/staged-simplifier  # Optimize code quality\n/commit             # Generate commit message\ngit push\n```\n\n### With `/staged-changes-review` + `/commit`\n```bash\ngit add .\n/staged-simplifier        # Optimize code quality\n/staged-changes-review    # Check for risks\n/commit                   # Generate commit message\ngit push\n```\n\n### With `/code-simplifier`\n```bash\n# Step 1: Full file optimization\n/code-simplifier src/legacy.js\n\n# Step 2: Stage and optimize for commit\ngit add src/legacy.js\n/staged-simplifier\n\n# Step 3: Commit\n/commit\n```\n\n## Performance Tips\n\n### For Many Files (>10)\n\nSplit into batches:\n```bash\n# Batch 1: Core files\ngit add src/core/*.js\n/staged-simplifier\n/commit\n\n# Batch 2: Utilities\ngit add src/utils/*.js\n/staged-simplifier\n/commit\n```\n\n### For Large Files (>500 lines)\n\nFocus on modified sections:\n```bash\n# View modified lines\ngit diff --cached src/large-file.js\n\n# In Claude Code, specify:\n# \"Only optimize lines 450-520 in src/large-file.js\"\n```\n\n### Priority Filtering\n\nFocus on high-priority issues:\n```\n用户: /staged-simplifier，仅显示高优先级问题\n\nClaude: [Shows only high-priority issues like deep nesting, security risks]\n```\n\n## Auto-Trigger Keywords\n\nThis skill automatically activates when you mention:\n\n- \"优化暂存的代码\"、\"简化暂存文件\"\n- \"提交前重构\"、\"优化即将提交的代码\"\n- \"清理暂存区的代码\"、\"提升提交质量\"\n- Explicit command: `/staged-simplifier`\n\n## Git Commands Used\n\n```bash\n# Check staged files\ngit status --short | grep \"^[MARC]\"\ngit diff --cached --name-only\n\n# View staged changes\ngit diff --cached\n\n# Unstage if needed\ngit restore --staged <file>\n```\n\n## Project Standards Integration\n\nstaged-simplifier automatically reads your project's `CLAUDE.md` for coding standards.\n\n**Example** (`CLAUDE.md`):\n```markdown\n# Coding Standards\n\n- Use ESLint (Airbnb style)\n- Max function length: 50 lines\n- Use const/let, no var\n- Prefer arrow functions\n```\n\nstaged-simplifier will ensure optimizations follow these standards.\n\n## CI/CD Integration\n\n### Pre-commit Hook\n\n```bash\n# .git/hooks/pre-commit\n#!/bin/bash\necho \"💡 建议运行: /staged-simplifier 优化代码质量\"\necho \"按 Enter 继续提交，Ctrl+C 取消并优化...\"\nread\n```\n\n### GitHub Actions\n\n```yaml\n# .github/workflows/code-quality.yml\n- name: Comment on PR\n  run: |\n    echo \"💡 Tip: Run /staged-simplifier before committing\"\n```\n\n## Additional Resources\n\nThe skill package includes supplementary resources in the `references/` directory:\n\n- **workflow-examples.md**: Complete workflow examples and use cases\n- **best-practices.md**: Best practices and performance optimization tips\n\n## Error Handling\n\n### No Staged Files\n```\n❌ 错误: 当前没有暂存的文件\n请先使用: git add <file>\n或使用: /code-simplifier 优化任意代码文件\n```\n\n### Not a Git Repository\n```\n❌ 错误: 当前目录不是 Git 仓库\n请使用: /code-simplifier 优化任意代码文件\n或初始化: git init\n```\n\n### No Code Files\n```\n⚠️ 警告: 暂存的文件中没有代码文件\n此技能仅优化代码文件（.js, .ts, .py, .go, .java, .rs 等）\n```\n\n## Examples\n\nSee `references/workflow-examples.md` for detailed examples including:\n\n- Single file optimization\n- Multiple file batch optimization\n- Team collaboration workflow\n- CI/CD integration\n- Pre-commit hook setup\n\n## Requirements\n\n- Git repository\n- At least one staged file (`git add` executed)\n- Code files (not binary files)\n\n## Related Skills\n\n- [@adonis0123/code-simplifier](https://www.npmjs.com/package/@adonis0123/code-simplifier) - General code quality optimization\n- [@adonis0123/staged-changes-review](https://www.npmjs.com/package/@adonis0123/staged-changes-review) - Risk assessment for staged files\n- [@adonis0123/commit](https://www.npmjs.com/package/@adonis0123/commit) - Generate conventional commit messages\n\n## 更多技能\n\n- [@adonis0123/weekly-report](https://www.npmjs.com/package/@adonis0123/weekly-report) - 周报生成\n- [@adonis0123/agent-browser](https://www.npmjs.com/package/@adonis0123/agent-browser) - 浏览器自动化\n- [@adonis0123/react-best-practices](https://www.npmjs.com/package/@adonis0123/react-best-practices) - React 最佳实践\n- [@adonis0123/skill-development](https://www.npmjs.com/package/@adonis0123/skill-development) - 技能开发指南\n- [@adonis0123/commit](https://www.npmjs.com/package/@adonis0123/commit) - 提交信息生成\n- [@adonis0123/staged-changes-review](https://www.npmjs.com/package/@adonis0123/staged-changes-review) - 代码审查\n- [@adonis0123/create-skill](https://www.npmjs.com/package/@adonis0123/create-skill) - 创建新技能包\n- [@adonis0123/code-doc-generator](https://www.npmjs.com/package/@adonis0123/code-doc-generator) - 代码文档生成\n- [@adonis0123/css-tailwind-styling](https://www.npmjs.com/package/@adonis0123/css-tailwind-styling) - CSS 和 Tailwind 样式规范\n## License\n\nMIT\n\n## Author\n\nadonis\n\n## Repository\n\nhttps://github.com/adonis0123/claude-skills/tree/main/packages/staged-simplifier\n\n## Issues\n\nhttps://github.com/adonis0123/claude-skills/issues\n\n## Changelog\n\n### 1.0.0 (2026-01-27)\n\n- Initial release\n- Git-aware code optimization\n- Integration with staged-changes-review and commit skills\n- Comprehensive workflow examples and best practices\n","readmeFilename":"README.md"}