@jarrodmedrano/claude-skills 1.0.0

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 ADDED
@@ -0,0 +1,186 @@
1
+ # Claude Code Skills
2
+
3
+ Reusable Claude Code skills for web development projects. This package provides a collection of powerful skills for scaffolding and managing projects with Claude Code.
4
+
5
+ ## Installation
6
+
7
+ ### Install as npm package (recommended)
8
+
9
+ In any project where you want to use these skills:
10
+
11
+ ```bash
12
+ npm install @jarrodmedrano/claude-skills
13
+ ```
14
+
15
+ The skills will automatically be copied to your project's `.claude/skills/` directory during installation.
16
+
17
+ ### Use as local directory
18
+
19
+ Alternatively, you can use this directory directly as your Claude Code projects hub.
20
+
21
+ ## Quick Start
22
+
23
+ Once installed, you can use custom skills to quickly scaffold new projects:
24
+
25
+ ### Available Skills
26
+
27
+ #### `/new-website [project-name]`
28
+ Create a new frontend web project with your choice of:
29
+ - Next.js (App Router + TypeScript + Tailwind)
30
+ - React + Vite
31
+ - Vue 3 + Vite
32
+ - Vanilla JS/TS
33
+
34
+ **Example:**
35
+ ```
36
+ /new-website my-portfolio
37
+ ```
38
+
39
+ #### `/new-backend [project-name]`
40
+ Create a new backend/API project with:
41
+ - Express.js + TypeScript
42
+ - Fastify + TypeScript
43
+ - NestJS
44
+ - Hono
45
+
46
+ **Example:**
47
+ ```
48
+ /new-backend my-api
49
+ ```
50
+
51
+ #### `/new-fullstack [project-name]`
52
+ Create a full-stack application with:
53
+ - Next.js (with API routes)
54
+ - T3 Stack (Next.js + tRPC + Prisma)
55
+ - MERN Stack
56
+ - Monorepo (separate frontend/backend)
57
+
58
+ **Example:**
59
+ ```
60
+ /new-fullstack my-saas-app
61
+ ```
62
+
63
+ #### `/project-setup [project-name]`
64
+ Initialize any type of project with tooling:
65
+ - Libraries
66
+ - CLI tools
67
+ - Static sites
68
+ - Browser extensions
69
+ - Electron apps
70
+ - Component libraries
71
+
72
+ **Example:**
73
+ ```
74
+ /project-setup my-tool
75
+ ```
76
+
77
+ ## Directory Structure
78
+
79
+ ```
80
+ jarrod-claude/
81
+ ├── .claude/
82
+ │ └── skills/ # Custom Claude Code skills
83
+ ├── project-1/ # Your projects will be created here
84
+ ├── project-2/
85
+ └── README.md # This file
86
+ ```
87
+
88
+ ## Usage Tips
89
+
90
+ 1. **Starting a new project**: Use one of the skills above
91
+ 2. **Working on existing project**: Navigate to the project directory or specify the path
92
+ 3. **Custom skills**: Add new skills in `.claude/skills/` as markdown files
93
+
94
+ ## What Gets Created
95
+
96
+ When you use these skills, Claude will:
97
+ - Create the project directory
98
+ - Initialize with the chosen framework/stack
99
+ - Install dependencies
100
+ - Set up TypeScript configuration
101
+ - Create basic project structure
102
+ - Initialize git repository
103
+ - Generate README with getting started instructions
104
+
105
+ ## Next Steps
106
+
107
+ 1. Navigate to this directory in your terminal
108
+ 2. Run `claude` to start Claude Code
109
+ 3. Use `/new-website my-first-site` (or any skill) to create your first project
110
+ 4. Claude will guide you through setup options
111
+
112
+ ## Updating Skills
113
+
114
+ To get the latest skills after updating the package:
115
+
116
+ ```bash
117
+ npm update @jarrodmedrano/claude-skills
118
+ npm run update-skills
119
+ ```
120
+
121
+ Or use the CLI:
122
+
123
+ ```bash
124
+ npx claude-skills update
125
+ ```
126
+
127
+ ## CLI Commands
128
+
129
+ The package includes a CLI for managing skills:
130
+
131
+ ```bash
132
+ npx claude-skills install # Install/reinstall skills
133
+ npx claude-skills update # Update skills to latest
134
+ npx claude-skills list # List all available skills
135
+ npx claude-skills help # Show help
136
+ ```
137
+
138
+ ## Publishing Your Own Version
139
+
140
+ If you want to publish your own version of these skills:
141
+
142
+ 1. Update the package name in [package.json](package.json):
143
+ ```json
144
+ {
145
+ "name": "@yourusername/claude-skills"
146
+ }
147
+ ```
148
+
149
+ 2. Publish to npm:
150
+ ```bash
151
+ npm login
152
+ npm publish --access public
153
+ ```
154
+
155
+ 3. Others can install with:
156
+ ```bash
157
+ npm install @yourusername/claude-skills
158
+ ```
159
+
160
+ ## Development
161
+
162
+ To add new skills:
163
+
164
+ 1. Create a `.md` file in [.claude/skills/](.claude/skills/) or a directory for complex skills
165
+ 2. Follow the existing skill format
166
+ 3. Update the version in [package.json](package.json)
167
+ 4. Publish the new version
168
+
169
+ ## Customization
170
+
171
+ You can modify the skills in [.claude/skills/](.claude/skills/) to match your preferred setup, add new frameworks, or change default configurations.
172
+
173
+ ## Requirements
174
+
175
+ - Node.js (v18+ recommended)
176
+ - npm or pnpm
177
+ - Git
178
+ - Claude Code CLI
179
+
180
+ ## License
181
+
182
+ MIT
183
+
184
+ ---
185
+
186
+ Happy coding!
package/bin/cli.js ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { copySkills } = require('../scripts/install');
4
+
5
+ const args = process.argv.slice(2);
6
+ const command = args[0];
7
+
8
+ switch (command) {
9
+ case 'install':
10
+ console.log('Installing Claude Code skills...');
11
+ copySkills();
12
+ break;
13
+
14
+ case 'update':
15
+ console.log('Updating Claude Code skills...');
16
+ copySkills();
17
+ break;
18
+
19
+ case 'list':
20
+ console.log('Available Claude Code Skills:\n');
21
+ console.log('Web Development:');
22
+ console.log(' /new-website - Create frontend projects (React, Next.js, Vue, Vanilla)');
23
+ console.log(' /new-backend - Create backend APIs (Express, Fastify, NestJS, Hono)');
24
+ console.log(' /new-fullstack - Create full-stack apps (Next.js, T3, MERN, Monorepo)');
25
+ console.log(' /project-setup - Initialize any project with tooling\n');
26
+ console.log('Code Quality:');
27
+ console.log(' /code-review - Code review workflows');
28
+ console.log(' /design-review - Design review workflows');
29
+ console.log(' /security-review - Security review workflows\n');
30
+ break;
31
+
32
+ case 'help':
33
+ default:
34
+ console.log('Claude Code Skills CLI\n');
35
+ console.log('Usage: claude-skills <command>\n');
36
+ console.log('Commands:');
37
+ console.log(' install - Install skills to current project');
38
+ console.log(' update - Update skills to latest version');
39
+ console.log(' list - List all available skills');
40
+ console.log(' help - Show this help message\n');
41
+ console.log('After installation, use skills in Claude Code:');
42
+ console.log(' Example: /new-website my-app');
43
+ break;
44
+ }
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@jarrodmedrano/claude-skills",
3
+ "version": "1.0.0",
4
+ "description": "Reusable Claude Code skills for web development projects",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "claude-skills": "./bin/cli.js"
8
+ },
9
+ "scripts": {
10
+ "postinstall": "node scripts/install.js",
11
+ "update-skills": "node scripts/update.js"
12
+ },
13
+ "keywords": [
14
+ "claude-code",
15
+ "claude",
16
+ "skills",
17
+ "web-development",
18
+ "scaffolding",
19
+ "project-setup"
20
+ ],
21
+ "author": "Jarrod Medrano",
22
+ "license": "MIT",
23
+ "files": [
24
+ ".claude/skills/**/*",
25
+ "scripts/**/*",
26
+ "bin/**/*",
27
+ "README.md"
28
+ ],
29
+ "engines": {
30
+ "node": ">=18.0.0"
31
+ },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/jarrodmedrano/jarrod-claude-skills.git"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/jarrodmedrano/jarrod-claude-skills/issues"
38
+ },
39
+ "homepage": "https://github.com/jarrodmedrano/jarrod-claude-skills#readme"
40
+ }
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ /**
7
+ * Post-install script that copies Claude Code skills to the project's .claude directory
8
+ */
9
+
10
+ function copySkills() {
11
+ // Find the project root (where package.json is, going up from node_modules)
12
+ let currentDir = process.cwd();
13
+
14
+ // If we're in node_modules, go up to find the project root
15
+ if (currentDir.includes('node_modules')) {
16
+ const parts = currentDir.split(path.sep);
17
+ const nodeModulesIndex = parts.lastIndexOf('node_modules');
18
+ currentDir = parts.slice(0, nodeModulesIndex).join(path.sep);
19
+ }
20
+
21
+ const targetDir = path.join(currentDir, '.claude', 'skills');
22
+ const sourceDir = path.join(__dirname, '..', '.claude', 'skills');
23
+
24
+ // Create .claude/skills directory if it doesn't exist
25
+ if (!fs.existsSync(targetDir)) {
26
+ fs.mkdirSync(targetDir, { recursive: true });
27
+ console.log('✓ Created .claude/skills directory');
28
+ }
29
+
30
+ // Copy skills
31
+ try {
32
+ copyRecursive(sourceDir, targetDir);
33
+ console.log('✓ Claude Code skills installed successfully!');
34
+ console.log(` Skills location: ${targetDir}`);
35
+ console.log('\nAvailable skills:');
36
+ console.log(' /new-website - Create frontend projects');
37
+ console.log(' /new-backend - Create backend APIs');
38
+ console.log(' /new-fullstack - Create full-stack apps');
39
+ console.log(' /project-setup - Initialize any project');
40
+ console.log(' /code-review - Code review workflows');
41
+ console.log(' /design-review - Design review workflows');
42
+ console.log(' /security-review - Security review workflows');
43
+ console.log('\nTo update skills later, run: npm run update-skills');
44
+ } catch (error) {
45
+ console.error('Error copying skills:', error.message);
46
+ process.exit(1);
47
+ }
48
+ }
49
+
50
+ function copyRecursive(src, dest) {
51
+ const exists = fs.existsSync(src);
52
+ const stats = exists && fs.statSync(src);
53
+ const isDirectory = exists && stats.isDirectory();
54
+
55
+ if (isDirectory) {
56
+ if (!fs.existsSync(dest)) {
57
+ fs.mkdirSync(dest, { recursive: true });
58
+ }
59
+ fs.readdirSync(src).forEach(childItem => {
60
+ copyRecursive(
61
+ path.join(src, childItem),
62
+ path.join(dest, childItem)
63
+ );
64
+ });
65
+ } else {
66
+ fs.copyFileSync(src, dest);
67
+ }
68
+ }
69
+
70
+ // Only run if this is being executed directly (not required as a module)
71
+ if (require.main === module) {
72
+ copySkills();
73
+ }
74
+
75
+ module.exports = { copySkills };
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { copySkills } = require('./install');
4
+
5
+ console.log('Updating Claude Code skills...');
6
+ copySkills();