Tallgeese AI Developers
Lesson 2 of 8⏱ 10 minBeginner

Your first skill

Make a skill from a text file and try it in the app. No code.

In 30 seconds

  • A skill is one text file that tells Tallgeese how to do a job.
  • Copy the sample project, edit a few lines, run two commands.
  • Lead the description with when to use it.

What's in an item

Every item is a folder named after its id: 2 to 48 lowercase letters, digits and hyphens, like meeting-minutes. Inside:

items/
  meeting-minutes/
    item.toml          what it is: version, category, icon, price, parts
    text/              what people read, one file per language
      en.toml
      zh-Hans.toml  zh-Hant.toml  ja.toml  ko.toml
    skills/            skill instructions (for a skill)
      meeting-minutes/SKILL.md
    tool/              your program (for a tool)
    page/              your page (for a specialist)

item.toml: what it is

version = "1"
categories = ["write"]
network = "offline"
icon = { glyph = "writing", tint = "sage" }

[offer]
kind = "free"

[[provides]]
kind = "skillPack"
skills = ["meeting-minutes"]

text/en.toml: what people read

Each item has a text file for every language Tallgeese speaks: English, Simplified Chinese, Traditional Chinese, Japanese and Korean.

name = "Meeting minutes"
tagline = "Turns rough notes into clear minutes: decisions, who does what, and by when"
description = "Paste or attach your notes from a meeting and get minutes written the same way every time: what was decided, who agreed to do what and by when, and what is still open."
tasks = ["Write up a meeting", "List who does what by when", "Draft the follow-up email"]
prompts = [
  "Turn these notes into minutes",
  "Write a follow-up email from these minutes",
]

tasks say what the item helps with. prompts are sentences people can try. Keep one to six of each, and the same number in every language.

Your first skill

A skill is a folder with one text file, SKILL.md. It tells Tallgeese how to do a particular job. We'll build Meeting minutes.

1. Start from the sample

The Developer Kit includes a sample project with four small items that already pass every check. Copy it into a new folder and rename one item folder to your own id. That's a complete project.

2. Write the instructions

---
name: meeting-minutes
description: "Write meeting minutes from rough notes. Use when someone gives notes or a transcript of a meeting and wants minutes, action items, or a follow-up."
---

# Writing minutes

Work only from the notes you are given. If something is unclear or missing
(a name, a date, who owns a task), leave it as a question under "Open";
never fill it in yourself.

Write the minutes in the language of the notes, in this order:

1. **Meeting**: one line with what it was about, the date if given, and who was there.
2. **Decided**: each decision as one sentence. No discussion, only the outcome.
3. **To do**: who does what by when. If the notes give no date, write "no date set".
4. **Open**: questions nobody answered, and anything you could not make out.

Keep it short: minutes are read by people who were not there.

Notice what makes this a good skill:

3. Describe it and set the price

Create item.toml and the five text files as shown above. To sell a skill instead of giving it away:

[offer]
kind = "paid"
price = "US$4.99"     # what the page shows
amount = 499          # what is charged, in cents
currency = "usd"

Only items that include skills can be sold, because what people pay for is the download.

4. Check it

tgs-market check .

This lists everything that needs fixing, each with the file it's in. Fix them and run it again until it says nothing. A clean check means your item passes the same rules a real release uses.

5. Try it in the app

tgs-market dev --content .

This serves your folder to Tallgeese on your own computer and refreshes when you change a file. Follow the two settings it prints, open the Marketplace in the app, and get your item. Ask for the job in everyday words and see if it's picked up.

Always try it with a real request

A skill can pass every check and still never be used if the description doesn't match how people ask. Try a few phrasings. Then ask something unrelated, and make sure your skill stays out of the way.