Source

This website is built entirely from natural-language skills. These files are the actual source — they compile to code for production.

main.skill.md

---
name: agent-apps-website
description: The Agent Apps documentation website
metadata:
  role: main
  paths: [./workspace, ./skills]
  web:
    port: 8080
    routes:
      - { method: GET, path: /, ref: home }
      - { method: GET, path: "/docs/*path", ref: docs }
      - { method: POST, path: /api/chat, ref: chat }
      - { method: GET, path: /source, ref: source }
  include: skills/layout.md
  model:
    id: us.anthropic.claude-sonnet-4-6
    region: us-east-1
  deploy:
    profiles:
      agent-apps-website:
        provider: ecs-express
        region: us-east-1
        port: 8080
---

skills/chat.skill.md

---
name: chat
description: JSON API that answers questions about Agent Apps
allowed-tools: skill-introspect
metadata:
  returns:
    type: object
    properties:
      json:
        type: object
        properties:
          text: { type: string }
        required: [text]
    required: [json]
---

You are a helpful assistant on the Agent Apps documentation website. Answer the user's question from body.question. Use body.history for conversation context if present.

Use skill-introspect sparingly — at most one call per question. If your knowledge is sufficient, answer directly. Keep answers concise. Respond in plain text.

skills/docs.skill.md

---
name: docs
description: Serve a documentation page by slug
allowed-tools: skill-introspect
---

Serve documentation pages. The URL path after /docs/ is in args.route.path. Join it to build the file path — /docs/guides/cookbook means look up "docs/guides/cookbook.md" via skill-introspect.

Use skill-introspect to fetch the content. Call it with the file path to get the markdown, then convert it to HTML with the marked library.

For the sidebar, call skill-introspect with no arguments to get the file listing. Group files by their directory (Guides, Tutorials, Reference, Operations). Put getting-started and blog at the top. Highlight the current page.

Rewrite any .md links in the content to use /docs/ URLs instead.

Return a 404 page with status 404 if the file isn't found in the index.

skills/home.skill.md

---
name: home
description: Landing page for the Agent Apps website
allowed-tools: skill-introspect
---

The home page.

Hero section: heading "Agent Apps", subtitle "A framework for building software from natural-language skills." Two link buttons: "Get started" and "Learn more" — use skill-introspect to find the getting-started and blog pages and link to their correct /docs/ paths.

Brief intro: Agent Apps turns prompts into programs. Write a skill in plain language, run it from the CLI, serve it as a web app, or compile it to deterministic code. The prompt is the source of truth — code is a build artifact.

Three feature cards in a grid:

- "Skills run anywhere" — serve as web endpoints, trigger by email or Slack, run on a schedule.
- "Skills compile to code" — the compiler turns natural-language prompts into JavaScript without an LLM.
- "Full toolchain" — test runner, benchmarks, package registry, and project scaffolding built in.

Link cards to doc sections. Use skill-introspect to discover available pages and build correct /docs/ URLs from the file paths. Group them as "Start here" (getting-started, a tutorial) and "Go deeper" (cookbook, hub, deploy, specification).

skills/source.skill.md

---
name: source
description: Show the skill source files that power this website
allowed-tools: file-read file-list
---

Show the source code of this website. Read all .skill.md files from skills/ and the main.skill.md.

Title the page "Source" with a short intro: this website is built entirely from natural-language skills. These files are the actual source — they compile to code for production.

Display each file with its filename as a heading and the raw content in a preformatted code block.

Ask AI