Agent skill

Feature Kickoff

by Touch-N-Stars in Touch-N-Stars/Touch-N-Stars

Turn a rough feature idea into a written goal and testable acceptance criteria before any code is written.

GPL-3.0Auto-check passedProduct & Project Management

Install Feature Kickoff

skills CLI
$ npx skills add Touch-N-Stars/Touch-N-Stars --skill feature-kickoff -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Touch-N-Stars/Touch-N-Stars feature-kickoff --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Touch-N-Stars/Touch-N-Stars.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/feature-kickoff .claude/skills/feature-kickoff && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
feature-kickoff
GitHub stars
124
Token cost
~2k tokens
SKILL.md length
978 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
GPL-3.0

At a glance

Turn a rough feature idea into a written goal and testable acceptance criteria before any code is written.

  • Works in 8 steps: do not skip to the answer → ask about the goal → ground the criteria before writing them → …
  • The user wants a new feature
  • SKILL.md covers Step 0 — do not skip to the…, Step 1 — ask about the goal, Step 2 — ground the criteria… and Step 3 — write criteria that…, plus 4 more sections
  • Calls git

What it does

Feature Kickoff is an agent skill from Touch-N-Stars/Touch-N-Stars. Turn a rough feature idea into a written goal and testable acceptance criteria before any code is written. Use when the user wants a new feature, says "ich möchte ein Feature", or hands over an idea that has no defined done-state yet.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Product & Project Management, covering User stories. The repository describes itself as: a WebApp to controll NINA. The licence is GPL-3.0.

When your agent uses it

  • The user wants a new feature
  • Says ich möchte ein Feature
  • Hands over an idea that has no defined done-state yet

Example prompts

  • “ich möchte ein Feature”
  • “/feature-kickoff”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. do not skip to the answer
  2. ask about the goal
  3. ground the criteria before writing them
  4. write criteria that can fail
  5. the dimensions that are always in scope
  6. confirm, then write the file
  7. offer a branch, never create one unasked
  8. stop there

What it can do on your machine

Read from SKILL.md and the folder at commit c7af082. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Feature Kickoff loads about 2k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 978 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Touch-N-Stars/Touch-N-Stars at commit c7af082, republished under its GPL-3.0 licence (© Touch-N-Stars). 978 words, ~1,955 tokens.

