From statsclaw
Automatically detects and selects language profiles for target repositories by scanning root markers like pyproject.toml, package.json + tsconfig.json, go.mod, Cargo.toml. Auto-invoked at session startup if unset.
npx claudepluginhub statsclaw/statsclaw --plugin statsclawThis skill uses the workspace's default tool permissions.
This skill determines the correct language profile for a target repository by inspecting file markers.
Detects programming language, framework, build tools, and verification commands for any project by scanning structure, counting file extensions, and analyzing configs like package.json or go.mod.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
This skill determines the correct language profile for a target repository by inspecting file markers.
This skill is invoked automatically by leader during Session Startup (step 6) and Leader Planning (step 5) when the profile is not already set in the package context.
Leader checks for repo markers in order. The first matching profile is selected.
If the repo context file (.repos/workspace/<repo-name>/context.md) already has a Profile field set, use it directly. Skip detection.
Check the target repository root for the following files. Match the first profile whose required marker is present:
| Priority | Required Marker | Supporting Markers | Profile |
|---|---|---|---|
| 1 | DESCRIPTION (with Package: field) | NAMESPACE, R/, man/ | profiles/r-package.md |
| 2 | pyproject.toml or setup.py or setup.cfg | src/ or */__init__.py, tests/ | profiles/python-package.md |
| 3 | package.json + tsconfig.json | src/, *.ts files | profiles/typescript-package.md |
| 4 | go.mod | *.go files, cmd/, internal/ | profiles/go-module.md |
| 5 | Project.toml (with name and uuid fields) | src/, test/ | profiles/julia-package.md |
| 6 | Cargo.toml | src/lib.rs or src/main.rs, tests/ | profiles/rust-crate.md |
| 7 | CMakeLists.txt or Makefile or meson.build + *.cpp/*.cc/*.cxx | *.hpp/*.hxx, tests/ | profiles/cpp-library.md |
| 8 | CMakeLists.txt or Makefile or meson.build + *.c (no C++ sources) | *.h, tests/ | profiles/c-library.md |
| 9 | *.ado or *.do files | *.sthlp files | profiles/stata-project.md |
If multiple markers match (e.g., a repo has both pyproject.toml and package.json):
AskUserQuestion to ask the userOnce detected, write the profile to:
.repos/workspace/<repo-name>/context.md): set the Profile fieldstatus.md: set the Active Profile fieldIf no markers match any profile, log a note in .repos/workspace/<repo-name>/logs/ and proceed without a profile. Teammates will use general-purpose conventions. Leader should mention the missing profile to the user.