claude-cli-advanced-starter-pack 1.1.0 → 1.8.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.
Files changed (56) hide show
  1. package/OVERVIEW.md +5 -1
  2. package/README.md +241 -132
  3. package/bin/gtask.js +53 -0
  4. package/package.json +1 -1
  5. package/src/cli/menu.js +27 -0
  6. package/src/commands/explore-mcp/mcp-registry.js +99 -0
  7. package/src/commands/init.js +306 -77
  8. package/src/commands/install-panel-hook.js +108 -0
  9. package/src/commands/install-scripts.js +232 -0
  10. package/src/commands/install-skill.js +220 -0
  11. package/src/commands/panel.js +297 -0
  12. package/src/commands/setup-wizard.js +4 -3
  13. package/src/commands/test-setup.js +4 -5
  14. package/src/data/releases.json +164 -0
  15. package/src/panel/queue.js +188 -0
  16. package/templates/commands/ask-claude.template.md +118 -0
  17. package/templates/commands/ccasp-panel.template.md +72 -0
  18. package/templates/commands/ccasp-setup.template.md +470 -79
  19. package/templates/commands/create-smoke-test.template.md +186 -0
  20. package/templates/commands/project-impl.template.md +9 -113
  21. package/templates/commands/refactor-check.template.md +112 -0
  22. package/templates/commands/refactor-cleanup.template.md +144 -0
  23. package/templates/commands/refactor-prep.template.md +192 -0
  24. package/templates/docs/AI_ARCHITECTURE_CONSTITUTION.template.md +198 -0
  25. package/templates/docs/DETAILED_GOTCHAS.template.md +347 -0
  26. package/templates/docs/PHASE-DEV-CHECKLIST.template.md +241 -0
  27. package/templates/docs/PROGRESS_JSON_TEMPLATE.json +117 -0
  28. package/templates/docs/background-agent.template.md +264 -0
  29. package/templates/hooks/autonomous-decision-logger.template.js +207 -0
  30. package/templates/hooks/branch-merge-checker.template.js +272 -0
  31. package/templates/hooks/git-commit-tracker.template.js +267 -0
  32. package/templates/hooks/issue-completion-detector.template.js +205 -0
  33. package/templates/hooks/panel-queue-reader.template.js +83 -0
  34. package/templates/hooks/phase-validation-gates.template.js +307 -0
  35. package/templates/hooks/session-id-generator.template.js +236 -0
  36. package/templates/hooks/token-usage-monitor.template.js +193 -0
  37. package/templates/patterns/README.md +129 -0
  38. package/templates/patterns/l1-l2-orchestration.md +189 -0
  39. package/templates/patterns/multi-phase-orchestration.md +258 -0
  40. package/templates/patterns/two-tier-query-pipeline.md +192 -0
  41. package/templates/scripts/README.md +109 -0
  42. package/templates/scripts/analyze-delegation-log.js +299 -0
  43. package/templates/scripts/autonomous-decision-logger.js +277 -0
  44. package/templates/scripts/git-history-analyzer.py +269 -0
  45. package/templates/scripts/phase-validation-gates.js +307 -0
  46. package/templates/scripts/poll-deployment-status.js +260 -0
  47. package/templates/scripts/roadmap-scanner.js +263 -0
  48. package/templates/scripts/validate-deployment.js +293 -0
  49. package/templates/skills/agent-creator/skill.json +18 -0
  50. package/templates/skills/agent-creator/skill.md +335 -0
  51. package/templates/skills/hook-creator/skill.json +18 -0
  52. package/templates/skills/hook-creator/skill.md +318 -0
  53. package/templates/skills/panel/skill.json +18 -0
  54. package/templates/skills/panel/skill.md +90 -0
  55. package/templates/skills/rag-agent-creator/skill.json +18 -0
  56. package/templates/skills/rag-agent-creator/skill.md +307 -0
