environment-detection

Detect runtime and tool configuration for Python, Node, Ruby, Rust, or Go codebases.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/Kiwi-Home/ai-workflow --skill environment-detection
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: environment-detection
Source: https://github.com/Kiwi-Home/ai-workflow/tree/main/plugins/structured-workflows/skills/environment-detection
Command: npx skills add https://github.com/Kiwi-Home/ai-workflow --skill environment-detection

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Detects how to run, test, lint, and format code in a repository to eliminate guesswork when configuring CI, workflows, and quality gates and to produce a machine-readable environment block for workflow.yaml.

Core Features & Use Cases

  • Maps lock files to package managers and run prefixes, resolving runtime and package manager from filesystem signals.
  • Resolves Python interpreter paths from virtualenv directories and composes tool invocation commands using run_prefix.
  • Detects linters, formatters, type checkers, and test runners from config files and pre-commit hooks, with optional validation and clear fallback behavior for non-coding projects.
  • Use case: generate an environment block during setup to ensure deterministic execute-stage commands and to surface warnings when binaries are missing or validation fails.

Quick Start

Use environment-detection to scan the repository and write an environment block for workflow.yaml.

Frequently Asked Questions about environment-detection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect the package manager and runtime environment for a CI workflow?

Environment detection scans your repository lock files and virtualenv directories to map the runtime and package manager, producing a machine-readable environment block to ensure deterministic CI commands.

What is the best way to map lock files to package managers in Python, Node, or Ruby projects?

Mapping lock files to package managers is handled by scanning filesystem signals to resolve the correct package manager and run prefix, automatically identifying tools for Python, Node, Ruby, Rust, or Go projects.

How do I automatically detect linters and formatters from config files?

Detecting linters, formatters, and type checkers is done by scanning existing config files and pre-commit hooks, composes tool invocation commands using the resolved run prefix, and validates them with a 5s timeout.

Can I generate a workflow.yaml environment block for projects missing binaries?

Generating an environment block for workflow.yaml includes optional validation with graceful fallbacks for non-coding projects, surfacing clear warnings when binaries are missing or validation fails during CI setup.

Does environment detection resolve Python interpreter paths from virtualenv directories?

Resolving Python interpreter paths is supported by scanning virtualenv directories to compose accurate tool invocation commands using the detected run prefix for deterministic execute-stage commands.

What happens when environment detection encounters non-coding projects or validation failures?

Environment detection applies graceful fallback behavior for non-coding projects and uses a 5s timeout for optional validation, surfacing clear warnings when binaries are missing or validation fails.