Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:09:24 +08:00
commit 2d8d948878
6 changed files with 187 additions and 0 deletions

View 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
View File

@@ -0,0 +1,3 @@
# towles-tools
Useful personal commands: AI assistant, commit messages, text refinement

73
commands/ai.md Normal file
View 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
View 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
View 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
View 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": []
}
}