projtool-bootstrap — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited projtool-bootstrap (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill activates the first time a user wants to bring a project under projtool. It is intentionally narrow: the user must mention projtool by name or use a clearly-projtool verb such as retrofit, install, set up, or onboard.
.claude/skills/ml-research-workflow/; thatproject-level skill owns day-to-day projtool work.
The full flow is in references/retrofit-flow.md. Follow that file, and trust the live MCP tool schema over this document if they ever disagree.
Briefly:
mcp__projtool__detect_project_structureshould be callable. If not, tell the user to run projtool setup once from a shell and restart the active MCP client in this directory.
mcp__projtool__detect_project_structure and summarizethe detected train script, config directory, invocation style, package manager, data path hint, git state, and docs repo status.
ProposedConfig using the v4 schema:paths.code_dir, main_worktree_name, data_dir, docs_dir, output_dir, remote_workspace, outputs_remote, data_remote, plus paths.docs_repo_url. Do not use removed v3 fields such as docs_repo_path or outputs_local.
mcp__projtool__retrofit_write_template withthe agreed config. Surface conflicts and warnings exactly; do not claim success if conflicts remain.
container layout: code/main/ holds the git worktree, while .proj-tool/, .claude/, .codex/, docs/, data/, and output/ live at container root.
ml-research-workflowskill handles experiments, image builds, training, reports, and sync work.
Show a compact proposal and ask "anything to change, or go?":
project_name: directory basename, normalized to projtool's slug rules.paths.code_dir: codepaths.main_worktree_name: mainpaths.data_dir: datapaths.docs_dir: docspaths.output_dir: outputpaths.remote_workspace: /workspacepaths.outputs_remote: /root/autodl-fs/runs/<project_name>paths.data_remote: /root/autodl-fs/datasets/<project_name>paths.docs_repo_url: empty unless the user already has a remote docs repo.entrypoint.train_script, entrypoint.config_dir,entrypoint.invocation_style: from detection, with user override allowed.
autodl.default_gpu_spec: detected/preferred GPU spec, usually 4090.If the raw repo already has a root data/:
<container>/data/ and creates code/main/data -> ../../data.
paths.data_dirsuch as datasets, or rename the tracked directory to something like fixtures/ and commit before retrying.
Retrofit needs a git repository with at least one commit. If detection says the directory is not a git repo, do not silently choose a different directory. If the user's intent is unambiguous, offer to initialize git in the current directory and make an initial commit; otherwise ask them to run git init and commit once, then continue.
retrofit_write_template is the only projtool writer. Do not createprojtool files with ad hoc Write/Edit calls.
docs_repo_path and outputs_local are removedfrom retrofit input.
.claude/ is the active Claude Code config. If the raw repohad .claude/settings.local.json, retrofit should preserve or merge it at container root so local permissions keep working.
.codex/ is the active Codex project-local hook bundle.Codex users may need to review/trust project-local hooks when opening the retrofitted project.
instance_up will prefer [image].project_image_uuid once it exists.
.proj-tool/project.toml exists at container root, has a non-empty[project].project_id, retrofit_complete = true, and v4 [paths].
code/main/ is the git worktree; container root no longer has .git.data/ and output/ exist at container root.code/main/data is a symlink to the configured container data root..claude/settings.json, commands, hooks, and project skills exist atcontainer root.
.codex/hooks.json and .codex/hooks/run-claude-pretooluse-hook.sh existat container root.
docs/ is an independent docs git repo with an initial commit..mutagen.yml, CLAUDE.md, AGENTS.md, and code/main/.gitignore are written orupdated according to the template rules.
If any of those is missing, retrofit is not done.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.