Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This file is for implementation operators. See `skills/webster-lp-audit/SKILL.md
Two active workstreams:

- **Production Webster** — Nicolette's weekly landing-page improvement council runs on `main` via `prompts/second-wbs-session.md`. This is live for her business; do not break it.
- **Hackathon expansion** — Dual-substrate demo (Richer Health LP + Northwest Home Renovations 3-page site) with a simulation runner producing timelapse assets. Deadline **2026-04-28**. Working branch: `dev/`. See `context/VISION.md` for canonical north-star.
- **Hackathon expansion** — Single-substrate Richer Health LP demo with a simulation runner producing timelapse assets. Deadline **2026-04-28**. Working branch: `dev/`. See `context/VISION.md` for canonical north-star.

## First actions every session

Expand Down Expand Up @@ -89,7 +89,7 @@ Hackathon rollup procedure (after T10 completes):
- Bypass validation (`--no-verify`, `--no-gpg-sign`, `--force`)
- Fabricate analytics numbers or business stats
- Silently catch errors to make things look green
- Touch the existing 9 production `webster-*` agents during hackathon expansion — they run Nicolette's real council. Sim agents are additive (`webster-lp-sim-*`, `webster-site-sim-*`).
- Touch the 9 specs in `agents/production/` during hackathon expansion — they run Nicolette's real council. Sim agents in `agents/simulation/` (`webster-lp-sim-*`) are additive.
- Touch `prompts/second-wbs-session.md` — it's the production orchestrator. Sim orchestrator is a fork at `prompts/sim-council.md`.

## Quality gates
Expand Down
52 changes: 27 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Webster

> A council of 7 Claude Managed Agents that autonomously audits a small-business landing page every week, synthesizes the findings, and opens a PR with the proposed redesign.
> A council of 9 Claude Managed Agents that autonomously audits a small-business landing page every week, synthesizes the findings, and opens a PR with the proposed redesign.

**Built with Opus 4.7** — Anthropic × Cerebral Valley Hackathon submission (deadline 2026-04-26).

Expand All @@ -14,7 +14,7 @@ Small businesses pay marketing agencies $2K–$20K/month for landing-page optimi
weekly trigger
Planner ──► SEO / brand / compliance / conversion / copy / monitor
Planner ──► SEO / brand / compliance / conversion / copy / monitor / visual-reviewer
│ │
│ └── out-of-scope overlap found
Expand Down Expand Up @@ -46,15 +46,15 @@ bun scripts/critic-genealogy.ts --fixtures scripts/__tests__/fixtures/genealogy
Planner (Opus 4.7)
memory + verdicts → plan.md
fans out 6 sessions in parallel ─┐
┌───────┬──────────┬──────────┬────────┬───────┐
│ SEO │ brand │ FH-compl │ CRO │ copy │ monitor
│ Sonnet│ Sonnet │ Sonnet │ Sonnet │ Sonnet │ Haiku
│ 4.6 │ 4.6 │ 4.6 │ 4.6 │ 4.6 │ 4.5
└───┬───┴────┬─────┴─────┬────┴────┬───┴────┬───┘
│ │ │ │ │
└────────┴─── each critic commits via GitHub MCP ──
fans out 7 sessions in parallel ─────────────┐
┌───────┬──────────┬──────────┬────────┬────────┬─────────┴─┬───────────────┐
│ SEO │ brand │ FH-compl │ CRO │ copy │ monitor │ visual-review │
│ Sonnet│ Sonnet │ Sonnet │ Sonnet │ Sonnet │ Haiku │ Opus 4.7 │
│ 4.6 │ 4.6 │ 4.6 │ 4.6 │ 4.6 │ 4.5 │ (post) │
└───┬───┴────┬─────┴─────┬────┴────┬───┴────┬───┴─────┬─────┴──────┬────────
│ │ │ │ │ │ │
└────────┴─── each critic commits via GitHub MCP ──┴────────────┘
to council/<week-date> branch │
Critic Genealogy (Opus 4.7, runtime)
Expand All @@ -77,7 +77,7 @@ bun scripts/critic-genealogy.ts --fixtures scripts/__tests__/fixtures/genealogy

## For judges

**30-second pitch:** Webster is an autonomous landing-page improvement council. Seven Claude Managed Agents plan, audit, monitor, synthesize, and package one weekly redesign proposal; the standout demo is Critic Genealogy, where Opus 4.7 detects an unowned audit gap and registers a new specialist at runtime.
**30-second pitch:** Webster is an autonomous landing-page improvement council. Nine Claude Managed Agents plan, audit, monitor, synthesize, and package one weekly redesign proposal; the standout demo is Critic Genealogy, where Opus 4.7 detects an unowned audit gap and registers a new specialist at runtime.

**Live-run evidence:** the full operator path is [`prompts/second-wbs-session.md`](prompts/second-wbs-session.md), registration IDs live in `environments/webster-council-env.id` and `context/*/id.txt`, and run artifacts are written under `history/<week>/` when the weekly prompt is executed.

Expand All @@ -91,7 +91,9 @@ bun scripts/critic-genealogy.ts --fixtures scripts/__tests__/fixtures/genealogy

```text
webster/
├── agents/ 7 Managed Agent JSON specs (5 critics + monitor + redesigner)
├── agents/
│ ├── production/ 9 Managed Agent specs that run Nicolette's live council
│ └── simulation/ 9 LP-sim specs (1:1 mirror) that drive the timelapse demo
├── context/ architecture, features, quality gates, per-critic findings dirs
├── environments/ webster-council-env.json (single Anthropic environment)
├── prompts/ first-wbs-session.md (bootstrap), second-wbs-session.md (weekly run)
Expand All @@ -109,14 +111,14 @@ The live council runner is a bash-in-markdown prompt: [`prompts/second-wbs-sessi
1. Seeds 10 weeks of mock analytics on first run (monitor needs baselines to diff).
2. Prepares a shared `council/YYYY-MM-DD` branch.
3. Runs the planner — marshals `history/memory.jsonl`, recent verdicts, and monitor anomalies; writes `history/YYYY-MM-DD/plan.md`.
4. Fans out 6 Managed Agent sessions (monitor + 5 critics) — each commits `context/critics/<scope>/findings.md` via GitHub MCP.
4. Fans out 7 Managed Agent sessions (monitor + 5 critics + visual-reviewer) — each commits `context/critics/<scope>/findings.md` via GitHub MCP.
5. Validates findings via `bun scripts/validate-findings.ts`.
6. Runs the redesigner — commits `history/YYYY-MM-DD/proposal.md` + `decision.json`.
7. Opens a draft PR.

Expected wall-clock: 30–50 min. Expected API cost: ~$0.16–0.25 per run.

**Submission note**: all 7 agent specs are registered against the live Anthropic API (IDs in `environments/webster-council-env.id` + `context/*/id.txt`), the genealogy hero is live-validated (~$0.03 Opus 4.7 dry-run documented above), and the full orchestration prompt is committed. The end-to-end 6-agent fan-out that produces `history/YYYY-MM-DD/` artifacts is the operator-triggered weekly run — `history/` is empty at submission time by design. Loop has been exercised component-by-component.
**Submission note**: all 9 agent specs are registered against the live Anthropic API (IDs in `environments/webster-council-env.id` + `context/*/id.txt`), the genealogy hero is live-validated (~$0.03 Opus 4.7 dry-run documented above), and the full orchestration prompt is committed. The end-to-end fan-out that produces `history/YYYY-MM-DD/` artifacts is the operator-triggered weekly run — `history/` is empty at submission time by design. Loop has been exercised component-by-component.

## Quality gates

Expand All @@ -128,11 +130,11 @@ bun run validate

Chains: `tsc --noEmit` → `eslint --max-warnings 0` → `prettier --check` → agent+environment schema validation → findings format validation → markdownlint → `bun test`. Every gate is blocking. Pre-commit hook enforces the same set. CI enforces the same set on push + PR. See [`context/QUALITY-GATES.md`](context/QUALITY-GATES.md).

Current state: 29 tests passing, 0 lint warnings, 0 type errors, 8 JSON specs valid, 6 findings files valid.
Current state: 175 tests passing, 0 lint warnings, 0 type errors, 18 JSON specs valid, 6 findings files valid.

## Prize-lane alignment

- **Best Use of Claude Managed Agents** — 7 pre-registered agents + runtime-registered genealogy critics, all invoked via `/v1/sessions` with vault-bound GitHub MCP (no tokens in `user.message`).
- **Best Use of Claude Managed Agents** — 9 pre-registered production agents (with a 1:1 sim mirror in `agents/simulation/`) + runtime-registered genealogy critics, all invoked via `/v1/sessions` with vault-bound GitHub MCP (no tokens in `user.message`).
- **Creative Exploration** — runtime critic genealogy. Gap detection → template-cloned spec → live `POST /v1/agents` → immediate invocation. The emergent-capability demo beat.

## Running it yourself
Expand All @@ -151,7 +153,7 @@ Current state: 29 tests passing, 0 lint warnings, 0 type errors, 8 JSON specs va
wbs @prompts/first-wbs-session.md
```

Registers the single environment + 7 agents against the Anthropic API. Runs an SEO hello-world to prove the council loop end-to-end. Artifacts: `environments/webster-council-env.id` + `context/{monitor,redesigner,critics/*}/id.txt`.
Registers the single environment + 9 production agents against the Anthropic API. Runs an SEO hello-world to prove the council loop end-to-end. Artifacts: `environments/webster-council-env.id` + `context/{monitor,redesigner,critics/*}/id.txt`.

### Weekly council run

Expand All @@ -173,13 +175,13 @@ Reads the week's findings, asks Opus 4.7 if any scope is unowned, and spawns + r

Every layer uses Opus 4.7 as author:

| Layer | Opus 4.7 role |
| ------------------------------- | ------------------------------------------------------------------------- |
| 7 agent specs (`agents/*.json`) | Drafted during bootstrap session, validated against live API |
| Bootstrap + weekly prompts | Opus-authored during dispatcher sessions; in git history |
| Critic Genealogy script | Opus-authored; see `dcf5726` + `e474301` |
| Redesigner synthesis | Opus 4.7 at runtime — its decision.json outputs live in `history/<date>/` |
| Runtime critic spawning | Opus 4.7 selects the gap AND authors the new spec via `tool_use` |
| Layer | Opus 4.7 role |
| ------------------------------------------ | ------------------------------------------------------------------------- |
| 9 agent specs (`agents/production/*.json`) | Drafted during bootstrap session, validated against live API |
| Bootstrap + weekly prompts | Opus-authored during dispatcher sessions; in git history |
| Critic Genealogy script | Opus-authored; see `dcf5726` + `e474301` |
| Redesigner synthesis | Opus 4.7 at runtime — its decision.json outputs live in `history/<date>/` |
| Runtime critic spawning | Opus 4.7 selects the gap AND authors the new spec via `tool_use` |

Repo is entirely MIT. No Anthropic or third-party proprietary code.

Expand Down
7 changes: 2 additions & 5 deletions agents/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,9 @@ Environments are a **separate resource** (`POST /v1/environments`). Reference by

## Two agent sets (hackathon expansion)

The existing 9 `webster-*` specs are the **production set**. They run Nicolette's real weekly council. **Do not modify them.**
The 9 specs in `agents/production/` are the **production set**. They run Nicolette's real weekly council. **Do not modify them.**

Sim expansion adds 18 new specs:

- `webster-lp-sim-*` (9) — Richer Health simulation, MCP-native (no WebFetch)
- `webster-site-sim-*` (9) — Northwest Home Renovations simulation, MCP-native. Fifth critic is `licensing-and-warranty-critic` replacing `fh-compliance-critic`
The 9 specs in `agents/simulation/` are the **LP-sim set** — Richer Health simulation, MCP-native (no WebFetch). They mirror the production set 1:1 and drive the timelapse demo.

Sim agents read the site via `get_file_contents` (GitHub MCP) at demo branch refs — never WebFetch, never localhost.

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
32 changes: 0 additions & 32 deletions agents/visual-design-critic.json

This file was deleted.

Loading