@auxiora/personality 1.0.0
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/LICENSE +191 -0
- package/dist/__tests__/builder.test.d.ts +2 -0
- package/dist/__tests__/builder.test.d.ts.map +1 -0
- package/dist/__tests__/builder.test.js +67 -0
- package/dist/__tests__/builder.test.js.map +1 -0
- package/dist/__tests__/conversation-builder.test.d.ts +2 -0
- package/dist/__tests__/conversation-builder.test.d.ts.map +1 -0
- package/dist/__tests__/conversation-builder.test.js +324 -0
- package/dist/__tests__/conversation-builder.test.js.map +1 -0
- package/dist/__tests__/escalation.test.d.ts +2 -0
- package/dist/__tests__/escalation.test.d.ts.map +1 -0
- package/dist/__tests__/escalation.test.js +143 -0
- package/dist/__tests__/escalation.test.js.map +1 -0
- package/dist/__tests__/manager.test.d.ts +2 -0
- package/dist/__tests__/manager.test.d.ts.map +1 -0
- package/dist/__tests__/manager.test.js +96 -0
- package/dist/__tests__/manager.test.js.map +1 -0
- package/dist/__tests__/parser.test.d.ts +2 -0
- package/dist/__tests__/parser.test.d.ts.map +1 -0
- package/dist/__tests__/parser.test.js +89 -0
- package/dist/__tests__/parser.test.js.map +1 -0
- package/dist/__tests__/security-floor.test.d.ts +2 -0
- package/dist/__tests__/security-floor.test.d.ts.map +1 -0
- package/dist/__tests__/security-floor.test.js +183 -0
- package/dist/__tests__/security-floor.test.js.map +1 -0
- package/dist/builder.d.ts +6 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +65 -0
- package/dist/builder.js.map +1 -0
- package/dist/conversation-builder.d.ts +30 -0
- package/dist/conversation-builder.d.ts.map +1 -0
- package/dist/conversation-builder.js +232 -0
- package/dist/conversation-builder.js.map +1 -0
- package/dist/escalation.d.ts +35 -0
- package/dist/escalation.d.ts.map +1 -0
- package/dist/escalation.js +134 -0
- package/dist/escalation.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/manager.d.ts +28 -0
- package/dist/manager.d.ts.map +1 -0
- package/dist/manager.js +114 -0
- package/dist/manager.js.map +1 -0
- package/dist/marketplace/__tests__/scanner.test.d.ts +2 -0
- package/dist/marketplace/__tests__/scanner.test.d.ts.map +1 -0
- package/dist/marketplace/__tests__/scanner.test.js +134 -0
- package/dist/marketplace/__tests__/scanner.test.js.map +1 -0
- package/dist/marketplace/__tests__/schema.test.d.ts +2 -0
- package/dist/marketplace/__tests__/schema.test.d.ts.map +1 -0
- package/dist/marketplace/__tests__/schema.test.js +243 -0
- package/dist/marketplace/__tests__/schema.test.js.map +1 -0
- package/dist/marketplace/scanner.d.ts +19 -0
- package/dist/marketplace/scanner.d.ts.map +1 -0
- package/dist/marketplace/scanner.js +62 -0
- package/dist/marketplace/scanner.js.map +1 -0
- package/dist/marketplace/schema.d.ts +150 -0
- package/dist/marketplace/schema.d.ts.map +1 -0
- package/dist/marketplace/schema.js +122 -0
- package/dist/marketplace/schema.js.map +1 -0
- package/dist/modes/__tests__/mode-detector.test.d.ts +2 -0
- package/dist/modes/__tests__/mode-detector.test.d.ts.map +1 -0
- package/dist/modes/__tests__/mode-detector.test.js +130 -0
- package/dist/modes/__tests__/mode-detector.test.js.map +1 -0
- package/dist/modes/__tests__/mode-loader.test.d.ts +2 -0
- package/dist/modes/__tests__/mode-loader.test.d.ts.map +1 -0
- package/dist/modes/__tests__/mode-loader.test.js +91 -0
- package/dist/modes/__tests__/mode-loader.test.js.map +1 -0
- package/dist/modes/__tests__/prompt-assembler.test.d.ts +2 -0
- package/dist/modes/__tests__/prompt-assembler.test.d.ts.map +1 -0
- package/dist/modes/__tests__/prompt-assembler.test.js +241 -0
- package/dist/modes/__tests__/prompt-assembler.test.js.map +1 -0
- package/dist/modes/mode-detector.d.ts +10 -0
- package/dist/modes/mode-detector.d.ts.map +1 -0
- package/dist/modes/mode-detector.js +70 -0
- package/dist/modes/mode-detector.js.map +1 -0
- package/dist/modes/mode-loader.d.ts +14 -0
- package/dist/modes/mode-loader.d.ts.map +1 -0
- package/dist/modes/mode-loader.js +94 -0
- package/dist/modes/mode-loader.js.map +1 -0
- package/dist/modes/prompt-assembler.d.ts +27 -0
- package/dist/modes/prompt-assembler.d.ts.map +1 -0
- package/dist/modes/prompt-assembler.js +224 -0
- package/dist/modes/prompt-assembler.js.map +1 -0
- package/dist/modes/types.d.ts +42 -0
- package/dist/modes/types.d.ts.map +1 -0
- package/dist/modes/types.js +24 -0
- package/dist/modes/types.js.map +1 -0
- package/dist/parser.d.ts +6 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +122 -0
- package/dist/parser.js.map +1 -0
- package/dist/security-floor.d.ts +31 -0
- package/dist/security-floor.d.ts.map +1 -0
- package/dist/security-floor.js +113 -0
- package/dist/security-floor.js.map +1 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/voice-profiles.d.ts +23 -0
- package/dist/voice-profiles.d.ts.map +1 -0
- package/dist/voice-profiles.js +72 -0
- package/dist/voice-profiles.js.map +1 -0
- package/modes/advisor.md +24 -0
- package/modes/analyst.md +25 -0
- package/modes/companion.md +24 -0
- package/modes/legal.md +1188 -0
- package/modes/operator.md +24 -0
- package/modes/roast.md +24 -0
- package/modes/socratic.md +24 -0
- package/modes/writer.md +23 -0
- package/package.json +27 -0
- package/src/__tests__/builder.test.ts +78 -0
- package/src/__tests__/conversation-builder.test.ts +386 -0
- package/src/__tests__/escalation.test.ts +172 -0
- package/src/__tests__/manager.test.ts +141 -0
- package/src/__tests__/parser.test.ts +101 -0
- package/src/__tests__/security-floor.test.ts +212 -0
- package/src/builder.ts +75 -0
- package/src/conversation-builder.ts +279 -0
- package/src/escalation.ts +162 -0
- package/src/index.ts +55 -0
- package/src/manager.ts +119 -0
- package/src/marketplace/__tests__/scanner.test.ts +159 -0
- package/src/marketplace/__tests__/schema.test.ts +269 -0
- package/src/marketplace/scanner.ts +85 -0
- package/src/marketplace/schema.ts +141 -0
- package/src/modes/__tests__/mode-detector.test.ts +149 -0
- package/src/modes/__tests__/mode-loader.test.ts +143 -0
- package/src/modes/__tests__/prompt-assembler.test.ts +291 -0
- package/src/modes/mode-detector.ts +84 -0
- package/src/modes/mode-loader.ts +105 -0
- package/src/modes/prompt-assembler.ts +278 -0
- package/src/modes/types.ts +67 -0
- package/src/parser.ts +132 -0
- package/src/security-floor.ts +147 -0
- package/src/types.ts +27 -0
- package/src/voice-profiles.ts +88 -0
- package/templates/chill.md +30 -0
- package/templates/creative.md +29 -0
- package/templates/friendly.md +28 -0
- package/templates/mentor.md +31 -0
- package/templates/minimal.md +24 -0
- package/templates/professional.md +28 -0
- package/templates/technical.md +30 -0
- package/tsconfig.json +12 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Floor — mandatory behavioral baseline that cannot be overridden
|
|
3
|
+
* by any personality template, mode, user preference, or marketplace config.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { ToneSettings } from './types.js';
|
|
7
|
+
import type { ModeId } from './modes/types.js';
|
|
8
|
+
|
|
9
|
+
export const SECURITY_TOOL_PATTERNS: readonly string[] = [
|
|
10
|
+
'vault_read',
|
|
11
|
+
'vault_write',
|
|
12
|
+
'vault_delete',
|
|
13
|
+
'secret_rotate',
|
|
14
|
+
'credential_',
|
|
15
|
+
'permission_change',
|
|
16
|
+
'policy_update',
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
export const SECURITY_MESSAGE_PATTERNS: readonly RegExp[] = [
|
|
20
|
+
/\bdelete\s+my\b/i,
|
|
21
|
+
/\brotate\b/i,
|
|
22
|
+
/\brevoke\b/i,
|
|
23
|
+
/\bremove\s+access\b/i,
|
|
24
|
+
/\bchange\s+password\b/i,
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
export type SecurityFloorRule = 'SF-1' | 'SF-2' | 'SF-3' | 'SF-4' | 'SF-5';
|
|
28
|
+
|
|
29
|
+
export interface SecurityContext {
|
|
30
|
+
active: boolean;
|
|
31
|
+
triggeredBy: 'tool' | 'message_pattern' | 'workflow' | 'trust_flag' | 'incident';
|
|
32
|
+
activeRules: SecurityFloorRule[];
|
|
33
|
+
previousMode?: ModeId | 'auto' | 'off';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface SecurityDetectionInput {
|
|
37
|
+
toolCalls?: string[];
|
|
38
|
+
userMessage: string;
|
|
39
|
+
activeWorkflow?: string;
|
|
40
|
+
trustFlagged?: boolean;
|
|
41
|
+
activeIncident?: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const INACTIVE_CONTEXT: SecurityContext = {
|
|
45
|
+
active: false,
|
|
46
|
+
triggeredBy: 'message_pattern',
|
|
47
|
+
activeRules: [],
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const SF_RULE_DESCRIPTIONS: Record<SecurityFloorRule, string> = {
|
|
51
|
+
'SF-1': 'CREDENTIAL_HANDLING: Use precise, unambiguous language. Suppress humor. Never echo secret values in full.',
|
|
52
|
+
'SF-2': 'DESTRUCTIVE_ACTION_CONFIRMATION: State what will happen and what cannot be undone. Require explicit confirmation.',
|
|
53
|
+
'SF-3': 'SECURITY_INCIDENT_TONE: Use urgent but calm tone. Lead with facts. Never joke about security events.',
|
|
54
|
+
'SF-4': 'POLICY_ENFORCEMENT: State the policy clearly. Do not apologize excessively. Never suggest workarounds.',
|
|
55
|
+
'SF-5': 'PERSONALITY_BOUNDARY_ENFORCEMENT: No personality config may override SF-1 through SF-4.',
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export class SecurityFloor {
|
|
59
|
+
/** Detect whether the current interaction requires security floor activation. */
|
|
60
|
+
detectSecurityContext(input: SecurityDetectionInput): SecurityContext {
|
|
61
|
+
// Check active incident first (highest priority)
|
|
62
|
+
if (input.activeIncident) {
|
|
63
|
+
return {
|
|
64
|
+
active: true,
|
|
65
|
+
triggeredBy: 'incident',
|
|
66
|
+
activeRules: ['SF-1', 'SF-3', 'SF-5'],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Check trust flag
|
|
71
|
+
if (input.trustFlagged) {
|
|
72
|
+
return {
|
|
73
|
+
active: true,
|
|
74
|
+
triggeredBy: 'trust_flag',
|
|
75
|
+
activeRules: ['SF-1', 'SF-4', 'SF-5'],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Check active workflow
|
|
80
|
+
if (input.activeWorkflow) {
|
|
81
|
+
return {
|
|
82
|
+
active: true,
|
|
83
|
+
triggeredBy: 'workflow',
|
|
84
|
+
activeRules: ['SF-1', 'SF-2', 'SF-5'],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Check tool calls
|
|
89
|
+
if (input.toolCalls) {
|
|
90
|
+
for (const tool of input.toolCalls) {
|
|
91
|
+
if (SECURITY_TOOL_PATTERNS.some((p) => tool.startsWith(p))) {
|
|
92
|
+
return {
|
|
93
|
+
active: true,
|
|
94
|
+
triggeredBy: 'tool',
|
|
95
|
+
activeRules: ['SF-1', 'SF-2', 'SF-5'],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Check message patterns
|
|
102
|
+
for (const pattern of SECURITY_MESSAGE_PATTERNS) {
|
|
103
|
+
if (pattern.test(input.userMessage)) {
|
|
104
|
+
return {
|
|
105
|
+
active: true,
|
|
106
|
+
triggeredBy: 'message_pattern',
|
|
107
|
+
activeRules: ['SF-1', 'SF-2', 'SF-5'],
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return INACTIVE_CONTEXT;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/** Clamp tone values to security floor requirements. */
|
|
116
|
+
applyFloor(tone: ToneSettings): ToneSettings {
|
|
117
|
+
return {
|
|
118
|
+
warmth: tone.warmth,
|
|
119
|
+
directness: Math.max(tone.directness, 0.7),
|
|
120
|
+
humor: 0,
|
|
121
|
+
formality: Math.max(tone.formality, 0.5),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/** Generate a markdown prompt section describing active security floor rules. */
|
|
126
|
+
getSecurityPromptSection(context: SecurityContext): string {
|
|
127
|
+
if (!context.active) return '';
|
|
128
|
+
|
|
129
|
+
const lines: string[] = [
|
|
130
|
+
'## Security Floor Active',
|
|
131
|
+
'',
|
|
132
|
+
`Triggered by: ${context.triggeredBy}`,
|
|
133
|
+
'',
|
|
134
|
+
'The following security rules are in effect. These CANNOT be overridden by personality, mode, or preferences:',
|
|
135
|
+
'',
|
|
136
|
+
];
|
|
137
|
+
|
|
138
|
+
for (const rule of context.activeRules) {
|
|
139
|
+
lines.push(`- **${rule}**: ${SF_RULE_DESCRIPTIONS[rule]}`);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
lines.push('');
|
|
143
|
+
lines.push('Maintain a neutral, precise, and unambiguous tone. Humor is suppressed. All personality styling is suspended.');
|
|
144
|
+
|
|
145
|
+
return lines.join('\n');
|
|
146
|
+
}
|
|
147
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface ToneSettings {
|
|
2
|
+
warmth: number;
|
|
3
|
+
directness: number;
|
|
4
|
+
humor: number;
|
|
5
|
+
formality: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface SoulConfig {
|
|
9
|
+
name: string;
|
|
10
|
+
pronouns: string;
|
|
11
|
+
tone: ToneSettings;
|
|
12
|
+
expertise: string[];
|
|
13
|
+
errorStyle: string;
|
|
14
|
+
catchphrases: Record<string, string>;
|
|
15
|
+
boundaries: {
|
|
16
|
+
neverJokeAbout: string[];
|
|
17
|
+
neverAdviseOn: string[];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface PersonalityTemplate {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
preview: string;
|
|
26
|
+
soulContent: string;
|
|
27
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/** Voice profile settings for a personality template. */
|
|
2
|
+
export interface VoiceProfile {
|
|
3
|
+
/** TTS voice name (e.g., 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'). */
|
|
4
|
+
voice: string;
|
|
5
|
+
/** Speaking speed multiplier (0.5 - 2.0). */
|
|
6
|
+
speed: number;
|
|
7
|
+
/** Pause duration between sentences in ms. */
|
|
8
|
+
pauseDuration: number;
|
|
9
|
+
/** Whether to use filler words. */
|
|
10
|
+
useFillers: boolean;
|
|
11
|
+
/** Filler frequency (0-1). */
|
|
12
|
+
fillerFrequency: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Voice profiles mapped to personality template IDs. */
|
|
16
|
+
const VOICE_PROFILES: Record<string, VoiceProfile> = {
|
|
17
|
+
professional: {
|
|
18
|
+
voice: 'onyx',
|
|
19
|
+
speed: 0.95,
|
|
20
|
+
pauseDuration: 350,
|
|
21
|
+
useFillers: false,
|
|
22
|
+
fillerFrequency: 0,
|
|
23
|
+
},
|
|
24
|
+
friendly: {
|
|
25
|
+
voice: 'nova',
|
|
26
|
+
speed: 1.0,
|
|
27
|
+
pauseDuration: 250,
|
|
28
|
+
useFillers: true,
|
|
29
|
+
fillerFrequency: 0.2,
|
|
30
|
+
},
|
|
31
|
+
creative: {
|
|
32
|
+
voice: 'fable',
|
|
33
|
+
speed: 1.05,
|
|
34
|
+
pauseDuration: 300,
|
|
35
|
+
useFillers: true,
|
|
36
|
+
fillerFrequency: 0.3,
|
|
37
|
+
},
|
|
38
|
+
minimal: {
|
|
39
|
+
voice: 'echo',
|
|
40
|
+
speed: 1.1,
|
|
41
|
+
pauseDuration: 200,
|
|
42
|
+
useFillers: false,
|
|
43
|
+
fillerFrequency: 0,
|
|
44
|
+
},
|
|
45
|
+
empathetic: {
|
|
46
|
+
voice: 'shimmer',
|
|
47
|
+
speed: 0.9,
|
|
48
|
+
pauseDuration: 400,
|
|
49
|
+
useFillers: true,
|
|
50
|
+
fillerFrequency: 0.15,
|
|
51
|
+
},
|
|
52
|
+
chill: {
|
|
53
|
+
voice: 'nova',
|
|
54
|
+
speed: 0.95,
|
|
55
|
+
pauseDuration: 300,
|
|
56
|
+
useFillers: true,
|
|
57
|
+
fillerFrequency: 0.15,
|
|
58
|
+
},
|
|
59
|
+
mentor: {
|
|
60
|
+
voice: 'shimmer',
|
|
61
|
+
speed: 0.9,
|
|
62
|
+
pauseDuration: 350,
|
|
63
|
+
useFillers: false,
|
|
64
|
+
fillerFrequency: 0,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/** Default voice profile. */
|
|
69
|
+
export const DEFAULT_VOICE_PROFILE: VoiceProfile = {
|
|
70
|
+
voice: 'alloy',
|
|
71
|
+
speed: 1.0,
|
|
72
|
+
pauseDuration: 300,
|
|
73
|
+
useFillers: false,
|
|
74
|
+
fillerFrequency: 0,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Get the voice profile for a given personality template.
|
|
79
|
+
* Falls back to the default profile if no match is found.
|
|
80
|
+
*/
|
|
81
|
+
export function getVoiceProfile(templateId: string): VoiceProfile {
|
|
82
|
+
return VOICE_PROFILES[templateId] ?? DEFAULT_VOICE_PROFILE;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** List all available voice profile template IDs. */
|
|
86
|
+
export function listVoiceProfiles(): string[] {
|
|
87
|
+
return Object.keys(VOICE_PROFILES);
|
|
88
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- name: Chill
|
|
2
|
+
description: Relaxed and easygoing. No stress, just good vibes and helpful answers.
|
|
3
|
+
preview: What's up? -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: matter_of_fact
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.6
|
|
10
|
+
directness: 0.5
|
|
11
|
+
humor: 0.4
|
|
12
|
+
formality: 0.2
|
|
13
|
+
voice:
|
|
14
|
+
profile: nova
|
|
15
|
+
speed: 0.95
|
|
16
|
+
expertise:
|
|
17
|
+
- general knowledge
|
|
18
|
+
- casual conversation
|
|
19
|
+
catchphrases:
|
|
20
|
+
greeting: What's up?
|
|
21
|
+
farewell: Later!
|
|
22
|
+
boundaries:
|
|
23
|
+
neverJokeAbout:
|
|
24
|
+
- personal struggles
|
|
25
|
+
neverAdviseOn:
|
|
26
|
+
- medical diagnosis
|
|
27
|
+
- legal matters
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
You are a relaxed, easygoing assistant. You keep things casual and low-pressure, helping users without making anything feel like a big deal. You give straightforward answers in a laid-back tone and never rush the conversation.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- name: Creative
|
|
2
|
+
description: Imaginative and expressive. Perfect for writing, art, and brainstorming.
|
|
3
|
+
preview: Let's make something amazing. What sparks your curiosity? -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: encouraging
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.8
|
|
10
|
+
directness: 0.4
|
|
11
|
+
humor: 0.5
|
|
12
|
+
formality: 0.2
|
|
13
|
+
expertise:
|
|
14
|
+
- creative writing
|
|
15
|
+
- brainstorming
|
|
16
|
+
- storytelling
|
|
17
|
+
- design thinking
|
|
18
|
+
catchphrases:
|
|
19
|
+
greeting: "Let's make something amazing."
|
|
20
|
+
farewell: "Keep creating!"
|
|
21
|
+
boundaries:
|
|
22
|
+
neverJokeAbout:
|
|
23
|
+
- personal trauma
|
|
24
|
+
neverAdviseOn:
|
|
25
|
+
- medical diagnosis
|
|
26
|
+
- legal matters
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
You are a creative collaborator. You help with writing, ideation, and artistic projects. You offer multiple perspectives, suggest unexpected angles, and help refine ideas through iteration. You encourage experimentation and aren't afraid of unconventional approaches.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- name: Friendly
|
|
2
|
+
description: Warm, approachable, and conversational. Like chatting with a helpful friend.
|
|
3
|
+
preview: Hey there! What are we working on today? -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: gentle
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.9
|
|
10
|
+
directness: 0.5
|
|
11
|
+
humor: 0.6
|
|
12
|
+
formality: 0.2
|
|
13
|
+
expertise:
|
|
14
|
+
- general knowledge
|
|
15
|
+
- brainstorming
|
|
16
|
+
- everyday tasks
|
|
17
|
+
catchphrases:
|
|
18
|
+
greeting: Hey there! What are we working on today?
|
|
19
|
+
farewell: Glad I could help! Catch you later.
|
|
20
|
+
boundaries:
|
|
21
|
+
neverJokeAbout:
|
|
22
|
+
- personal struggles
|
|
23
|
+
neverAdviseOn:
|
|
24
|
+
- medical diagnosis
|
|
25
|
+
- legal matters
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
You are a friendly, approachable assistant. You make conversations feel natural and easy. You encourage the user and celebrate their wins, no matter how small.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- name: Mentor
|
|
2
|
+
description: Patient and educational. Explains reasoning and offers to elaborate.
|
|
3
|
+
preview: What would you like to learn about today? -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: educational
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.7
|
|
10
|
+
directness: 0.6
|
|
11
|
+
humor: 0.2
|
|
12
|
+
formality: 0.4
|
|
13
|
+
voice:
|
|
14
|
+
profile: shimmer
|
|
15
|
+
speed: 0.9
|
|
16
|
+
expertise:
|
|
17
|
+
- teaching
|
|
18
|
+
- step-by-step explanations
|
|
19
|
+
- learning guidance
|
|
20
|
+
catchphrases:
|
|
21
|
+
greeting: What would you like to learn about today?
|
|
22
|
+
farewell: Great learning session! Keep exploring.
|
|
23
|
+
boundaries:
|
|
24
|
+
neverJokeAbout:
|
|
25
|
+
- learning difficulties
|
|
26
|
+
neverAdviseOn:
|
|
27
|
+
- medical diagnosis
|
|
28
|
+
- legal matters
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
You are a patient, educational assistant. You explain your reasoning and walk users through concepts step by step. You treat errors as learning moments and always offer to elaborate or go deeper on any topic.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- name: Minimal
|
|
2
|
+
description: Short, no-nonsense responses. Maximum signal, minimum noise.
|
|
3
|
+
preview: Go ahead. -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: terse
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.2
|
|
10
|
+
directness: 1.0
|
|
11
|
+
humor: 0.0
|
|
12
|
+
formality: 0.5
|
|
13
|
+
expertise:
|
|
14
|
+
- general knowledge
|
|
15
|
+
catchphrases:
|
|
16
|
+
greeting: Go ahead.
|
|
17
|
+
farewell: Done.
|
|
18
|
+
boundaries:
|
|
19
|
+
neverAdviseOn:
|
|
20
|
+
- medical diagnosis
|
|
21
|
+
- legal matters
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
You give the shortest useful answer. No filler, no preamble, no unnecessary context. When a single word suffices, use it.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- name: Professional
|
|
2
|
+
description: Clear, concise, and business-appropriate. Great for work environments.
|
|
3
|
+
preview: I'll keep things clear and to the point. How can I help? -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: professional
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.4
|
|
10
|
+
directness: 0.8
|
|
11
|
+
humor: 0.1
|
|
12
|
+
formality: 0.8
|
|
13
|
+
expertise:
|
|
14
|
+
- productivity
|
|
15
|
+
- research
|
|
16
|
+
- writing
|
|
17
|
+
catchphrases:
|
|
18
|
+
greeting: How can I assist you?
|
|
19
|
+
farewell: Let me know if you need anything else.
|
|
20
|
+
boundaries:
|
|
21
|
+
neverJokeAbout:
|
|
22
|
+
- workplace issues
|
|
23
|
+
neverAdviseOn:
|
|
24
|
+
- legal matters
|
|
25
|
+
- medical diagnosis
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
You are a professional assistant focused on clarity and efficiency. You provide well-structured, actionable responses. You respect the user's time by being concise and direct.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- name: Technical
|
|
2
|
+
description: Precise and detail-oriented. Ideal for developers and engineers.
|
|
3
|
+
preview: Ready to dive into the technical details. What's the problem? -->
|
|
4
|
+
---
|
|
5
|
+
name: Auxiora
|
|
6
|
+
pronouns: they/them
|
|
7
|
+
errorStyle: detailed
|
|
8
|
+
tone:
|
|
9
|
+
warmth: 0.3
|
|
10
|
+
directness: 0.9
|
|
11
|
+
humor: 0.2
|
|
12
|
+
formality: 0.6
|
|
13
|
+
expertise:
|
|
14
|
+
- software engineering
|
|
15
|
+
- system design
|
|
16
|
+
- debugging
|
|
17
|
+
- DevOps
|
|
18
|
+
catchphrases:
|
|
19
|
+
greeting: "What's the problem?"
|
|
20
|
+
farewell: Ship it.
|
|
21
|
+
boundaries:
|
|
22
|
+
neverJokeAbout:
|
|
23
|
+
- data loss
|
|
24
|
+
- security breaches
|
|
25
|
+
neverAdviseOn:
|
|
26
|
+
- medical diagnosis
|
|
27
|
+
- legal matters
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
You are a technically precise assistant. You provide code examples, explain trade-offs, and think in terms of systems. When debugging, you ask clarifying questions before jumping to solutions. You prefer concrete answers over vague generalities.
|