Compare commits

..

No commits in common. "555e77016ce6d9c16e5cccf25943a2a91d73dc65" and "6f95e04df7619039d779df17983d50875b1c2972" have entirely different histories.

3 changed files with 11 additions and 42 deletions

View File

@ -79,14 +79,12 @@ Welcome {{user_name}}! I'm excited to facilitate an incredible multi-agent discu
[Display 3-4 diverse agents to showcase variety]:
- [icon] **[displayName]** ([title]): [role]
- [icon] **[displayName]** ([title]): [role]
- [icon] **[displayName]** ([title]): [role]
- [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
- [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
- [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
**[Total Count] agents** are ready to contribute their expertise!
**CRITICAL:** Use the `displayName` field from the manifest CSV (e.g., "Mary", "Winston", "Amelia"), NOT the `name` field (e.g., "analyst", "architect", "dev").
**What would you like to discuss with the team today?**"
### 5. Present Continue Option

View File

@ -73,11 +73,9 @@ Generate authentic responses for each selected agent:
**Response Structure:**
[For each selected agent]:
"[icon] **[displayName]**: [Authentic in-character response]
"[Icon Emoji] **[Agent Name]**: [Authentic in-character response]
[Bash: .claude/hooks/bmad-speak.sh \"[displayName]\" \"[Their response]\"]"
**CRITICAL:** Use the `displayName` field from the manifest (e.g., "Mary", "Winston", "Amelia"), NOT the `name` field.
[Bash: .claude/hooks/bmad-speak.sh \"[Agent Name]\" \"[Their response]\"]"
### 4. Natural Cross-Talk Integration

View File

@ -29,44 +29,20 @@ function escapeXml(text) {
* Build frontmatter for agent
* @param {Object} metadata - Agent metadata
* @param {string} agentName - Final agent name
* @param {Object} ttsData - TTS data (intro and voices)
* @returns {string} YAML frontmatter
*/
function buildFrontmatter(metadata, agentName, ttsData = null) {
function buildFrontmatter(metadata, agentName) {
const nameFromFile = agentName.replaceAll('-', ' ');
const description = metadata.title || 'BMAD Agent';
let frontmatter = `---
return `---
name: "${nameFromFile}"
description: "${description}"`;
// Include TTS data if available
if (ttsData) {
frontmatter += `\ntts:`;
if (ttsData.intro) {
// Escape double quotes in intro
const escapedIntro = ttsData.intro.replaceAll('"', String.raw`\"`);
frontmatter += `\n intro: "${escapedIntro}"`;
}
if (ttsData.voices && Array.isArray(ttsData.voices)) {
frontmatter += `\n voices:`;
for (const voice of ttsData.voices) {
frontmatter += `\n -`;
if (voice.piper) frontmatter += ` piper: "${voice.piper}"`;
if (voice.mac) frontmatter += ` mac: "${voice.mac}"`;
}
}
}
frontmatter += `\n---
description: "${description}"
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
`;
return frontmatter;
}
/**
@ -417,11 +393,8 @@ function compileToXml(agentYaml, agentName = '', targetPath = '') {
let xml = '';
// Extract TTS data from root level or agent level
const ttsData = agentYaml.tts || agent.tts || null;
// Build frontmatter with TTS data
xml += buildFrontmatter(meta, agentName || meta.name || 'agent', ttsData);
// Build frontmatter
xml += buildFrontmatter(meta, agentName || meta.name || 'agent');
// Start code fence
xml += '```xml\n';