Skip to content

Conversation

@neilsoult
Copy link

Summary

  • Replaces hardcoded "Daniel" user identity references with generic "the user" terminology
  • Renames danielPreferences variable to principalPreferences
  • Updates file references from ABOUT_DANIEL.md to ABOUT_PRINCIPAL.md

This allows PAI to work correctly for all users regardless of their configured principal.name in settings.json.

Changes

Agent Files (11 files in Packs/pai-agents-skill/src/agents/):

  • Changed "Daniel needs to hear you speak" → "the user needs to hear you speak"
  • Changed "tell Daniel it's ready" → "tell the user it's ready" (Engineer.md)

Hook Files:

  • RelationshipMemory.hook.ts: Renamed variable and updated docs
  • RelationshipReflect.ts: Updated file reference

What's NOT Changed

  • Author attribution ("Author: Daniel Miessler") - correct as-is
  • Voice name references ("Daniel" ElevenLabs voice) - correct as-is
  • Repository URLs (danielmiessler/PAI) - correct as-is

Test plan

  • Verify agent voice notifications work with custom principal.name
  • Verify RelationshipMemory hook runs without errors
  • Verify no remaining hardcoded user identity references

Fixes #555

🤖 Generated with Claude Code

Changes user identity references from hardcoded "Daniel" to generic
"the user" or "principal" terminology, allowing PAI to work correctly
for all users regardless of their configured principal.name.

Fixes danielmiessler#555

Files changed:
- 11 agent definition files: Changed "Daniel needs to hear you speak"
  to "the user needs to hear you speak"
- Engineer.md: Also changed "tell Daniel it's ready" to "tell the user"
- RelationshipMemory.hook.ts: Renamed danielPreferences → principalPreferences,
  updated documentation references
- RelationshipReflect.ts: Updated ABOUT_DANIEL.md → ABOUT_PRINCIPAL.md

Note: Author attribution ("Author: Daniel Miessler") and voice name
references ("Daniel" ElevenLabs voice) are intentionally unchanged
as these are correct.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@neilsoult
Copy link
Author

Testing Evidence

1. TypeScript Compilation ✅

$ bun build RelationshipMemory.hook.ts
Bundled 7 modules in 5ms
RelationshipMemory.hook.js  20.31 KB  (entry point)

2. Variable Rename Verification ✅

$ grep -n "principalPreferences" RelationshipMemory.hook.ts
133:  let principalPreferences: string[] = [];
146:        principalPreferences.push(snippet);

3. No Remaining Hardcoded User References ✅

$ grep -ri "daniel needs\|tell daniel" Packs/
(no output - all references removed)

4. Files Changed Summary

  • 11 agent definition files: 1-line change each (Danielthe user)
  • Engineer.md: 2 changes (line 74 and line 184)
  • RelationshipMemory.hook.ts: Variable renamed, docs updated
  • RelationshipReflect.ts: File reference updated

All changes are text replacements only - no logic changes.

@wojteksbt
Copy link

Not sure, but it might be intended. E.g. Packs/pai-agents-skill/src/agents/Engineer.md contains Daniel reference while release file Releases/v2.5/.claude/agents/Engineer.md has it substituted. Maybe it's easier for Daniel to develop with Kai and then apply such modifications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace hardcoded 'Daniel' user references with dynamic principal.name

2 participants