Claude-skill-registry agent-ops-build
Language-aware build orchestration that detects project language and runs appropriate build pipeline
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/agent-ops-build" ~/.claude/skills/majiayu000-claude-skill-registry-agent-ops-build && rm -rf "$T"
manifest:
skills/data/agent-ops-build/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- pip install
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
agent-ops-build
Language-aware build orchestration skill that detects project language and runs the appropriate build pipeline.
Purpose
Provide a unified build command that:
- Auto-detects project language(s) from configuration files
- Runs language-appropriate build stages
- Reports findings in a consistent format
- Integrates with agent-ops-baseline for comparison
When to Use
- Running a full build pipeline
- Validating changes before commit
- Capturing baseline metrics
- When constitution lacks explicit build commands
Detection Logic
flowchart TD A[Start] --> B{pyproject.toml?} B -->|Yes| C[Python Project] B -->|No| D{setup.py?} D -->|Yes| C D -->|No| E{package.json?} E -->|Yes| F[Node.js Project] E -->|No| G{*.sln?} G -->|Yes| H[.NET Project] G -->|No| I{*.csproj?} I -->|Yes| H I -->|No| J[Unknown - Check Constitution]
Language Detection
| Language | Indicators | Priority |
|---|---|---|
| Python | , , | 1 |
| TypeScript/JS | , | 2 |
| C#/.NET | , | 3 |
For mixed projects, run pipelines in priority order.
Build Pipelines
Python Pipeline
Stage 1: Dependencies → uv sync / pip install Stage 2: Format → ruff format --check Stage 3: Lint → ruff check Stage 4: Type Check → mypy src/ Stage 5: Test → pytest --cov Stage 6: Coverage → Check threshold
Commands:
uv sync uv run ruff format --check . uv run ruff check . uv run mypy src/ uv run pytest --cov=src --cov-report=term-missing
TypeScript/Node.js Pipeline
Stage 1: Dependencies → npm ci / pnpm install Stage 2: Format → prettier --check Stage 3: Lint → eslint Stage 4: Type Check → tsc --noEmit Stage 5: Test → vitest run / jest Stage 6: Coverage → Check threshold
Commands:
pnpm install pnpm run format:check pnpm run lint pnpm run typecheck pnpm run test:coverage
C#/.NET Pipeline
Stage 1: Dependencies → dotnet restore Stage 2: Format → dotnet format --verify-no-changes Stage 3: Build → dotnet build -c Release Stage 4: Test → dotnet test --collect:"XPlat Code Coverage" Stage 5: Coverage → ReportGenerator (if available)
Commands:
dotnet restore dotnet format --verify-no-changes dotnet build -c Release --no-restore dotnet test -c Release --no-build --collect:"XPlat Code Coverage"
Workflow
1. Detection Phase
Detecting project type... ✓ Found pyproject.toml → Python ✓ Found package.json → Node.js Detected: Python + Node.js (mixed project)
2. Configuration Phase
Check for existing configuration:
- Constitution commands (highest priority)
- Package manager detection (uv vs pip, pnpm vs npm)
- Tool configuration files (ruff.toml, eslint.config.js)
3. Execution Phase
Run each stage, stopping on first failure:
Python Build Pipeline ═════════════════════ [1/6] Dependencies $ uv sync ✓ Resolved 45 packages (2.1s) [2/6] Format Check $ uv run ruff format --check . ✓ 23 files checked (0.3s) [3/6] Lint $ uv run ruff check . ✓ 0 issues (0.4s) [4/6] Type Check $ uv run mypy src/ ✓ Success, no errors (1.2s) [5/6] Tests $ uv run pytest --cov=src ✓ 45 passed (3.1s) [6/6] Coverage ✓ 84.2% (threshold: 80%) ═════════════════════ ✓ BUILD SUCCESSFUL Total time: 7.1s
4. Report Phase
Generate consistent output:
## Build Report **Project**: my-project **Languages**: Python, Node.js **Date**: 2024-01-15 10:30:00 ### Python | Stage | Status | Time | Notes | |-------|--------|------|-------| | Dependencies | ✓ | 2.1s | 45 packages | | Format | ✓ | 0.3s | 23 files | | Lint | ✓ | 0.4s | 0 issues | | Type Check | ✓ | 1.2s | - | | Tests | ✓ | 3.1s | 45 passed | | Coverage | ✓ | - | 84.2% | ### Node.js | Stage | Status | Time | Notes | |-------|--------|------|-------| | Dependencies | ✓ | 4.2s | 120 packages | | Format | ✓ | 0.5s | - | | Lint | ✓ | 1.1s | 0 warnings | | Type Check | ✓ | 2.3s | - | | Tests | ✓ | 5.2s | 78 passed | | Coverage | ✓ | - | 72.1% | ### Summary - **Status**: ✓ PASSED - **Total Time**: 19.4s - **Warnings**: 0 - **Errors**: 0
Constitution Integration
If constitution.md has explicit commands, prefer those:
# Constitution ## Commands - **Build**: `make build` - **Test**: `make test` - **Lint**: `make lint`
The skill will use constitution commands over auto-detected ones.
Baseline Integration
When
--baseline flag is used or baseline.md exists:
- Run build pipeline
- Compare results to baseline
- Report differences
Comparing to baseline (2024-01-14)... | Metric | Baseline | Current | Change | |--------|----------|---------|--------| | Tests | 45 | 48 | +3 | | Coverage | 82.1% | 84.2% | +2.1% | | Lint | 0 | 0 | - | | Type Errors | 0 | 0 | - | ✓ No regressions detected
Options
| Option | Description | Default |
|---|---|---|
| Force specific language | auto-detect |
| Run specific stage only | all |
| Auto-fix issues (format, lint) | false |
| Compare to baseline | false |
| Fail on warnings | false |
| Minimum coverage | from config |
Error Handling
Stage Failure
[3/6] Lint $ uv run ruff check . ✗ 3 issues found src/auth.py:45:1: E501 Line too long (120 > 100) src/users.py:12:5: F401 Unused import 'os' src/users.py:30:1: E302 Expected 2 blank lines Hint: Run with --fix to auto-fix 2 issues ═════════════════════ ✗ BUILD FAILED at stage: Lint
Missing Tools
[2/6] Format Check ⚠ ruff not found Hint: Install with 'uv add --dev ruff' Skipping format check...
Examples
Basic Build
Run the build pipeline
Specific Language
Run Python build only
With Auto-fix
Run build and fix any auto-fixable issues
Compare to Baseline
Run build and compare to baseline
Output Files
The skill can optionally output:
— Markdown reportbuild-report.md
— Machine-readable JSONbuild-report.json- Updates to
— If capturing new baselinebaseline.md
Integration with Other Skills
| Skill | Integration |
|---|---|
| Compare results, update baseline |
| Pre-commit validation |
| Read custom commands |
| Handle build failures |
Troubleshooting
"No project detected"
Ensure you have one of:
/pyproject.toml
(Python)setup.py
(Node.js)package.json
/*.sln
(.NET)*.csproj
Or add explicit commands to constitution.md.
"Tool not found"
Install required tools:
- Python:
,uv
,ruff
,mypypytest - Node.js:
/pnpm
,npm
,eslintprettier - .NET:
CLIdotnet
"Coverage below threshold"
Either:
- Add more tests to increase coverage
- Adjust threshold in configuration
- Use
to override--coverage-threshold