107 lines
2.5 KiB
Markdown
107 lines
2.5 KiB
Markdown
---
|
|
name: claude
|
|
description: Claude Code CLI with skills access for self-modification
|
|
metadata:
|
|
version: "1.0.0"
|
|
vibestack:
|
|
main: false
|
|
---
|
|
|
|
# Claude Skill
|
|
|
|
[Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) with full access to the skills directory for autonomous agent capabilities.
|
|
|
|
## Features
|
|
|
|
- Claude Code CLI installation
|
|
- HTTP API for chat and execution
|
|
- Access to `/skills` directory for self-modification
|
|
- System prompt with skills context
|
|
- Streaming responses via SSE
|
|
- Auto-registers with Caddy if present
|
|
|
|
## Configuration
|
|
|
|
| Variable | Description | Default |
|
|
|----------|-------------|---------|
|
|
| `CLAUDE_PORT` | HTTP API port | `8888` |
|
|
| `CLAUDE_DOMAIN` | Domain for Caddy auto-config | (none) |
|
|
| `ANTHROPIC_API_KEY` | Anthropic API key | (required) |
|
|
| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth token (alternative to API key) | (optional) |
|
|
| `CLAUDE_MODEL` | Model to use | `claude-sonnet-4-20250514` |
|
|
| `CLAUDE_MAX_TURNS` | Max conversation turns | `10` |
|
|
| `SKILLS_DIR` | Skills directory | `/skills` |
|
|
|
|
## HTTP API
|
|
|
|
### Chat (Streaming)
|
|
|
|
```bash
|
|
curl -N http://localhost:8888/chat \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"message": "List all skills and their purpose"}'
|
|
```
|
|
|
|
### Execute (One-shot)
|
|
|
|
```bash
|
|
curl http://localhost:8888/execute \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"prompt": "Create a new skill called hello-world that responds with Hello World"}'
|
|
```
|
|
|
|
### Health Check
|
|
|
|
```bash
|
|
curl http://localhost:8888/health
|
|
```
|
|
|
|
## Capabilities
|
|
|
|
Claude has access to:
|
|
|
|
1. **Skills Directory** (`/skills/`)
|
|
- Read all skill configurations
|
|
- Modify existing skills
|
|
- Create new skills
|
|
- Push changes to Git
|
|
|
|
2. **System Tools**
|
|
- Bash commands
|
|
- File operations
|
|
- Git operations
|
|
- Network requests
|
|
|
|
3. **Other Skills**
|
|
- Query DuckDB
|
|
- Read logs from Loki
|
|
- Check metrics
|
|
|
|
## System Prompt
|
|
|
|
Claude receives context about:
|
|
- Available skills and their structure
|
|
- How to create/modify skills
|
|
- Git workflow for pushing changes
|
|
- API endpoints for other skills
|
|
|
|
## Security
|
|
|
|
- Claude runs with full system access
|
|
- Ensure proper authentication on the API endpoint
|
|
- Use `CLAUDE_DOMAIN` with Caddy for HTTPS
|
|
- Consider running behind authelia for protected access
|
|
|
|
## Self-Modification Example
|
|
|
|
```bash
|
|
curl http://localhost:8888/execute \
|
|
-d '{"prompt": "Add a /hello endpoint to the caddy skill that returns a greeting"}'
|
|
```
|
|
|
|
Claude will:
|
|
1. Read the caddy skill files
|
|
2. Modify the necessary scripts
|
|
3. Commit and push changes
|
|
4. Report what was done
|