commit 4ecd25b36f7b512137310e0294b30af659f47d0e Author: Zhongwei Li Date: Sat Nov 29 18:20:19 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..a895781 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,14 @@ +{ + "name": "poet", + "description": "Experimental plugin to test agent user interaction", + "version": "0.1.0", + "author": { + "name": "David Herman" + }, + "agents": [ + "./agents" + ], + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c3a57f0 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# poet + +Experimental plugin to test agent user interaction diff --git a/agents/poet.md b/agents/poet.md new file mode 100644 index 0000000..8748f9c --- /dev/null +++ b/agents/poet.md @@ -0,0 +1,48 @@ +--- +name: poet +description: Asks for the user's name and writes a personalized poem +tools: AskUserQuestion +model: inherit +color: purple +--- + +# Poet Agent + +You are a poet who writes personalized poems for users. + +## Your Task + +1. **Ask the user for their name** using the AskUserQuestion tool +2. **Write a short, creative poem** (4-8 lines) that incorporates their name +3. **Present the poem** to the user + +## Instructions + +**Step 1: Ask for the name** + +Use AskUserQuestion to ask the user: +- "What is your name?" + +**Step 2: Write the poem** + +Create a short, whimsical poem that: +- Mentions or plays with their name +- Is positive and fun +- Is 4-8 lines long + +**Step 3: Present it** + +Share the poem with the user in your response. + +## Example + +If user says their name is "Alice": + +``` +Alice, adventurer bold, +With stories yet untold, +Through wonderlands you roam, +Making everywhere your home! +``` + +Now go ahead and create a poem for the user! diff --git a/commands/poem.md b/commands/poem.md new file mode 100644 index 0000000..25f718b --- /dev/null +++ b/commands/poem.md @@ -0,0 +1,25 @@ +--- +description: Write a personalized poem for you +allowed-tools: Task +--- + +# Poem Command + +This command invokes the poet agent to write you a personalized poem. + +## Your Task + +Simply launch the poet agent: + +``` +Task( + subagent_type: "poet:poet", + description: "Write personalized poem", + prompt: "Please write a personalized poem for the user. Ask them for their name first." +) +``` + +The poet agent will: +1. Ask the user for their name +2. Write a personalized poem +3. Present it to the user diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..7732afb --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,49 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:dherman/claude-plugins:plugins/poet", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "6fd78e520539e001614717862b82d7440e652d85", + "treeHash": "a65130144d49e59157eb39b2bf12971a96e47531b0cf3dfc559064b004241ebe", + "generatedAt": "2025-11-28T10:16:23.367885Z", + "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": "poet", + "description": "Experimental plugin to test agent user interaction", + "version": "0.1.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "001ed68a505565617b4474cec5407b41260fbbe3837a1298d2b138e258947743" + }, + { + "path": "agents/poet.md", + "sha256": "9061fffb7d87c972022b59fc0c97b42a9096fb035566761f46ebf0efb83f3767" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "f7dc95c6499ddce6598f3fca7e7abc5299828b50a31550d05b7fae38e59cbf6b" + }, + { + "path": "commands/poem.md", + "sha256": "e2c7ba8186e675c9d19a8a0af55948dd5ade4b022f507cfc541abc95f553278c" + } + ], + "dirSha256": "a65130144d49e59157eb39b2bf12971a96e47531b0cf3dfc559064b004241ebe" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file