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]: [Display 3-4 diverse agents to showcase variety]:
- [icon] **[displayName]** ([title]): [role] - [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
- [icon] **[displayName]** ([title]): [role] - [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
- [icon] **[displayName]** ([title]): [role] - [Icon Emoji] **[Agent Name]** ([Title]): [Brief role description]
**[Total Count] agents** are ready to contribute their expertise! **[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?**" **What would you like to discuss with the team today?**"
### 5. Present Continue Option ### 5. Present Continue Option

View File

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

View File

@ -29,44 +29,20 @@ function escapeXml(text) {
* Build frontmatter for agent * Build frontmatter for agent
* @param {Object} metadata - Agent metadata * @param {Object} metadata - Agent metadata
* @param {string} agentName - Final agent name * @param {string} agentName - Final agent name
* @param {Object} ttsData - TTS data (intro and voices)
* @returns {string} YAML frontmatter * @returns {string} YAML frontmatter
*/ */
function buildFrontmatter(metadata, agentName, ttsData = null) { function buildFrontmatter(metadata, agentName) {
const nameFromFile = agentName.replaceAll('-', ' '); const nameFromFile = agentName.replaceAll('-', ' ');
const description = metadata.title || 'BMAD Agent'; const description = metadata.title || 'BMAD Agent';
let frontmatter = `--- return `---
name: "${nameFromFile}" name: "${nameFromFile}"
description: "${description}"`; 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---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. 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 = ''; let xml = '';
// Extract TTS data from root level or agent level // Build frontmatter
const ttsData = agentYaml.tts || agent.tts || null; xml += buildFrontmatter(meta, agentName || meta.name || 'agent');
// Build frontmatter with TTS data
xml += buildFrontmatter(meta, agentName || meta.name || 'agent', ttsData);
// Start code fence // Start code fence
xml += '```xml\n'; xml += '```xml\n';