aiblueprint-cli 1.4.59 → 1.4.60
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 +16 -36
- package/agents-config/agents/action.md +1 -1
- package/agents-config/agents/explore-codebase.md +53 -53
- package/agents-config/agents/explore-docs.md +50 -69
- package/agents-config/agents/websearch.md +36 -40
- package/agents-config/claude-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
- package/agents-config/claude-config/scripts/CLAUDE.md +10 -4
- package/agents-config/claude-config/scripts/bun.lockb +0 -0
- package/agents-config/claude-config/scripts/package.json +22 -30
- package/agents-config/claude-config/scripts/statusline/CLAUDE.md +37 -155
- package/agents-config/claude-config/scripts/statusline/README.md +18 -94
- package/agents-config/claude-config/scripts/statusline/defaults.json +13 -10
- package/agents-config/claude-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -4
- package/agents-config/claude-config/scripts/statusline/fixtures/test-input.json +4 -4
- package/agents-config/claude-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
- package/agents-config/claude-config/scripts/statusline/src/index.ts +33 -82
- package/agents-config/claude-config/scripts/statusline/src/lib/config-types.ts +7 -1
- package/agents-config/claude-config/scripts/statusline/src/lib/formatters.ts +40 -0
- package/agents-config/claude-config/scripts/statusline/src/lib/presets.ts +13 -13
- package/agents-config/claude-config/scripts/statusline/src/lib/render-pure.ts +24 -5
- package/agents-config/claude-config/scripts/statusline/statusline.config.free.json +79 -0
- package/agents-config/claude-config/scripts/statusline/statusline.config.json +77 -77
- package/agents-config/commands/prompts/create-vitejs-app.md +272 -0
- package/agents-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
- package/agents-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
- package/agents-config/commands/prompts/nextjs-setup-project.md +200 -0
- package/agents-config/commands/prompts/prompt.md +55 -0
- package/agents-config/commands/prompts/saas-challenge-idea.md +135 -0
- package/agents-config/commands/prompts/saas-create-architecture.md +242 -0
- package/agents-config/commands/prompts/saas-create-headline.md +132 -0
- package/agents-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
- package/agents-config/commands/prompts/saas-create-legals-docs.md +176 -0
- package/agents-config/commands/prompts/saas-create-logos.md +240 -0
- package/agents-config/commands/prompts/saas-create-prd.md +195 -0
- package/agents-config/commands/prompts/saas-create-tasks.md +240 -0
- package/agents-config/commands/prompts/saas-define-pricing.md +293 -0
- package/agents-config/commands/prompts/saas-find-domain-name.md +190 -0
- package/agents-config/commands/prompts/saas-implement-landing-page.md +257 -0
- package/agents-config/commands/prompts/setup-tmux.md +160 -0
- package/agents-config/commands/prompts/tools.md +148 -0
- package/agents-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
- package/agents-config/scripts/CLAUDE.md +37 -0
- package/agents-config/scripts/biome.json +37 -0
- package/agents-config/scripts/bun.lockb +0 -0
- package/agents-config/scripts/package.json +24 -0
- package/agents-config/scripts/statusline/CLAUDE.md +87 -0
- package/agents-config/scripts/statusline/README.md +117 -0
- package/agents-config/scripts/statusline/__tests__/context.test.ts +229 -0
- package/agents-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
- package/agents-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
- package/agents-config/scripts/statusline/defaults.json +82 -0
- package/agents-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
- package/agents-config/scripts/statusline/fixtures/test-input.json +35 -0
- package/agents-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
- package/agents-config/scripts/statusline/src/index.ts +141 -0
- package/agents-config/scripts/statusline/src/lib/config-types.ts +110 -0
- package/agents-config/scripts/statusline/src/lib/config.ts +21 -0
- package/agents-config/scripts/statusline/src/lib/context.ts +103 -0
- package/agents-config/scripts/statusline/src/lib/formatters.ts +426 -0
- package/agents-config/scripts/statusline/src/lib/git.ts +100 -0
- package/agents-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
- package/agents-config/scripts/statusline/src/lib/presets.ts +177 -0
- package/agents-config/scripts/statusline/src/lib/render-pure.ts +516 -0
- package/agents-config/scripts/statusline/src/lib/types.ts +36 -0
- package/agents-config/scripts/statusline/src/lib/utils.ts +15 -0
- package/agents-config/scripts/statusline/statusline.config.free.json +79 -0
- package/agents-config/scripts/statusline/statusline.config.json +79 -0
- package/agents-config/scripts/statusline/test-with-fixtures.ts +37 -0
- package/agents-config/scripts/statusline/test.ts +20 -0
- package/agents-config/scripts/statusline/tsconfig.json +27 -0
- package/agents-config/scripts/tsconfig.json +27 -0
- package/agents-config/skills/{subagent-creator → agents-managers}/SKILL.md +47 -47
- package/agents-config/skills/{subagent-creator/references/subagents.md → agents-managers/references/agents.md} +45 -45
- package/agents-config/skills/{subagent-creator → agents-managers}/references/context-management.md +20 -20
- package/agents-config/skills/{subagent-creator → agents-managers}/references/debugging-agents.md +27 -27
- package/agents-config/skills/{subagent-creator → agents-managers}/references/error-handling-and-recovery.md +19 -19
- package/agents-config/skills/{subagent-creator → agents-managers}/references/evaluation-and-testing.md +29 -29
- package/agents-config/skills/{subagent-creator → agents-managers}/references/orchestration-patterns.md +5 -5
- package/agents-config/skills/{subagent-creator/references/writing-subagent-prompts.md → agents-managers/references/writing-agent-prompts.md} +23 -23
- package/agents-config/skills/codex-environment/SKILL.md +2 -0
- package/agents-config/skills/commit/SKILL.md +2 -0
- package/agents-config/skills/create-pr/SKILL.md +2 -0
- package/agents-config/skills/environments-manager/SKILL.md +271 -0
- package/agents-config/skills/environments-manager/examples/claude/.worktreeinclude +3 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/dev.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/lint.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/test.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/typecheck.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/settings.json +24 -0
- package/agents-config/skills/environments-manager/examples/codex/environments/environment.toml +29 -0
- package/agents-config/skills/environments-manager/examples/cursor/worktrees.json +3 -0
- package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-create.sh +96 -0
- package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-remove.sh +66 -0
- package/agents-config/skills/environments-manager/examples/scripts/dev.sh +15 -0
- package/agents-config/skills/environments-manager/examples/scripts/worktree-down.sh +22 -0
- package/agents-config/skills/environments-manager/examples/scripts/worktree-up.sh +50 -0
- package/agents-config/skills/environments-manager/references/claude.md +156 -0
- package/agents-config/skills/environments-manager/references/codex.md +97 -0
- package/agents-config/skills/environments-manager/references/cursor.md +88 -0
- package/agents-config/skills/fix-pr-comments/SKILL.md +2 -0
- package/agents-config/skills/grill-me/SKILL.md +10 -0
- package/agents-config/skills/merge/SKILL.md +2 -0
- package/agents-config/skills/rules-manager/SKILL.md +191 -0
- package/agents-config/skills/rules-manager/references/agents-vs-claude.md +66 -0
- package/agents-config/skills/rules-manager/references/examples.md +117 -0
- package/agents-config/skills/skill-manager/SKILL.md +83 -0
- package/agents-config/skills/skill-manager/references/claude-code.md +81 -0
- package/agents-config/skills/skill-manager/references/codex.md +288 -0
- package/agents-config/skills/skill-manager/references/cursor.md +125 -0
- package/agents-config/skills/ultrathink/SKILL.md +2 -0
- package/package.json +1 -1
- package/agents-config/claude-config/scripts/statusline/data/.gitignore +0 -8
- package/agents-config/claude-config/scripts/statusline/data/.gitkeep +0 -0
- package/agents-config/claude-config/scripts/statusline/docs/ARCHITECTURE.md +0 -166
- package/agents-config/claude-config/scripts/statusline/src/tests/spend-v2.test.ts +0 -306
- package/agents-config/skills/apex/SKILL.md +0 -261
- package/agents-config/skills/apex/scripts/setup-templates.sh +0 -100
- package/agents-config/skills/apex/scripts/update-progress.sh +0 -80
- package/agents-config/skills/apex/steps/step-00-init.md +0 -267
- package/agents-config/skills/apex/steps/step-00b-branch.md +0 -126
- package/agents-config/skills/apex/steps/step-00b-economy.md +0 -244
- package/agents-config/skills/apex/steps/step-00b-interactive.md +0 -153
- package/agents-config/skills/apex/steps/step-01-analyze.md +0 -361
- package/agents-config/skills/apex/steps/step-02-plan.md +0 -264
- package/agents-config/skills/apex/steps/step-03-execute.md +0 -239
- package/agents-config/skills/apex/steps/step-04-validate.md +0 -251
- package/agents-config/skills/apex/templates/00-context.md +0 -43
- package/agents-config/skills/apex/templates/01-analyze.md +0 -10
- package/agents-config/skills/apex/templates/02-plan.md +0 -10
- package/agents-config/skills/apex/templates/03-execute.md +0 -10
- package/agents-config/skills/apex/templates/04-validate.md +0 -10
- package/agents-config/skills/apex/templates/README.md +0 -176
- package/agents-config/skills/apex/templates/step-complete.md +0 -7
- package/agents-config/skills/claude-memory/SKILL.md +0 -293
- package/agents-config/skills/claude-memory/references/comprehensive-example.md +0 -175
- package/agents-config/skills/claude-memory/references/optimize-guide.md +0 -300
- package/agents-config/skills/claude-memory/references/project-patterns.md +0 -334
- package/agents-config/skills/claude-memory/references/prompting-techniques.md +0 -411
- package/agents-config/skills/claude-memory/references/rules-directory-guide.md +0 -298
- package/agents-config/skills/claude-memory/references/section-templates.md +0 -347
- package/agents-config/skills/fix-errors/SKILL.md +0 -61
- package/agents-config/skills/fix-grammar/SKILL.md +0 -59
- package/agents-config/skills/ralph-loop/SKILL.md +0 -117
- package/agents-config/skills/ralph-loop/scripts/setup.sh +0 -278
- package/agents-config/skills/ralph-loop/steps/step-00-init.md +0 -215
- package/agents-config/skills/ralph-loop/steps/step-01-interactive-prd.md +0 -366
- package/agents-config/skills/ralph-loop/steps/step-02-create-stories.md +0 -273
- package/agents-config/skills/ralph-loop/steps/step-03-finish.md +0 -245
- package/agents-config/skills/skill-creator/LICENSE.txt +0 -202
- package/agents-config/skills/skill-creator/SKILL.md +0 -421
- package/agents-config/skills/skill-creator/package.json +0 -5
- package/agents-config/skills/skill-creator/references/output-patterns.md +0 -82
- package/agents-config/skills/skill-creator/references/progressive-disclosure-patterns.md +0 -374
- package/agents-config/skills/skill-creator/references/prompting-integration.md +0 -363
- package/agents-config/skills/skill-creator/references/real-world-examples.md +0 -513
- package/agents-config/skills/skill-creator/references/script-patterns.md +0 -385
- package/agents-config/skills/skill-creator/references/workflows.md +0 -28
- package/agents-config/skills/skill-creator/references/xml-tag-guide.md +0 -606
- package/agents-config/skills/skill-creator/scripts/init-skill.ts +0 -214
- package/agents-config/skills/skill-creator/scripts/package-skill.ts +0 -146
- package/agents-config/skills/skill-creator/scripts/validate.ts +0 -138
- package/agents-config/skills/workflow-apex-free/SKILL.md +0 -261
- package/agents-config/skills/workflow-apex-free/scripts/setup-templates.sh +0 -100
- package/agents-config/skills/workflow-apex-free/scripts/update-progress.sh +0 -80
- package/agents-config/skills/workflow-apex-free/steps/step-00-init.md +0 -267
- package/agents-config/skills/workflow-apex-free/steps/step-00b-branch.md +0 -126
- package/agents-config/skills/workflow-apex-free/steps/step-00b-economy.md +0 -244
- package/agents-config/skills/workflow-apex-free/steps/step-00b-interactive.md +0 -153
- package/agents-config/skills/workflow-apex-free/steps/step-01-analyze.md +0 -361
- package/agents-config/skills/workflow-apex-free/steps/step-02-plan.md +0 -264
- package/agents-config/skills/workflow-apex-free/steps/step-03-execute.md +0 -239
- package/agents-config/skills/workflow-apex-free/steps/step-04-validate.md +0 -251
- package/agents-config/skills/workflow-apex-free/templates/00-context.md +0 -43
- package/agents-config/skills/workflow-apex-free/templates/01-analyze.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/02-plan.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/03-execute.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/04-validate.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/README.md +0 -176
- package/agents-config/skills/workflow-apex-free/templates/step-complete.md +0 -7
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"features": {
|
|
3
|
+
"usageLimits": false,
|
|
4
|
+
"spendTracking": false
|
|
5
|
+
},
|
|
6
|
+
"oneLine": true,
|
|
7
|
+
"showSonnetModel": false,
|
|
8
|
+
"pathDisplayMode": "truncated",
|
|
9
|
+
"git": {
|
|
10
|
+
"enabled": true,
|
|
11
|
+
"showBranch": true,
|
|
12
|
+
"showDirtyIndicator": true,
|
|
13
|
+
"showChanges": false,
|
|
14
|
+
"showStaged": true,
|
|
15
|
+
"showUnstaged": true
|
|
16
|
+
},
|
|
17
|
+
"separator": "•",
|
|
18
|
+
"session": {
|
|
19
|
+
"infoSeparator": null,
|
|
20
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
21
|
+
"duration": { "enabled": true },
|
|
22
|
+
"tokens": { "enabled": true, "showMax": false, "showDecimals": false },
|
|
23
|
+
"percentage": {
|
|
24
|
+
"enabled": true,
|
|
25
|
+
"showValue": true,
|
|
26
|
+
"progressBar": {
|
|
27
|
+
"enabled": true,
|
|
28
|
+
"length": 10,
|
|
29
|
+
"style": "braille",
|
|
30
|
+
"color": "progressive",
|
|
31
|
+
"background": "none"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"context": {
|
|
36
|
+
"usePayloadContextWindow": true,
|
|
37
|
+
"maxContextTokens": 200000,
|
|
38
|
+
"autocompactBufferTokens": 45000,
|
|
39
|
+
"useUsableContextOnly": true,
|
|
40
|
+
"overheadTokens": 0
|
|
41
|
+
},
|
|
42
|
+
"limits": {
|
|
43
|
+
"enabled": false,
|
|
44
|
+
"showTimeLeft": false,
|
|
45
|
+
"showPacingDelta": false,
|
|
46
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
47
|
+
"percentage": {
|
|
48
|
+
"enabled": false,
|
|
49
|
+
"showValue": false,
|
|
50
|
+
"progressBar": {
|
|
51
|
+
"enabled": false,
|
|
52
|
+
"length": 10,
|
|
53
|
+
"style": "braille",
|
|
54
|
+
"color": "progressive",
|
|
55
|
+
"background": "none"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"weeklyUsage": {
|
|
60
|
+
"enabled": false,
|
|
61
|
+
"showTimeLeft": false,
|
|
62
|
+
"showPacingDelta": false,
|
|
63
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
64
|
+
"percentage": {
|
|
65
|
+
"enabled": false,
|
|
66
|
+
"showValue": false,
|
|
67
|
+
"progressBar": {
|
|
68
|
+
"enabled": false,
|
|
69
|
+
"length": 10,
|
|
70
|
+
"style": "braille",
|
|
71
|
+
"color": "progressive",
|
|
72
|
+
"background": "none"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"dailySpend": {
|
|
77
|
+
"cost": { "enabled": false, "format": "decimal1" }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
import { readFile } from "node:fs/promises";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { $ } from "bun";
|
|
6
|
+
|
|
7
|
+
const fixtureArg = process.argv[2] || "test-input.json";
|
|
8
|
+
const fixturePath = join(
|
|
9
|
+
import.meta.dir,
|
|
10
|
+
"fixtures",
|
|
11
|
+
fixtureArg.endsWith(".json") ? fixtureArg : `${fixtureArg}.json`,
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
try {
|
|
15
|
+
const fixture = await readFile(fixturePath, "utf-8");
|
|
16
|
+
|
|
17
|
+
console.log("📊 Testing statusline with fixture:", fixtureArg);
|
|
18
|
+
console.log("─".repeat(60));
|
|
19
|
+
|
|
20
|
+
const result =
|
|
21
|
+
await $`echo ${fixture} | bun ${join(import.meta.dir, "src/index.ts")}`.quiet();
|
|
22
|
+
|
|
23
|
+
console.log(result.stdout.toString());
|
|
24
|
+
console.log("─".repeat(60));
|
|
25
|
+
console.log("✅ Test complete!");
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if ((error as any).code === "ENOENT") {
|
|
28
|
+
console.error(`❌ Fixture not found: ${fixturePath}`);
|
|
29
|
+
console.log("\nAvailable fixtures:");
|
|
30
|
+
const files =
|
|
31
|
+
await $`ls ${join(import.meta.dir, "fixtures")}/*.json`.quiet();
|
|
32
|
+
console.log(files.stdout.toString());
|
|
33
|
+
} else {
|
|
34
|
+
console.error("❌ Error:", error);
|
|
35
|
+
}
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { $ } from "bun";
|
|
5
|
+
|
|
6
|
+
const fixtureFile = process.argv[2] || "fixtures/test-input.json";
|
|
7
|
+
const fixtureFullPath = join(import.meta.dir, fixtureFile);
|
|
8
|
+
|
|
9
|
+
console.log(`\n📝 Testing with fixture: ${fixtureFile}\n`);
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
const content = await Bun.file(fixtureFullPath).text();
|
|
13
|
+
const result = await $`echo ${content} | bun run src/index.ts`.text();
|
|
14
|
+
|
|
15
|
+
console.log(result);
|
|
16
|
+
console.log("\n✅ Test completed successfully!\n");
|
|
17
|
+
} catch (error) {
|
|
18
|
+
console.error("❌ Test failed:", error);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
// Enable latest features
|
|
4
|
+
"lib": ["ESNext", "DOM"],
|
|
5
|
+
"target": "ESNext",
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"moduleDetection": "force",
|
|
8
|
+
"jsx": "react-jsx",
|
|
9
|
+
"allowJs": true,
|
|
10
|
+
|
|
11
|
+
// Bundler mode
|
|
12
|
+
"moduleResolution": "bundler",
|
|
13
|
+
"allowImportingTsExtensions": true,
|
|
14
|
+
"verbatimModuleSyntax": true,
|
|
15
|
+
"noEmit": true,
|
|
16
|
+
|
|
17
|
+
// Best practices
|
|
18
|
+
"strict": true,
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
|
|
22
|
+
// Some stricter flags (disabled by default)
|
|
23
|
+
"noUnusedLocals": false,
|
|
24
|
+
"noUnusedParameters": false,
|
|
25
|
+
"noPropertyAccessFromIndexSignature": false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
// Enable latest features
|
|
4
|
+
"lib": ["ESNext", "DOM"],
|
|
5
|
+
"target": "ESNext",
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"moduleDetection": "force",
|
|
8
|
+
"jsx": "react-jsx",
|
|
9
|
+
"allowJs": true,
|
|
10
|
+
|
|
11
|
+
// Bundler mode
|
|
12
|
+
"moduleResolution": "bundler",
|
|
13
|
+
"allowImportingTsExtensions": true,
|
|
14
|
+
"verbatimModuleSyntax": true,
|
|
15
|
+
"noEmit": true,
|
|
16
|
+
|
|
17
|
+
// Best practices
|
|
18
|
+
"strict": true,
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
|
|
22
|
+
// Some stricter flags (disabled by default)
|
|
23
|
+
"noUnusedLocals": false,
|
|
24
|
+
"noUnusedParameters": false,
|
|
25
|
+
"noPropertyAccessFromIndexSignature": false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Expert guidance for creating, building, and using Claude Code
|
|
2
|
+
name: agents-managers
|
|
3
|
+
description: Expert guidance for creating, building, and using Claude Code agents and the Task tool. Use when working with agents, setting up agent configurations, understanding how agents work, or using the Task tool to launch specialized agents.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
<objective>
|
|
7
|
-
|
|
7
|
+
Agents are specialized Claude instances that run in isolated contexts with focused roles and limited tool access. This skill teaches you how to create effective agents, write strong system prompts, configure tool access, and orchestrate multi-agent workflows using the Task tool.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Agents enable delegation of complex tasks to specialized agents that operate autonomously without user interaction, returning their final output to the main conversation.
|
|
10
10
|
</objective>
|
|
11
11
|
|
|
12
12
|
<quick_start>
|
|
@@ -15,12 +15,12 @@ Subagents enable delegation of complex tasks to specialized agents that operate
|
|
|
15
15
|
1. Run `/agents` command
|
|
16
16
|
2. Select "Create New Agent"
|
|
17
17
|
3. Choose project-level (`.claude/agents/`) or user-level (`~/.claude/agents/`)
|
|
18
|
-
4. Define the
|
|
18
|
+
4. Define the agent:
|
|
19
19
|
- **name**: lowercase-with-hyphens
|
|
20
|
-
- **description**: When should this
|
|
20
|
+
- **description**: When should this agent be used?
|
|
21
21
|
- **tools**: Optional comma-separated list (inherits all if omitted)
|
|
22
22
|
- **model**: Optional (`sonnet`, `opus`, `haiku`, or `inherit`)
|
|
23
|
-
5. Write the system prompt (the
|
|
23
|
+
5. Write the system prompt (the agent's instructions)
|
|
24
24
|
</workflow>
|
|
25
25
|
|
|
26
26
|
<example>
|
|
@@ -59,7 +59,7 @@ Provide specific, actionable feedback with file:line references.
|
|
|
59
59
|
| **User** | `~/.claude/agents/` | All projects | Lower |
|
|
60
60
|
| **Plugin** | Plugin's `agents/` dir | All projects | Lowest |
|
|
61
61
|
|
|
62
|
-
Project-level
|
|
62
|
+
Project-level agents override user-level when names conflict.
|
|
63
63
|
</file_structure>
|
|
64
64
|
|
|
65
65
|
<configuration>
|
|
@@ -70,8 +70,8 @@ Project-level subagents override user-level when names conflict.
|
|
|
70
70
|
|
|
71
71
|
<field name="description">
|
|
72
72
|
- Natural language description of purpose
|
|
73
|
-
- Include when Claude should invoke this
|
|
74
|
-
- Used for automatic
|
|
73
|
+
- Include when Claude should invoke this agent
|
|
74
|
+
- Used for automatic agent selection
|
|
75
75
|
</field>
|
|
76
76
|
|
|
77
77
|
<field name="tools">
|
|
@@ -83,26 +83,26 @@ Project-level subagents override user-level when names conflict.
|
|
|
83
83
|
<field name="model">
|
|
84
84
|
- `sonnet`, `opus`, `haiku`, or `inherit`
|
|
85
85
|
- `inherit`: uses same model as main conversation
|
|
86
|
-
- If omitted: defaults to configured
|
|
86
|
+
- If omitted: defaults to configured agent model (usually sonnet)
|
|
87
87
|
</field>
|
|
88
88
|
</configuration>
|
|
89
89
|
|
|
90
90
|
<execution_model>
|
|
91
91
|
<critical_constraint>
|
|
92
|
-
**
|
|
92
|
+
**Agents are black boxes that cannot interact with users.**
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
Agents run in isolated contexts and return their final output to the main conversation. They:
|
|
95
95
|
- ✅ Can use tools like Read, Write, Edit, Bash, Grep, Glob
|
|
96
96
|
- ✅ Can access MCP servers and other non-interactive tools
|
|
97
97
|
- ❌ **Cannot use AskUserQuestion** or any tool requiring user interaction
|
|
98
98
|
- ❌ **Cannot present options or wait for user input**
|
|
99
|
-
- ❌ **User never sees
|
|
99
|
+
- ❌ **User never sees agent's intermediate steps**
|
|
100
100
|
|
|
101
|
-
The main conversation sees only the
|
|
101
|
+
The main conversation sees only the agent's final report/output.
|
|
102
102
|
</critical_constraint>
|
|
103
103
|
|
|
104
104
|
<workflow_design>
|
|
105
|
-
**Designing workflows with
|
|
105
|
+
**Designing workflows with agents:**
|
|
106
106
|
|
|
107
107
|
Use **main chat** for:
|
|
108
108
|
- Gathering requirements from user (AskUserQuestion)
|
|
@@ -110,7 +110,7 @@ Use **main chat** for:
|
|
|
110
110
|
- Any task requiring user confirmation/input
|
|
111
111
|
- Work where user needs visibility into progress
|
|
112
112
|
|
|
113
|
-
Use **
|
|
113
|
+
Use **agents** for:
|
|
114
114
|
- Research tasks (API documentation lookup, code analysis)
|
|
115
115
|
- Code generation based on pre-defined requirements
|
|
116
116
|
- Analysis and reporting (security review, test coverage)
|
|
@@ -121,11 +121,11 @@ Use **subagents** for:
|
|
|
121
121
|
|
|
122
122
|
Main Chat: Ask user for requirements (AskUserQuestion)
|
|
123
123
|
↓
|
|
124
|
-
|
|
124
|
+
Agent: Research API and create documentation (no user interaction)
|
|
125
125
|
↓
|
|
126
126
|
Main Chat: Review research with user, confirm approach
|
|
127
127
|
↓
|
|
128
|
-
|
|
128
|
+
Agent: Generate code based on confirmed plan
|
|
129
129
|
↓
|
|
130
130
|
Main Chat: Present results, handle testing/deployment
|
|
131
131
|
|
|
@@ -135,7 +135,7 @@ Main Chat: Present results, handle testing/deployment
|
|
|
135
135
|
|
|
136
136
|
<system_prompt_guidelines>
|
|
137
137
|
<principle name="be_specific">
|
|
138
|
-
Clearly define the
|
|
138
|
+
Clearly define the agent's role, capabilities, and constraints.
|
|
139
139
|
</principle>
|
|
140
140
|
|
|
141
141
|
<principle name="use_pure_xml_structure">
|
|
@@ -171,20 +171,20 @@ You are a senior code reviewer specializing in security.
|
|
|
171
171
|
</principle>
|
|
172
172
|
|
|
173
173
|
<principle name="task_specific">
|
|
174
|
-
Tailor instructions to the specific task domain. Don't create generic "helper"
|
|
174
|
+
Tailor instructions to the specific task domain. Don't create generic "helper" agents.
|
|
175
175
|
|
|
176
176
|
❌ Bad: "You are a helpful assistant that helps with code"
|
|
177
177
|
✅ Good: "You are a React component refactoring specialist. Analyze components for hooks best practices, performance anti-patterns, and accessibility issues."
|
|
178
178
|
</principle>
|
|
179
179
|
</system_prompt_guidelines>
|
|
180
180
|
|
|
181
|
-
<
|
|
182
|
-
|
|
181
|
+
<agent_xml_structure>
|
|
182
|
+
Agent.md files are system prompts consumed only by Claude. Like skills and slash commands, they should use pure XML structure for optimal parsing and token efficiency.
|
|
183
183
|
|
|
184
184
|
<recommended_tags>
|
|
185
|
-
Common tags for
|
|
185
|
+
Common tags for agent structure:
|
|
186
186
|
|
|
187
|
-
- `<role>` - Who the
|
|
187
|
+
- `<role>` - Who the agent is and what it does
|
|
188
188
|
- `<constraints>` - Hard rules (NEVER/MUST/ALWAYS)
|
|
189
189
|
- `<focus_areas>` - What to prioritize
|
|
190
190
|
- `<workflow>` - Step-by-step process
|
|
@@ -194,55 +194,55 @@ Common tags for subagent structure:
|
|
|
194
194
|
</recommended_tags>
|
|
195
195
|
|
|
196
196
|
<intelligence_rules>
|
|
197
|
-
**Simple
|
|
197
|
+
**Simple agents** (single focused task):
|
|
198
198
|
|
|
199
199
|
- Use role + constraints + workflow minimum
|
|
200
200
|
- Example: code-reviewer, test-runner
|
|
201
201
|
|
|
202
|
-
**Medium
|
|
202
|
+
**Medium agents** (multi-step process):
|
|
203
203
|
|
|
204
204
|
- Add workflow steps, output_format, success_criteria
|
|
205
205
|
- Example: api-researcher, documentation-generator
|
|
206
206
|
|
|
207
|
-
**Complex
|
|
207
|
+
**Complex agents** (research + generation + validation):
|
|
208
208
|
|
|
209
209
|
- Add all tags as appropriate including validation, examples
|
|
210
210
|
- Example: mcp-api-researcher, comprehensive-auditor
|
|
211
211
|
</intelligence_rules>
|
|
212
212
|
|
|
213
213
|
<critical_rule>
|
|
214
|
-
**Remove ALL markdown headings (##, ###) from
|
|
214
|
+
**Remove ALL markdown headings (##, ###) from agent body.** Use semantic XML tags instead.
|
|
215
215
|
|
|
216
216
|
Keep markdown formatting WITHIN content (bold, italic, lists, code blocks, links).
|
|
217
217
|
|
|
218
|
-
For XML structure principles and token efficiency details, see @skills/create-agent-skills/references/use-xml-tags.md - the same principles apply to
|
|
218
|
+
For XML structure principles and token efficiency details, see @skills/create-agent-skills/references/use-xml-tags.md - the same principles apply to agents.
|
|
219
219
|
</critical_rule>
|
|
220
|
-
</
|
|
220
|
+
</agent_xml_structure>
|
|
221
221
|
|
|
222
222
|
<invocation>
|
|
223
223
|
<automatic>
|
|
224
|
-
Claude automatically selects
|
|
224
|
+
Claude automatically selects agents based on the `description` field when it matches the current task.
|
|
225
225
|
</automatic>
|
|
226
226
|
|
|
227
227
|
<explicit>
|
|
228
|
-
You can explicitly invoke a
|
|
228
|
+
You can explicitly invoke a agent:
|
|
229
229
|
|
|
230
230
|
```
|
|
231
|
-
> Use the code-reviewer
|
|
231
|
+
> Use the code-reviewer agent to check my recent changes
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
```
|
|
235
|
-
> Have the test-writer
|
|
235
|
+
> Have the test-writer agent create tests for the new API endpoints
|
|
236
236
|
```
|
|
237
237
|
|
|
238
238
|
</explicit>
|
|
239
239
|
</invocation>
|
|
240
240
|
|
|
241
241
|
<background_execution>
|
|
242
|
-
|
|
242
|
+
Agents can run in the background using the `run_in_background` parameter, allowing parallel execution while the main conversation continues.
|
|
243
243
|
|
|
244
244
|
<how_it_works>
|
|
245
|
-
**Starting a background
|
|
245
|
+
**Starting a background agent:**
|
|
246
246
|
The Task tool accepts `run_in_background: true` to launch agents asynchronously:
|
|
247
247
|
|
|
248
248
|
```
|
|
@@ -366,24 +366,24 @@ The agent continues with its full previous context preserved.
|
|
|
366
366
|
<management>
|
|
367
367
|
<using_agents_command>
|
|
368
368
|
Run `/agents` for an interactive interface to:
|
|
369
|
-
- View all available
|
|
370
|
-
- Create new
|
|
371
|
-
- Edit existing
|
|
372
|
-
- Delete custom
|
|
369
|
+
- View all available agents
|
|
370
|
+
- Create new agents
|
|
371
|
+
- Edit existing agents
|
|
372
|
+
- Delete custom agents
|
|
373
373
|
</using_agents_command>
|
|
374
374
|
|
|
375
375
|
<manual_editing>
|
|
376
|
-
You can also edit
|
|
376
|
+
You can also edit agent files directly:
|
|
377
377
|
|
|
378
|
-
- Project: `.claude/agents/
|
|
379
|
-
- User: `~/.claude/agents/
|
|
378
|
+
- Project: `.claude/agents/agent-name.md`
|
|
379
|
+
- User: `~/.claude/agents/agent-name.md`
|
|
380
380
|
</manual_editing>
|
|
381
381
|
</management>
|
|
382
382
|
|
|
383
383
|
<reference>
|
|
384
384
|
**Core references**:
|
|
385
385
|
|
|
386
|
-
**
|
|
386
|
+
**Agent usage and configuration**: [references/agents.md](references/agents.md)
|
|
387
387
|
|
|
388
388
|
- File format and configuration
|
|
389
389
|
- Model selection (Sonnet 4.5 + Haiku 4.5 orchestration)
|
|
@@ -392,7 +392,7 @@ You can also edit subagent files directly:
|
|
|
392
392
|
- **Background execution** (run_in_background, TaskOutput, parallel agents)
|
|
393
393
|
- Complete examples
|
|
394
394
|
|
|
395
|
-
**Writing effective prompts**: [references/writing-
|
|
395
|
+
**Writing effective prompts**: [references/writing-agent-prompts.md](references/writing-agent-prompts.md)
|
|
396
396
|
|
|
397
397
|
- Core principles and XML structure
|
|
398
398
|
- Description field optimization for routing
|
|
@@ -439,7 +439,7 @@ You can also edit subagent files directly:
|
|
|
439
439
|
</reference>
|
|
440
440
|
|
|
441
441
|
<success_criteria>
|
|
442
|
-
A well-configured
|
|
442
|
+
A well-configured agent has:
|
|
443
443
|
|
|
444
444
|
- Valid YAML frontmatter (name matches file, description includes triggers)
|
|
445
445
|
- Clear role definition in system prompt
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<file_format>
|
|
2
|
-
|
|
2
|
+
Agent file structure:
|
|
3
3
|
|
|
4
4
|
```markdown
|
|
5
5
|
---
|
|
6
|
-
name: your-
|
|
7
|
-
description: Description of when this
|
|
6
|
+
name: your-agent-name
|
|
7
|
+
description: Description of when this agent should be invoked
|
|
8
8
|
tools: tool1, tool2, tool3 # Optional - inherits all tools if omitted
|
|
9
9
|
model: sonnet # Optional - specify model alias or 'inherit'
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<role>
|
|
13
|
-
Your
|
|
13
|
+
Your agent's system prompt using pure XML structure. This defines the agent's role, capabilities, and approach.
|
|
14
14
|
</role>
|
|
15
15
|
|
|
16
16
|
<constraints>
|
|
@@ -30,7 +30,7 @@ Step-by-step process for consistency.
|
|
|
30
30
|
| `name` | Yes | Unique identifier using lowercase letters and hyphens |
|
|
31
31
|
| `description` | Yes | Natural language description of purpose. Include when Claude should invoke this. |
|
|
32
32
|
| `tools` | No | Comma-separated list. If omitted, inherits all tools from main thread |
|
|
33
|
-
| `model` | No | `sonnet`, `opus`, `haiku`, or `inherit`. If omitted, uses default
|
|
33
|
+
| `model` | No | `sonnet`, `opus`, `haiku`, or `inherit`. If omitted, uses default agent model |
|
|
34
34
|
</configuration_fields>
|
|
35
35
|
</file_format>
|
|
36
36
|
|
|
@@ -42,35 +42,35 @@ Step-by-step process for consistency.
|
|
|
42
42
|
| **CLI** | `--agents` flag | Current session | Medium |
|
|
43
43
|
| **Plugin** | Plugin's `agents/` dir | All projects | Lowest |
|
|
44
44
|
|
|
45
|
-
When
|
|
45
|
+
When agent names conflict, higher priority takes precedence.
|
|
46
46
|
</storage_locations>
|
|
47
47
|
|
|
48
48
|
<execution_model>
|
|
49
49
|
<black_box_model>
|
|
50
|
-
|
|
50
|
+
Agents execute in isolated contexts without user interaction.
|
|
51
51
|
|
|
52
52
|
**Key characteristics:**
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
53
|
+
- Agent receives input parameters from main chat
|
|
54
|
+
- Agent runs autonomously using available tools
|
|
55
|
+
- Agent returns final output/report to main chat
|
|
56
56
|
- User only sees final result, not intermediate steps
|
|
57
57
|
|
|
58
58
|
**This means:**
|
|
59
|
-
- ✅
|
|
60
|
-
- ✅
|
|
61
|
-
- ✅
|
|
62
|
-
- ❌ **
|
|
63
|
-
- ❌ **
|
|
64
|
-
- ❌ **
|
|
65
|
-
- ❌ **User does not see
|
|
59
|
+
- ✅ Agents can use Read, Write, Edit, Bash, Grep, Glob, WebSearch, WebFetch
|
|
60
|
+
- ✅ Agents can access MCP servers (non-interactive tools)
|
|
61
|
+
- ✅ Agents can make decisions based on their prompt and available data
|
|
62
|
+
- ❌ **Agents CANNOT use AskUserQuestion**
|
|
63
|
+
- ❌ **Agents CANNOT present options and wait for user selection**
|
|
64
|
+
- ❌ **Agents CANNOT request confirmations or clarifications from user**
|
|
65
|
+
- ❌ **User does not see agent's tool calls or intermediate reasoning**
|
|
66
66
|
</black_box_model>
|
|
67
67
|
|
|
68
68
|
<workflow_implications>
|
|
69
|
-
**When designing
|
|
69
|
+
**When designing agent workflows:**
|
|
70
70
|
|
|
71
71
|
Keep user interaction in main chat:
|
|
72
72
|
```markdown
|
|
73
|
-
# ❌ WRONG -
|
|
73
|
+
# ❌ WRONG - Agent cannot do this
|
|
74
74
|
---
|
|
75
75
|
name: requirement-gatherer
|
|
76
76
|
description: Gathers requirements from user
|
|
@@ -84,9 +84,9 @@ You ask the user questions to gather requirements...
|
|
|
84
84
|
# ✅ CORRECT - Main chat handles interaction
|
|
85
85
|
Main chat: Uses AskUserQuestion to gather requirements
|
|
86
86
|
↓
|
|
87
|
-
Launch
|
|
87
|
+
Launch agent: Uses requirements to research/build (no interaction)
|
|
88
88
|
↓
|
|
89
|
-
Main chat: Present
|
|
89
|
+
Main chat: Present agent results to user
|
|
90
90
|
```
|
|
91
91
|
</workflow_implications>
|
|
92
92
|
</execution_model>
|
|
@@ -102,7 +102,7 @@ description: Reviews code for quality and security
|
|
|
102
102
|
---
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
Agent has access to all tools, including MCP tools.
|
|
106
106
|
</inherit_all_tools>
|
|
107
107
|
|
|
108
108
|
<specific_tools>
|
|
@@ -185,18 +185,18 @@ Use `/agents` command to see full list of available tools.
|
|
|
185
185
|
|
|
186
186
|
<invocation>
|
|
187
187
|
<automatic>
|
|
188
|
-
Claude automatically selects
|
|
188
|
+
Claude automatically selects agents based on:
|
|
189
189
|
- Task description in user's request
|
|
190
|
-
- `description` field in
|
|
190
|
+
- `description` field in agent configuration
|
|
191
191
|
- Current context
|
|
192
192
|
</automatic>
|
|
193
193
|
|
|
194
194
|
<explicit>
|
|
195
|
-
Users can explicitly request a
|
|
195
|
+
Users can explicitly request a agent:
|
|
196
196
|
|
|
197
197
|
```
|
|
198
|
-
> Use the code-reviewer
|
|
199
|
-
> Have the test-runner
|
|
198
|
+
> Use the code-reviewer agent to check my recent changes
|
|
199
|
+
> Have the test-runner agent fix the failing tests
|
|
200
200
|
```
|
|
201
201
|
</explicit>
|
|
202
202
|
</invocation>
|
|
@@ -204,23 +204,23 @@ Users can explicitly request a subagent:
|
|
|
204
204
|
<management>
|
|
205
205
|
<using_agents_command>
|
|
206
206
|
**Recommended**: Use `/agents` command for interactive management:
|
|
207
|
-
- View all available
|
|
208
|
-
- Create new
|
|
209
|
-
- Edit existing
|
|
210
|
-
- Delete custom
|
|
211
|
-
- See which
|
|
207
|
+
- View all available agents (built-in, user, project, plugin)
|
|
208
|
+
- Create new agents with guided setup
|
|
209
|
+
- Edit existing agents and their tool access
|
|
210
|
+
- Delete custom agents
|
|
211
|
+
- See which agents take priority when names conflict
|
|
212
212
|
</using_agents_command>
|
|
213
213
|
|
|
214
214
|
<direct_file_management>
|
|
215
|
-
**Alternative**: Edit
|
|
216
|
-
- Project: `.claude/agents/
|
|
217
|
-
- User: `~/.claude/agents/
|
|
215
|
+
**Alternative**: Edit agent files directly:
|
|
216
|
+
- Project: `.claude/agents/agent-name.md`
|
|
217
|
+
- User: `~/.claude/agents/agent-name.md`
|
|
218
218
|
|
|
219
219
|
Follow the file format specified above (YAML frontmatter + system prompt).
|
|
220
220
|
</direct_file_management>
|
|
221
221
|
|
|
222
222
|
<cli_based_configuration>
|
|
223
|
-
**Temporary**: Define
|
|
223
|
+
**Temporary**: Define agents via CLI for session-specific use:
|
|
224
224
|
|
|
225
225
|
```bash
|
|
226
226
|
claude --agents '{
|
|
@@ -237,7 +237,7 @@ Useful for testing configurations before saving them.
|
|
|
237
237
|
</cli_based_configuration>
|
|
238
238
|
</management>
|
|
239
239
|
|
|
240
|
-
<
|
|
240
|
+
<example_agents>
|
|
241
241
|
<test_writer>
|
|
242
242
|
```markdown
|
|
243
243
|
---
|
|
@@ -299,7 +299,7 @@ You are a debugging specialist skilled at root cause analysis and systematic pro
|
|
|
299
299
|
</debugging_techniques>
|
|
300
300
|
```
|
|
301
301
|
</debugger>
|
|
302
|
-
</
|
|
302
|
+
</example_agents>
|
|
303
303
|
|
|
304
304
|
<tool_security>
|
|
305
305
|
<core_principle>
|
|
@@ -342,7 +342,7 @@ Scope: Can draft email, cannot access sensitive financial data
|
|
|
342
342
|
|
|
343
343
|
<audit_checklist>
|
|
344
344
|
**Tool access audit**:
|
|
345
|
-
- [ ] Does this
|
|
345
|
+
- [ ] Does this agent need Write/Edit, or is Read sufficient?
|
|
346
346
|
- [ ] Should it execute code (Bash), or just analyze?
|
|
347
347
|
- [ ] Are all granted tools necessary for the task?
|
|
348
348
|
- [ ] What's the worst-case misuse scenario?
|
|
@@ -354,7 +354,7 @@ Scope: Can draft email, cannot access sensitive financial data
|
|
|
354
354
|
|
|
355
355
|
<prompt_caching>
|
|
356
356
|
<benefits>
|
|
357
|
-
Prompt caching for frequently-invoked
|
|
357
|
+
Prompt caching for frequently-invoked agents:
|
|
358
358
|
- **90% cost reduction** on cached tokens
|
|
359
359
|
- **85% latency reduction** for cache hits
|
|
360
360
|
- Cached content: ~10% cost of uncached tokens
|
|
@@ -405,13 +405,13 @@ Recent changes: {varies per invocation}
|
|
|
405
405
|
|
|
406
406
|
<when_to_use>
|
|
407
407
|
**Best candidates for caching**:
|
|
408
|
-
- Frequently-invoked
|
|
408
|
+
- Frequently-invoked agents (multiple times per session)
|
|
409
409
|
- Large, stable prompts (extensive guidelines, examples)
|
|
410
410
|
- Consistent tool definitions across invocations
|
|
411
|
-
- Long-running sessions with repeated
|
|
411
|
+
- Long-running sessions with repeated agent use
|
|
412
412
|
|
|
413
413
|
**Not beneficial**:
|
|
414
|
-
- Rarely-used
|
|
414
|
+
- Rarely-used agents (once per session)
|
|
415
415
|
- Prompts that change frequently
|
|
416
416
|
- Very short prompts (caching overhead > benefit)
|
|
417
417
|
</when_to_use>
|
|
@@ -424,7 +424,7 @@ Recent changes: {varies per invocation}
|
|
|
424
424
|
- Expires after 5 minutes of non-use (or 1 hour for extended TTL)
|
|
425
425
|
|
|
426
426
|
**Invalidation triggers**:
|
|
427
|
-
-
|
|
427
|
+
- Agent prompt modified
|
|
428
428
|
- Tool definitions changed
|
|
429
429
|
- Cache TTL expires
|
|
430
430
|
</cache_management>
|
|
@@ -550,7 +550,7 @@ Task tool:
|
|
|
550
550
|
|
|
551
551
|
<best_practices>
|
|
552
552
|
<be_specific>
|
|
553
|
-
Create task-specific
|
|
553
|
+
Create task-specific agents, not generic helpers.
|
|
554
554
|
|
|
555
555
|
❌ Bad: "You are a helpful assistant"
|
|
556
556
|
✅ Good: "You are a React performance optimizer specializing in hooks and memoization"
|