> For the complete documentation index, see [llms.txt](https://help.craftsmanplus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.craftsmanplus.com/intelligence/specialties/feature-generation.md).

# Feature Generation

Feature Generation builds entirely custom features for your playable, things that go beyond PLAY's built-in layers, mechanics, and components. Describe what you want, and it generates a working, interactive feature directly in your project using a [Code Layer](/play/layers/code.md).

This is where CRAFTSMAN INTELLIGENCE goes beyond the standard toolset: a mini-game, a particle effect, a custom animation, or a fully interactive experience that none of the built-in layers could produce on their own. If you can describe how it should look and behave, Feature Generation can build it.

Like the Builder Agent, Feature Generation **takes action,** it creates a new layer in your project rather than just giving you advice. You never have to write or read any code; the assistant handles all of that behind the scenes inside the [Code Layer](/play/layers/code.md).

***

### What It Can Generate

Feature Generation is open-ended by design, but it's especially useful for:

#### Custom Game Mechanics

Mechanics that aren't available as one of PLAY's standard game mechanic layers. If you can describe how it plays, Feature Generation can attempt to build it.

> *"Generate a Space Invaders style mini-game where the player shoots falling objects."*

#### Particle and Visual Effects

Dynamic, animated effects that would be difficult or impossible to assemble from standard layers.

> *"Create an explosion particle effect using my logo image."*
>
> *"Add falling confetti when the user taps the CTA."*

#### Custom Components and Interactions

Bespoke interactive elements tailored to your concept.

> *"Build a spinning prize wheel the user can tap to spin."*
>
> *"Make a draggable slider that reveals a before-and-after image."*

#### Full Interactive Experiences

Larger, self-contained experiences that combine visuals, interactivity, and logic into a single generated feature.

***

### Adjusting What You Generate

When Feature Generation creates a feature, it also exposes a set of **editable properties** in the layer's properties panel — things like colors, sizes, speeds, and toggles. This means you can fine-tune the result yourself without going back to the chat to re-generate it.

For example, if you generate a pulsing button, the assistant might expose the color, size, and pulse speed as editable controls. Adjust them directly in the properties panel and the feature updates live.

If you want a change that goes beyond the exposed properties, you can always ask Feature Generation to regenerate or modify the feature.

> *"Make the confetti fall faster and add more particles."*

*To learn more about editable properties, visit the* [*Code Layer*](/play/layers/code.md) *documentation.*

***

### Sound, Analytics, and Progression Logic

Generated features can include more than just visuals:

* **Sound effects** — Features can include sound effects, which you can swap and manage from the layer's properties panel. See the Code Layer reference for details on managing audio.
* **Progression and Game Logic** — Features can track their own state (like score, moves, or health) and trigger actions based on what the user does, using the same progression system PLAY games use.

***

### How to Use It

Open CRAFTSMAN INTELLIGENCE and describe the feature you want to build. Be as descriptive as you can about how it should look and behave — the more detail you give, the closer the result will be to what you have in mind. Adding reference images from other games you want to emulate can also be helpful.

#### Template Prompts

Click the **Feature Generation** card in the chat panel to see template prompts you can send with a single click:

* Generate a Space Invaders Game.
* Generate a Confetti Burst Particle Effect.
* Generate an Animated background that matches my project.
* Generate a Swipe Pointer Animation.

***

### Tips

* **Describe behavior, not just appearance.** Feature Generation builds interactive things, so explain how it should respond to the user, not only what it should look like.
* **Start simple, then layer on.** Generate the core feature first, preview it, then ask for additions or adjustments.
* **Use the exposed properties first.** Before re-generating, check the properties panel — the change you want may already be a control you can adjust directly.
* **Learn the layer.** For a full breakdown of how generated features behave in the editor — editing assets, managing audio, progression, and file size, see the [Code Layer](/play/layers/code.md) reference.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.craftsmanplus.com/intelligence/specialties/feature-generation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
