install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/machine-learning/init-project" ~/.claude/skills/diegosouzapw-awesome-omni-skill-init-project-4bd203 && rm -rf "$T"
manifest:
skills/machine-learning/init-project/SKILL.mdsource content
Initialize Project
Set up a new ML project from the template. User provides project name and description.
Input
$ARGUMENTS
If project name or description not provided, ask the user.
Workflow
Phase 1: Gather Info
- Get project details from user:
- Project name (used for WandB project, directory context)
- Short description (one sentence)
- WandB entity (team or username)
- WandB launch queue name
- Python version preference (default: current system python3)
- Environment variables / secrets needed (e.g., Kaggle token, HuggingFace token, custom API keys)
Phase 2: Python Environment
-
Create and activate virtual environment
python3 -m venv .venv source .venv/bin/activate -
Install dependencies
pip install -r requirements.txt -
Verify imports work
python -c "import wandb; import torch; print('All imports OK')"
Phase 3: WandB Setup
-
Check WandB login
wandb status- If not logged in, prompt user to run
wandb login - Verify the entity is accessible
- If not logged in, prompt user to run
-
Verify WandB Launch queue
wandb launch-agent --help- Ask user to confirm:
- Queue name exists and is created in WandB UI
- At least one agent is running or will be started on GPU environment
- Test connectivity:
python -c "import wandb; api = wandb.Api(); print('WandB API OK')"
- Ask user to confirm:
Phase 4: Environment Variables
- Write
with project secrets and env vars:.claude/settings.local.json-
Ask user for any API keys / tokens they need (e.g.,
,KAGGLE_USERNAME
,KAGGLE_KEY
)HF_TOKEN -
Write secrets only to
(gitignored, local only):.claude/settings.local.json{ "env": { "WANDB_API_KEY": "<value>", "KAGGLE_USERNAME": "<value>", "KAGGLE_KEY": "<value>", "HF_TOKEN": "<value>" } } -
Only include keys the user actually needs — omit unused ones
-
Verify
is in.claude/settings.local.json
:.gitignoregit check-ignore .claude/settings.local.json -
Non-secret project defaults go in
(committed, shared):.claude/settings.json{ "env": { "WANDB_ENTITY": "<entity>", "WANDB_PROJECT": "<project-name>", "WANDB_QUEUE": "<queue-name>" } }
-
Phase 5: CLAUDE.md — Project-Specific Notes
-
Write CLAUDE.md with project-specific content:
# CLAUDE.md ## Project: <project-name> <description> ## Key Features - **Git controlled**: Version-controlled experiment workflow - **WandB based**: Experiment tracking, launch, and evaluation - **Python programmed**: pip + requirements.txt - **Claude Code managed**: Human provides ideas, Claude Code runs the loop See `.claude/rules/` for detailed workflow rules. ## WandB Config - **Entity**: <entity> - **Project**: <project-name> - **Queue**: <queue-name> ## Current Baseline Initial baseline. No experiments run yet. ## Project-Specific Notes <!-- Add notes as the project evolves -->
Phase 6: Baseline Documentation
-
Create initial baseline doc at
:docs/baseline-history.md# Baseline History ## Baseline 0 — Initial - **Date**: <today> - **Description**: Initial project setup from template - **Merged branches**: None (starting point) - **Discarded branches**: None - **Key metrics**: N/A (no training run yet) ---
Phase 7: Git Cleanup
- Ensure clean git state
- Verify on
branch:maingit branch --show-current - Delete any stale local branches (except
): list withmain
, confirm with user before deletinggit branch - Delete any stale remote branches:
and confirmgit branch -r - Stage and commit all initialization files:
CLAUDE.mddocs/baseline-history.md
should be in.venv
(create/update if needed).gitignore
- Push to remote
git push origin main
Phase 8: Verify
-
Run verification checklist and print results:
- Python venv active and dependencies installed
- WandB logged in and API accessible
- WandB entity and project confirmed
- WandB launch queue name recorded
- CLAUDE.md has project-specific config
- docs/baseline-history.md exists
- Git is on
, clean, no stale branchesmain -
includes.gitignore
and.venv/.claude/settings.local.json -
has non-secret project defaults.claude/settings.json -
has secrets (not committed).claude/settings.local.json - All changes committed and pushed
- Next: run
to set up GitHub labels, secrets, and automatic CI pipeline/setup-automation
-
Print next steps:
- "Project initialized. Next:"
- "1. Run
to enable automatic result analysis (WandB → GitHub Actions → Claude Code)"/setup-automation - "2. Ensure a WandB Launch agent is running on your GPU environment"
- "3. Use
to create your first experiment"/new-experiment [idea]
Rules
- Always ask for confirmation before deleting any git branches
- Never commit
or.venv/
— ensure.claude/settings.local.json
covers both.gitignore - If WandB login fails, do not proceed — guide user to fix it
- All WandB config (entity, project, queue) must be recorded in CLAUDE.md