Loading...
Loading...
Initialize Python Project (New or Fork). Use when the user wants to create a new production-ready Python/ML project structure, or fork and enhance an existing project. Uses uv for environment management.
npx skill4agent add a-green-hand-jack/ml-research-skills init-python-project<installed-skill-dir>/
├── SKILL.md
├── references/
│ ├── architecture.md
│ ├── new-project.md
│ ├── fork-enhancement.md
│ └── best-practices.md
├── scripts/
│ └── scaffold_new_project.py
├── template_manifest.json
└── templates/
├── common/
│ ├── .gitignore
│ ├── .env.example
│ ├── README.md
│ ├── CLAUDE.md
│ ├── pyproject.toml.tmpl
│ ├── tests/
│ └── docs/
└── ml/
├── .agent/
├── docs/
├── experiments/
├── infra/
├── eval/
└── scripts/references/architecture.mdreferences/new-project.mdreferences/fork-enhancement.mdreferences/best-practices.mdtemplates/template_manifest.jsonnewforknew3.11mlweblibgeneralforkreferences/new-project.mdreferences/architecture.mdmkdir <project-name>
cd <project-name>
uv init --name <package_name> --python <version>new + mlpython3 <installed-skill-dir>/scripts/scaffold_new_project.py \
<target-dir> \
--project-name <project-name> \
--package-name <package-name> \
--description "<short-description>" \
--python-version <version> \
--author-name "<author-name>" \
--author-email "<author-email>" \
--repo-url "<repo-url-or-TBD>"uv inittemplates/common/templates/ml/.env.gitkeepmlreferences/architecture.mdmkdir -p src/<package_name>/{models,data,utils}
mkdir -p tests/{data,outputs}
mkdir -p docs/outlines docs/dev/features docs/src docs/results docs/reports docs/runs
mkdir -p .vscode .cursor .claude/commands
touch src/<package_name>/__init__.py
touch src/<package_name>/models/__init__.py
touch src/<package_name>/data/__init__.py
touch src/<package_name>/utils/__init__.py
touch tests/__init__.pytemplates/{{PROJECT_NAME}}{{PACKAGE_NAME}}{{DESCRIPTION}}{{PYTHON_VERSION}}{{AUTHOR_NAME}}{{AUTHOR_EMAIL}}{{REPO_URL}}templates/common/.gitignore.env.exampleREADME.mdCLAUDE.mdpyproject.tomltests/conftest.pydocs/outlines/project_plan.mddocs/outlines/progress.mddocs/results/.gitkeepdocs/reports/.gitkeepdocs/runs/.gitkeepdocs/dev/feature_template.mddocs/src/dependencies.md.vscode/settings.jsonmlexperiments/config.pyexperiments/configs/base.yamlinfra/envs/local.yamlinfra/envs/cluster.yaml.exampleinfra/remote-projects.yamlinfra/README.mddocs/ops/current-status.mddocs/ops/decision-log.md.agent/local-overrides.yamleval/baselines/README.mdscripts/train.pyscripts/download_data.py.env.gitkeeptouch experiments/configs/.gitkeep
touch eval/benchmarks/.gitkeep
touch eval/baselines/reproduced/.gitkeep
touch infra/submit/slurm/.gitkeep
touch docs/results/.gitkeep
touch docs/reports/.gitkeep
touch docs/runs/.gitkeep
touch tests/data/.gitkeep
touch tests/outputs/.gitkeepuv pip install -e ".[dev,ml]"uv pip install -e ".[dev]"pytest tests/ -vcat > tests/test_placeholder.py <<'EOF'
def test_placeholder():
assert True
EOF
pytest tests/git rev-parse --git-dir >/dev/null 2>&1 || git init
git add .
git commit -m "Initial Python project structure"origingit remote -vgit remote add origin <github-ssh-url>
CURRENT_BRANCH="$(git branch --show-current)"
git push -u origin "$CURRENT_BRANCH"references/fork-enhancement.mdreferences/architecture.mdreferences/best-practices.mdgit clone <github-ssh-url> <project-name>
cd <project-name>
ls -lapyproject.tomlsetup.pyrequirements.txtsrc/tests/docs/scripts/.env.exampleCLAUDE.md.vscode/settings.jsontemplates/common/.env.exampleCLAUDE.mdtests/conftest.py.vscode/settings.jsonpyproject.tomlrequirements.txt✓ Python project initialized or enhanced: <project-name>
✓ Project type: <new|fork> / <ml|web|lib|general>
✓ Common scaffolding applied
✓ UV environment configured
✓ Git status: initialized / existing repo reused
✓ Remote: <configured or skipped>
Project location: <full-path>
Next steps:
1. cd <project-name>
2. cp .env.example .env
3. Fill in project-specific settings
4. Start implementing in src/<package_name>/
5. Put stable experiment summaries in docs/results/, reports in docs/reports/, and run pointers in docs/runs/
6. Run pytest before the next commitreferences/best-practices.mdSKILL.mdtemplates/references/experiments/docs/runs/<ProjectName>/code-worktrees/code/