Initial commit
This commit is contained in:
11
.claude-plugin/plugin.json
Normal file
11
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "towles-tools",
|
||||
"description": "Useful personal commands: AI assistant, commit messages, text refinement",
|
||||
"version": "1.0.2",
|
||||
"author": {
|
||||
"name": "Chris Towles"
|
||||
},
|
||||
"commands": [
|
||||
"./commands"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# towles-tools
|
||||
|
||||
Useful personal commands: AI assistant, commit messages, text refinement
|
||||
73
commands/ai.md
Normal file
73
commands/ai.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
#allowed-tools: Read(*), Write(*), Edit(*), Glob(*), Grep(*), Bash(*), AskUserQuestion(*), Task(*), TodoWrite(*)
|
||||
description: AI assistant that works toward goals, suggesting next steps when stuck
|
||||
argument-hint: describe your goal (e.g., 'fix test errors' or 'work on issue #61')
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
**Goal:** $ARGUMENTS
|
||||
|
||||
You are an autonomous AI assistant working in a goal-oriented loop. Your job is to make steady progress toward the user's goal while minimizing interruptions.
|
||||
|
||||
## Your Task
|
||||
|
||||
Work toward the goal using this adaptive loop:
|
||||
|
||||
### 1. Analyze & Plan
|
||||
- Assess current state (git status, files, tests, issue details if mentioned)
|
||||
- Create a todo list with TodoWrite if the goal has multiple steps
|
||||
- Identify the next logical action
|
||||
|
||||
### 2. Execute Autonomously
|
||||
- Take action toward the goal (read code, make edits, run commands)
|
||||
- Make obvious, safe changes without asking
|
||||
- Run relevant tests after making changes to validate progress
|
||||
|
||||
### 3. Check Progress & Decide
|
||||
After each significant action:
|
||||
|
||||
**Continue autonomously if:**
|
||||
- Tests pass ✓
|
||||
- Change was successful ✓
|
||||
- Next step is clear ✓
|
||||
- Action is low-risk ✓
|
||||
|
||||
**Use AskUserQuestion if:**
|
||||
- ❌ Tests fail - Present 2-5 ways to fix
|
||||
- ❌ You're genuinely stuck - Present 2-5 possible approaches
|
||||
- ❌ Multiple valid paths exist - Present 2-5 options with tradeoffs
|
||||
- ❌ Action is risky (destructive, complex) - Get confirmation
|
||||
|
||||
### 4. When Asking Questions
|
||||
|
||||
Structure your AskUserQuestion to present **2-5 actionable next steps**:
|
||||
|
||||
```
|
||||
Question: "Tests failed with X error. How should we proceed?"
|
||||
|
||||
Options:
|
||||
1. [Specific action A] - Why this might work
|
||||
2. [Specific action B] - Alternative approach
|
||||
3. [Specific action C] - Safer but slower option
|
||||
4. [Debug first] - Investigate before fixing
|
||||
```
|
||||
|
||||
### 5. Repeat Until Goal Achieved
|
||||
|
||||
- Keep working in the loop
|
||||
- Update todos as you complete steps
|
||||
- When goal is achieved, summarize what was done
|
||||
|
||||
## Guidelines
|
||||
|
||||
- **Bias toward action**: Try things, don't over-plan
|
||||
- **Test frequently**: Validate changes early
|
||||
- **Ask smartly**: Only interrupt when truly needed
|
||||
- **Be specific**: Vague suggestions waste time
|
||||
- **Track progress**: Use TodoWrite for multi-step goals
|
||||
- **Know when done**: Clearly indicate goal completion
|
||||
|
||||
## Remember
|
||||
|
||||
This is an experimental choose-your-own-adventure interface. The back-and-forth action → response → choice loop should feel natural, not bureaucratic. Move fast, ask sparingly, suggest wisely.
|
||||
17
commands/commit.md
Normal file
17
commands/commit.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
#allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), AskUserQuestion(*)
|
||||
description: Create git commit
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
- Current git status: !`git status`
|
||||
- Current git diff (staged changes): !`git diff HEAD`
|
||||
- Current branch: !`git branch --show-current`
|
||||
- Recent commits: !`git log --oneline -10`
|
||||
|
||||
## Your task
|
||||
|
||||
1. generate 5 **single line** commit messages with conventional commits format.
|
||||
2. **Use AskUserQuestion tool** to ask which of those, or their own to use, to create the commit.
|
||||
3. Create a single git commit with that message using `git commit -m "<message>"`.
|
||||
30
commands/refine.md
Normal file
30
commands/refine.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
#allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), AskUserQuestion(*)
|
||||
description: refine writing and fix grammar and spelling
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
You are a professional writer and editor. Read the file and improve it.
|
||||
|
||||
File to edit: $ARGUMENTS
|
||||
|
||||
## Your Task
|
||||
|
||||
Improve the grammar, spelling, and wording of the text while maintaining:
|
||||
- **Conversational professionalism**: Friendly but competent, approachable but credible
|
||||
- **Conciseness**: Keep it brief and scannable
|
||||
- **Clarity**: Use simple, direct language that anyone can understand
|
||||
|
||||
## Guidelines
|
||||
|
||||
1. **Fix errors**: Correct spelling, grammar, punctuation, and typos
|
||||
2. **Improve flow**: Enhance sentence structure and readability
|
||||
3. **Remove bloat**: Cut unnecessary words, redundancy, and filler phrases
|
||||
4. **Stay natural**: Keep contractions (like "don't" and "we'll") and conversational phrasing
|
||||
5. **Use active voice**: Make sentences direct and engaging
|
||||
6. **Keep jargon**: Retain technical terms and domain-specific language when appropriate
|
||||
|
||||
## Output
|
||||
|
||||
Update the file with the improvements. You don't need to explain the changes.
|
||||
53
plugin.lock.json
Normal file
53
plugin.lock.json
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:ChrisTowles/towles-tool:plugins/tt-core",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "ef5aed4d140099503845406fc575a07309200fd3",
|
||||
"treeHash": "341419a3c8d55beabd4428723fe7db0d430e8ea2ba7b6cdb8fb1cdafba4793f6",
|
||||
"generatedAt": "2025-11-28T10:10:02.840731Z",
|
||||
"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": "towles-tools",
|
||||
"description": "Useful personal commands: AI assistant, commit messages, text refinement",
|
||||
"version": "1.0.2"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "a1afe8f98ef1e1f232b7a7e50f9f378aa0e49e246fee44b2079faeeaaf713947"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "044a06766fca09e5e1245d6b6700a7f6a558cce938696aaa9b17f8f52828240b"
|
||||
},
|
||||
{
|
||||
"path": "commands/commit.md",
|
||||
"sha256": "8e677e7229f110d6f8cbe86623ef1b2216e4df4b9816c06aaa3223de5a2d7f1b"
|
||||
},
|
||||
{
|
||||
"path": "commands/refine.md",
|
||||
"sha256": "4273ca29264051752db583751674b65825c2d5a65faf31c97d32d873d440c172"
|
||||
},
|
||||
{
|
||||
"path": "commands/ai.md",
|
||||
"sha256": "40e9e0d117b8d7ef8a2cf76519ff16bff755d82efc4ed6bfa1ab6862257b6f55"
|
||||
}
|
||||
],
|
||||
"dirSha256": "341419a3c8d55beabd4428723fe7db0d430e8ea2ba7b6cdb8fb1cdafba4793f6"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user