Notre avis
Instancie un projet à partir d'un bundle de template Bootstrapp en lisant sa spécification, résolvant les paramètres par défaut et exécutant un script de génération.
Points forts
- Automatise la création de projets structurés avec des templates paramétrables.
- Gère la résolution des paramètres avec des valeurs par défaut et des dépendances entre paramètres.
- Annule explicitement si des paramètres obligatoires sont manquants, évitant des erreurs silencieuses.
- Support de types de paramètres variés (chaîne, booléen, option) avec échappement approprié des valeurs.
Limites
- Ne fonctionne qu'avec des templates Bootstrapp spécifiques (nécessite un fichier Bootstrapp.json).
- Ne permet pas la personnalisation interactive des paramètres (abandon si des valeurs par défaut sont absentes).
- Requiert Python 3 et le script bootstrapp.py dans le répertoire de la compétence.
Lorsque vous devez initialiser un nouveau projet à partir d'un template Bootstrapp existant avec des paramètres par défaut simples.
Si le template nécessite une configuration interactive avancée ou si les paramètres obligatoires ne sont pas tous fournis avec des valeurs par défaut.
Analyse de sécurité
PrudenceThe 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.
- •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
Exemples
Use the bootstrapp skill to instantiate a project from /path/to/templateI want to create a new project using the Bootstrapp template at ~/templates/ios-appbootstrapp /home/user/templates/my-templatename: 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>").
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.