# Prompts to copy

Ready-made prompts for building, changing and checking an Atrium app with an AI tool.

Copy a prompt with the button in its top-right corner, then replace anything in [square brackets]. Each one assumes your AI has already read the ADK (step 2 of [Build your first app](../first-app/), or the [Get the ADK](../../adk/) page).

## Start a new app

```text title="Prompt" wrap
Read the COHO Atrium ADK in full:
https://docs.coho.life/atrium-developer/llms-full.txt
For any screens, use the Atrium design system:
https://docs.coho.life/atrium-design/llms-full.txt
Then help me build an Atrium app that [describe it]. Start from the hello-go sample
(https://github.com/CompanyForLife/atrium-app-samples/tree/main/samples/hello-go), which already has the Dockerfile COHO Hosting needs.
Explain your plan in plain English before writing code.
```

## React when something happens

```text title="Prompt" wrap
Make my app react to the [tenancy.started / tenancy.ended] event (section 3.4 of the spec).
When it happens, [what the app should do]. Reply to COHO quickly and do the slow work
in the background, and ignore duplicate deliveries using the delivery ID.
```

## Run on a timetable

```text title="Prompt" wrap
Make my app run on a schedule (triggers.schedules in the manifest, schedule.<key> in
section 3.4 of the spec), [how often], and each time [what it should do].
It's a private app, so keep to at most 4 schedules, none more often than hourly.
```

## Add a settings form

```text title="Prompt" wrap
Add a small settings form managers can fill in from the COHO Store (light config,
section 5.3 of the spec) with these settings: [list them]. Keep it to simple fields.
```

## Add a panel inside COHO

```text title="Prompt" wrap
Add a panel inside COHO (quick view, section 6 of the spec) that shows [what it shows].
Follow the rules exactly: verify the signed launch URL, set frame-ancestors to COHO's
origins (never *), and never put the API key or signing secret in a URL.
```

## Use COHO data

```text title="Prompt" wrap
My app needs to [read or change something in COHO]. Find the right COHO Public API v1.1
endpoints (https://api.coho.life/scalar), add only the capabilities it needs to the
manifest, and explain what each one allows.
```

## Write useful logs

```text title="Prompt" wrap
Make my app write clear logs to the COHO Store (section 5.2 of the spec): info when things
work, warning or error when they don't, in plain English a manager would understand.
```

## Check my app's status

```text title="Prompt" wrap
Using the COHO MCP tools, list my organisation's Atrium apps and tell me the state of
[app name], in plain English.
```

## Update my app

```text title="Prompt" wrap
Update my hosted app [app name] with the latest changes: package a new zip and use the
COHO MCP tools to update the hosted app. Show me the preview and wait for my yes.
```

## Check it's safe

```text title="Prompt" wrap
Review my Atrium app against the spec as a strict security reviewer. Check: signature
verification (raw body, constant-time compare, timestamp window, the section 3.1.1 test
vectors), setup verified with the bootstrap secret before storing anything, no secrets
in URLs or logs, frame-ancestors not *, org data deleted on disconnect. List anything
that fails and fix it.
```


## Expose an operation through COHO (Public API + MCP)

```text
Add a manifest operations[] entry named list that GETs /operations/list,
description suitable for an AI, effect read. Implement the signed handler
the same way as config. Explain how a manager calls it via MCP
list_app_operations / call_app_operation and via
GET /v1.1/public/apps/{myShortName}/list with apps.operations.
```