@@ -0,0 +1,293 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Validate Deployment Environment
4
+ *
5
+ * Pre-deployment validation for Railway, Cloudflare, Vercel, and other platforms.
6
+ * Checks environment variables, build artifacts, and configuration.
7
+ *
8
+ * Usage:
9
+ * node validate-deployment.js --platform railway
10
+ * node validate-deployment.js --platform cloudflare --project-name my-project
11
+ */
12
+
13
+ import { existsSync, readFileSync } from 'fs';
14
+ import { resolve } from 'path';
15
+
16
+ const PLATFORMS = {
17
+ railway: {
18
+ requiredEnv: ['RAILWAY_API_TOKEN'],
19
+ optionalEnv: ['RAILWAY_PROJECT_ID', 'RAILWAY_ENVIRONMENT_ID', 'RAILWAY_SERVICE_ID'],
20
+ buildArtifacts: ['package.json', 'Dockerfile', 'requirements.txt', 'go.mod'],
21
+ configFiles: ['railway.json', 'railway.toml'],
22
+ },
23
+ cloudflare: {
24
+ requiredEnv: ['CLOUDFLARE_API_TOKEN'],
25
+ optionalEnv: ['CLOUDFLARE_ACCOUNT_ID'],
26
+ buildArtifacts: ['dist/', 'build/', 'public/', '.next/'],
27
+ configFiles: ['wrangler.toml', 'wrangler.json'],
28
+ },
29
+ vercel: {
30
+ requiredEnv: ['VERCEL_TOKEN'],
31
+ optionalEnv: ['VERCEL_PROJECT_ID', 'VERCEL_ORG_ID'],
32
+ buildArtifacts: ['dist/', 'build/', '.next/', '.vercel/'],
33
+ configFiles: ['vercel.json'],
34
+ },
35
+ netlify: {
36
+ requiredEnv: ['NETLIFY_AUTH_TOKEN'],
37
+ optionalEnv: ['NETLIFY_SITE_ID'],
38
+ buildArtifacts: ['dist/', 'build/', 'public/'],
39
+ configFiles: ['netlify.toml'],
40
+ },
41
+ };
42
+
43
+ class DeploymentValidator {
44
+ constructor(platform, options = {}) {
45
+ this.platform = platform;
46
+ this.options = options;
47
+ this.config = PLATFORMS[platform];
48
+ this.errors = [];
49
+ this.warnings = [];
50
+ this.checks = [];
51
+ }
52
+
53
+ async validate() {
54
+ console.log(`\n🔍 Validating ${this.platform} deployment...\n`);
55
+
56
+ await this.checkEnvironmentVariables();
57
+ await this.checkBuildArtifacts();
58
+ await this.checkConfigFiles();
59
+ await this.checkGitStatus();
60
+ await this.platformSpecificChecks();
61
+
62
+ this.printReport();
63
+ return this.errors.length === 0;
64
+ }
65
+
66
+ async checkEnvironmentVariables() {
67
+ console.log('📋 Checking environment variables...');
68
+
69
+ for (const envVar of this.config.requiredEnv) {
70
+ if (process.env[envVar]) {
71
+ this.checks.push({ name: envVar, status: 'pass', message: 'Set' });
72
+ } else {
73
+ this.errors.push(`Missing required: ${envVar}`);
74
+ this.checks.push({ name: envVar, status: 'fail', message: 'Missing' });
75
+ }
76
+ }
77
+
78
+ for (const envVar of this.config.optionalEnv) {
79
+ if (process.env[envVar]) {
80
+ this.checks.push({ name: envVar, status: 'pass', message: 'Set (optional)' });
81
+ } else {
82
+ this.warnings.push(`Optional not set: ${envVar}`);
83
+ this.checks.push({ name: envVar, status: 'warn', message: 'Not set (optional)' });
84
+ }
85
+ }
86
+ }
87
+
88
+ async checkBuildArtifacts() {
89
+ console.log('📦 Checking build artifacts...');
90
+
91
+ let foundArtifact = false;
92
+ for (const artifact of this.config.buildArtifacts) {
93
+ const path = resolve(process.cwd(), artifact);
94
+ if (existsSync(path)) {
95
+ foundArtifact = true;
96
+ this.checks.push({ name: artifact, status: 'pass', message: 'Found' });
97
+ }
98
+ }
99
+
100
+ if (!foundArtifact) {
101
+ this.warnings.push('No build artifacts found. Run build command first.');
102
+ }
103
+ }
104
+
105
+ async checkConfigFiles() {
106
+ console.log('⚙️ Checking configuration files...');
107
+
108
+ let foundConfig = false;
109
+ for (const configFile of this.config.configFiles) {
110
+ const path = resolve(process.cwd(), configFile);
111
+ if (existsSync(path)) {
112
+ foundConfig = true;
113
+ this.checks.push({ name: configFile, status: 'pass', message: 'Found' });
114
+
115
+ // Validate config content
116
+ try {
117
+ const content = readFileSync(path, 'utf8');
118
+ if (configFile.endsWith('.json')) {
119
+ JSON.parse(content);
120
+ this.checks.push({ name: `${configFile} syntax`, status: 'pass', message: 'Valid JSON' });
121
+ }
122
+ } catch (e) {
123
+ this.errors.push(`Invalid ${configFile}: ${e.message}`);
124
+ }
125
+ }
126
+ }
127
+
128
+ if (!foundConfig) {
129
+ this.warnings.push(`No ${this.platform} config file found. Using defaults.`);
130
+ }
131
+ }
132
+
133
+ async checkGitStatus() {
134
+ console.log('🔀 Checking git status...');
135
+
136
+ try {
137
+ const { execSync } = await import('child_process');
138
+
139
+ // Check for uncommitted changes
140
+ const status = execSync('git status --porcelain', { encoding: 'utf8' });
141
+ if (status.trim()) {
142
+ this.warnings.push('Uncommitted changes detected. Consider committing first.');
143
+ this.checks.push({ name: 'Git status', status: 'warn', message: 'Uncommitted changes' });
144
+ } else {
145
+ this.checks.push({ name: 'Git status', status: 'pass', message: 'Clean' });
146
+ }
147
+
148
+ // Check branch
149
+ const branch = execSync('git branch --show-current', { encoding: 'utf8' }).trim();
150
+ this.checks.push({ name: 'Current branch', status: 'info', message: branch });
151
+
152
+ } catch (e) {
153
+ this.warnings.push('Not a git repository or git not available');
154
+ }
155
+ }
156
+
157
+ async platformSpecificChecks() {
158
+ switch (this.platform) {
159
+ case 'railway':
160
+ await this.checkRailway();
161
+ break;
162
+ case 'cloudflare':
163
+ await this.checkCloudflare();
164
+ break;
165
+ case 'vercel':
166
+ await this.checkVercel();
167
+ break;
168
+ }
169
+ }
170
+
171
+ async checkRailway() {
172
+ // Check for Dockerfile or supported runtime
173
+ const hasDockerfile = existsSync(resolve(process.cwd(), 'Dockerfile'));
174
+ const hasPackageJson = existsSync(resolve(process.cwd(), 'package.json'));
175
+ const hasRequirements = existsSync(resolve(process.cwd(), 'requirements.txt'));
176
+
177
+ if (!hasDockerfile && !hasPackageJson && !hasRequirements) {
178
+ this.errors.push('No supported runtime detected (Dockerfile, package.json, or requirements.txt)');
179
+ }
180
+
181
+ // Check for Railway-specific health check endpoint
182
+ if (hasPackageJson) {
183
+ try {
184
+ const pkg = JSON.parse(readFileSync('package.json', 'utf8'));
185
+ if (pkg.scripts?.start) {
186
+ this.checks.push({ name: 'Start script', status: 'pass', message: pkg.scripts.start });
187
+ } else {
188
+ this.warnings.push('No "start" script in package.json');
189
+ }
190
+ } catch (e) {
191
+ // Ignore
192
+ }
193
+ }
194
+ }
195
+
196
+ async checkCloudflare() {
197
+ const { projectName } = this.options;
198
+
199
+ // Check dist folder
200
+ const distPath = resolve(process.cwd(), 'dist');
201
+ if (!existsSync(distPath)) {
202
+ this.errors.push('dist/ folder not found. Run "npm run build" first.');
203
+ }
204
+
205
+ // Check for index.html in dist
206
+ const indexPath = resolve(distPath, 'index.html');
207
+ if (existsSync(distPath) && !existsSync(indexPath)) {
208
+ this.warnings.push('No index.html in dist/. Is this a static site?');
209
+ }
210
+
211
+ // Validate wrangler.toml if exists
212
+ const wranglerPath = resolve(process.cwd(), 'wrangler.toml');
213
+ if (existsSync(wranglerPath)) {
214
+ const content = readFileSync(wranglerPath, 'utf8');
215
+ if (projectName && !content.includes(projectName)) {
216
+ this.warnings.push(`Project name "${projectName}" not found in wrangler.toml`);
217
+ }
218
+ }
219
+ }
220
+
221
+ async checkVercel() {
222
+ // Check for .vercel folder
223
+ const vercelDir = resolve(process.cwd(), '.vercel');
224
+ if (!existsSync(vercelDir)) {
225
+ this.warnings.push('No .vercel folder. Run "vercel link" first.');
226
+ }
227
+ }
228
+
229
+ printReport() {
230
+ console.log('\n' + '='.repeat(60));
231
+ console.log(`📊 Validation Report: ${this.platform.toUpperCase()}`);
232
+ console.log('='.repeat(60));
233
+
234
+ // Print checks
235
+ console.log('\nChecks:');
236
+ for (const check of this.checks) {
237
+ const icon = check.status === 'pass' ? '✅' :
238
+ check.status === 'fail' ? '❌' :
239
+ check.status === 'warn' ? '⚠️' : 'ℹ️';
240
+ console.log(` ${icon} ${check.name}: ${check.message}`);
241
+ }
242
+
243
+ // Print errors
244
+ if (this.errors.length > 0) {
245
+ console.log('\n❌ Errors:');
246
+ for (const error of this.errors) {
247
+ console.log(` - ${error}`);
248
+ }
249
+ }
250
+
251
+ // Print warnings
252
+ if (this.warnings.length > 0) {
253
+ console.log('\n⚠️ Warnings:');
254
+ for (const warning of this.warnings) {
255
+ console.log(` - ${warning}`);
256
+ }
257
+ }
258
+
259
+ // Summary
260
+ console.log('\n' + '-'.repeat(60));
261
+ if (this.errors.length === 0) {
262
+ console.log('✅ Validation PASSED - Ready to deploy');
263
+ } else {
264
+ console.log(`❌ Validation FAILED - ${this.errors.length} error(s) found`);
265
+ }
266
+ console.log('-'.repeat(60) + '\n');
267
+ }
268
+ }
269
+
270
+ // CLI entry point
271
+ async function main() {
272
+ const args = process.argv.slice(2);
273
+ const platformIndex = args.indexOf('--platform');
274
+ const platform = platformIndex >= 0 ? args[platformIndex + 1] : null;
275
+
276
+ if (!platform || !PLATFORMS[platform]) {
277
+ console.error('Usage: node validate-deployment.js --platform <railway|cloudflare|vercel|netlify>');
278
+ console.error('Available platforms:', Object.keys(PLATFORMS).join(', '));
279
+ process.exit(1);
280
+ }
281
+
282
+ const options = {};
283
+ const projectNameIndex = args.indexOf('--project-name');
284
+ if (projectNameIndex >= 0) {
285
+ options.projectName = args[projectNameIndex + 1];
286
+ }
287
+
288
+ const validator = new DeploymentValidator(platform, options);
289
+ const success = await validator.validate();
290
+ process.exit(success ? 0 : 1);
291
+ }
292
+
293
+ main().catch(console.error);
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "agent-creator",
3
+ "version": "1.0.0",
4
+ "description": "Create Claude Code CLI agents (subagents) following best practices",
5
+ "category": "development",
6
+ "portability": 100,
7
+ "features": [
8
+ "Task tool configuration",
9
+ "Agent specialization patterns",
10
+ "Workflow integration",
11
+ "RAG-enhanced knowledge bases"
12
+ ],
13
+ "entryPoint": "skill.md",
14
+ "context": [],
15
+ "workflows": [],
16
+ "requiredTools": ["Task", "Read", "Glob", "Grep"],
17
+ "suggestedModel": "sonnet"
18
+ }
@@ -0,0 +1,335 @@
1
+ ---
2
+ name: agent-creator
3
+ description: Create Claude Code CLI agents (subagents) following best practices - proper Task tool configuration, agent specialization, workflow integration, and RAG-enhanced knowledge bases
4
+ ---
5
+
6
+ # Agent Creator Skill
7
+
8
+ Expert-level Claude Code agent creation following official Anthropic best practices.
9
+
10
+ ## When to Use This Skill
11
+
12
+ This skill is automatically invoked when:
13
+
14
+ - Creating new specialized agents/subagents
15
+ - Designing agent workflows
16
+ - Configuring agent tool access
17
+ - Setting up multi-agent coordination
18
+
19
+ ## Agent Architecture Overview
20
+
21
+ ### What are Claude Code Agents?
22
+
23
+ Agents (subagents) are specialized Claude instances launched via the `Task` tool to handle complex, multi-step tasks autonomously. They:
24
+
25
+ - Run in isolated contexts with specific tool access
26
+ - Execute tasks without interrupting main conversation
27
+ - Return results upon completion
28
+ - Can run in parallel for independent tasks
29
+
30
+ ### Agent Types
31
+
32
+ | Agent Type | Description | Tools |
33
+ |------------|-------------|-------|
34
+ | `general-purpose` | Research, search, multi-step tasks | All tools |
35
+ | `Explore` | Fast codebase exploration | All except Edit, Write |
36
+ | `Plan` | Planning and discovery | All except Edit, Write |
37
+ | `Bash` | Command execution specialist | Bash only |
38
+
39
+ ## Creating Custom Agents
40
+
41
+ ### Skill-Based Agents
42
+
43
+ Agents defined as skills live in `.claude/skills/{skill-name}/`:
44
+
45
+ ```
46
+ .claude/skills/
47
+ my-agent/
48
+ skill.md # Main skill definition (YAML frontmatter)
49
+ context/ # Agent context files
50
+ README.md
51
+ patterns.md
52
+ examples.md
53
+ workflows/ # Sub-workflows
54
+ README.md
55
+ sub-task-1.md
56
+ sub-task-2.md
57
+ ```
58
+
59
+ ### skill.md Format
60
+
61
+ ```markdown
62
+ ---
63
+ name: my-agent
64
+ description: Brief description shown in skill list
65
+ ---
66
+
67
+ # Agent Title
68
+
69
+ Detailed agent instructions, patterns, and capabilities.
70
+
71
+ ## When to Use This Agent
72
+
73
+ List specific scenarios when this agent should be invoked.
74
+
75
+ ## Capabilities
76
+
77
+ - What this agent can do
78
+ - Tools it has access to
79
+ - Patterns it follows
80
+
81
+ ## Workflow
82
+
83
+ Step-by-step process the agent follows.
84
+
85
+ ## Output Format
86
+
87
+ What the agent returns upon completion.
88
+ ```
89
+
90
+ ## Agent Design Patterns
91
+
92
+ ### Pattern 1: Discovery Agent
93
+
94
+ Purpose: Research and understand before implementation.
95
+
96
+ ```markdown
97
+ ---
98
+ name: discovery-agent
99
+ description: Research codebase, find patterns, gather requirements
100
+ ---
101
+
102
+ # Discovery Agent
103
+
104
+ ## Purpose
105
+
106
+ Explore the codebase to understand:
107
+ - Existing patterns and conventions
108
+ - File organization and structure
109
+ - Dependencies and relationships
110
+ - Potential impact areas
111
+
112
+ ## Workflow
113
+
114
+ 1. **Initial Search** - Use Glob/Grep to find relevant files
115
+ 2. **Deep Read** - Read key files to understand patterns
116
+ 3. **Map Dependencies** - Trace imports and relationships
117
+ 4. **Document Findings** - Summarize discoveries
118
+
119
+ ## Output
120
+
121
+ Return a structured report:
122
+ - Files discovered
123
+ - Patterns identified
124
+ - Key dependencies
125
+ - Recommendations
126
+ ```
127
+
128
+ ### Pattern 2: Implementation Agent
129
+
130
+ Purpose: Execute code changes with proper patterns.
131
+
132
+ ```markdown
133
+ ---
134
+ name: implementation-agent
135
+ description: Write code following project patterns and conventions
136
+ ---
137
+
138
+ # Implementation Agent
139
+
140
+ ## Purpose
141
+
142
+ Implement features following project standards:
143
+ - Use established patterns
144
+ - Maintain consistency
145
+ - Add appropriate tests
146
+ - Update documentation
147
+
148
+ ## Prerequisites
149
+
150
+ - Discovery complete
151
+ - Plan approved
152
+ - Target files identified
153
+
154
+ ## Workflow
155
+
156
+ 1. **Read Target Files** - Understand current state
157
+ 2. **Apply Patterns** - Use project conventions
158
+ 3. **Implement Changes** - Write clean code
159
+ 4. **Add Tests** - Cover new functionality
160
+ 5. **Validate** - Ensure no regressions
161
+
162
+ ## Output
163
+
164
+ Return implementation summary:
165
+ - Files modified
166
+ - Tests added
167
+ - Breaking changes (if any)
168
+ ```
169
+
170
+ ### Pattern 3: QA Agent
171
+
172
+ Purpose: Validate changes and ensure quality.
173
+
174
+ ```markdown
175
+ ---
176
+ name: qa-agent
177
+ description: Validate changes, run tests, verify patterns
178
+ ---
179
+
180
+ # QA Agent
181
+
182
+ ## Purpose
183
+
184
+ Ensure quality through:
185
+ - Pattern compliance
186
+ - Test coverage
187
+ - Error handling
188
+ - Performance impact
189
+
190
+ ## Workflow
191
+
192
+ 1. **Review Changes** - Examine modified files
193
+ 2. **Run Tests** - Execute relevant test suites
194
+ 3. **Check Patterns** - Verify convention compliance
195
+ 4. **Report Issues** - Document findings
196
+
197
+ ## Output
198
+
199
+ Return QA report:
200
+ - Tests passed/failed
201
+ - Pattern violations
202
+ - Recommendations
203
+ - Sign-off status
204
+ ```
205
+
206
+ ### Pattern 4: Orchestrator Agent
207
+
208
+ Purpose: Coordinate multiple agents for complex tasks.
209
+
210
+ ```markdown
211
+ ---
212
+ name: orchestrator-agent
213
+ description: Coordinate multi-agent workflows for complex tasks
214
+ ---
215
+
216
+ # Orchestrator Agent
217
+
218
+ ## Purpose
219
+
220
+ Coordinate complex workflows:
221
+ - Decompose tasks
222
+ - Assign to specialized agents
223
+ - Aggregate results
224
+ - Handle dependencies
225
+
226
+ ## Workflow
227
+
228
+ 1. **Analyze Task** - Understand scope
229
+ 2. **Create Plan** - Break into subtasks
230
+ 3. **Dispatch Agents** - Launch specialized agents
231
+ 4. **Monitor Progress** - Track completion
232
+ 5. **Aggregate Results** - Combine outputs
233
+
234
+ ## Agent Dispatch
235
+
236
+ Launch agents in parallel when independent:
237
+ - Discovery can run with initial planning
238
+ - Implementation waits for planning
239
+ - QA waits for implementation
240
+ ```
241
+
242
+ ## Task Tool Configuration
243
+
244
+ ### Basic Agent Launch
245
+
246
+ To launch an agent, invoke the Task tool with these parameters:
247
+
248
+ ```json
249
+ {
250
+ "description": "Research authentication patterns",
251
+ "prompt": "Search the codebase for authentication implementations...",
252
+ "subagent_type": "Explore"
253
+ }
254
+ ```
255
+
256
+ ### Agent Parameters
257
+
258
+ | Parameter | Required | Description |
259
+ |-----------|----------|-------------|
260
+ | `description` | Yes | Short (3-5 word) task description |
261
+ | `prompt` | Yes | Detailed task instructions |
262
+ | `subagent_type` | Yes | Agent type to use |
263
+ | `model` | No | Override model (sonnet, opus, haiku) |
264
+ | `resume` | No | Agent ID to resume from |
265
+
266
+ ### Model Selection
267
+
268
+ | Model | Best For | Cost |
269
+ |-------|----------|------|
270
+ | `haiku` | Quick, straightforward tasks | Lowest |
271
+ | `sonnet` | Default, balanced | Medium |
272
+ | `opus` | Complex reasoning | Highest |
273
+
274
+ ## Best Practices
275
+
276
+ ### Agent Design
277
+
278
+ 1. **Single Responsibility** - Each agent does one thing well
279
+ 2. **Clear Boundaries** - Define what agent can/cannot do
280
+ 3. **Explicit Output** - Specify return format
281
+ 4. **Error Handling** - Define failure behavior
282
+
283
+ ### Task Prompts
284
+
285
+ 1. **Be Specific** - Include all necessary context
286
+ 2. **Define Success** - What does "done" look like?
287
+ 3. **Scope Limits** - What should agent NOT do?
288
+ 4. **Output Format** - How to structure results?
289
+
290
+ ### Parallel Execution
291
+
292
+ 1. **Independence** - Only parallelize independent tasks
293
+ 2. **Single Message** - Multiple Task calls in one message
294
+ 3. **Dependencies** - Sequential tasks must wait
295
+
296
+ **Parallel Execution**: In a single message, invoke the Task tool multiple times.
297
+
298
+ **Sequential Execution**: For dependent tasks, wait for first agent to complete before invoking the next Task tool.
299
+
300
+ ### Context Management
301
+
302
+ 1. **Stateless** - Each agent invocation is fresh
303
+ 2. **Self-Contained** - Include all needed context in prompt
304
+ 3. **Explicit Return** - Specify what to report back
305
+ 4. **No Follow-up** - Cannot send additional messages
306
+
307
+ ## Creating a New Agent
308
+
309
+ ### Step-by-Step Process
310
+
311
+ 1. **Define Purpose** - What problem does this agent solve?
312
+ 2. **Identify Tools** - What tools does it need?
313
+ 3. **Design Workflow** - What steps does it follow?
314
+ 4. **Specify Output** - What does it return?
315
+ 5. **Create Skill** - Write skill.md with context
316
+ 6. **Add RAG if Needed** - Include knowledge base for domain expertise
317
+ 7. **Add to README** - Document in skills README
318
+ 8. **Test Thoroughly** - Verify in real scenarios
319
+
320
+ ### Checklist
321
+
322
+ - [ ] skill.md with YAML frontmatter
323
+ - [ ] Clear "When to Use" section
324
+ - [ ] Defined workflow steps
325
+ - [ ] Explicit output format
326
+ - [ ] Context files if needed
327
+ - [ ] Added to skills README
328
+ - [ ] Tested with sample tasks
329
+
330
+ ## References
331
+
332
+ - Task Tool: System prompt documentation
333
+ - Skills: `.claude/skills/README.md`
334
+ - Agents: `.claude/agents/`
335
+ - Official Docs: https://docs.anthropic.com/en/docs/claude-code
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "hook-creator",
3
+ "version": "1.0.0",
4
+ "description": "Create Claude Code CLI hooks following best practices",
5
+ "category": "development",
6
+ "portability": 100,
7
+ "features": [
8
+ "JSON schema configuration",
9
+ "Event type handling",
10
+ "Matcher patterns",
11
+ "Error handling templates"
12
+ ],
13
+ "entryPoint": "skill.md",
14
+ "context": [],
15
+ "workflows": [],
16
+ "requiredTools": ["Read", "Write", "Edit"],
17
+ "suggestedModel": "sonnet"
18
+ }