Update CLAUDE.md with link building agent documentation

Add linkbuilder agent to architecture diagram, document the
Link Building skill_map entry, add test_linkbuilding.py to
test catalog, update test count to 187.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cora-start
PeninsulaInd 2026-02-19 11:52:57 -06:00
parent 8a98b37725
commit 2344770143
1 changed files with 13 additions and 2 deletions

View File

@ -22,7 +22,8 @@ AgentRegistry (agent_registry.py)
├── default agent ← AgentConfig (config.py) ├── default agent ← AgentConfig (config.py)
├── writer agent ├── writer agent
├── researcher agent ├── researcher agent
└── ops agent ├── ops agent
└── linkbuilder agent
Agent (agent.py) ← Memory (memory.py, 4-layer, per-agent scoping) Agent (agent.py) ← Memory (memory.py, 4-layer, per-agent scoping)
↓ ← Skills (skills.py, markdown skills with frontmatter) ↓ ← Skills (skills.py, markdown skills with frontmatter)
@ -48,7 +49,7 @@ NotificationBus (notifications.py) → Gradio / future Discord / Slack
# Run the app # Run the app
uv run python -m cheddahbot uv run python -m cheddahbot
# Run tests (124 tests) # Run tests (187 tests)
uv run pytest uv run pytest
# Run tests verbose # Run tests verbose
@ -86,6 +87,7 @@ uv add --group test <package>
| `cheddahbot/memory.py` | 4-layer memory with semantic search + scoping | | `cheddahbot/memory.py` | 4-layer memory with semantic search + scoping |
| `cheddahbot/router.py` | System prompt builder | | `cheddahbot/router.py` | System prompt builder |
| `cheddahbot/skills.py` | Markdown skill registry (discovers skills/*.md) | | `cheddahbot/skills.py` | Markdown skill registry (discovers skills/*.md) |
| `cheddahbot/tools/linkbuilding.py` | Link building content pipeline (guest articles, directory listings, social posts) |
| `cheddahbot/ui.py` | Gradio web interface | | `cheddahbot/ui.py` | Gradio web interface |
| `cheddahbot/tools/` | Tool modules (auto-discovered) | | `cheddahbot/tools/` | Tool modules (auto-discovered) |
| `cheddahbot/tools/delegate.py` | delegate_task + delegate_to_agent tools | | `cheddahbot/tools/delegate.py` | delegate_task + delegate_to_agent tools |
@ -176,6 +178,14 @@ skill_map:
field_mapping: field_mapping:
topic: "task_name" # uses ClickUp task name topic: "task_name" # uses ClickUp task name
company_name: "Client" # looks up "Client" custom field company_name: "Client" # looks up "Client" custom field
"Link Building":
tool: "build_links"
auto_execute: true
field_mapping:
keyword: "task_name" # "LINKS - keyword" → keyword extracted
company_name: "Client"
target_url: "IMSURL"
branded_url: "SocialURL"
``` ```
Task lifecycle: `to do` → discovered → approved/awaiting_approval → executing → completed/failed (+ attachments uploaded) Task lifecycle: `to do` → discovered → approved/awaiting_approval → executing → completed/failed (+ attachments uploaded)
@ -192,6 +202,7 @@ Tests live in `tests/` and use pytest. All tests run offline with mocked APIs.
- `test_docx_export.py` — Plain text → .docx formatting and file creation - `test_docx_export.py` — Plain text → .docx formatting and file creation
- `test_press_advantage.py` — Press Advantage API client, company parsing, link building, submit tool - `test_press_advantage.py` — Press Advantage API client, company parsing, link building, submit tool
- `test_scheduler_helpers.py``_extract_docx_paths` regex extraction from tool output - `test_scheduler_helpers.py``_extract_docx_paths` regex extraction from tool output
- `test_linkbuilding.py` — Link building pipeline: keyword extraction, company lookup, content generation, file output, ClickUp sync
Fixtures in `conftest.py`: `tmp_db` (fresh SQLite), `sample_clickup_task_data` (realistic API response). Fixtures in `conftest.py`: `tmp_db` (fresh SQLite), `sample_clickup_task_data` (realistic API response).