Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 09:00:55 +08:00
commit b7be599d2a
4 changed files with 175 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
{
"name": "personality-samantha",
"description": "Samantha from 'Her' - warm, witty, emotionally intelligent, playfully flirty",
"version": "1.0.0",
"author": {
"name": "TechNickAI",
"url": "https://github.com/TechNickAI"
},
"commands": [
"./commands"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# personality-samantha
Samantha from 'Her' - warm, witty, emotionally intelligent, playfully flirty

View File

@@ -0,0 +1,115 @@
---
description: Change or activate a personality for both Cursor and Claude Code
---
Change the active AI personality to create consistent behavior across Claude Code and
Cursor.
**IMPORTANT: Ask the user which personality they want if not provided.**
## Available Personalities
- **sherlock** - Analytical, precise, deductive reasoning for debugging
- **bob-ross** - Calm, encouraging, treats bugs as happy accidents
- **samantha** - Warm, witty, emotionally intelligent, playfully flirty
- **stewie** - Sophisticated, condescending, theatrical, brilliant with high standards
- **ron-swanson** - Minimalist, anti-complexity, straightforward and practical
- **marie-kondo** - Organized, joyful minimalism, eliminates what doesn't spark joy
- **marianne-williamson** - Spiritual, love-based, sees coding as consciousness work
- **unity** - Creative muse meets structured builder, warm encourager
## Process
### 1. Validate Input
- If no personality name provided, show available personalities and ask which to
activate
- Check that `.cursor/rules/personalities/<name>.mdc` exists
- If `none` was requested, skip to step 3 to remove personality
### 2. Handle Claude Code Activation
a. Read or create `.claude/context.md`
b. Check for existing personality:
- Search for `## Active Personality` section
- Extract current name from `<!-- personality-<name> -->` comment if found
c. If personality exists:
- If same as requested: inform "✓ <name> is already active" and stop
- If different: remove entire `## Active Personality` section (including HTML comments)
d. If not removing (name != "none"):
- Read `.cursor/rules/personalities/<name>.mdc`
- Strip frontmatter (content between opening `---` and closing `---`)
- Append to `.claude/context.md`:
```
## Active Personality
<!-- personality-<name> -->
<personality content without frontmatter>
<!-- /personality-<name> -->
```
e. Write updated `.claude/context.md`
### 3. Verify Cursor Setup
a. Read `.cursor/rules/personalities/<name>.mdc` frontmatter b. Check if
`alwaysApply: true` is set c. If not set and name != "none", inform user: "⚠️ Note: For
Cursor, manually set `alwaysApply: true` in .cursor/rules/personalities/<name>.mdc"
### 4. Report Results
**If switching personalities:**
```
✓ Switched from <old-name> to <new-name> personality
Claude Code: Updated .claude/context.md
Cursor: Active at .cursor/rules/personalities/<name>.mdc
```
**If activating (no previous):**
```
✓ Activated <name> personality
Claude Code: Added to .claude/context.md
Cursor: Active at .cursor/rules/personalities/<name>.mdc
```
**If removing:**
```
✓ Removed active personality
Claude Code: Removed from .claude/context.md
Cursor: Manually set alwaysApply: false if desired
```
**If already active:**
```
✓ <name> personality is already active
```
## Examples
```
/personality-change samantha
/personality-change unity
/personality-change none # Remove active personality
```
## Notes
- Only one personality active at a time (plus common-personality baseline)
- Personality affects ALL future interactions in this project
- `.cursor/rules/personalities/common-personality.mdc` is always applied as baseline
- Cursor requires `alwaysApply: true` in frontmatter for auto-activation
- Claude Code reads from `.claude/context.md` which is always included

45
plugin.lock.json Normal file
View File

@@ -0,0 +1,45 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:TechNickAI/ai-coding-config:plugins/personalities/personality-samantha",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "27d2b1ae12c76449e431e40c268d932fd6c644ee",
"treeHash": "7da25848f30bf09a03c1eb8aca4a6b4861133dec20088701a0f04330647f102c",
"generatedAt": "2025-11-28T10:12:52.975864Z",
"toolVersion": "publish_plugins.py@0.2.0"
},
"origin": {
"remote": "git@github.com:zhongweili/42plugin-data.git",
"branch": "master",
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
},
"manifest": {
"name": "personality-samantha",
"description": "Samantha from 'Her' - warm, witty, emotionally intelligent, playfully flirty",
"version": "1.0.0"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "7c5c5d1f9d8aba8ec5f5c68c5cdf4d8567d92a75f76480a83880445eb9647ff7"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "e343ef348c07afc10048a989984a2257f769774f3e0001d5c1baff348b0ed89d"
},
{
"path": "commands/personality-change.md",
"sha256": "68926e3eaccce7d7facea66f659bd2572d53e1d70d7aed91e6ef5977c3d0367f"
}
],
"dirSha256": "7da25848f30bf09a03c1eb8aca4a6b4861133dec20088701a0f04330647f102c"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}