mylukin/ralph-dev/detect-language

Claude Code and agent skill by mylukin/ralph-dev

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Autonomous language and framework detection for any programming language. Use when user asks to "detect language", "what language is this project", or when initializing ralph-dev for a new project.

Install

npx vskill@latest install mylukin/ralph-dev/detect-language

SKILL.md

Language Detection Skill

Goal

Autonomously detect the programming language, framework, build tools, and verification commands for ANY project.

When to Use

  • User asks: "What language is this project?"
  • Initializing ralph-dev for a new project
  • User runs: /detect-language

Workflow

Step 0: Initialize CLI (Automatic)

IMPORTANT: This skill requires the Ralph-dev CLI. It will build automatically on first use.

bash
# Bootstrap CLI - runs automatically, builds if needed
source ${CLAUDE_PLUGIN_ROOT}/shared/bootstrap-cli.sh
# Verify CLI is ready
ralph-dev --version
Step 1: Scan Project Structure
bash
# List root files
ls -la
# Find config files (depth 2)
find . -maxdepth 2 -type f \( \
-name 'package.json' -o -name '*.toml' -o -name '*.gradle' \
-o -name 'pom.xml' -o -name 'Gemfile' -o -name 'go.mod' \
-o -name '*.csproj' -o -name 'Makefile' -o -name 'Package.swift' \
\) 2>/dev/null
# Count source files by extension
for ext in ts js py go rs java rb php cs cpp swift; do
count=$(find . -name "*.$ext" -type f 2>/dev/null | wc -l)
[ "$count" -gt 0 ] && echo "$ext: $count files"
done
Step 2: Analyze Config Files

Read the primary config file for the detected language and extract:

  • Dependencies and devDependencies
  • Scripts/commands available
  • Framework indicators
Step 3: Determine Stack

Based on evidence, identify:

ComponentHow to Detect
LanguagePrimary config file + file extensions
FrameworkCheck dependencies for react, django, express, etc.
Build ToolConfig files: vite.config, webpack.config, Cargo.toml
Package ManagerLock files: pnpm-lock.yaml, yarn.lock, go.sum
Test FrameworkdevDependencies: jest, vitest, pytest
Step 4: Generate Verification Commands

Language → Commands Mapping:

LanguageType CheckLintTestBuild
TypeScriptnpx tsc --noEmitnpm run lintnpm testnpm run build
Pythonmypy .flake8pytest-
Go-go vet ./...go test ./...go build ./...
Rust-cargo clippycargo testcargo build
Java (Maven)--mvn testmvn package
Java (Gradle)--./gradlew test./gradlew build
Ruby-rubocoprspec-
C#--dotnet testdotnet build

Adapt commands based on actual project config (scripts in package.json, etc.)

Step 5: Save Results
bash
# Build JSON result
RESULT='{ "language": "...", "verifyCommands": [...] }'
# Save using CLI
ralph-dev detect-ai-save "$RESULT"
Step 6: Display Summary
markdown
✅ Language Detection Complete
Language: {language}
Framework: {framework}
Build Tool: {buildTool}
Package Manager: {packageManager}
Test Framework: {testFramework}
Confidence: {N}%
Verification Commands:
1.{typecheck command}
2.{lint command}
3.{test command}
4.{build command}

Output Format

json
{
"language": "typescript",
"confidence": 0.95,
"evidence": ["package.json exists", "tsconfig.json exists", "47 .ts files"],
"framework": "react",
"buildTool": "vite",
"packageManager": "pnpm",
"testFramework": "vitest",
"verifyCommands": [
"npx tsc --noEmit",
"pnpm run lint",
"pnpm test",
"pnpm run build"
]
}

Edge Cases

Monorepo: Multiple config files in subdirectories

  • Detect as monorepo, list packages with their languages
  • Generate per-package verification commands

Multi-Language: Significant files from multiple languages

  • Identify primary language
  • Note secondary languages
  • Generate commands for each

Custom Build: No recognized build system

  • Lower confidence score
  • Check for Makefile targets
  • Suggest manual configuration

Constraints

  • NEVER assume without evidence - always scan files first
  • NEVER suggest commands for tools not present in project
  • ALWAYS base confidence on concrete file presence
  • ALWAYS adapt commands to project's actual scripts/config
  • ALWAYS handle edge cases (monorepo, multi-language)

Error Handling

ErrorAction
No config files foundLower confidence, detect from file extensions
Conflicting indicatorsNote ambiguity, ask user to clarify
Unknown build systemSuggest manual configuration

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mylukin/ralph-dev/detect-language/badge)](https://verified-skill.com/skills/mylukin/ralph-dev/detect-language)

Something wrong with this skill or its page? Tell us.