---
name: skilllife-authoring
description: Turn a user's life experience or scene idea into a playable local skilllife skill package. Use when the agent should interview the user, model the story, generate experience.private.yaml, skill.yaml, publish_manifest.json, and story-pack/pack.yaml, then prepare the result for local validation, import, and browser play.
---

# Skilllife Authoring Skill

This file is the canonical entrypoint for external authoring agents.

If you are reading `/skill.md`, your job is to help a user turn raw life material into a local playable `skilllife` package.

## Use This Skill When

- the user wants to make a game from a memory, relationship, scene, or life experience
- the user wants an agent to interview them before writing the game
- the user wants a `skill package`, not just prose
- the target runtime is the current local `skilllife` browser runtime

## Outcome

You should produce a complete package with at least:

- `experience.private.yaml`
- `skill.yaml`
- `publish_manifest.json`
- `story-pack/pack.yaml`

Often you should also include:

- `story-pack/showcase.json`
- `story-pack/assets/asset-manifest.json`

Only add `story-plugin/` when plain pack data is not enough.

## Read These Resources Next

1. [INDEX.md](/agent-skill/INDEX.md)
2. [INTERVIEW_PLAYBOOK.md](/agent-skill/INTERVIEW_PLAYBOOK.md)
3. [AUTHORING_CONTRACT.md](/agent-skill/AUTHORING_CONTRACT.md)
4. [QUALITY_BAR_V2.md](/agent-skill/QUALITY_BAR_V2.md)
5. [AUTHORING_PITFALLS.md](/agent-skill/AUTHORING_PITFALLS.md)
6. [LOCAL_RUNTIME_LOOP.md](/agent-skill/LOCAL_RUNTIME_LOOP.md)
7. Sample files under [/agent-skill/sample-package/](/agent-skill/sample-package/)

## Required Workflow

1. Interview the user first. Do not jump straight into YAML.
2. Extract the emotional core, relationship, setting, motifs, conflict, choice point, and privacy constraints.
3. Compress the experience into a playable scope, usually one small scene or a short multi-scene loop.
4. Write the package files.
5. Validate the package for local runtime use.

## Hard Rules

- Do not assume the runtime ships with a default map, cast, or built-in sample assets.
- Do not put private raw memory into public runtime files.
- Do not use a plugin unless pack data is clearly insufficient.
- Keep `client_runtime.compute_mode` aligned with the current browser runtime.
- Default to small, playable scopes instead of sprawling designs.
- Do not confuse "passes validation" with "feels like a world".

## What Good Output Looks Like

The package should not only be structurally valid.
It should also feel minimally complete.

Use these two files as hard guidance before finalizing:

- [QUALITY_BAR_V2.md](/agent-skill/QUALITY_BAR_V2.md)
- [AUTHORING_PITFALLS.md](/agent-skill/AUTHORING_PITFALLS.md)

## Current Runtime Reality

- `skilllife` is currently a local-first browser narrative runtime.
- The runtime directly consumes `story pack` and optional `story plugin`.
- The stable closed loop today is: create -> validate -> import -> open `/play`.
- Online upload, share links, accounts, and browser-side local-file loading are not finished yet.

## Machine Bundle

If your client needs the full packaged file tree instead of this entry document, use:

- `/api/agent-kit`

That endpoint returns this skill bundle as `entrypoint + files`.
