Skip to content
Development
Skill

/ruanzhu

当用户执行 /ruanzhu 命令或请求生成软著源代码文档时触发。提供软著源代码 DOCX 生成规范。

From plugin
cc-use-exp
1k38 skills18 commands
Install
$ npx -y skills add doccker/cc-use-exp --skill ruanzhu --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ruanzhu

Context preview

The summary Claude sees to decide when to auto-load this skill.

当用户执行 /ruanzhu 命令或请求生成软著源代码文档时触发。提供软著源代码 DOCX 生成规范。

SKILL.md

ruanzhu.SKILL.md
name: ruanzhu
description: 当用户执行 /ruanzhu 命令或请求生成软著源代码文档时触发。提供软著源代码 DOCX 生成规范。
version: v1.3

ruanzhu 技能 - 软著源代码DOCX生成

⚠️ 强制执行规则

**必须执行以下命令,禁止任何其他操作:**

cp ~/.claude/templates/ruanzhu/generate_docx.py ./generate_docx.py && python3 generate_docx.py $ARGUMENTS && rm generate_docx.py

禁止事项

  • ❌ 自行编写生成脚本
  • ❌ 在项目中创建任何 `.py` 文件
  • ❌ 检测 python-docx 是否安装
  • ❌ 创建 venv 或手动安装依赖
  • ❌ 搜索项目中的文件
  • ❌ 执行项目中已有的任何脚本

唯一允许的操作

✅ 执行上面的 bash 命令(一条命令,用 && 连接)

执行后状态

  • ✅ 生成 `docs/ruanzhu/{软件名称}{版本}-源代码.docx`
  • ✅ 使用 `--different` 时,生成 `{软件名称}{版本}-源代码-2.docx`(编号递增)
  • ✅ 项目中**不应有任何新增的 .py 文件**
  • ✅ 临时脚本 `./generate_docx.py` 已被删除

---

参考信息(仅供了解,不要自行实现)

以下内容已由 `generate_docx.py` 脚本实现,**不需要手动处理**:

项目信息检测

按优先级读取项目名称和版本:

# 优先级 1: CLAUDE.md
# 查找 "# {项目名}" 或 "## 项目概述" 下的内容
# 版本:查找 "版本:" 或 "version:"

# 优先级 2: package.json
{
  "name": "project-name",
  "version": "1.0.0"
}

# 优先级 3: pom.xml
<artifactId>project-name</artifactId>
<version>1.0.0</version>

# 优先级 4: 用户输入

2. 检测项目语言

根据文件存在性判断:

| 检测文件 | 语言 | |---------|------| | `pom.xml` 或 `build.gradle` | Java | | `package.json` | JavaScript/TypeScript | | `Cargo.toml` | Rust | | `Gemfile` | Ruby | | `go.mod` | Go | | `*.cpp` 或 `CMakeLists.txt` | C++ | | `requirements.txt` 或 `pyproject.toml` | Python |

3. 源代码扫描规则

Java

优先目录:
  - src/main/java/**/controller/
  - src/main/java/**/service/
  - src/main/java/**/entity/
  - src/main/java/**/repository/
  - src/main/java/**/config/
  - src/main/java/**/security/
  - src/main/java/**/dto/
  - src/main/java/**/

排除:
  - *Test.java
  - *IT.java
  - *Tests.java
  - target/

TypeScript/Vue/React

优先目录:
  - src/api/
  - src/stores/
  - src/pages/
  - src/views/
  - src/components/
  - src/hooks/
  - src/utils/
  - src/layouts/
  - frontend/src/

排除:
  - *.spec.ts
  - *.test.ts
  - *.test.tsx
  - *.d.ts
  - node_modules/
  - dist/

C++

优先目录:
  - src/
  - include/
  - lib/

排除:
  - *_test.cpp
  - *_test.cc
  - test/
  - tests/
  - build/

Ruby

优先目录:
  - app/controllers/
  - app/models/
  - app/services/
  - lib/

排除:
  - *_spec.rb
  - *_test.rb
  - spec/
  - test/

Rust

优先目录:
  - src/

排除:
  - tests/
  - *_test.rs
  - target/

Go

优先目录:
  - cmd/
  - internal/
  - pkg/
  - ./

排除:
  - *_test.go
  - vendor/

Python

优先目录:
  - src/
  - app/
  - lib/
  - ./

排除:
  - test_*.py
  - *_test.py
  - tests/
  - __pycache__/
  - .venv/

4. 页数控制

固定页数模式(默认60页)

  • 每页约57行渲染行(考虑长行换行)
  • 按优先级扫描,达到目标行数后停止
  • 不足则输出全部

自动模式(auto)

  • 总页数 ≤ 60:输出全部
  • 总页数 > 60:输出前30页 + 后30页,中间标注省略

5. 渲染行数计算

def estimate_rendered_lines(text, usable_width_cm=15.5):
    """估算一行文本在Word中渲染需要的行数"""
    if len(text) == 0:
        return 1
    width = 0
    for ch in text:
        if ord(ch) > 127:  # 中文字符
            width += 0.35
        else:  # 英文/符号
            width += 0.18
    return max(1, int(width / usable_width_cm) + (1 if width % usable_width_cm > 0.1 else 0))

6. DOCX格式规范

页面:A4 (21cm x 29.7cm)
边距:上2.5cm, 下2.5cm, 左3.0cm, 右2.5cm
字体:宋体 + Courier New, 10pt
行距:单倍行距

页眉:
  - 左侧:{软件名称} {版本}(加粗)
  - 居中:第 X 页共 Y 页
  - 底部:下划线

页脚:
  - 居中:第 X 页

7. 输出

  • 目录:`docs/ruanzhu/`(不存在则创建)
  • 文件名:`{软件名称}{版本}-源代码.docx`
  • 示例:`贸易订单管理系统V1.0-源代码.docx`

错误处理

| 错误 | 处理 | |------|------| | 无法检测项目信息 | 提示用户输入 | | 未检测到源代码 | 报错并列出支持的语言 | | python-docx 未安装 | 自动 pip install 安装 | | 代码量不足 | 警告并输出全部 |

Read more
Ships withcc-use-exp

保留你熟悉的 CLI/IDE,让 Claude Code、Gemini CLI、Codex、Cursor、GitHub Copilot 开箱即用 按费力度从低到高,用最少操作获得最大帮助 不是提示词集合,而是一套可维护的 AI 协作配置系统。

Get the whole plugin

Other skills on cc-use-exp.