Files
claude/SKILL.md
2026-02-02 22:43:15 +01:00

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