"Use the Cookiecutter Data Science ccds CLI to create projects, pin
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill project-generation-cli --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Project Generation Cli?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-project-generation-cli)More formats (shields.io, HTML) on the badges page.
---
name: project-generation-cli
description: "Use the Cookiecutter Data Science ccds CLI to create projects, pin
template versions, run noninteractive generation, and diagnose generation
failures."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Project Generation CLI
Use this sub-skill when the task is to install or run Cookiecutter Data Science (CCDS), generate a new data-science project, choose `ccds` CLI flags, pin a template version, or debug a generation failure.
## Route elsewhere
- For exact CCDS option semantics, valid option combinations, nested prompt behavior, dependency-file generation, and hook effects, read `../template-options-and-hooks/`.
- For using the generated project after it exists—Makefile rules, data layout, environment managers, scaffold modules, docs, tests, linting, or validation—read `../generated-project-workflows/`.
## Read or run these bundled files
- Read [references/cli-reference.md](references/cli-reference.md) for install commands, `ccds` flags, version pinning, replay/config behavior, and v1 guidance.
- Read [references/workflows.md](references/workflows.md) for interactive, noninteractive, custom-output, and version-pinned generation recipes.
- Read [references/troubleshooting.md](references/troubleshooting.md) when `ccds` is missing, the wrong template/version is used, output directories collide, hooks are disabled, checkout/network fails, or extra context is malformed.
- Run [scripts/bake_ccds_project.py](scripts/bake_ccds_project.py) when you need a safe noninteractive bake through the installed CCDS package. It writes to a temporary parent by default and prints the generated project path.
## Minimal package check
A user can normally install CCDS with one of:
```bash
pipx install cookiecutter-data-science
# or, when pipx is unavailable:
python -m pip install cookiecutter-data-science
```
Then verify the command is available:
```bash
ccds --help
```
CCDS v2 requires Python 3.9+. The package exposes the `ccds` console script and wraps Cookiecutter so that the default template is the public CCDS template and the default checkout is tied to the installed CCDS package version.
## Generation decision flow
1. **Pick an output parent, not a precreated project directory.** Run `ccds` from the parent directory where the new project folder should be created, or pass `-o/--output-dir <parent>`.
2. **Choose the template version.** Use the installed package default for stable released behavior. Use `-c master`, another branch, a tag, or a commit only when the task explicitly needs unreleased or historical template content.
3. **Choose interactive or noninteractive mode.** Interactive `ccds` is safest for humans. Use `--no-input` only when you have a complete context and understand default-first-choice behavior.
4. **Allow hooks unless intentionally inspecting raw templates.** CCDS uses hooks to write dependency files, prune docs/tests/scaffold paths, update Python version metadata, and apply custom configuration. Disabling hooks changes the generated project contract.
5. **Inspect and validate the result.** Route to `../generated-project-workflows/` and use its validation script before running dependency installation, cloud sync, or environment-manager commands.
## Common trigger phrases
Stay in this sub-skill for requests like:
- “Create a new CCDS project.”
- “Use `ccds` with `--no-input`.”
- “Generate from the master branch instead of the released template.”
- “Why did `cookiecutter-data-science` use v2.3.0?”
- “The `ccds` command is missing / my output directory already exists / replay used old answers.”
Route to sibling sub-skills when the user asks what an option means, why a file was generated or removed, or how to run `make requirements` inside an already-generated project.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!