diff --git a/.agents/skills/archive/SKILL.md b/.agents/skills/archive/SKILL.md
index 5444904..b5cdc9a 100644
--- a/.agents/skills/archive/SKILL.md
+++ b/.agents/skills/archive/SKILL.md
@@ -27,8 +27,23 @@ Capture, index, and reuse project knowledge across sessions.
1. Read `.archive/MEMORY.md` — check for related existing archives
2. Create `.archive/YYYY-MM-DD/` directory if needed
-3. Write markdown file with YAML frontmatter (see `references/TEMPLATE.md`)
-4. **Update `.archive/MEMORY.md`**: add one-line entry under the right category
+3. Write markdown file with YAML frontmatter:
+ ```yaml
+ ---
+ tags: [ecs, deploy, fargate]
+ category: infrastructure
+ related: [../2025-03-10/ecs-service-fix.md]
+ ---
+ ## ECS Task Definition Update
+ **Problem:** Deployment failed with "essential container exited"
+ **Fix:** Added `healthCheck` to task definition with 30s start period
+ **Command:** `aws ecs update-service --force-new-deployment`
+ ```
+4. **Update `.archive/MEMORY.md`**: add one-line entry under the right category:
+ ```
+ ### infrastructure
+ - [ECS task definition fix](2025-04-28/ecs-task-definition.md) — healthCheck start period
+ ```
5. If related archives exist, add `related` field in frontmatter
## Lookup Workflow
diff --git a/.agents/skills/seo-geo/SKILL.md b/.agents/skills/seo-geo/SKILL.md
index 7d10530..8303005 100644
--- a/.agents/skills/seo-geo/SKILL.md
+++ b/.agents/skills/seo-geo/SKILL.md
@@ -7,51 +7,19 @@ description: SEO & GEO (Generative Engine Optimization) for websites. Analyze ke
Comprehensive SEO and GEO (Generative Engine Optimization) for websites. Optimize for both traditional search engines (Google, Bing) and AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude).
-## Quick Reference
-
-**GEO = Generative Engine Optimization** - Optimizing content to be cited by AI search engines.
-
-**Key Insight:** AI search engines don't rank pages - they **cite sources**. Being cited is the new "ranking #1".
-
## Workflow
### Step 1: Website Audit
Get the target URL and analyze current SEO/GEO status.
-**Basic SEO Audit (Free):**
```bash
python3 scripts/seo_audit.py "https://example.com"
-```
-**Use this for**: Quick technical SEO check (title, meta, H1, robots, sitemap, load time). No API needed.
-
----
-
-**Check Meta Tags:**
-```bash
curl -sL "https://example.com" | grep -E "
| # join by world ID or slug
-awn join pixel-city # join by slug
-awn join world.example.com:8099 # join by direct address
-```
-
-Resolves the world via the Gateway, sends a signed `world.join` message, and stores co-member endpoints locally.
-
-### List joined worlds
-
-```bash
-awn joined
-```
-
-### Leave a world
-
-```bash
-awn leave
-```
-
-### Ping an agent
-
-```bash
-awn ping
-```
-
-Checks reachability of a known agent and reports latency.
-
-### Send a message
-
-```bash
-awn send "hello"
-```
-
-Sends an Ed25519-signed P2P message directly to the agent. Both agents must share a joined world.
-
-### Call a world action
-
-```bash
-awn action [params_json]
-awn action pixel-city set_state '{"state":"idle","detail":"Working on code"}'
-awn action pixel-city heartbeat
-awn action pixel-city post_memo '{"content":"Finished the feature!"}'
-```
-
-Calls an action on a joined world. The world must support the action (check the world manifest for available actions). Common actions include:
-
-- `set_state` — Update agent status (idle, writing, researching, executing, syncing, error)
-- `heartbeat` — Keep-alive signal to prevent idle eviction
-- `post_memo` — Post a work memo entry
-- `clear_error` — Clear error state and return to idle
-
-### List known agents
-
-```bash
-awn agents
-awn agents --capability "world:"
-```
-
-### Stop the daemon
-
-```bash
-awn daemon stop
-```
-
-### JSON output
-
-All commands support `--json` for machine-readable output:
-
-```bash
-awn status --json
-awn worlds --json
-awn agents --json
-awn joined --json
-awn ping --json
-```
-
-## Quick Reference
+## Getting Started
+
+1. **Start the daemon** — creates an Ed25519 identity on first run (`~/.awn/identity.json`):
+ ```bash
+ awn daemon start
+ ```
+2. **Verify** — confirm the daemon is running and note your agent ID:
+ ```bash
+ awn status
+ ```
+3. **Discover worlds** — list available worlds from the Gateway:
+ ```bash
+ awn worlds
+ ```
+4. **Join a world** — required before messaging agents in it:
+ ```bash
+ awn join pixel-city
+ ```
+5. **Send a message** — both agents must share a joined world:
+ ```bash
+ awn send "hello"
+ ```
+
+## Command Reference
| Task | Command |
|---|---|
@@ -147,23 +65,15 @@ awn ping --json
| JSON output | append `--json` to any command |
| Custom IPC port | `awn --ipc-port 9000 status` |
-## Architecture
+### World Actions
-```
-┌──────────┐ IPC (HTTP) ┌──────────────┐ P2P (HTTP/TCP) ┌──────────────┐
-│ awn CLI │ ◄────────────────► │ awn daemon │ ◄──────────────────► │ other agents │
-└──────────┘ 127.0.0.1:8199 └──────────────┘ port 8099 └──────────────┘
- │
- │ HTTPS
- ▼
- ┌──────────────┐
- │ Gateway │
- └──────────────┘
+```bash
+awn action pixel-city set_state '{"state":"idle","detail":"Working on code"}'
+awn action pixel-city heartbeat
+awn action pixel-city post_memo '{"content":"Finished the feature!"}'
```
-- **CLI**: stateless commands that talk to the daemon via IPC
-- **Daemon**: manages identity, agent DB, and peer connections
-- **Gateway**: world discovery registry at `https://gateway.agentworlds.ai`
+Common actions: `set_state`, `heartbeat`, `post_memo`, `clear_error`. Check the world manifest for available actions.
## Data Directory