Download SKILL.mdSave it as .claude/skills/feature-kickoff/SKILL.md (or your agent's skills folder).
name
feature-kickoff
description
Turn a rough feature idea into a written goal and testable acceptance criteria before any code is written. Use when the user wants a new feature, says "ich möchte ein Feature", or hands over an idea that has no defined done-state yet.

Feature kickoff

Interview first, criteria second, code never. This skill produces one file — docs/features/<slug>.md — containing the goal and the acceptance criteria the user agreed to, and — if the user confirms — the feature branch to work on. Implementation is a separate request.

The point is to force the question how will we know this is done? before the first line of code, in a codebase where "works on my machine" can mean "works in NINA mode, on a phone, in German, with the mount already connected".

Step 0 — do not skip to the answer

A one-line idea is not a spec. Do not start reading implementation files to guess what the user wants, and do not propose a design. If the request is actually a bug fix, a locale change or a one-liner, say so and stop — this skill is overhead for those.

Step 1 — ask about the goal

Ask in one round, not one question at a time. Use AskUserQuestion for anything with enumerable options and free text for the rest.

Always establish:

  1. Outcome, not mechanism. What can the user do afterwards that they cannot do today? If the answer describes a button, ask what the button is for.
  2. Trigger. Which real session moment does this serve — setup, framing, running sequence, meridian flip, teardown, troubleshooting?
  3. Runtime modes. NINA/WPF, PINS/headless, or both? Never assume both, and never assume one.
  4. Surface. New view, existing view, plugin, settings, wizard step?
  5. Non-goals. What must explicitly not change. Ask directly — this is the field users skip and reviewers need.

Do not ask what the code already answers. Check src/views, src/store and src/services/api/ first if the feature may already exist in part; a question whose answer is in the repo wastes the user's turn.

Step 2 — ground the criteria before writing them

Read enough to make the criteria concrete rather than generic. Typically:

  • the store that owns the state (src/store/),
  • the API surface it needs (src/services/api/, and whether the endpoint exists at all on the plugin server / Advanced API / pinsdaemon),
  • the nearest existing screen to match.

If the feature needs a backend endpoint that does not exist yet, that is an acceptance criterion of its own and a dependency on the plugin-server repo — name it explicitly. Load the api-endpoint skill when that is the case.

Step 3 — write criteria that can fail

Each criterion is one observable outcome, phrased so a reviewer can decide pass/fail without asking the author. Format: given a state, when an action, then an observable result.

Bad — cannot fail:

text
1. The cooler UI is improved.
2. Errors are handled properly.

Good — can fail:

text
1. Given a connected camera, when the target temperature is set to -10 °C,
   the cooling progress is visible within one poll cycle (2 s).
2. Given the backend restarts mid-cooldown, the view shows the disconnected
   state instead of the last known temperature.
3. In PINS mode the same flow works without `TempChangeRunning`, using the
   feature-detected fallback.

Aim for 4–8 criteria. More than that means the feature should be split, and saying so is part of this skill's job.

Step 4 — the dimensions that are always in scope

Walk this list explicitly and write a criterion for every one that applies. Say in the file which ones were considered and ruled out — a ruled-out dimension is information, an unmentioned one is an oversight.

DimensionThe question to answer
Runtime modesDoes it work in NINA and PINS? Fields only one stack reports must be feature-detected on the payload, not branched on store.isPINS (src/store/cameraStore.js:109)
PollingAny new state needs polling, not /v2/socket events. New pollers go through createPoller (src/utils/poller.js:9) and pause when backgrounded
MobileNarrow viewport, safe areas, orientation, 48 px touch targets (min-h-touch)
i18nEvery user-facing string gets an en.json key; the other 13 locales come in one batch before the commit
Equipment safetyCan this issue a command that moves hardware? Then it needs explicit user intent, not a default or a retry
Error pathsBackend restart, timeout, missing payload field, empty device list — what does the user see?
NativeDoes Capacitor Android/iOS behave differently (permissions, filesystem, keep-awake, resume)?
PersistenceDoes it survive an instance switch and apiStore.clearAllStates()?
TestsWhich logic is extractable into a testable util rather than living in the component?

For domain-specific constraint blocks and validation commands, reuse the matching variant in docs/AGENT_TASK_TEMPLATE.md instead of inventing new ones. Do not restate them here.

Show full SKILL.md (313 more words)Show less

Step 5 — confirm, then write the file

Present the goal and the numbered criteria in chat and get an explicit yes. Then write docs/features/<slug>.md, slug in kebab-case from the feature name:

markdown
# <Feature name>

Status: proposed
Date: <YYYY-MM-DD>

## Goal

<2–4 sentences. The user outcome, not the implementation.>

## Scope

- Runtime modes: <NINA | PINS | both>
- Surface: <view / plugin / settings / wizard>
- Backends touched: <plugin server /api | Advanced API /v2/api | pinsdaemon :8000 | none>

## Non-goals

- <what must not change>

## Acceptance criteria

1. <given / when / then>
2. …

## Dimensions considered

| Dimension | Applies | Note |
| --- | --- | --- |
| Runtime modes | yes/no | … |
| … | | |

## Open questions

- <unresolved, with who decides>

Keep Open questions — an honest open question is worth more than a criterion invented to fill the section.

Step 6 — offer a branch, never create one unasked

After the file is written, ask whether to create a feature branch. Do not create one as a side effect of this skill, and do not create one before the criteria are agreed — a branch named after a goal that then changes is worse than no branch.

If the user says no, stay on the current branch and continue to Step 7.

If the user says yes:

bash
git status --short              # must be clean apart from docs/features/<slug>.md
git fetch origin
git switch -c <branch> origin/develop

Branch off origin/develop, not master and not whatever branch happens to be checked out. develop is the integration branch; master is the release branch.

Naming follows what the repo already uses — lowercase kebab-case describing the change, matching the file slug so the two stay findable together: feat-nightsummary-for-NINA, phd2-interrupt-and-wait, flat-and-livestack, fix-wifi. Propose the name and let the user override it; do not invent a new prefix scheme.

Two stop conditions:

  • Dirty working tree with unrelated changes: do not switch, do not stash. Report what is uncommitted and let the user decide.
  • Branch already exists (locally or on the remote): do not force, do not reuse silently. Say so and ask.

The criteria file is left uncommitted. Committing is the user's call — offer a commit title, do not run git commit.

Step 7 — stop there

Do not implement, do not plan file-by-file changes, do not commit. Say the file is written and that implementation is the next, separate request.

Later, tns-review reviews the diff; the criteria file is what it gets reviewed against. When the feature ships, update Status: to done and add the CHANGELOG entry via the changelog skill.

© Touch-N-Stars, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/feature-kickoff of Touch-N-Stars/Touch-N-Stars.

Open the folder on GitHubat commit c7af082

Compare with similar skills

Feature Kickoff next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Feature Kickoff compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Feature Kickoff this skillTouch-N-Stars/Touch-N-Stars124—~2kAutomated safety check: PassGPL-3.0
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Agile Product Owneralirezarezvani/claude-skills28k3 repos~3.2kAutomated safety check: PassMIT
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
To Specbestofjs/bestofjs3.1k21 repos~757Automated safety check: PassMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • To Spec

    bestofjs/bestofjs

    Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    3.1k GitHub starsUsed in 21 repos~757 tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

More from Touch-N-Stars/Touch-N-Stars

  • API Endpoint

    Touch-N-Stars/Touch-N-Stars

    Add or change an API call between the app and its backends — the Touch'N'Stars plugin server (C), the NINA Advanced API, or the PINS daemon.

    124 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Changelog

    Touch-N-Stars/Touch-N-Stars

    Write or fix a CHANGELOG.md release entry. An agent skill from Touch-N-Stars/Touch-N-Stars.

    124 GitHub stars~725 tokensUpdated yesterday
    Auto-check passed
  • Equipment

    Touch-N-Stars/Touch-N-Stars

    Work on equipment devices — INDI driver selection, device lists, connect/disconnect, and the NINA profile values behind them (camera, mount, focuser, filter wheel, rotator, switch, weather, flat…

    124 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • I18n

    Touch-N-Stars/Touch-N-Stars

    Add, rename, or remove user-facing strings in src/locales. An agent skill from Touch-N-Stars/Touch-N-Stars.

    124 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Setup Wizard

    Touch-N-Stars/Touch-N-Stars

    Work on the first-run / equipment setup wizard (src/components/setupWizard/) or on location and coordinate handling.

    124 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Tns Review

    Touch-N-Stars/Touch-N-Stars

    Review changed Touch'N'Stars code with three parallel agents, one each for functionality, UI and maintainability, against this project's own rules (NINA/PINS dual mode, polling contract…

    124 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed

Questions about Feature Kickoff

What does Feature Kickoff do?

Turn a rough feature idea into a written goal and testable acceptance criteria before any code is written. Feature Kickoff is an agent skill from Touch-N-Stars/Touch-N-Stars. Turn a rough feature idea into a written goal and testable acceptance criteria before any code is written.

When should I use Feature Kickoff?

Feature Kickoff fits situations like: the user wants a new feature; says ich möchte ein Feature; hands over an idea that has no defined done-state yet.

How do I install Feature Kickoff in Claude Code?

Run `npx skills add Touch-N-Stars/Touch-N-Stars --skill feature-kickoff -a claude-code`. Or copy the skill folder (.claude/skills/feature-kickoff in Touch-N-Stars/Touch-N-Stars) into .claude/skills/feature-kickoff in your project. Claude Code loads it when a task matches its description.

How do I install Feature Kickoff in Codex?

Run `npx skills add Touch-N-Stars/Touch-N-Stars --skill feature-kickoff -a codex`. Or copy the skill folder (.claude/skills/feature-kickoff in Touch-N-Stars/Touch-N-Stars) into .agents/skills/feature-kickoff in your project. Codex loads it when a task matches its description.

Can I use Feature Kickoff in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Touch-N-Stars/Touch-N-Stars --skill feature-kickoff -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/feature-kickoff, .gemini/skills/feature-kickoff, .github/skills/feature-kickoff and .opencode/skills/feature-kickoff in your project.

What does Feature Kickoff need to run?

Going by SKILL.md and its folder, Feature Kickoff needs the command-line tools its instructions call (git).

Does Feature Kickoff access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Feature Kickoff safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Feature Kickoff use?

Feature Kickoff is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Feature Kickoff use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Feature Kickoff?

Skills that share tags, products or a category with Feature Kickoff: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Feature Kickoff?

Touch-N-Stars (a GitHub organization) maintains it in Touch-N-Stars/Touch-N-Stars, which has 124 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.

Source: Touch-N-Stars/Touch-N-Stars on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.