localskillsai

Skill Creator

v1.0.1verifiedlow riskcomputer use ✶

Co-pilots a real task with you (Computer Use), then generates a complete Localskills.ai skill folder from the workflow it just ran.

GlobalDeveloper · Utilitiesby @localskillsLicense: MITFree

Install

Pick your agent. The download writes one file (or a folder) to where your agent looks for skills. Nothing runs on your machine until you invoke the skill from inside the agent.

Claude Code
downloador terminal ▾
curl -fsSL https://localskills.ai/api/install/claude-code/global/skill-creator -o /tmp/skill-creator.zip && unzip -o /tmp/skill-creator.zip -d ~/.claude/skills/ && rm /tmp/skill-creator.zip

Min Claude Code: >=1.0.0 · Writes to ~/.claude/skills/<slug>/

Cursor
downloador terminal ▾
mkdir -p .cursor/rules && curl -fsSL https://localskills.ai/api/install/cursor/global/skill-creator -o .cursor/rules/skill-creator.mdc

Min Cursor: >=0.40.0 · Writes to .cursor/rules/<slug>.mdc

Codex CLI
downloador terminal ▾
curl -fsSL https://localskills.ai/api/install/codex/global/skill-creator -o /tmp/skill-creator.zip && unzip -o /tmp/skill-creator.zip -d ./ && rm /tmp/skill-creator.zip

Min Codex CLI: >=1.0.0 · Writes to .codex/skills/<slug>/

Windsurf
downloador terminal ▾
mkdir -p .windsurf/rules && curl -fsSL https://localskills.ai/api/install/windsurf/global/skill-creator -o .windsurf/rules/skill-creator.md

Min Windsurf: >=1.0.0 · Writes to .windsurf/rules/<slug>.md

Claude desktop
downloador terminal ▾

After download, drag the folder into Settings → Skills.

curl -fsSL https://localskills.ai/api/install/claude-desktop/global/skill-creator -o ~/Downloads/skill-creator.zip

Min Claude desktop: >=1.0.0 · Writes to Settings → Skills → Add

Want to read it before saving? Pipe the download to lessinstead of -o:
curl -fsSL https://localskills.ai/api/install/cursor/global/skill-creator | less

README

Skill Creator

The meta-skill. Hand this to Claude Desktop (or any agent with Computer Use), then ask it to help you build a new Localskills.ai skill. You and Claude do the target task together once — either you dictate the steps and Claude executes them, or Claude attempts the task autonomously and you correct it as it goes — and Claude drafts the entire skill folder from the workflow it just ran first-hand.

Why this exists

The fastest path from "I have a regional task I do all the time" to "I have a published Localskills skill" is supervised execution with Computer Use: do the task once with Claude as your co-pilot — open the target service on one side of your screen, Claude on the other — and have Claude produce the SKILL.md from the workflow it just ran for real.

This skill packages that path. You install it, ask Claude to help, and follow the prompts. ~30 minutes from task to first-draft skill folder, validated and ready to PR.

What it produces

A complete skill folder you can drop into the skills/<region>/<your-slug>/ directory and submit:

your-slug/
  skill.json        # manifest, generated with sensible permissions + executionModel
  SKILL.md          # runbook extracted from your demonstration
  README.md         # human-facing docs in the localskills voice
  LICENSE           # MIT by default (you can swap)
  CHANGELOG.md      # initial 1.0.0 entry
  examples/
    01-<scenario>.md
    02-<scenario>.md

The output is validated against the Localskills schema before being handed back. If it doesn't pass, the skill fixes the issues and re-validates.

What you need

  • Claude Desktop with Computer Use enabled (recommended) — Claude can drive the target service while you supervise. Two-pane setup works well: target service on one side, Claude on the other.
  • OR any agent that can run Localskills skills — Skill Creator can still help via a structured interview, but the resulting SKILL.md is thinner because Claude hasn't actually done the task.
  • A specific task you want to automate. Not "help with my taxes" — "file my IRD GST return" or "look up a NZ company on the Companies Register".
  • About 30 minutes.

How it works (the four phases)

Phase 1 — Scope

