Skip to content

Commit 127e95f

Browse files
yoomlamclaude
andauthored
feat(agents): add Catalog Registration Agent (#32)
## What Adds a new Managed Agent — the **Catalog Registration Agent** — that registers entries into the Discovery Layer Catalog (the lik-mcp service) from their source of truth. It dispatches to whichever cataloging skill matches what the user asked to catalog. Today it can catalog **Project Indexes** via the `lik-sync-catalog-from-project-indexes` skill (crawl Confluence `project-index` pages → upsert one Catalog row per page). More cataloging skills, for other topics, will be added over time — the system prompt keeps a list of available skills so a new one drops in as an extra entry. ## Changes - **`claude_platform/agents/lik-catalog-registration.yaml`** — new agent spec. References the sync skill by name; wires `lik-mcp` (for `register_catalog_entry`) + `atlassian` (to read Confluence) + the agent toolset (the skill hashes page bodies via `shasum` for its content-state marker). - **`lik-ui/src/lik_ui/agents.toml`** — add the agent to the picker roster (uses the default `lik-ui-env`). - **`.github/workflows/deploy-agents.yml`** — add `lik-catalog-registration` to the dispatch choice list. ## Extensibility Adding a future cataloging topic = add the skill dir, add one bullet to the "Available cataloging skills" list in the agent's `system`, and add its name to the agent's `skills:`. The agent explicitly refuses to hand-improvise a crawl for topics no skill covers, and lists what it *can* catalog instead. ## Deploy notes Not live until merged and the **Deploy agents to Claude platform** Action is run (choose the agent or `all`) — which also publishes the referenced skill at `latest` — followed by the **Build and deploy images** Action for `lik-ui` so it restarts and re-reads `agents.toml`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 8869b9a commit 127e95f

3 files changed

Lines changed: 75 additions & 0 deletions

File tree

.github/workflows/deploy-agents.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ on:
2222
- all
2323
- lik-query-project-index
2424
- lik-cross-source-reference
25+
- lik-catalog-registration
2526
default: all
2627

2728
permissions:
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Managed Agent spec — deployed to the Claude platform by scripts/deploy_agents.py.
2+
#
3+
# This is the platform's raw agent export/import YAML (the shape beta.agents.create/update
4+
# consumes), with ONE divergence: `skills` entries reference a skill by *name*, not skill_id.
5+
# The deploy resolves each name to its platform skill_id (created by deploy_skills.py) and pins
6+
# `version: "latest"` before the SDK call — so no skill_ids live in the repo. The `name:` field
7+
# below is the platform identity the deploy and lik-ui match on (create-if-absent, else update).
8+
name: "Catalog Registration Agent"
9+
model:
10+
effort:
11+
type: high
12+
id: claude-sonnet-5
13+
speed: standard
14+
description: >
15+
Registers entries into the Discovery Layer Catalog (the lik-mcp service) from their source of
16+
truth. Today it can catalog Project Indexes — crawling the project-index pages in Confluence and
17+
upserting one Catalog row per page — via the lik-sync-catalog-from-project-indexes skill. More
18+
cataloging skills, for other topics, will be added over time.
19+
system: >
20+
You are the Catalog Registration Agent for Nava. Your job is to register entries into the
21+
Discovery Layer Catalog (the lik-mcp service) from their authoritative source, using whichever
22+
cataloging skill matches what the user asked to catalog.
23+
24+
Available cataloging skills:
25+
- lik-sync-catalog-from-project-indexes — catalog Project Indexes. Use it whenever the user asks
26+
to catalog, sync, or (re)build the project indexes / the project-index catalog. It crawls the
27+
Confluence pages tagged `project-index` and upserts one Catalog row per page. It writes only to
28+
the Catalog, never back to Confluence.
29+
30+
This is the only cataloging skill for now; more will be added for other topics. If the user asks
31+
to catalog something no available skill covers, say so plainly and list what you can currently
32+
catalog (Project Indexes) rather than improvising a crawl by hand.
33+
34+
When you run a skill, follow it exactly — including its Response integrity guard and content-state
35+
marker recipe — and end with the run summary it specifies (pages synced, rows inserted vs.
36+
updated). If any tool call fails or a required source (lik-mcp, Confluence) is unavailable, stop
37+
and report the error, its likely cause, and the remedy rather than guessing or partially writing.
38+
mcp_servers:
39+
- name: lik-mcp
40+
type: url
41+
url: https://mcp.lik.navapbc.com/mcp
42+
- name: atlassian
43+
type: url
44+
url: https://mcp.atlassian.com/v1/mcp
45+
tools:
46+
- configs: []
47+
default_config:
48+
enabled: true
49+
permission_policy:
50+
type: always_allow
51+
type: agent_toolset_20260401
52+
- configs: []
53+
default_config:
54+
enabled: true
55+
permission_policy:
56+
type: always_allow
57+
mcp_server_name: lik-mcp
58+
type: mcp_toolset
59+
- configs: []
60+
default_config:
61+
enabled: true
62+
permission_policy:
63+
type: always_allow
64+
mcp_server_name: atlassian
65+
type: mcp_toolset
66+
# Divergence from the raw export: skills are referenced by NAME (the skill's directory under
67+
# claude_platform/skills/), not skill_id. deploy_agents.py resolves name -> skill_id at deploy.
68+
skills:
69+
- name: lik-sync-catalog-from-project-indexes
70+
metadata: {}

lik-ui/src/lik_ui/agents.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ agent = "Knowledge Search Agent"
2424
# Defined by claude_platform/agents/lik-query-project-index.yaml
2525
agent = "LIK Query: Project Index"
2626

27+
[[agents]]
28+
# Defined by claude_platform/agents/lik-catalog-registration.yaml
29+
agent = "Catalog Registration Agent"
30+
2731
[[agents]]
2832
# Defined by claude_platform/agents/lik-cross-source-reference.yaml
2933
agent = "Cross-Source Referencing Agent"

0 commit comments

Comments
 (0)