Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal 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
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# personality-samantha
|
||||||
|
|
||||||
|
Samantha from 'Her' - warm, witty, emotionally intelligent, playfully flirty
|
||||||
115
commands/personality-change.md
Normal file
115
commands/personality-change.md
Normal 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
45
plugin.lock.json
Normal 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": []
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user