@vibe-agent-toolkit/vat-development-agents 0.1.8 → 0.1.11
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 +30 -0
- package/dist/agents/pattern-analyzer.d.ts +34 -0
- package/dist/agents/pattern-analyzer.d.ts.map +1 -0
- package/dist/agents/pattern-analyzer.js +71 -0
- package/dist/agents/pattern-analyzer.js.map +1 -0
- package/dist/agents/requirement-gatherer.d.ts +30 -0
- package/dist/agents/requirement-gatherer.d.ts.map +1 -0
- package/dist/agents/requirement-gatherer.js +57 -0
- package/dist/agents/requirement-gatherer.js.map +1 -0
- package/dist/generated/resources/prompts/core-principles.d.ts +23 -0
- package/dist/generated/resources/prompts/core-principles.js +35 -0
- package/dist/generated/resources/prompts/llm-selection.d.ts +22 -0
- package/dist/generated/resources/prompts/llm-selection.js +30 -0
- package/dist/generated/resources/prompts/pattern-recognition.d.ts +23 -0
- package/dist/generated/resources/prompts/pattern-recognition.js +35 -0
- package/dist/generated/resources/prompts/questioning-techniques.d.ts +22 -0
- package/dist/generated/resources/prompts/questioning-techniques.js +30 -0
- package/dist/generated/resources/skills/SKILL.d.ts +35 -0
- package/dist/generated/resources/skills/SKILL.js +83 -0
- package/dist/skills/vibe-agent-toolkit/README.md +279 -0
- package/dist/skills/vibe-agent-toolkit/SKILL.md +1066 -0
- package/dist/test-pipeline.d.ts +10 -0
- package/dist/test-pipeline.d.ts.map +1 -0
- package/dist/test-pipeline.js +127 -0
- package/dist/test-pipeline.js.map +1 -0
- package/package.json +33 -7
package/README.md
CHANGED
|
@@ -46,10 +46,40 @@ Identifies opportunities to improve agent resources following Anthropic's "small
|
|
|
46
46
|
|
|
47
47
|
## Installation
|
|
48
48
|
|
|
49
|
+
### As NPM Package
|
|
50
|
+
|
|
49
51
|
```bash
|
|
50
52
|
npm install @vibe-agent-toolkit/vat-development-agents
|
|
51
53
|
```
|
|
52
54
|
|
|
55
|
+
### Installing the Skill
|
|
56
|
+
|
|
57
|
+
This package includes a distributable Claude Code skill called `vibe-agent-toolkit` that provides guidance on using VAT for agent creation and development.
|
|
58
|
+
|
|
59
|
+
**Install from npm:**
|
|
60
|
+
```bash
|
|
61
|
+
vat skills install npm:@vibe-agent-toolkit/vat-development-agents
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Install from local directory (development):**
|
|
65
|
+
```bash
|
|
66
|
+
vat skills install ./packages/vat-development-agents
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Verify installation:**
|
|
70
|
+
```bash
|
|
71
|
+
vat skills list --installed
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The `vibe-agent-toolkit` skill will be installed to `~/.claude/plugins/vibe-agent-toolkit/` and will appear in Claude Code after restarting or running `/reload-skills`.
|
|
75
|
+
|
|
76
|
+
**What the skill includes:**
|
|
77
|
+
- VAT overview and use cases
|
|
78
|
+
- Agent creation guide (using agent-generator)
|
|
79
|
+
- CLI workflow documentation
|
|
80
|
+
- Links to agent authoring and orchestration guides
|
|
81
|
+
- Best practices for portable agents
|
|
82
|
+
|
|
53
83
|
## Usage
|
|
54
84
|
|
|
55
85
|
### As NPM Package
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Analyzer Agent
|
|
3
|
+
* LLM Analyzer that identifies appropriate agent archetypes
|
|
4
|
+
*/
|
|
5
|
+
export interface PatternAnalyzerConfig {
|
|
6
|
+
name: string;
|
|
7
|
+
version: string;
|
|
8
|
+
}
|
|
9
|
+
export interface DesignRequest {
|
|
10
|
+
agentPurpose: string;
|
|
11
|
+
successCriteria: string[];
|
|
12
|
+
constraints?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface PatternAnalysis {
|
|
15
|
+
recommendedArchetype: 'pure-function-tool' | 'llm-analyzer' | 'conversational-assistant' | 'agentic-workflow';
|
|
16
|
+
confidence: 'high' | 'medium' | 'low';
|
|
17
|
+
reasoning: string;
|
|
18
|
+
recommendedLLM?: string;
|
|
19
|
+
alternativePatterns?: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface PatternAnalyzerAgent {
|
|
22
|
+
metadata: {
|
|
23
|
+
name: string;
|
|
24
|
+
version: string;
|
|
25
|
+
archetype: 'llm-analyzer';
|
|
26
|
+
};
|
|
27
|
+
systemPrompt: string;
|
|
28
|
+
analyze: (request: DesignRequest) => Promise<PatternAnalysis>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a pattern analyzer agent with resource-based prompts
|
|
32
|
+
*/
|
|
33
|
+
export declare function createPatternAnalyzer(config: PatternAnalyzerConfig): PatternAnalyzerAgent;
|
|
34
|
+
//# sourceMappingURL=pattern-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-analyzer.d.ts","sourceRoot":"","sources":["../../src/agents/pattern-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,oBAAoB,EAAE,oBAAoB,GAAG,cAAc,GAAG,0BAA0B,GAAG,kBAAkB,CAAC;IAC9G,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,cAAc,CAAC;KAC3B,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,oBAAoB,CAiDzF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Analyzer Agent
|
|
3
|
+
* LLM Analyzer that identifies appropriate agent archetypes
|
|
4
|
+
*/
|
|
5
|
+
import * as CorePrinciples from '../../generated/resources/prompts/core-principles.js';
|
|
6
|
+
import * as LLMSelection from '../../generated/resources/prompts/llm-selection.js';
|
|
7
|
+
import * as PatternRecognition from '../../generated/resources/prompts/pattern-recognition.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create a pattern analyzer agent with resource-based prompts
|
|
10
|
+
*/
|
|
11
|
+
export function createPatternAnalyzer(config) {
|
|
12
|
+
// Build system prompt from fragments
|
|
13
|
+
const systemPrompt = `
|
|
14
|
+
You are an expert agent architect that analyzes requirements and recommends appropriate agent patterns.
|
|
15
|
+
|
|
16
|
+
${CorePrinciples.fragments.purposeDriven.text}
|
|
17
|
+
|
|
18
|
+
${CorePrinciples.fragments.simpleFirst.text}
|
|
19
|
+
|
|
20
|
+
${PatternRecognition.text}
|
|
21
|
+
|
|
22
|
+
${LLMSelection.text}
|
|
23
|
+
|
|
24
|
+
Your job: Analyze the design request and recommend the best agent archetype and LLM.
|
|
25
|
+
|
|
26
|
+
Output JSON matching this schema:
|
|
27
|
+
{
|
|
28
|
+
"recommendedArchetype": "pure-function-tool | llm-analyzer | conversational-assistant | agentic-workflow",
|
|
29
|
+
"confidence": "high | medium | low",
|
|
30
|
+
"reasoning": "string - explain why this pattern fits",
|
|
31
|
+
"recommendedLLM": "string - specific model recommendation",
|
|
32
|
+
"alternativePatterns": ["string array - other viable options"]
|
|
33
|
+
}
|
|
34
|
+
`.trim();
|
|
35
|
+
return {
|
|
36
|
+
metadata: {
|
|
37
|
+
name: config.name,
|
|
38
|
+
version: config.version,
|
|
39
|
+
archetype: 'llm-analyzer',
|
|
40
|
+
},
|
|
41
|
+
systemPrompt,
|
|
42
|
+
/**
|
|
43
|
+
* Analyze a design request and recommend pattern
|
|
44
|
+
*/
|
|
45
|
+
async analyze(_request) {
|
|
46
|
+
// This would integrate with an actual LLM in a real implementation
|
|
47
|
+
// For now, demonstrate the structure
|
|
48
|
+
return {
|
|
49
|
+
recommendedArchetype: 'conversational-assistant',
|
|
50
|
+
confidence: 'high',
|
|
51
|
+
reasoning: 'Multi-turn dialogue with context accumulation',
|
|
52
|
+
recommendedLLM: 'claude-3-5-sonnet-20241022',
|
|
53
|
+
alternativePatterns: ['llm-analyzer'],
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// Example usage demonstrating resource composition
|
|
59
|
+
const analyzer = createPatternAnalyzer({
|
|
60
|
+
name: 'pattern-analyzer',
|
|
61
|
+
version: '1.0.0',
|
|
62
|
+
});
|
|
63
|
+
console.log('Pattern Analyzer Agent:');
|
|
64
|
+
console.log(`- System prompt length: ${analyzer.systemPrompt.length} chars`);
|
|
65
|
+
console.log(`- Resources used: ${Object.keys(CorePrinciples.fragments).length + Object.keys(PatternRecognition.fragments).length + Object.keys(LLMSelection.fragments).length} fragments`);
|
|
66
|
+
console.log(`- Archetype: ${analyzer.metadata.archetype}`);
|
|
67
|
+
console.log('\nPrompt composition:');
|
|
68
|
+
console.log(` • Core principles: ${Object.keys(CorePrinciples.fragments).length} fragments`);
|
|
69
|
+
console.log(` • Pattern recognition: ${Object.keys(PatternRecognition.fragments).length} fragments`);
|
|
70
|
+
console.log(` • LLM selection: ${Object.keys(LLMSelection.fragments).length} fragments`);
|
|
71
|
+
//# sourceMappingURL=pattern-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-analyzer.js","sourceRoot":"","sources":["../../src/agents/pattern-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,cAAc,MAAM,sDAAsD,CAAC;AACvF,OAAO,KAAK,YAAY,MAAM,oDAAoD,CAAC;AACnF,OAAO,KAAK,kBAAkB,MAAM,0DAA0D,CAAC;AA+B/F;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,qCAAqC;IACrC,MAAM,YAAY,GAAG;;;EAGrB,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI;;EAE3C,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;;EAEzC,kBAAkB,CAAC,IAAI;;EAEvB,YAAY,CAAC,IAAI;;;;;;;;;;;;GAYhB,CAAC,IAAI,EAAE,CAAC;IAET,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,cAAuB;SACnC;QACD,YAAY;QAEZ;;WAEG;QACH,KAAK,CAAC,OAAO,CAAC,QAAuB;YACnC,mEAAmE;YACnE,qCAAqC;YAErC,OAAO;gBACL,oBAAoB,EAAE,0BAA0B;gBAChD,UAAU,EAAE,MAAM;gBAClB,SAAS,EAAE,+CAA+C;gBAC1D,cAAc,EAAE,4BAA4B;gBAC5C,mBAAmB,EAAE,CAAC,cAAc,CAAC;aACtC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;AAC7E,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC;AAC3L,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACrC,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC;AAC9F,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC;AACtG,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Requirement Gatherer Agent
|
|
3
|
+
* Conversational assistant that extracts agent design requirements
|
|
4
|
+
*/
|
|
5
|
+
export interface RequirementGathererConfig {
|
|
6
|
+
name: string;
|
|
7
|
+
version: string;
|
|
8
|
+
}
|
|
9
|
+
export interface DesignRequest {
|
|
10
|
+
agentPurpose: string;
|
|
11
|
+
successCriteria: string[];
|
|
12
|
+
constraints?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface RequirementGathererAgent {
|
|
15
|
+
metadata: {
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
18
|
+
archetype: 'conversational-assistant';
|
|
19
|
+
};
|
|
20
|
+
systemPrompt: string;
|
|
21
|
+
processMessage: (message: string) => Promise<{
|
|
22
|
+
response: string;
|
|
23
|
+
extracted?: Partial<DesignRequest>;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a requirement gatherer agent with resource-based prompts
|
|
28
|
+
*/
|
|
29
|
+
export declare function createRequirementGatherer(config: RequirementGathererConfig): RequirementGathererAgent;
|
|
30
|
+
//# sourceMappingURL=requirement-gatherer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirement-gatherer.d.ts","sourceRoot":"","sources":["../../src/agents/requirement-gatherer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,0BAA0B,CAAC;KACvC,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;KAAE,CAAC,CAAC;CACxG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,GAAG,wBAAwB,CAwCrG"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Requirement Gatherer Agent
|
|
3
|
+
* Conversational assistant that extracts agent design requirements
|
|
4
|
+
*/
|
|
5
|
+
import * as CorePrinciples from '../../generated/resources/prompts/core-principles.js';
|
|
6
|
+
import * as Questioning from '../../generated/resources/prompts/questioning-techniques.js';
|
|
7
|
+
/**
|
|
8
|
+
* Create a requirement gatherer agent with resource-based prompts
|
|
9
|
+
*/
|
|
10
|
+
export function createRequirementGatherer(config) {
|
|
11
|
+
// Build system prompt from fragments
|
|
12
|
+
const systemPrompt = `
|
|
13
|
+
You are an expert agent designer helping users define their AI agent requirements.
|
|
14
|
+
|
|
15
|
+
${CorePrinciples.fragments.purposeDriven.text}
|
|
16
|
+
|
|
17
|
+
${CorePrinciples.fragments.testable.text}
|
|
18
|
+
|
|
19
|
+
${Questioning.text}
|
|
20
|
+
|
|
21
|
+
Your job: Extract agentPurpose and successCriteria through focused questioning.
|
|
22
|
+
|
|
23
|
+
Output your final understanding as JSON matching this schema:
|
|
24
|
+
{
|
|
25
|
+
"agentPurpose": "string - clear, specific problem statement",
|
|
26
|
+
"successCriteria": ["string array - measurable outcomes"]
|
|
27
|
+
}
|
|
28
|
+
`.trim();
|
|
29
|
+
return {
|
|
30
|
+
metadata: {
|
|
31
|
+
name: config.name,
|
|
32
|
+
version: config.version,
|
|
33
|
+
archetype: 'conversational-assistant',
|
|
34
|
+
},
|
|
35
|
+
systemPrompt,
|
|
36
|
+
/**
|
|
37
|
+
* Process a user message and extract requirements
|
|
38
|
+
*/
|
|
39
|
+
async processMessage(_message) {
|
|
40
|
+
// This would integrate with an actual LLM in a real implementation
|
|
41
|
+
// For now, just demonstrate the structure
|
|
42
|
+
return {
|
|
43
|
+
response: 'Question based on core principles...',
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Example usage
|
|
49
|
+
const gatherer = createRequirementGatherer({
|
|
50
|
+
name: 'requirement-gatherer',
|
|
51
|
+
version: '1.0.0',
|
|
52
|
+
});
|
|
53
|
+
console.log('System prompt uses resources:');
|
|
54
|
+
console.log(`- Core principles fragments: ${Object.keys(CorePrinciples.fragments).length}`);
|
|
55
|
+
console.log(`- Questioning techniques: ${Questioning.text.split('\n').length} lines`);
|
|
56
|
+
console.log('\nAgent metadata:', gatherer.metadata);
|
|
57
|
+
//# sourceMappingURL=requirement-gatherer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirement-gatherer.js","sourceRoot":"","sources":["../../src/agents/requirement-gatherer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,cAAc,MAAM,sDAAsD,CAAC;AACvF,OAAO,KAAK,WAAW,MAAM,6DAA6D,CAAC;AAuB3F;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiC;IACzE,qCAAqC;IACrC,MAAM,YAAY,GAAG;;;EAGrB,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI;;EAE3C,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI;;EAEtC,WAAW,CAAC,IAAI;;;;;;;;;GASf,CAAC,IAAI,EAAE,CAAC;IAET,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,0BAAmC;SAC/C;QACD,YAAY;QAEZ;;WAEG;QACH,KAAK,CAAC,cAAc,CAAC,QAAgB;YACnC,mEAAmE;YACnE,0CAA0C;YAE1C,OAAO;gBACL,QAAQ,EAAE,sCAAsC;aACjD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,QAAQ,GAAG,yBAAyB,CAAC;IACzC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC7C,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5F,OAAO,CAAC,GAAG,CAAC,6BAA6B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC;AACtF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated TypeScript declarations - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface Fragment {
|
|
6
|
+
readonly header: string;
|
|
7
|
+
readonly body: string;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const meta: {};
|
|
12
|
+
|
|
13
|
+
export const text: string;
|
|
14
|
+
|
|
15
|
+
export const fragments: {
|
|
16
|
+
readonly purposeDriven: Fragment;
|
|
17
|
+
readonly simpleFirst: Fragment;
|
|
18
|
+
readonly contextEfficient: Fragment;
|
|
19
|
+
readonly testable: Fragment;
|
|
20
|
+
readonly toolAppropriate: Fragment;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type FragmentName = keyof typeof fragments;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated from markdown file - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export const meta = {};
|
|
6
|
+
|
|
7
|
+
export const text = "# Agent Design Core Principles\n\nThese are the foundational principles for designing high-quality AI agents.\n\n## Purpose Driven\n\nA well-designed agent solves a specific problem with clear success criteria.\n\n**NOT**: \"A helpful assistant\" (too vague)\n\n**YES**: \"Reviews PR diffs for security vulnerabilities, suggests fixes\"\n\n## Simple First\n\nStart with single-agent, deterministic paths.\n\n- Avoid multi-agent complexity unless clearly needed\n- Prefer simple tools over complex frameworks\n- \"Most successful implementations use simple, composable patterns\" (Anthropic)\n\n## Context Efficient\n\nUse \"smallest set of high-signal tokens\".\n\n- Prompts should provide information the LLM doesn\'t already know\n- Avoid redundancy with training data (don\'t explain common concepts)\n- Structure context hierarchically (identity → task → tools → memory)\n\n## Testable\n\nClear inputs/outputs enable validation.\n\n- Structured I/O schemas (JSON Schema format)\n- Example test cases included\n- Success measurable (accuracy, latency, cost)\n\n## Tool Appropriate\n\nRight tools for the job.\n\n- File operations? File system tools\n- Current info needed? Web search/APIs\n- Minimize tool count (each tool adds complexity)\n";
|
|
8
|
+
|
|
9
|
+
export const fragments = {
|
|
10
|
+
purposeDriven: {
|
|
11
|
+
header: "## Purpose Driven",
|
|
12
|
+
body: "A well-designed agent solves a specific problem with clear success criteria.\n\n**NOT**: \"A helpful assistant\" (too vague)\n\n**YES**: \"Reviews PR diffs for security vulnerabilities, suggests fixes\"",
|
|
13
|
+
text: "## Purpose Driven\n\nA well-designed agent solves a specific problem with clear success criteria.\n\n**NOT**: \"A helpful assistant\" (too vague)\n\n**YES**: \"Reviews PR diffs for security vulnerabilities, suggests fixes\""
|
|
14
|
+
},
|
|
15
|
+
simpleFirst: {
|
|
16
|
+
header: "## Simple First",
|
|
17
|
+
body: "Start with single-agent, deterministic paths.\n\n- Avoid multi-agent complexity unless clearly needed\n- Prefer simple tools over complex frameworks\n- \"Most successful implementations use simple, composable patterns\" (Anthropic)",
|
|
18
|
+
text: "## Simple First\n\nStart with single-agent, deterministic paths.\n\n- Avoid multi-agent complexity unless clearly needed\n- Prefer simple tools over complex frameworks\n- \"Most successful implementations use simple, composable patterns\" (Anthropic)"
|
|
19
|
+
},
|
|
20
|
+
contextEfficient: {
|
|
21
|
+
header: "## Context Efficient",
|
|
22
|
+
body: "Use \"smallest set of high-signal tokens\".\n\n- Prompts should provide information the LLM doesn\'t already know\n- Avoid redundancy with training data (don\'t explain common concepts)\n- Structure context hierarchically (identity → task → tools → memory)",
|
|
23
|
+
text: "## Context Efficient\n\nUse \"smallest set of high-signal tokens\".\n\n- Prompts should provide information the LLM doesn\'t already know\n- Avoid redundancy with training data (don\'t explain common concepts)\n- Structure context hierarchically (identity → task → tools → memory)"
|
|
24
|
+
},
|
|
25
|
+
testable: {
|
|
26
|
+
header: "## Testable",
|
|
27
|
+
body: "Clear inputs/outputs enable validation.\n\n- Structured I/O schemas (JSON Schema format)\n- Example test cases included\n- Success measurable (accuracy, latency, cost)",
|
|
28
|
+
text: "## Testable\n\nClear inputs/outputs enable validation.\n\n- Structured I/O schemas (JSON Schema format)\n- Example test cases included\n- Success measurable (accuracy, latency, cost)"
|
|
29
|
+
},
|
|
30
|
+
toolAppropriate: {
|
|
31
|
+
header: "## Tool Appropriate",
|
|
32
|
+
body: "Right tools for the job.\n\n- File operations? File system tools\n- Current info needed? Web search/APIs\n- Minimize tool count (each tool adds complexity)",
|
|
33
|
+
text: "## Tool Appropriate\n\nRight tools for the job.\n\n- File operations? File system tools\n- Current info needed? Web search/APIs\n- Minimize tool count (each tool adds complexity)"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated TypeScript declarations - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface Fragment {
|
|
6
|
+
readonly header: string;
|
|
7
|
+
readonly body: string;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const meta: {};
|
|
12
|
+
|
|
13
|
+
export const text: string;
|
|
14
|
+
|
|
15
|
+
export const fragments: {
|
|
16
|
+
readonly claudeModels: Fragment;
|
|
17
|
+
readonly openaiModels: Fragment;
|
|
18
|
+
readonly selectionCriteria: Fragment;
|
|
19
|
+
readonly commonMistakes: Fragment;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type FragmentName = keyof typeof fragments;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated from markdown file - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export const meta = {};
|
|
6
|
+
|
|
7
|
+
export const text = "# LLM Selection Guidance\n\nGuidelines for selecting the right LLM based on agent requirements.\n\n## Claude Models\n\n**Claude 3.5 Sonnet:**\n- **Best for:** Complex reasoning, coding, analysis\n- **Strengths:** Long context (200K), tool use, function calling\n- **Cost:** Mid-range ($3/$15 per 1M tokens)\n- **Latency:** ~2-5 seconds\n\n**Claude 3 Haiku:**\n- **Best for:** Fast, simple tasks, high-volume\n- **Strengths:** Speed, cost-effective\n- **Cost:** Low ($0.25/$1.25 per 1M tokens)\n- **Latency:** ~500ms-1s\n\n## OpenAI Models\n\n**GPT-4 Turbo:**\n- **Best for:** Complex reasoning, multimodal\n- **Strengths:** Vision, JSON mode, function calling\n- **Cost:** Mid-range ($10/$30 per 1M tokens)\n- **Latency:** ~2-4 seconds\n\n**GPT-3.5 Turbo:**\n- **Best for:** Simple tasks, cost-sensitive\n- **Strengths:** Fast, cheap, widely deployed\n- **Cost:** Very low ($0.50/$1.50 per 1M tokens)\n- **Latency:** ~500ms-1s\n\n## Selection Criteria\n\n**Choose by latency:**\n- Real-time (<1s): Haiku, GPT-3.5\n- Interactive (<5s): Sonnet, GPT-4\n- Batch (>5s acceptable): Any model\n\n**Choose by complexity:**\n- Simple classification: Haiku, GPT-3.5\n- Reasoning/analysis: Sonnet, GPT-4\n- Complex multi-step: Sonnet, GPT-4 Turbo\n\n**Choose by cost:**\n- High volume: Haiku, GPT-3.5\n- Medium volume: Sonnet\n- Low volume/critical: GPT-4, Sonnet\n\n**Choose by features:**\n- Vision needed: GPT-4 Turbo (multimodal)\n- Long context: Claude (200K vs 128K)\n- Structured output: GPT-4 (native JSON mode)\n- Tool use: Claude (best-in-class)\n\n## Common Mistakes\n\n**Over-engineering:**\n- Using GPT-4 for simple classification (use Haiku/GPT-3.5)\n- Using latest model when older works fine\n\n**Under-engineering:**\n- Using GPT-3.5 for complex reasoning (upgrade to Sonnet/GPT-4)\n- Skipping evaluation (always benchmark)\n\n**Cost blindness:**\n- Not considering volume × price\n- Ignoring prompt optimization opportunities\n";
|
|
8
|
+
|
|
9
|
+
export const fragments = {
|
|
10
|
+
claudeModels: {
|
|
11
|
+
header: "## Claude Models",
|
|
12
|
+
body: "**Claude 3.5 Sonnet:**\n- **Best for:** Complex reasoning, coding, analysis\n- **Strengths:** Long context (200K), tool use, function calling\n- **Cost:** Mid-range ($3/$15 per 1M tokens)\n- **Latency:** ~2-5 seconds\n\n**Claude 3 Haiku:**\n- **Best for:** Fast, simple tasks, high-volume\n- **Strengths:** Speed, cost-effective\n- **Cost:** Low ($0.25/$1.25 per 1M tokens)\n- **Latency:** ~500ms-1s",
|
|
13
|
+
text: "## Claude Models\n\n**Claude 3.5 Sonnet:**\n- **Best for:** Complex reasoning, coding, analysis\n- **Strengths:** Long context (200K), tool use, function calling\n- **Cost:** Mid-range ($3/$15 per 1M tokens)\n- **Latency:** ~2-5 seconds\n\n**Claude 3 Haiku:**\n- **Best for:** Fast, simple tasks, high-volume\n- **Strengths:** Speed, cost-effective\n- **Cost:** Low ($0.25/$1.25 per 1M tokens)\n- **Latency:** ~500ms-1s"
|
|
14
|
+
},
|
|
15
|
+
openaiModels: {
|
|
16
|
+
header: "## OpenAI Models",
|
|
17
|
+
body: "**GPT-4 Turbo:**\n- **Best for:** Complex reasoning, multimodal\n- **Strengths:** Vision, JSON mode, function calling\n- **Cost:** Mid-range ($10/$30 per 1M tokens)\n- **Latency:** ~2-4 seconds\n\n**GPT-3.5 Turbo:**\n- **Best for:** Simple tasks, cost-sensitive\n- **Strengths:** Fast, cheap, widely deployed\n- **Cost:** Very low ($0.50/$1.50 per 1M tokens)\n- **Latency:** ~500ms-1s",
|
|
18
|
+
text: "## OpenAI Models\n\n**GPT-4 Turbo:**\n- **Best for:** Complex reasoning, multimodal\n- **Strengths:** Vision, JSON mode, function calling\n- **Cost:** Mid-range ($10/$30 per 1M tokens)\n- **Latency:** ~2-4 seconds\n\n**GPT-3.5 Turbo:**\n- **Best for:** Simple tasks, cost-sensitive\n- **Strengths:** Fast, cheap, widely deployed\n- **Cost:** Very low ($0.50/$1.50 per 1M tokens)\n- **Latency:** ~500ms-1s"
|
|
19
|
+
},
|
|
20
|
+
selectionCriteria: {
|
|
21
|
+
header: "## Selection Criteria",
|
|
22
|
+
body: "**Choose by latency:**\n- Real-time (<1s): Haiku, GPT-3.5\n- Interactive (<5s): Sonnet, GPT-4\n- Batch (>5s acceptable): Any model\n\n**Choose by complexity:**\n- Simple classification: Haiku, GPT-3.5\n- Reasoning/analysis: Sonnet, GPT-4\n- Complex multi-step: Sonnet, GPT-4 Turbo\n\n**Choose by cost:**\n- High volume: Haiku, GPT-3.5\n- Medium volume: Sonnet\n- Low volume/critical: GPT-4, Sonnet\n\n**Choose by features:**\n- Vision needed: GPT-4 Turbo (multimodal)\n- Long context: Claude (200K vs 128K)\n- Structured output: GPT-4 (native JSON mode)\n- Tool use: Claude (best-in-class)",
|
|
23
|
+
text: "## Selection Criteria\n\n**Choose by latency:**\n- Real-time (<1s): Haiku, GPT-3.5\n- Interactive (<5s): Sonnet, GPT-4\n- Batch (>5s acceptable): Any model\n\n**Choose by complexity:**\n- Simple classification: Haiku, GPT-3.5\n- Reasoning/analysis: Sonnet, GPT-4\n- Complex multi-step: Sonnet, GPT-4 Turbo\n\n**Choose by cost:**\n- High volume: Haiku, GPT-3.5\n- Medium volume: Sonnet\n- Low volume/critical: GPT-4, Sonnet\n\n**Choose by features:**\n- Vision needed: GPT-4 Turbo (multimodal)\n- Long context: Claude (200K vs 128K)\n- Structured output: GPT-4 (native JSON mode)\n- Tool use: Claude (best-in-class)"
|
|
24
|
+
},
|
|
25
|
+
commonMistakes: {
|
|
26
|
+
header: "## Common Mistakes",
|
|
27
|
+
body: "**Over-engineering:**\n- Using GPT-4 for simple classification (use Haiku/GPT-3.5)\n- Using latest model when older works fine\n\n**Under-engineering:**\n- Using GPT-3.5 for complex reasoning (upgrade to Sonnet/GPT-4)\n- Skipping evaluation (always benchmark)\n\n**Cost blindness:**\n- Not considering volume × price\n- Ignoring prompt optimization opportunities",
|
|
28
|
+
text: "## Common Mistakes\n\n**Over-engineering:**\n- Using GPT-4 for simple classification (use Haiku/GPT-3.5)\n- Using latest model when older works fine\n\n**Under-engineering:**\n- Using GPT-3.5 for complex reasoning (upgrade to Sonnet/GPT-4)\n- Skipping evaluation (always benchmark)\n\n**Cost blindness:**\n- Not considering volume × price\n- Ignoring prompt optimization opportunities"
|
|
29
|
+
}
|
|
30
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated TypeScript declarations - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface Fragment {
|
|
6
|
+
readonly header: string;
|
|
7
|
+
readonly body: string;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const meta: {};
|
|
12
|
+
|
|
13
|
+
export const text: string;
|
|
14
|
+
|
|
15
|
+
export const fragments: {
|
|
16
|
+
readonly pureFunctionToolPattern: Fragment;
|
|
17
|
+
readonly llmAnalyzerPattern: Fragment;
|
|
18
|
+
readonly conversationalAssistantPattern: Fragment;
|
|
19
|
+
readonly agenticWorkflowPattern: Fragment;
|
|
20
|
+
readonly redFlags: Fragment;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type FragmentName = keyof typeof fragments;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated from markdown file - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export const meta = {};
|
|
6
|
+
|
|
7
|
+
export const text = "# Agent Pattern Recognition\n\nGuidance for identifying the right agent archetype based on requirements.\n\n## Pure Function Tool Pattern\n\n**Recognizable by:**\n- Stateless transformation (same input → same output)\n- No conversation needed\n- Clear input/output schema\n- No external dependencies or context\n\n**Examples:**\n- JSON validator\n- Text formatter\n- Data transformer\n- Schema converter\n\n**Best for:** Deterministic operations, utilities, data processing\n\n## LLM Analyzer Pattern\n\n**Recognizable by:**\n- Analysis of unstructured input\n- Produces structured output\n- Single-turn operation\n- No back-and-forth conversation\n\n**Examples:**\n- Sentiment analyzer\n- Code reviewer\n- Document summarizer\n- Requirements extractor\n\n**Best for:** Classification, analysis, extraction, evaluation\n\n## Conversational Assistant Pattern\n\n**Recognizable by:**\n- Multi-turn dialogue\n- Context accumulation across turns\n- Clarifying questions\n- Adaptive responses based on history\n\n**Examples:**\n- Requirements gathering chatbot\n- Technical advisor\n- Interactive troubleshooter\n- Teaching assistant\n\n**Best for:** Exploration, education, consultation, complex requirements\n\n## Agentic Workflow Pattern\n\n**Recognizable by:**\n- Multiple steps/decisions\n- Tool use required\n- External system integration\n- State management across actions\n\n**Examples:**\n- Code generator with file operations\n- Research assistant with web search\n- Data pipeline orchestrator\n- Multi-tool problem solver\n\n**Best for:** Complex automation, integration, multi-step processes\n\n## Red Flags\n\n**When to NOT use agents:**\n- Simple rule-based logic (use if/else)\n- Known algorithm exists (use traditional code)\n- Real-time requirements (<100ms)\n- Deterministic correctness required (use formal verification)\n";
|
|
8
|
+
|
|
9
|
+
export const fragments = {
|
|
10
|
+
pureFunctionToolPattern: {
|
|
11
|
+
header: "## Pure Function Tool Pattern",
|
|
12
|
+
body: "**Recognizable by:**\n- Stateless transformation (same input → same output)\n- No conversation needed\n- Clear input/output schema\n- No external dependencies or context\n\n**Examples:**\n- JSON validator\n- Text formatter\n- Data transformer\n- Schema converter\n\n**Best for:** Deterministic operations, utilities, data processing",
|
|
13
|
+
text: "## Pure Function Tool Pattern\n\n**Recognizable by:**\n- Stateless transformation (same input → same output)\n- No conversation needed\n- Clear input/output schema\n- No external dependencies or context\n\n**Examples:**\n- JSON validator\n- Text formatter\n- Data transformer\n- Schema converter\n\n**Best for:** Deterministic operations, utilities, data processing"
|
|
14
|
+
},
|
|
15
|
+
llmAnalyzerPattern: {
|
|
16
|
+
header: "## LLM Analyzer Pattern",
|
|
17
|
+
body: "**Recognizable by:**\n- Analysis of unstructured input\n- Produces structured output\n- Single-turn operation\n- No back-and-forth conversation\n\n**Examples:**\n- Sentiment analyzer\n- Code reviewer\n- Document summarizer\n- Requirements extractor\n\n**Best for:** Classification, analysis, extraction, evaluation",
|
|
18
|
+
text: "## LLM Analyzer Pattern\n\n**Recognizable by:**\n- Analysis of unstructured input\n- Produces structured output\n- Single-turn operation\n- No back-and-forth conversation\n\n**Examples:**\n- Sentiment analyzer\n- Code reviewer\n- Document summarizer\n- Requirements extractor\n\n**Best for:** Classification, analysis, extraction, evaluation"
|
|
19
|
+
},
|
|
20
|
+
conversationalAssistantPattern: {
|
|
21
|
+
header: "## Conversational Assistant Pattern",
|
|
22
|
+
body: "**Recognizable by:**\n- Multi-turn dialogue\n- Context accumulation across turns\n- Clarifying questions\n- Adaptive responses based on history\n\n**Examples:**\n- Requirements gathering chatbot\n- Technical advisor\n- Interactive troubleshooter\n- Teaching assistant\n\n**Best for:** Exploration, education, consultation, complex requirements",
|
|
23
|
+
text: "## Conversational Assistant Pattern\n\n**Recognizable by:**\n- Multi-turn dialogue\n- Context accumulation across turns\n- Clarifying questions\n- Adaptive responses based on history\n\n**Examples:**\n- Requirements gathering chatbot\n- Technical advisor\n- Interactive troubleshooter\n- Teaching assistant\n\n**Best for:** Exploration, education, consultation, complex requirements"
|
|
24
|
+
},
|
|
25
|
+
agenticWorkflowPattern: {
|
|
26
|
+
header: "## Agentic Workflow Pattern",
|
|
27
|
+
body: "**Recognizable by:**\n- Multiple steps/decisions\n- Tool use required\n- External system integration\n- State management across actions\n\n**Examples:**\n- Code generator with file operations\n- Research assistant with web search\n- Data pipeline orchestrator\n- Multi-tool problem solver\n\n**Best for:** Complex automation, integration, multi-step processes",
|
|
28
|
+
text: "## Agentic Workflow Pattern\n\n**Recognizable by:**\n- Multiple steps/decisions\n- Tool use required\n- External system integration\n- State management across actions\n\n**Examples:**\n- Code generator with file operations\n- Research assistant with web search\n- Data pipeline orchestrator\n- Multi-tool problem solver\n\n**Best for:** Complex automation, integration, multi-step processes"
|
|
29
|
+
},
|
|
30
|
+
redFlags: {
|
|
31
|
+
header: "## Red Flags",
|
|
32
|
+
body: "**When to NOT use agents:**\n- Simple rule-based logic (use if/else)\n- Known algorithm exists (use traditional code)\n- Real-time requirements (<100ms)\n- Deterministic correctness required (use formal verification)",
|
|
33
|
+
text: "## Red Flags\n\n**When to NOT use agents:**\n- Simple rule-based logic (use if/else)\n- Known algorithm exists (use traditional code)\n- Real-time requirements (<100ms)\n- Deterministic correctness required (use formal verification)"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated TypeScript declarations - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface Fragment {
|
|
6
|
+
readonly header: string;
|
|
7
|
+
readonly body: string;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const meta: {};
|
|
12
|
+
|
|
13
|
+
export const text: string;
|
|
14
|
+
|
|
15
|
+
export const fragments: {
|
|
16
|
+
readonly askOneAtATime: Fragment;
|
|
17
|
+
readonly pushForSpecificity: Fragment;
|
|
18
|
+
readonly extractConcreteRequirements: Fragment;
|
|
19
|
+
readonly avoidOpenEndedQuestions: Fragment;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type FragmentName = keyof typeof fragments;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated from markdown file - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export const meta = {};
|
|
6
|
+
|
|
7
|
+
export const text = "# Questioning Techniques for Requirements Gathering\n\nEffective questioning strategies for eliciting agent requirements.\n\n## Ask One at a Time\n\nDon\'t overwhelm users with multiple questions at once. Focus on one concern at a time.\n\n**Good**: \"What problem are you solving?\"\n\n**Bad**: \"Tell me about your agent, what it does, who uses it, and what tools it needs\"\n\n## Push for Specificity\n\nWhen answers are vague, follow up with targeted questions.\n\n**Vague answer**: \"It helps with coding\"\n**Follow-up**: \"What specific coding tasks? Code review? Generation? Refactoring?\"\n\n## Extract Concrete Requirements\n\nAlways aim to extract:\n- **Problem statement**: Who, what, why\n- **Success criteria**: Measurable outcomes\n- **Constraints**: Performance, cost, integration needs\n\n## Avoid Open-Ended Questions\n\n**Bad**: \"Tell me about your use case\"\n**Good**: \"What problem are you solving?\" (specific, actionable)\n";
|
|
8
|
+
|
|
9
|
+
export const fragments = {
|
|
10
|
+
askOneAtATime: {
|
|
11
|
+
header: "## Ask One at a Time",
|
|
12
|
+
body: "Don\'t overwhelm users with multiple questions at once. Focus on one concern at a time.\n\n**Good**: \"What problem are you solving?\"\n\n**Bad**: \"Tell me about your agent, what it does, who uses it, and what tools it needs\"",
|
|
13
|
+
text: "## Ask One at a Time\n\nDon\'t overwhelm users with multiple questions at once. Focus on one concern at a time.\n\n**Good**: \"What problem are you solving?\"\n\n**Bad**: \"Tell me about your agent, what it does, who uses it, and what tools it needs\""
|
|
14
|
+
},
|
|
15
|
+
pushForSpecificity: {
|
|
16
|
+
header: "## Push for Specificity",
|
|
17
|
+
body: "When answers are vague, follow up with targeted questions.\n\n**Vague answer**: \"It helps with coding\"\n**Follow-up**: \"What specific coding tasks? Code review? Generation? Refactoring?\"",
|
|
18
|
+
text: "## Push for Specificity\n\nWhen answers are vague, follow up with targeted questions.\n\n**Vague answer**: \"It helps with coding\"\n**Follow-up**: \"What specific coding tasks? Code review? Generation? Refactoring?\""
|
|
19
|
+
},
|
|
20
|
+
extractConcreteRequirements: {
|
|
21
|
+
header: "## Extract Concrete Requirements",
|
|
22
|
+
body: "Always aim to extract:\n- **Problem statement**: Who, what, why\n- **Success criteria**: Measurable outcomes\n- **Constraints**: Performance, cost, integration needs",
|
|
23
|
+
text: "## Extract Concrete Requirements\n\nAlways aim to extract:\n- **Problem statement**: Who, what, why\n- **Success criteria**: Measurable outcomes\n- **Constraints**: Performance, cost, integration needs"
|
|
24
|
+
},
|
|
25
|
+
avoidOpenEndedQuestions: {
|
|
26
|
+
header: "## Avoid Open-Ended Questions",
|
|
27
|
+
body: "**Bad**: \"Tell me about your use case\"\n**Good**: \"What problem are you solving?\" (specific, actionable)",
|
|
28
|
+
text: "## Avoid Open-Ended Questions\n\n**Bad**: \"Tell me about your use case\"\n**Good**: \"What problem are you solving?\" (specific, actionable)"
|
|
29
|
+
}
|
|
30
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated TypeScript declarations - DO NOT EDIT
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface Fragment {
|
|
6
|
+
readonly header: string;
|
|
7
|
+
readonly body: string;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const meta: {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly description: string;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const text: string;
|
|
17
|
+
|
|
18
|
+
export const fragments: {
|
|
19
|
+
readonly purposeForUsersNotContributors: Fragment;
|
|
20
|
+
readonly whatIsVat: Fragment;
|
|
21
|
+
readonly whenToUseVat: Fragment;
|
|
22
|
+
readonly creatingAgentsWithAgentGenerator: Fragment;
|
|
23
|
+
readonly understandingAgentPatterns: Fragment;
|
|
24
|
+
readonly vatCliWorkflows: Fragment;
|
|
25
|
+
readonly resultEnvelopesAndErrorHandling: Fragment;
|
|
26
|
+
readonly orchestrationPatterns: Fragment;
|
|
27
|
+
readonly testingAgents: Fragment;
|
|
28
|
+
readonly bestPractices: Fragment;
|
|
29
|
+
readonly nextSteps: Fragment;
|
|
30
|
+
readonly documentationIndex: Fragment;
|
|
31
|
+
readonly successCriteria: Fragment;
|
|
32
|
+
readonly gettingHelp: Fragment;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type FragmentName = keyof typeof fragments;
|