Our review
Instantiates a project from a Bootstrapp template bundle by reading a spec, resolving parameters, and running a Python script.
Strengths
- Automates project scaffolding and reduces manual setup.
- Handles parameter defaults and skips dependent parameters automatically.
- Provides verbose output and reports the final output path.
Limitations
- Requires a Bootstrapp template spec with a `Bootstrapp.json` file.
- All parameters must have defaults or be provided by the user, otherwise the process aborts.
- Only works in environments with Python 3 and the `bootstrapp.py` script available.
When you need to quickly scaffold a new project from a structured template with configurable options and minimal manual intervention.
When the template lacks default values for parameters and you cannot interactively provide them, or when a simpler file copy is sufficient.
Security analysis
SafeThe skill runs a local Python script with user-supplied parameters; no network access, no external downloads, no destructive commands. Bash usage is limited to executing that script safely.
No concerns found
Examples
Use the Bootstrapp template at /path/to/template to create a new project.Use the Bootstrapp template at /path/to/template and set LICENSE_TYPE=MIT.Instantiate the Bootstrapp template at /path/to/template, then open the output directory.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
trueorfalse:--param GIT_INIT=false - Include all packages by default (no
--exclude-packageunless 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>").
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.