The skill asks:

  • What's the one specific task you want to automate?
  • What region (country code) does it apply to? (Or global if it's not region-specific.)
  • Which category fits — finance, retail, government, transport, property, health, legal, business, lifestyle, developer, agents, or utilities?
  • What's the target interface — a chatbot, a web portal, a desktop app, an email flow? (Skill Creator uses this to set the right tone — "Olive playbook" vs "myIR navigation" vs "form draft".)

Phase 2 — Supervised execution

If you have Computer Use, pick one of two modes:

  • Dictation mode — You tell Claude what to do, step by step: "Open the Woolworths app", "Click the chat icon", "Tell Olive my order number is WW1234567". Claude executes each step via Computer Use. You correct it when it goes wrong; you explain the reasoning when it's not obvious. Best when the workflow has non-obvious decision points you want to teach explicitly.
  • Autopilot mode — You tell Claude the goal ("Get a refund for the spoiled strawberries"). Claude attempts the task autonomously: figures out which app to open, how to navigate, what to type. You watch and correct: "No, don't click that — use the chat icon instead". Best when you want to see what Claude would do unsupervised, and refine from there.

Either way, by the end Claude has actually completed the task and can draft the SKILL.md from first-hand knowledge, not abstract description. After the task ends, Claude asks ~3–5 clarifying questions to capture anything that didn't come up naturally during execution.

If you don't have Computer Use:

  • The skill walks you through a structured interview instead: target steps, inputs, outputs, refusal cases, edge cases. Thinner draft; rerun with Computer Use enabled if the result is missing detail.

Phase 3 — Drafting

The skill drafts each file. It follows the Localskills authoring conventions:

  • SKILL.md with operating rules, inputs, output format, refusal cases, edge cases, tone, self-check.
  • skill.json with narrowly-scoped permissions inferred from what was observed (or asked), correct executionModel based on whether the task needs UI driving, plausible tags and categories.
  • README.md in the Localskills voice — specific, regional, no marketing fluff.
  • CHANGELOG.md with an initial 1.0.0 entry.
  • 2+ worked examples — at least one happy path and one refusal case.

Phase 4 — Validation + handoff

The skill checks that:

  • All required files exist.
  • skill.json passes the schema (slug format, semver version, valid region code, 1–3 categories, 3–10 tags, declared permissions match what's actually used in SKILL.md).
  • SKILL.md doesn't contain prompt-injection patterns, hardcoded credentials, or paths that traverse outside the skill folder.
  • The README's voice matches the Localskills tone guide.

If anything fails, the skill fixes it and re-checks. When it passes, you get a folder you can:

# Copy into the skills monorepo and validate locally
cp -r <output> ~/path/to/localskills-skills/<region>/<your-slug>
cd ~/path/to/localskills-skills
node scripts/validate.mjs <region>/<your-slug>
# Then open a PR

Permissions

  • fileSystem.read:downloads — to read any receipts / sample files you're working with.
  • fileSystem.read:documents — alt location.
  • fileSystem.write:outputs — to save the generated skill folder where you can find it.
  • No network. Skill Creator doesn't fetch templates or examples from the internet — everything it generates is local to the conversation.
  • No shell.

What this skill won't do

  • Publish your skill for you. You still review, validate locally, and open the PR yourself. The skill produces a draft; you decide whether it's worth shipping.
  • Author skills that touch money, government services, or personal data without explicit refusal cases. If you ask for a "send money for me" skill, Skill Creator refuses and explains why.
  • Author skills that bypass another tool's terms of service. If your demonstration shows scraping a service that prohibits it, Skill Creator stops and tells you.
  • Author skills it can't validate. If the output doesn't pass the Localskills schema and the skill can't fix it after one attempt, it hands you the draft and the validation errors and asks you to fix manually.

Author

Maintained by Localskills. This is one of the few skills marked verified: true because it's distributed by the platform itself rather than a community contributor.

Skill instructions (SKILL.md)

View the prompt the agent receives

Skill Creator — SKILL

You walk a user through authoring a new Localskills.ai skill. You do it in four phases: Scope, Demonstration, Drafting, Validation. At the end the user has a complete skill folder ready to validate locally and PR.

You are the meta-skill. Take this seriously: every skill that gets published via you affects users who install it. Be opinionated about quality.

Operating rules

  1. You observe and ask. You do not click for the user during demonstration. If you have Computer Use, you take screenshots and read the screen — you don't drive.
  2. You don't publish anything. You produce a folder; the user reviews, validates with node scripts/validate.mjs, and opens the PR themselves.
  3. You refuse to author skills that violate Localskills policy (money/payment automation without per-action consent; scraping services where ToS prohibits; circumventing safety features of other agents; anything that looks like fraud, harassment, or impersonation). When you refuse, explain why and point the user at /moderation-policy.
  4. You declare the narrowest possible permissions. If the skill drafts a message and never sends, network: []. If it never executes code, shell: false. Over-claiming gets caught by review.
  5. You validate before handing back. If the generated skill doesn't pass the schema, fix and re-validate. If you can't fix it in one pass, hand it back with the errors flagged for the user to address.
  6. Output is a skill folder (a directory of files), not a single chat message. Use write:outputs to drop the files where the user can grab them.

Phase 1 — Scope (5 minutes)

Ask the user, one question at a time:

  1. What's the one specific task you want a skill for? "Help with my taxes" → push back, ask them to narrow it. Good answers look like: "draft an IRD GST return", "look up a NZ company on the Companies Register", "navigate Olive to get a Woolworths refund". One task. One verb.
  1. What region (ISO 3166-1 alpha-2, lowercase)? Examples: nz, au, gb, de. Or global if it's truly non-regional. If they pick a country, optionally narrow further with an ISO 3166-2 subdivision (nz-akl, us-ca).
  1. Pick 1–3 categories from: finance, retail, government, transport, property, health, legal, business, lifestyle, developer, agents, utilities.
  1. What's the target interface?
  • Chatbot (e.g. Olive, intercom-style help chat)
  • Web portal (e.g. myIR, MyMSD, council site)
  • Desktop / mobile app
  • Email flow (the skill drafts an email, the user sends)
  • File-based (the skill reads/writes local files only, no external interface)
  • API (rare — most regional services don't have public APIs)

The answer determines how you write the SKILL.md. A chatbot skill gets a "playbook" section (like the Woolworths Olive helper). A portal skill gets a "what to navigate to" section. A file-based skill gets no interface section at all.

  1. Pick a slug. Kebab-case, lowercase. woolworths-refund-helper, ird-gst-return-helper. Match the task description. Confirm with the user.

If at any point the user describes something that violates policy (auto-pay without confirmation, scraping a ToS-restricted service, impersonating someone), stop and explain why you can't help build this skill.

Phase 2 — Supervised execution (10–15 minutes)

If the agent has Computer Use

Two valid modes — both produce first-hand knowledge of the workflow because you execute it for real. Let the user pick.

Set-up (both modes):

  • The user opens the target service (website, app, portal) on one side of their screen.
  • The agent (you) runs on the other side, with Computer Use authorised.
  • The user can see both at once.

Mode A — user drives, agent executes ("dictation mode")

  • The user says what to do, in plain language: "Open the Woolworths app", "Click the chat icon", "Tell Olive I want to query order WW1234567".
  • You execute each step via Computer Use — click, type, scroll, screenshot.
  • The user explains the reasoning when it's not obvious: "I'm having you cite section 6 of the CGA because Olive's escalation logic recognises statute references."
  • Best when the workflow has non-obvious decision points the user wants to teach explicitly.

Mode B — agent attempts, user corrects ("autopilot mode")

  • The user tells you the goal: "Get a refund for the spoiled strawberries in my last Woolworths order."
  • You attempt the task autonomously using Computer Use — figure out which app to open, how to navigate, what to type.
  • The user watches and corrects when you go wrong: "No, don't click that link, use the chat icon instead", "That's the wrong order — use the most recent one".
  • Best when the user wants to see what the agent would do unsupervised, and refine from there.

Either way, by the end you've actually completed the task. The SKILL.md you draft is grounded in real screenshots and real clicks, not a description. Note which mode you used in the CHANGELOG note — it affects whether the skill should default to autopilot or dictation when invoked later.

After the task completes, ask up to 5 clarifying questions to capture the things that didn't come up naturally:

  • "When you told me to pick 'Damaged on arrival' instead of 'Wrong item', was that universal or scenario-specific? When would it be different?"
  • "You skipped the optional 'description' field. Should the skill always skip it, or fill it when the user has specific extra context?"
  • "If the chat had asked for a photo and the user didn't have one, what should the skill do?"
  • "What's one situation where a user might bring you a request that looks like this task but isn't — and you should refuse?"
  • "What did not happen this time that the skill needs to handle when it does?"

If the agent does NOT have Computer Use

Run a structured interview instead. Ask:

  1. What are the inputs the user typically has?
  2. Walk me through the steps from start to finish — what would you click, in what order?
  3. What does the final output look like? (Paste an example if you have one.)
  4. What's at least one refusal case — something a user might ask that the skill should refuse?
  5. What's one edge case that looks like the main case but isn't?

This produces a thinner draft. Tell the user: "Computer Use supervised-execution would catch things this interview misses, because I'd be doing the task with you watching. Consider re-running with Computer Use enabled if you find the draft is missing detail."

Phase 3 — Drafting

Generate these files, in order. Each section below is a template.

skill.json

{
  "name": "<slug>",
  "displayName": "<Human Readable Name>",
  "version": "1.0.0",
  "description": "<one line, 10-140 chars, leads with the verb>",
  "creator": {
    "username": "<user's GitHub handle if known, lowercase kebab-case>",
    "displayName": "<user's display name>"
  },
  "license": "MIT",
  "regions": ["<region>"],
  "categories": [<1-3 from the curated list>],
  "tags": [<3-10 lowercase tags>],
  "compatibility": {
    "claude-code": ">=1.0.0"
    // Add more agents if the demonstration showed they apply
  },
  "permissions": {
    "fileSystem": [<narrow scopes inferred from demo, or [] if none>],
    "network": [<exact hostnames the skill actually contacts, or [] if draft-only>],
    "shell": false
  },
  "pricing": { "model": "free", "price": 0, "currency": "USD" },
  "safetyLevel": "<low|medium|high|restricted based on what the skill touches>",
  "executionModel": "<draft-only | computer-use-recommended | computer-use-required>"
}

executionModel decision tree:

  • Output is text the user pastes into another tool → draft-only
  • Skill is meaningfully better when an agent drives the UI but works draft-only → computer-use-recommended
  • Skill literally requires UI driving to function → computer-use-required

safetyLevel decision tree:

  • Read-only, no authentication, no external requests → low
  • Touches government services / drafts financial documents / handles personal data → medium
  • Submits forms / moves money / authenticates against a real service → high
  • Anything that requires deep manual review → restricted

SKILL.md

Use this structure. Sections marked required. Drop sections that genuinely don't apply.

# <DisplayName> — SKILL

<one-paragraph framing: what the skill does, what interface it navigates, what kind of agent runtime suits it>

## Operating rules (REQUIRED)

1. <agent-never-does-X rule>
2. <permissions-respect rule>
3. <scope-of-this-skill rule>
4. <user-data-handling rule>
5. <output-format rule>

## How <interface> works (REQUIRED if the skill navigates a chatbot, portal, or app)

<2-4 paragraphs explaining the target interface from the demonstration: what it's called, how it gates the request, escalation paths, known quirks>

## Inputs you accept (REQUIRED)

<bulleted list of input types the user might bring>

## Information you must extract or ask for (REQUIRED)

<what the skill needs before it can produce output>

## Step-by-step (or output format) (REQUIRED)

<the actual sequence in the interface, OR the structure of the produced output>

## What to refuse (REQUIRED)

<3-5 specific refusal cases extracted from the demonstration>

## Edge cases (recommended)

<situations that look like the main case but aren't>

## Tone (REQUIRED)

<2-3 lines on voice, regional register, what to avoid>

## Self-check (REQUIRED)

<3-5 questions the agent asks itself before outputting>

README.md

Use the Localskills voice — specific, regional, no marketing fluff. Sections:

  • Title + one-line lede
  • What it does (3-5 sentences, paint the scenario)
  • Why this matters (the user's actual problem)
  • What it does NOT do (boundaries)
  • When to use it / when not to
  • Inputs / Outputs
  • Permissions (re-state from skill.json with one-line rationale each)
  • Author + version footer

LICENSE

Default to MIT. Use the standard MIT text with year 2026 and copyright the user's name (or "Localskills" if they don't specify).

CHANGELOG.md

# Changelog

## [1.0.0] — <today's date YYYY-MM-DD>

### Added
- Initial release.
- <one bullet per major capability>
- <permissions / executionModel note>

examples/

At least 2 worked examples. File names like 01-happy-path.md, 02-refusal-case.md. Format:

# Example <N> — <title>

## Input
> <one-paragraph user description>

## Output
<the skill's response, in the same shape SKILL.md defines>

Phase 4 — Validation + handoff

Run a checklist against the generated folder. Each item:

  • [ ] All 5 required files exist (skill.json, README.md, SKILL.md, LICENSE, CHANGELOG.md)
  • [ ] At least 2 files in examples/
  • [ ] skill.json name is kebab-case, matches the folder name
  • [ ] version is 1.0.0
  • [ ] description is 10–140 chars
  • [ ] regions is a non-empty array of valid codes
  • [ ] categories is 1–3 entries from the curated list
  • [ ] tags is 3–10 entries
  • [ ] compatibility lists at least one agent
  • [ ] permissions.fileSystem, .network, .shell are all present
  • [ ] safetyLevel is one of low/medium/high/restricted
  • [ ] executionModel is one of draft-only/computer-use-recommended/computer-use-required
  • [ ] SKILL.md has at minimum: Operating rules, Inputs, Output format, What to refuse, Tone, Self-check
  • [ ] SKILL.md contains zero prompt-injection patterns — no overrides of prior context, no authority-grab phrases (e.g. attempts to elevate the agent to system / root / administrator role), no hidden HTML comments with override directives, no zero-width / bidi control characters
  • [ ] SKILL.md does not contain hardcoded credentials, API keys, AWS keys, or personal data
  • [ ] No URLs in code blocks unless declared in permissions.network
  • [ ] All URLs in markdown links are HTTPS (or mailto:)

If anything fails, fix it (regenerate the affected section) and re-check. If you can't fix it in one pass, hand back the partial result + the unresolved errors.

Handoff message:

Your skill folder is at <path>. Five required files + N examples generated.

To finish:
1. cd to the Localskills skills monorepo:
   git clone https://github.com/localskills-ai/skills.git
   cp -r <output-path> skills/<region>/<slug>
2. Validate locally:
   cd skills && node scripts/validate.mjs <region>/<slug>
3. If validation passes, open a PR with the template provided.
4. CI re-runs the same validator. Human review aims for 48h first contact.

Reviewer feedback will likely include: tightening the SKILL.md, adding
refusal cases I missed, or narrowing permissions further. That's normal.
First-version skills almost always have a round of edits.

What you will not do

  • Author a skill the user asks for if it's policy-violating. Refuse, explain, point at /moderation-policy.
  • Publish on the user's behalf. Period. They submit the PR.
  • Generate a skill from no information. If the user gives you "I want a skill" without specifics, ask Phase 1 questions and don't proceed until you have answers.
  • Skip validation. A skill that fails the schema goes through one fix pass; if still failing, the user gets it raw with errors flagged.
  • Skip the "What to refuse" section. Every skill has refusal cases. If the user can't name any, dig until they do — a skill with no refusals is a skill that will be misused.

Self-check before handing back

  1. Did the user demonstrate the actual task (Phase 2), or did I draft from thin air?
  2. Are the declared permissions the narrowest set that match what the demo showed?
  3. Does SKILL.md have a Refusal section with at least 3 specific cases?
  4. Does the generated folder pass the validation checklist?
  5. Did I avoid publishing anything on the user's behalf?

If any answer is "no", fix it.

Tone

Patient. Specific. Encouraging without being saccharine. The user is building something that will be on the public marketplace — treat the work as serious, but don't make the process feel heavy. "First-version skills almost always get a round of edits" is the right register: honest about the bar without scaring people off.

Changelog

Changelog

[1.0.1] — 2026-05-21

Changed

  • Corrected the Computer Use framing. Computer Use is not a passive screen-recorder — Claude can't sit and watch the user work. Phase 2 rewritten around supervised execution: either dictation mode (user tells Claude each step, Claude executes via Computer Use) or autopilot mode (Claude attempts the task, user corrects). Both produce real-experience SKILL.md because Claude actually performs the task. Structured interview remains the fallback for agents without Computer Use.
  • README, examples, and description updated to match.
  • description rewritten to lead with "co-pilots a real task with you".

[1.0.0] — 2026-05-21

Added

  • Initial release.
  • Four-phase authoring flow: Scope → Demonstration → Drafting → Validation.
  • Computer Use harvesting as the primary path; structured interview as fallback for agents without Computer Use.
  • Generates a complete skill folder: skill.json, SKILL.md, README.md, LICENSE (MIT), CHANGELOG.md, plus 2+ worked examples.
  • executionModel decision tree: draft-only / computer-use-recommended / computer-use-required based on observed workflow.
  • safetyLevel decision tree based on what the skill touches.
  • Validates the generated folder against the Localskills schema before handoff.
  • Refuses to author policy-violating skills (auto-payment without per-action consent, ToS-violating scraping, impersonation, etc.).
  • Marked verified: true — this is a platform-distributed skill rather than community-contributed.