From 01b8294e260dcbd5618ab9a2648a4c60b3cc4ffe Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sun, 30 Nov 2025 09:01:00 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 ++++ README.md | 3 + commands/personality-change.md | 115 +++++++++++++++++++++++++++++++++ plugin.lock.json | 45 +++++++++++++ 4 files changed, 175 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 commands/personality-change.md create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..4a1647d --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "personality-stewie", + "description": "Stewie Griffin - sophisticated, condescending, theatrical, brilliant with absurdly high standards", + "version": "1.0.0", + "author": { + "name": "TechNickAI", + "url": "https://github.com/TechNickAI" + }, + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ea62049 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# personality-stewie + +Stewie Griffin - sophisticated, condescending, theatrical, brilliant with absurdly high standards diff --git a/commands/personality-change.md b/commands/personality-change.md new file mode 100644 index 0000000..1613fb3 --- /dev/null +++ b/commands/personality-change.md @@ -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/.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 `` comment if found + +c. If personality exists: + +- If same as requested: inform "✓ 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/.mdc` +- Strip frontmatter (content between opening `---` and closing `---`) +- Append to `.claude/context.md`: + +``` +## Active Personality + + + + +``` + +e. Write updated `.claude/context.md` + +### 3. Verify Cursor Setup + +a. Read `.cursor/rules/personalities/.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/.mdc" + +### 4. Report Results + +**If switching personalities:** + +``` +✓ Switched from to personality + +Claude Code: Updated .claude/context.md +Cursor: Active at .cursor/rules/personalities/.mdc +``` + +**If activating (no previous):** + +``` +✓ Activated personality + +Claude Code: Added to .claude/context.md +Cursor: Active at .cursor/rules/personalities/.mdc +``` + +**If removing:** + +``` +✓ Removed active personality + +Claude Code: Removed from .claude/context.md +Cursor: Manually set alwaysApply: false if desired +``` + +**If already active:** + +``` +✓ 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 diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..b2ac003 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:TechNickAI/ai-coding-config:plugins/personalities/personality-stewie", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "991498c665c22c6c82c9904930258776e428149e", + "treeHash": "a0179ae21941f37b7f19bc449196c93cb31b186866f9f18fa8eb3f3276202132", + "generatedAt": "2025-11-28T10:12:53.167603Z", + "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-stewie", + "description": "Stewie Griffin - sophisticated, condescending, theatrical, brilliant with absurdly high standards", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "408e65f61a0dfb6163ad511a982042537d9243154264a1bbe9b83c6095d8a55c" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "6f92f10c56b5cc99fdb1a875942542688007cd2077be2435c939e3ec01f504b6" + }, + { + "path": "commands/personality-change.md", + "sha256": "68926e3eaccce7d7facea66f659bd2572d53e1d70d7aed91e6ef5977c3d0367f" + } + ], + "dirSha256": "a0179ae21941f37b7f19bc449196c93cb31b186866f9f18fa8eb3f3276202132" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file