@adonis0123/weekly-report 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,453 +1,63 @@
1
- # Agent Skill NPM Boilerplate
1
+ # @adonis0123/weekly-report
2
2
 
3
- > **Distribute AI agent skills like any other npm package**
3
+ > Claude Code 技能 - 自动读取 Git 提交记录生成周报
4
4
 
5
- AI coding tools (Claude Code, Cursor, Windsurf) support custom "skills" - reusable instructions that extend agent capabilities. But distributing them means manual file copying, no versioning, and painful updates.
5
+ [![npm version](https://img.shields.io/npm/v/@adonis0123/weekly-report.svg)](https://www.npmjs.com/package/@adonis0123/weekly-report)
6
6
 
7
- **This template lets you publish skills to npm:**
7
+ ## 安装
8
8
 
9
9
  ```bash
10
- # Install
11
- npm install -g @your-org/git-commit-helper
12
-
13
- # Update
14
- npm update -g @your-org/git-commit-helper
15
-
16
- # It just works - installs to ~/.claude/skills/, ~/.cursor/skills/, etc.
17
- ```
18
-
19
- **Why this matters:** Skills become proper software artifacts with semantic versioning, dependency management, private registries, and global discovery. Same infrastructure that distributes React and Express.
20
-
21
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
22
- [![GitHub Template](https://img.shields.io/badge/Template-Use%20This-brightgreen)](https://github.com/YOUR-USERNAME/agent-skill-npm-boilerplate/generate)
23
-
24
- ---
25
-
26
- **Quick start:** Fork this template, edit `SKILL.md`, run `npm publish`. Your skill is now installable worldwide.
27
-
28
- **Supports:** [Claude Code](https://code.claude.com/docs/en/skills), Cursor, Windsurf, and any tool following similar skill patterns. See [MULTI-TOOL-SUPPORT.md](MULTI-TOOL-SUPPORT.md).
29
-
30
- ## 💡 Why npm for Skills?
31
-
32
- Manual skill distribution requires downloading files, copying to `~/.claude/skills/`, and repeating for every update. No versioning, no dependency management, no discovery.
33
-
34
- **npm solves this:**
35
-
36
- ```bash
37
- # Install/update/uninstall with standard commands
38
- npm install -g @your-org/skill-name
39
- npm update -g @your-org/skill-name
40
- npm uninstall -g @your-org/skill-name
41
-
42
- # Semantic versioning for controlled updates
43
- npm install @your-org/skill@^2.1.0
44
-
45
- # Project-specific skills (version-locked, committed to git)
46
- npm install --save-dev @your-org/skill-name
47
- ```
48
-
49
- **Core benefits:**
50
- - **Version control** - Semantic versioning, upgrade/rollback easily
51
- - **Global distribution** - Publish once, available worldwide via npm's CDN
52
- - **Discoverability** - Searchable on npmjs.com
53
- - **Enterprise ready** - Private registries for internal skills
54
- - **Ecosystem integration** - Works with CI/CD, monorepos, existing tooling
55
-
56
- Skills become first-class software artifacts, using the same infrastructure as React, Express, and millions of other packages.
57
-
58
- ## ✨ Features
59
-
60
- - ✅ **Official Specification**: Fully compliant with Claude Code skills format
61
- - ✅ **Multi-Tool Support**: Install to Claude Code, Cursor, Windsurf, and more! (See [Multi-Tool Support](MULTI-TOOL-SUPPORT.md))
62
- - ✅ **Smart Installation**: Auto-detects global vs project-level installation
63
- - ✅ **Progressive Disclosure**: Supports main SKILL.md + reference files
64
- - ✅ **Lifecycle Management**: Install, update, uninstall scripts included
65
- - ✅ **Best Practices**: Follows all recommended patterns from official docs
66
- - ✅ **Ready to Publish**: Just customize and publish to npm
67
-
68
- ## 🚀 Quick Start
69
-
70
- ### Option 1: Use as GitHub Template (Recommended)
71
-
72
- This is a **GitHub Template Repository**. The easiest way to use it:
73
-
74
- 1. **Click the "Use this template" button** at the top of this repository (or [click here](https://github.com/YOUR-USERNAME/agent-skill-npm-boilerplate/generate))
75
- 2. **Name your new repository** (e.g., `my-awesome-skill`)
76
- 3. **Clone your new repository**:
77
- ```bash
78
- git clone https://github.com/YOUR-USERNAME/my-awesome-skill.git
79
- cd my-awesome-skill
80
- ```
81
- 4. **Customize your skill** (see [Customization Guide](#-customization-guide))
82
- 5. **Publish to npm**:
83
- ```bash
84
- npm login
85
- npm publish --access public
86
- ```
87
-
88
- ### Option 2: Clone Directly
89
-
90
- ```bash
91
- # Clone this repository
92
- git clone https://github.com/YOUR-USERNAME/agent-skill-npm-boilerplate.git my-skill
93
- cd my-skill
94
-
95
- # Remove git history and start fresh
96
- rm -rf .git
97
- git init
98
-
99
- # Install dependencies (for development)
100
- npm install
101
-
102
- # Customize your skill
103
- ```
104
-
105
- ## 📁 Project Structure
106
-
107
- ```
108
- agent-skill-npm-boilerplate/
109
- ├── package.json # npm package configuration
110
- ├── SKILL.md # Main skill definition (REQUIRED)
111
- ├── .claude-skill.json # Installation configuration
112
- ├── install-skill.js # Installation script
113
- ├── uninstall-skill.js # Uninstallation script
114
- ├── reference.md # Detailed documentation (optional)
115
- ├── examples.md # Usage examples (optional)
116
- ├── scripts/ # Utility scripts (optional)
117
- │ ├── setup.sh # Post-install setup
118
- │ └── config.json.example # Configuration template
119
- ├── README.md # This file (customize for your skill)
120
- ├── LICENSE # License file
121
- └── .gitignore # Git ignore rules
10
+ npm install -g @adonis0123/weekly-report
122
11
  ```
123
12
 
124
- ## 🎨 Customization Guide
13
+ ## 使用
125
14
 
126
- ### Step 1: Update package.json
15
+ 在任意 Git 项目目录中,对 Claude Code 说:
127
16
 
128
- Replace the following placeholders:
129
-
130
- ```json
131
- {
132
- "name": "@your-org/your-skill-name", // Change this
133
- "version": "1.0.0",
134
- "description": "YOUR SKILL DESCRIPTION", // Change this
135
- "author": "YOUR NAME", // Change this
136
- "repository": {
137
- "url": "YOUR-REPO-URL" // Change this
138
- }
139
- }
140
17
  ```
141
-
142
- **About npm scopes:**
143
- - Use a scope (`@your-org/skill-name`) if you want to organize skills under your organization
144
- - Use no scope (`skill-name`) for standalone packages
145
- - Popular scopes: `@your-company`, `@your-username`, or custom like `@claude-skills`
146
- - Scopes require configuration: `npm config set @your-org:registry https://registry.npmjs.org/`
147
-
148
- ### Step 2: Update SKILL.md
149
-
150
- Edit `SKILL.md` and replace placeholders:
151
-
152
- ```yaml
153
- ---
154
- name: your-skill-name # Must match directory name
155
- description: Your skill description here. Use when [scenarios].
156
- allowed-tools: Read, Bash # Tools your skill can use
157
- ---
158
- ```
159
-
160
- ### Step 3: Update .claude-skill.json
161
-
162
- ```json
163
- {
164
- "name": "your-skill-name", // Must match SKILL.md name
165
- "package": "@your-org/your-skill-name"
166
- }
167
- ```
168
-
169
- ### Step 4: Add Your Logic
170
-
171
- Edit the "Instructions" section in `SKILL.md`:
172
-
173
- ```markdown
174
- ## Instructions
175
-
176
- When the user [describes scenario]:
177
-
178
- 1. **Step 1**: Do something
179
- 2. **Step 2**: Do something else
180
- 3. **Step 3**: Complete the task
181
- ```
182
-
183
- ### Step 5: Test Locally
184
-
185
- ```bash
186
- # Test the installation script
187
- node install-skill.js
188
-
189
- # Check if installed correctly
190
- ls -la ~/.claude/skills/your-skill-name/
191
- cat ~/.claude/skills/your-skill-name/SKILL.md
192
-
193
- # Open Claude Code and verify
194
- # Ask Claude: "What skills are available?"
195
- ```
196
-
197
- ### Step 6: Publish to npm
198
-
199
- ```bash
200
- # Login to npm (first time only)
201
- npm login
202
-
203
- # Publish your skill
204
- npm publish --access public
205
- ```
206
-
207
- ## 📖 Skill Development Best Practices
208
-
209
- ### 1. Write Clear Descriptions
210
-
211
- The `description` field in SKILL.md is crucial - it determines when Claude uses your skill:
212
-
213
- ```yaml
214
- # ❌ Bad: Too vague
215
- description: Helps with files
216
-
217
- # ✅ Good: Specific and includes trigger keywords
218
- description: Analyzes TypeScript files for type errors. Use when checking types, debugging TypeScript issues, or validating .ts files.
219
- ```
220
-
221
- ### 2. Use Progressive Disclosure
222
-
223
- Keep SKILL.md under 500 lines. Put detailed content in separate files:
224
-
225
- ```markdown
226
- # In SKILL.md
227
- For complete API reference, see [reference.md](reference.md)
228
- For examples, see [examples.md](examples.md)
18
+ /weekly-report
229
19
  ```
230
20
 
231
- Claude will only load these files when needed, saving context.
232
-
233
- ### 3. Limit Tool Access
234
-
235
- Use `allowed-tools` to restrict what your skill can do:
236
-
237
- ```yaml
238
- # Read-only skill
239
- allowed-tools: Read, Grep, Glob
21
+ ## 功能
240
22
 
241
- # Can read and execute (but not modify files)
242
- allowed-tools: Read, Bash
23
+ - 自动读取 Git 提交记录
24
+ - 支持多仓库汇总
25
+ - 智能过滤琐碎提交(typo、merge、format)
26
+ - 按项目分组生成结构化周报
27
+ - 灵活时间范围(本周、上周、自定义)
28
+ - 周报自动保存到 `~/.weekly-reports/`
243
29
 
244
- # Full access
245
- allowed-tools: Read, Edit, Write, Bash
246
- ```
247
-
248
- ### 4. Include Examples
249
-
250
- Show concrete examples in your SKILL.md:
30
+ ## 输出示例
251
31
 
252
32
  ```markdown
253
- ## Examples
254
-
255
- ### Example 1: Basic Usage
256
-
257
- User asks: "Check my commit message"
258
-
259
- Claude will:
260
- 1. Read the commit message
261
- 2. Validate format
262
- 3. Suggest improvements
263
- ```
264
-
265
- ## 📦 Installation Behavior
266
-
267
- ### Global Installation (Recommended)
268
-
269
- ```bash
270
- npm install -g @your-org/your-skill
271
- ```
272
-
273
- Installs to: `~/.claude/skills/your-skill-name/`
274
-
275
- Available: Across all projects for the current user
33
+ # 周报 (2026-01-06 ~ 2026-01-12)
276
34
 
277
- ### Project-Level Installation
35
+ project-frontend
36
+ - 构建工具升级改造
37
+ - 核心功能开发流程跟进
278
38
 
279
- ```bash
280
- npm install --save-dev @your-org/your-skill
39
+ project-backend
40
+ - 自定义类型化消息渲染
41
+ - 断线重连流程梳理
281
42
  ```
282
43
 
283
- Installs to: `.claude/skills/your-skill-name/`
284
-
285
- Available: Only in this project (can be committed to git)
286
-
287
- ### Priority Order
288
-
289
- When multiple skills exist:
290
- 1. Enterprise (managed settings)
291
- 2. Personal (`~/.claude/skills/`)
292
- 3. Project (`.claude/skills/`)
293
- 4. Plugin
294
-
295
- ## How Installation and Uninstallation Work
296
-
297
- This boilerplate includes automatic installation and uninstallation scripts that run when users install or remove your skill package via npm.
298
-
299
- ### Installation Process
300
-
301
- When a user runs `npm install` (or `npm install -g`) on your skill package:
302
-
303
- 1. **Target Detection**: The script identifies which AI coding tools are configured for installation based on `.claude-skill.json`
304
- 2. **Scope Prefix Handling**: Extracts the actual skill name by removing any npm scope prefix (e.g., `@your-org/skill-name` becomes `skill-name`)
305
- 3. **Path Resolution**: For each target tool, it determines the appropriate installation location:
306
- - Global installation: `~/{tool-path}/skills/` (user's home directory)
307
- - Project installation: `./{tool-path}/skills/` (project root directory)
308
- 4. **Directory Setup**: Creates the skill directory using the skill name (without npm scope prefix)
309
- 5. **File Copying**: Copies essential files:
310
- - `SKILL.md` (required) - The main skill definition
311
- - Any additional files specified in `.claude-skill.json`
312
- 6. **Compatibility Cleanup**: Removes any legacy installation paths for backward compatibility
313
- 7. **Manifest Update**: Updates the `.skills-manifest.json` to track installed skills
314
- 8. **Post-install Hooks**: Runs any custom setup scripts defined in `.claude-skill.json`
315
-
316
- ### Uninstallation Process
44
+ ## 配置
317
45
 
318
- When a user runs `npm uninstall` (or `npm uninstall -g`) on your skill package:
319
-
320
- 1. **Target Detection**: Identifies which AI coding tools were configured for the skill
321
- 2. **Scope Prefix Handling**: Uses both the skill name (without scope prefix) and full package name (with scope prefix) for compatibility
322
- 3. **Path Resolution**: Determines the appropriate uninstallation locations
323
- 4. **Directory Removal**: Removes the skill directory from all configured targets:
324
- - Path using skill name (primary location)
325
- - Path with full package name (legacy location for compatibility)
326
- 5. **Manifest Update**: Removes the skill entry from `.skills-manifest.json`
327
- 6. **Best-effort Cleanup**: Continues even if some steps fail to ensure clean removal
328
-
329
- ## 🔧 Advanced Features
330
-
331
- ### Custom Hooks
332
-
333
- Run scripts during installation:
46
+ 配置文件:`~/.weekly-reports/config.json`
334
47
 
335
48
  ```json
336
- // .claude-skill.json
337
49
  {
338
- "hooks": {
339
- "postinstall": "bash scripts/setup.sh"
340
- }
50
+ "repos": [
51
+ { "name": "project-a", "path": "/path/to/project-a" }
52
+ ]
341
53
  }
342
54
  ```
343
55
 
344
- ### Multiple Files
345
-
346
- Support rich documentation:
347
-
348
- ```json
349
- // .claude-skill.json
350
- {
351
- "files": {
352
- "reference.md": "reference.md",
353
- "examples.md": "examples.md",
354
- "scripts": "scripts/"
355
- }
356
- }
357
- ```
358
-
359
- ### Configuration
360
-
361
- Let users customize your skill:
362
-
363
- ```bash
364
- # scripts/setup.sh
365
- cat > scripts/config.json <<EOF
366
- {
367
- "option1": "default",
368
- "option2": true
369
- }
370
- EOF
371
- ```
372
-
373
- ## 🐛 Troubleshooting
374
-
375
- ### Skill Not Appearing
376
-
377
- ```bash
378
- # Check installation location
379
- ls -la ~/.claude/skills/
380
-
381
- # Verify SKILL.md format
382
- cat ~/.claude/skills/your-skill/SKILL.md
383
-
384
- # Check manifest
385
- cat ~/.claude/skills/.skills-manifest.json
386
- ```
387
-
388
- ### Permission Errors
389
-
390
- ```bash
391
- # Fix npm permissions (recommended)
392
- mkdir ~/.npm-global
393
- npm config set prefix '~/.npm-global'
394
- export PATH=~/.npm-global/bin:$PATH
395
-
396
- # Or use sudo (not recommended)
397
- sudo npm install -g @your-org/your-skill
398
- ```
399
-
400
- ### Skill Not Triggering
401
-
402
- - Make sure the `description` includes keywords users would naturally say
403
- - Test by asking Claude directly: "Use the your-skill-name skill to..."
404
-
405
- ## 📚 Resources
406
-
407
- - [Claude Code Skills Documentation](https://code.claude.com/docs/en/skills)
408
- - [Skills Best Practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices)
409
- - [npm Package Publishing Guide](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry)
410
- - [Conventional Commits](https://www.conventionalcommits.org/)
411
-
412
- ## 🤝 Contributing
413
-
414
- Contributions are welcome! Please:
415
-
416
- 1. Fork this repository
417
- 2. Create a feature branch
418
- 3. Make your changes
419
- 4. Submit a pull request
420
-
421
- See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
422
-
423
- ## 📄 License
424
-
425
- This template is [MIT licensed](LICENSE). Skills you create from this template can use any license you choose.
426
-
427
- ## 💡 Examples
428
-
429
- Skills built with this template:
430
-
431
- - `@your-org/git-commit-helper` - Generate conventional commit messages
432
- - `@your-org/code-reviewer` - Automated code review assistance
433
- - `@your-org/test-generator` - Generate test cases from code
434
-
435
- *(Add your skill here after publishing!)*
436
-
437
- ## 🙋 Support
438
-
439
- - **Issues**: [GitHub Issues](https://github.com/yourusername/agent-skill-npm-boilerplate/issues)
440
- - **Discussions**: [GitHub Discussions](https://github.com/yourusername/agent-skill-npm-boilerplate/discussions)
441
- - **Documentation**: [Wiki](https://github.com/yourusername/agent-skill-npm-boilerplate/wiki)
442
-
443
- ## 🌟 Show Your Support
56
+ ## 更多技能
444
57
 
445
- If you find this template helpful:
446
- - Star this repository
447
- - 🐛 Report bugs
448
- - 💡 Suggest features
449
- - 📝 Improve documentation
58
+ - [@adonis0123/agent-browser](https://www.npmjs.com/package/@adonis0123/agent-browser) - 浏览器自动化
59
+ - [@adonis0123/react-best-practices](https://www.npmjs.com/package/@adonis0123/react-best-practices) - React 最佳实践
450
60
 
451
- ---
61
+ ## License
452
62
 
453
- **Made with ❤️ for the Claude Code community**
63
+ MIT
package/install-skill.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,14 +1,7 @@
1
1
  {
2
2
  "name": "@adonis0123/weekly-report",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Claude Code Skill - 自动读取 Git 提交记录生成周报,支持多仓库汇总和智能过滤",
5
- "main": "index.js",
6
- "scripts": {
7
- "postinstall": "node install-skill.js",
8
- "preuninstall": "node uninstall-skill.js",
9
- "test": "node install-skill.js && echo 'Installation test completed. Check ~/.claude/skills/'",
10
- "lint": "echo 'Add your linting commands here'"
11
- },
12
5
  "files": [
13
6
  "SKILL.md",
14
7
  "references/",
@@ -21,9 +14,6 @@
21
14
  "keywords": [
22
15
  "claude-code",
23
16
  "skill",
24
- "ai-assistant",
25
- "agent-skill",
26
- "claude",
27
17
  "weekly-report",
28
18
  "git",
29
19
  "commit-analyzer",
@@ -33,13 +23,13 @@
33
23
  "license": "MIT",
34
24
  "repository": {
35
25
  "type": "git",
36
- "url": "https://github.com/Adonis0123/weekly-flow.git"
26
+ "url": "git+https://github.com/Adonis0123/agent-skill-npm-boilerplate.git",
27
+ "directory": "packages/weekly-report"
37
28
  },
38
- "bugs": {
39
- "url": "https://github.com/Adonis0123/weekly-flow/issues"
40
- },
41
- "homepage": "https://github.com/Adonis0123/weekly-flow#readme",
42
- "engines": {
43
- "node": ">=14.0.0"
29
+ "homepage": "https://github.com/Adonis0123/agent-skill-npm-boilerplate/tree/main/packages/weekly-report",
30
+ "scripts": {
31
+ "postinstall": "node install-skill.js",
32
+ "preuninstall": "node uninstall-skill.js",
33
+ "test": "node install-skill.js && echo 'Installation test completed.'"
44
34
  }
45
- }
35
+ }
File without changes