smithery.ai

get-started

Mandatory initialization workflow for new Keboola Python components — use this skill before writing any code. Contains the exact cookiecutter command, Keboola-specific post-template cleanup steps, KBC_DATADIR directory structure, data/config.json format, and first commit format that are easy to get wrong without this reference. Invoke whenever the user is starting from a fresh or empty repository, has never built a Keboola component before, wants to run the cookiecutter template, or says things…

First seen Apr 6, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

More metadata
tools
Bash, Read, Write, Edit, Glob, AskUserQuestion
model
sonnet
color
green

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,447 B
  • docs SUMMARY.md 171 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

Initialize New Keboola Component

Before writing any code, check whether the component has already been initialized.

Step 1: Detect state

Check for signs of an existing cookiecutter setup:

ls src/component.py component_config/ pyproject.toml 2>/dev/null
  • If all present → skip initialization, hand off to @develop-component immediately
  • If missing or empty repo → proceed with initialization below

Step 2: Gather component info

You may already know the component details from the conversation. If not, ask:

  • Component name — kebab-case, no type suffix (e.g. ex-salesforce, not salesforce-extractor)
  • Component IDvendor.component-name format (e.g. keboola.ex-salesforce)
  • Typeextractor, writer, or application
  • Short description — one sentence of what it does

Naming rules:

  • Never include "extractor", "writer", or "application" in the name itself
  • Use prefix convention: ex- for extractors, wr- for writers

Step 3: Run cookiecutter

# Install if missing
which cookiecutter || pip install --user cookiecutter

cookiecutter gh:keboola/cookiecutter-python-component

Run interactively so the user can confirm the values. The template creates src/, component_config/, tests/, .github/workflows/, Dockerfile, pyproject.toml, and data/ with example files.

Step 4: Clean up and configure

# Remove the generic example files that come with the template
find data -type f -delete

# Recreate the expected directory structure
mkdir -p data/in/tables data/in/files data/out/tables data/out/files

Then create data/config.json with realistic example parameters based on what the component actually does — not a generic placeholder. Read componentconfig/configSchema.json if it already has content, and mirror the required fields with plausible example values. Use # prefix for sensitive fields (e.g. "#apikey").

Step 5: Initial commit

git add -A
git commit -m "feat: initialize component from cookiecutter template"

Step 6: Hand off

Once initialized, pass to @develop-component to start the implementation. Share what you know about the component's purpose so it has context.


Key resources