2.5: Update CLAUDE.md with skills.py and skill format docs
- Add cheddahbot/skills.py to Key Files table - Update skills/ description to mention YAML frontmatter - Add skills format to Conventions section - Fix ctx type annotation in docs (dict -> dict | None) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>cora-start
parent
b18855f068
commit
d05b589651
|
|
@ -77,18 +77,20 @@ uv add --group test <package>
|
|||
| `cheddahbot/memory.py` | 4-layer memory with semantic search |
|
||||
| `cheddahbot/router.py` | System prompt builder |
|
||||
| `cheddahbot/ui.py` | Gradio web interface |
|
||||
| `cheddahbot/skills.py` | Markdown skill registry (discovers skills/*.md) |
|
||||
| `cheddahbot/tools/` | Tool modules (auto-discovered) |
|
||||
| `config.yaml` | Runtime configuration |
|
||||
| `identity/SOUL.md` | Agent personality |
|
||||
| `identity/USER.md` | User profile |
|
||||
| `skills/` | Prompt templates for tools (press releases, etc.) |
|
||||
| `skills/` | Markdown skill files with YAML frontmatter |
|
||||
|
||||
## Conventions
|
||||
|
||||
- **Config precedence**: env vars > config.yaml > dataclass defaults
|
||||
- **ClickUp env vars**: `CLICKUP_API_TOKEN`, `CLICKUP_WORKSPACE_ID`, `CLICKUP_SPACE_ID`
|
||||
- **Tool registration**: Use the `@tool("name", "description", category="cat")` decorator in any file under `cheddahbot/tools/` — auto-discovered on startup
|
||||
- **Tool context**: Tools can accept `ctx: dict = None` to get `config`, `db`, `agent`, `memory` injected
|
||||
- **Tool context**: Tools can accept `ctx: dict | None = None` to get `config`, `db`, `agent`, `memory` injected
|
||||
- **Skills**: `.md` files in `skills/` with YAML frontmatter (`name`, `description`, `tools`, `agents`). Files without frontmatter are data files (skipped by registry)
|
||||
- **Database**: SQLite with WAL mode, thread-local connections via `threading.local()`
|
||||
- **KV store**: Task state stored as JSON at `clickup:task:{id}:state` keys
|
||||
- **ClickUp field mapping**: `Work Category` field (not `Task Type`) identifies task types like "Press Release", "Link Building". The `Client` field (not `Company`) holds the client name.
|
||||
|
|
|
|||
Loading…
Reference in New Issue