Bootstrapp Template Instantiation

VerifiedCaution

Instantiates a project from a Bootstrapp template by resolving parameters and running the initialization script. Handles parameter dependencies and validates default values.

Sby Skills Guide Bot
DevelopmentIntermediate
206/2/2026
Claude Code
#bootstrapp#template-instantiation#project-scaffolding#code-generation

Recommended for

Our review

Instantiates a project from a Bootstrapp template bundle by reading its spec, resolving parameters with defaults, and running a generation script.

Strengths

  • Automates project scaffolding with parameterized templates.
  • Handles parameter resolution with default values and dependency conditions.
  • Explicitly aborts if required parameters are missing, preventing silent failures.
  • Supports various parameter types (string, bool, option) with proper quoting for values with spaces.

Limitations

  • Only works with Bootstrapp-specific templates (requires a Bootstrapp.json file).
  • No interactive parameter prompting—aborts if defaults are missing.
  • Depends on Python 3 and the bootstrapp.py script being present in the skill's directory.
When to use it

When you need to quickly scaffold a project from a Bootstrapp template with all parameters having defaults.

When not to use it

If the template requires interactive parameter input or if you need to customize parameters beyond the default values.

Security analysis

Caution
Quality score85/100

The skill uses Bash to execute a Python script with arguments derived from user-provided template path and parameters. While the script is fixed, the lack of input validation could allow unexpected behavior if the script itself has vulnerabilities.

Findings
  • Runs a Python script with user-supplied arguments, which could lead to unintended behavior if the script is not properly sanitized
  • No validation on user-provided template path

Examples

Basic template instantiation
Use the bootstrapp skill to instantiate a project from /path/to/template
Instantiate with explicit path
I want to create a new project using the Bootstrapp template at ~/templates/ios-app
Run bootstrapp on a template directory
bootstrapp /home/user/templates/my-template

name: bootstrapp description: Instantiate a project from a Bootstrapp template bundle user-invocable: true allowed-tools: Bash, Read argument-hint: [template-path]

Bootstrapp Template Instantiation

The user wants to instantiate a template. The template path is: $ARGUMENTS

Instructions

Step 1: Read the template spec

Read Bootstrapp.json inside the template path. Also read Bootstrapp.md if it exists and show its contents to the user.

Step 2: Resolve parameters using defaults

Read the parameters array from the spec. For each parameter, use its default value. Skip parameters whose dependsOn references a parameter that evaluates to false.

If ANY parameter does NOT have a default value, ABORT. Do not run the script. Instead, list ALL parameters in a table showing:

  • Parameter ID
  • Type (String, Bool, Option)
  • Default value or MISSING

Tell the user which parameters are missing defaults and ask them to provide values.

Step 3: Run the script

Only run this if ALL parameters have values (from defaults or user-provided).

The script is at scripts/bootstrapp.py relative to this skill's directory.

python3 scripts/bootstrapp.py "<template-path>" \
  --param KEY1=VALUE1 --param KEY2=VALUE2 \
  --exclude-package NAME \
  --verbose
  • Include ALL resolved parameters.
  • Quote values with spaces: --param "COPYRIGHT_HOLDER=Apparata AB"
  • For Option params, pass the option string: --param LICENSE_TYPE=MIT
  • For Bool params, pass true or false: --param GIT_INIT=false
  • Include all packages by default (no --exclude-package unless the user says otherwise).

Step 4: Report result

The script prints the output path as its last line to stdout. Tell the user the full path. For Xcode projects, mention they can open the .xcodeproj.

Then ask if they want to open the output directory in Finder (open "<path>").

Related skills