Skip to main content
Prompts are included as user messages and are especially useful as instructions for repetitive and/or complex tasks.

Slash Commands

By setting invokable to true, you make the markdown file a prompt, which will be available when you type / in Chat, Plan, and Agent mode.
explain-invokable.md
These slash commands can be combined with other instructions, including highlighted code, to provide additional context.

Example: Create Supabase functions prompt

Here is a prompt that generates high-quality PostgreSQL functions that adhere to best practices:
supabase-create-functions.md
You can read the rest of the Create Supabase functions prompt here
If you are using a local config.yaml, you can add it to your config like this:
config.yaml
To use this prompt, you can open Chat / Agent / Edit, type /, select the prompt, and type out any additional instructions you’d like to add.

Using a prompt with cn (TUI mode)

You can run this command to start cn with the Create Supabase functions prompt.
Alternatively, you can start cn and then type / to manually invoke the prompt yourself.

Using a prompt to kick off a Continuous AI workflow with `cn (Headless mode)

You can kick off Continuous AI workflows using a prompt with cn by adding the -p flag. For example, say you are building a SaaS application and must repeatedly create custom Supabase validation functions for each new feature that accepts user input. These functions require you to interpret business requirements, implement complex cross-table logic (like checking user permissions, tier limits, and time-based restrictions), and make judgment calls about edge cases. Each function is unique enough that it can’t be templated or scripted. This is where kicking off a Continuous AI workflow to get you started can be quite helpful. Here is a command that you could run whenever you have a new feature:
You can see the entire Create Supabase functions prompt here
When you run this workflow, cn will checkout your current branch, explore the new and existing code, and then draft a function for you. You will then be able to review the implementation and improve it before you merge the new feature.