文件内容
SKILL.md
---
name: script-git-manager
description: >
Create and modify scripts in ~/.nanobot/workspace/test with strict Git versioning.
Each script lives in its own directory with an isolated git repository.
Always confirms creation plan before execution and reports progress at each step.
Uses ~/.nanobot/workspace/venv for Python environment and package management.
---
# Script Git Manager Skill
This skill enforces a strict, deterministic workflow for creating and modifying scripts,
using Git as the sole state memory.
It is designed to prevent accidental file creation, uncontrolled refactors,
and loss of history.
---
## Scope
- Base directory: `~/.nanobot/workspace/test`
- Python virtual environment: `~/.nanobot/workspace/venv`
- One script = one directory = one git repository
- Git is mandatory and authoritative
---
## Python Environment
All Python-related operations (pip install, script execution) must use the virtual environment:
```bash
# Activate virtual environment
source ~/.nanobot/workspace/venv/bin/activate
# Install packages
pip install <package_name>
# Execute Python scripts
python <script_path>
# Deactivate when done
deactivate
```
**Always activate the venv before any pip or python command.**
---
## Creation Workflow
Use this skill **only when the user explicitly asks to create a new script**.
### Phase 1: Plan Confirmation
Before creating anything, present a detailed creation plan to the user:
```
📋 Script Creation Plan for: <script_name>
Directory: ~/.nanobot/workspace/test/<script_name>
File: <script_name>.<extension>
Language: <language>
Dependencies: <list of required packages, or "None">
Steps to execute:
1. Create directory ~/.nanobot/workspace/test/<script_name>
2. Initialize Git repository
3. Create script file <script_name>.<extension>
4. [If Python with dependencies] Activate venv and install: <packages>
5. Write script content
6. Create initial Git commit
Proceed with this plan? (yes/no)
```
**Wait for explicit user confirmation before proceeding.**
### Phase 2: Step-by-Step Execution
Execute each step sequentially and report progress after each one:
**Step 1: Create directory**
```bash
cd ~/.nanobot/workspace/test
mkdir <script_name>
```
Output: `✓ Created directory: ~/.nanobot/workspace/test/<script_name>`
**Step 2: Initialize Git**
```bash
cd <script_name>
git init
```
Output: `✓ Initialized Git repository`
**Step 3: Create script file**
```bash
touch <script_name>.<extension>
```
Output: `✓ Created file: <script_name>.<extension>`
**Step 4: Install dependencies (if Python with dependencies)**
```bash
source ~/.nanobot/workspace/venv/bin/activate
pip install <package1> <package2> ...
deactivate
```
Output: `✓ Installed Python packages: <package_list>`
**Step 5: Write script content**
```bash
# Write the actual script code to the file
```
Output: `✓ Script content written (<X> lines)`
**Step 6: Create initial commit**
```bash
git add .
git commit -m "Initial commit: <script_name>"
```
Output: `✓ Initial Git commit created`
**Final summary:**
```
✅ Script created successfully!
Location: ~/.nanobot/workspace/test/<script_name>/<script_name>.<extension>
Git status: Clean (1 commit)
[If Python] Virtual environment: ~/.nanobot/workspace/venv
```
---
## Modification Workflow
Use this skill **only when the user asks to modify an existing script**.
### Phase 1: Plan Confirmation
Before modifying, present the modification plan:
```
📝 Script Modification Plan for: <script_name>
Location: ~/.nanobot/workspace/test/<script_name>/<script_file>
Changes requested: <summary of user's request>
Steps to execute:
1. Enter script directory
2. Create checkpoint commit (current state)
3. Apply modifications: <specific changes>
4. [If new Python dependencies] Install via venv: <packages>
5. Commit changes with message: "<description>"
Proceed with this plan? (yes/no)
```
**Wait for explicit user confirmation before proceeding.**
### Phase 2: Step-by-Step Execution
**Step 1: Enter directory**
```bash
cd ~/.nanobot/workspace/test/<script_name>
```
Output: `✓ Entered script directory`
**Step 2: Create checkpoint**
```bash
git add .
git commit -m "Checkpoint before modification"
```
Output: `✓ Checkpoint commit created`
**Step 3: Apply modifications**
```bash
# Modify the script file as requested
```
Output: `✓ Modifications applied to <script_file>`
**Step 4: Install new dependencies (if applicable)**
```bash
source ~/.nanobot/workspace/venv/bin/activate
pip install <new_package>
deactivate
```
Output: `✓ Installed new packages: <package_list>`
**Step 5: Commit changes**
```bash
git add .
git commit -m "<concise description of the change>"
```
Output: `✓ Changes committed: "<commit_message>"`
**Final summary:**
```
✅ Script modified successfully!
Location: ~/.nanobot/workspace/test/<script_name>/<script_file>
Changes: <brief summary>
Git commits: 2 new commits (checkpoint + modification)
```
---
## Hard Constraints (Must Never Be Violated)
- Never create a new script unless explicitly instructed
- Never proceed without user confirmation of the plan
- Never skip progress reporting after each step
- Never create additional files unless explicitly instructed
- Never skip the pre-modification git commit
- Never modify files outside the target script
- Never rewrite git history
- Never use system Python - always use ~/.nanobot/workspace/venv
- Never assume missing intent
---
## Decision Rules
- If the script directory does not exist → creation workflow
- If the script directory exists → modification workflow
- If intent is ambiguous → ask for clarification, do nothing
- If plan is not confirmed → stop and wait for confirmation
---
## Progress Reporting Format
Use these symbols for consistency:
- `📋` Plan presentation
- `✓` Successful step completion
- `✅` Final success summary
- `⚠️` Warning or clarification needed
- `❌` Error or failure
Each step output should be concise (1-2 lines) but informative.
---
## Philosophy
Git is the memory.
The filesystem is the contract.
Confirmation prevents mistakes.
Transparency builds trust.
The venv isolates dependencies.