Skip to content

AI Quickstart

Every project scaffolded by wick init includes AGENTS.md — your AI agent reads it first and already knows the file layout, naming rules, and framework conventions.

Setup a new project

Paste this into any AI agent to get started:

Check if Go is installed by running: go version If Go is not installed, help me install it first for my OS, then come back to this. Once Go is ready: 1. Install wick: go install github.com/yogasw/wick@v0.3.0 2. Ask me: what do you want to name your project? 3. Scaffold it: wick init <name> 4. Run: wick dev — then show me what was created.

Open the scaffolded project in your editor and start prompting.


Sample Prompts

Copy and paste these directly into Claude Code.

Create a new tool

add a tool called "base64" that encodes and decodes text.
it should have two tabs: encode and decode.
make it public and add it to the Text category.
create a tool called "json-formatter" that pretty-prints and minifies JSON.
add a config option for default indentation (2 or 4 spaces).
build a tool called "color-picker" that converts between HEX, RGB, and HSL.
show a live preview of the selected color.

Create a new background job

add a job called "slack-digest" that posts a daily summary to a Slack webhook.
it needs a config field for the webhook URL (required, url type) and channel name.
schedule it to run every day at 9am UTC.
create a job called "db-cleanup" that deletes records older than 30 days from
the audit_logs table. add a config field for retention days (number, default 30).
add an external link to our Grafana dashboard at https://grafana.example.com.
name it "Grafana", icon "📊", category "Monitoring".

Duplicate a tool with different config

register a second instance of "convert-text" with key "convert-text-jp",
name "Convert Text (JP)", and seed InitText as "こんにちは世界".

Add a new tag group

add a new tag called "Finance" for grouping finance-related tools.
set IsGroup true and SortOrder 50.
use it as the DefaultTag for any finance tools.

Modify an existing tool

add a "copy to clipboard" button to the convert-text tool result area.
use vanilla JS only, no CDN.
add a config option to the base64 tool called "url_safe" (checkbox, default false)
that switches between standard and URL-safe base64 encoding.

How Claude uses AGENTS.md and skills

When you open a Wick project in Claude Code, it reads AGENTS.md first. That file points at the bundled skills in ./.claude/skills/:

  • tool-module — enforces the tool/job contract, mandates a clarify + plan loop before writing code, and points Claude at the canonical examples (tools/convert-text/, jobs/auto-get-data/).
  • design-system — locks down colors, spacing, typography, and dark/light pairing.

Together they tell Claude:

  • Where to put new tools and jobs
  • How to name files and packages
  • How Register and Run funcs must be shaped
  • How to register in main.go
  • What wick:"..." tags are available for Config structs
  • The correct design tokens for any UI

You don't need to explain the framework in your prompts — just describe what the tool or job should do. The skill will make Claude ask clarifying questions and propose a plan before it writes any files.

Keeping skills up to date

After upgrading wick, pull in the latest bundled skills:

bash
wick skill sync

This replaces ./.claude/skills/tool-module/ and ./.claude/skills/design-system/ with the versions shipped in your current wick binary. It also refreshes the skill table in AGENTS.md if the table still matches the default shape, and creates AGENTS.md from the template if it's missing. Customized AGENTS.md files are left alone.

Tips for better results

  • Be specific about inputs and outputs: "takes a URL, fetches it, returns the response body" is better than "fetch something"
  • Mention config knobs explicitly: "needs a config field for the API key" so Claude adds it to the Config struct with secret;required
  • Specify visibility: "make it private" or "public, visible to everyone"
  • Mention the category: Claude will pick or create a tag group accordingly
  • For jobs, give the cron schedule: "every hour", "daily at midnight UTC", "every 15 minutes"
Built with ❤️ by a developer, for developers.