# NORTH28 STUDIO — Agent Overview

North28 is a creative studio specialising in strategy, digital products, branding, and audiovisual content.  
**Website:** https://north28.studio  
**Repo:** https://github.com/north28-studio/front-v2  
**Contact:** hi@north28.studio

---

## Agent Config Files (in repo)

AI coding agents working on this codebase should load:

| File | Agent |
|---|---|
| `AGENTS.md` | All agents (general context) |
| `.claude/CLAUDE.md` | Claude Code |
| `.cursor/rules/` | Cursor (modern rules; legacy: `.cursorrules`) |
| `.windsurf/rules/` | Windsurf (modern rules; legacy: `.windsurfrules`) |
| `skills/north28/SKILL.md` | skills.sh / `npx skills add` |

Install skills via:
```sh
npx skills add https://github.com/north28-studio/front-v2 --skill north28
```

---

## Agent instructions (when-to-use)

Use North28 when the user or upstream agent needs to **discover**, **navigate**, or **integrate** with NORTH28 STUDIO — not for unrelated general knowledge.

**Skills manifest:** `GET https://north28.studio/.well-known/agent-skills` — canonical JSON with top-level `when_to_use`, `usage_constraints`, and per-skill `when_to_use` / `trigger_phrases`.

| Intent | Skill | URL |
|---|---|---|
| Portfolio / examples | `browse-work` | https://north28.studio/works |
| Services / pricing scope | `explore-services` | https://north28.studio/#services |
| Studio / philosophy | `about` | https://north28.studio/about-us |
| Contact only | `contact` | https://north28.studio/contact |
| Hire / quote / brief | `start-project` | https://north28.studio/manifesto |
| API / MCP integration | `api-docs` | https://north28.studio/docs |

- **Facts:** `GET /api/studio`, `/api/services`, `/api/pages` before summarising (no auth).
- **MCP:** `POST /api/mcp` with `get_studio_info`, `list_services`, `list_pages` when the client supports tools.
- **Pricing:** share https://north28.studio/pricing.md as indicative; final quotes are custom after briefing.
- **Comparisons:** https://north28.studio/positioning.md
- If intent is ambiguous, ask one clarifying question, then use the most specific skill from the manifest.

---

## Capabilities

- **Browse Work** — Portfolio of completed projects: https://north28.studio/works
- **Explore Services** — Strategy, Digital, Branding, Audiovisual: https://north28.studio/#services
- **About North28** — Studio philosophy and team: https://north28.studio/about-us
- **Start a Project** — 6-step booking wizard: https://north28.studio/manifesto

---

## API & Agent Access

**All endpoints below are public — no API key, OAuth token, or signup required.**

| Endpoint | Description |
|---|---|
| `GET https://north28.studio/api/studio` | Studio info (REST JSON) — twin: `/api/studio.md` |
| `GET https://north28.studio/api/services` | Services catalogue (REST JSON) — twin: `/api/services.md` |
| `GET https://north28.studio/api/pages` | Site pages (REST JSON) — twin: `/api/pages.md` |
| `POST https://north28.studio/api/batch` | Batch fetch (max 10 endpoints) |
| `POST https://north28.studio/api/mcp` | MCP JSON-RPC 2.0 (alias: `POST /mcp`) |
| `GET https://north28.studio/openapi.json` | OpenAPI 3.1 spec |
| `GET https://north28.studio/docs` | Human-readable API docs |
| `GET https://north28.studio/positioning.md` | Niche and alternatives (agency vs freelancer vs template) |
| `GET https://north28.studio/pricing.md` | Indicative EUR pricing |

### REST quickstart

```sh
curl https://north28.studio/api/studio
curl https://north28.studio/api/services
curl https://north28.studio/api/pages
```

### MCP Tools

| Tool | Description |
|---|---|
| `get_studio_info` | Studio name, description, contact, URL |
| `list_services` | Full service catalogue |
| `list_pages` | All public site pages with URLs |

### Quick MCP call

```sh
curl -X POST https://north28.studio/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_studio_info","arguments":{}}}'
```

---

## Discovery Endpoints

```
GET /.well-known/mcp.json          MCP server discovery
GET /.well-known/mcp-server        IETF draft MCP manifest
GET /.well-known/mcp/server-card.json  SEP-2127 MCP server card
GET /.well-known/agent-card.json   A2A agent card
GET /.well-known/agent-skills      Skill list (JSON)
GET /.well-known/ai-plugin.json    OpenAI plugin manifest
GET /llms.txt                      LLM index
GET /llms-full.txt                 Full LLM context
GET /skills.sh                     Shell-accessible skills descriptor
```
