Skip to main content

project-tech-eval

Evaluate technical architecture, code quality, dependencies, and platform fit of an OSS project

Zur Installation springen

Quellinformationen

Repository
redhat-et/physical-ai-platform-intel
Letzte Quellaktivität
22. Juni 2026 um 21:34
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
7 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
project-tech-eval
description
Evaluate technical architecture, code quality, dependencies, and platform fit of an OSS project
user-invocable
true
argument-hint
<github-url | project-url | project-name>
# Project Technical Evaluator Evaluate the technical architecture, code quality, dependency health, security posture, and Red Hat platform fit of an open-source project. Assesses opportunities and risks for potential contribution, integration, or downstreaming. ## Usage ```text /project-tech-eval https://github.com/newton-physics/newton /project-tech-eval https://ros.org /project-tech-eval "Isaac Lab" ``` ## Input Same input types and `--single-repo` flag as `project-health-eval`. See that skill for full details on repo discovery and classification (Core / Ecosystem / Peripheral / Upstream-downstream). If `project-health-eval` has already run, reuse its repo scoping from the existing report rather than rediscovering. If running standalone, perform the same discovery process. ## Output Populates **Part B (Technical Analysis)** of the project report at `deliverables/intel/projects/{project}.md`. If a report already exists (from `project-health-eval`), updates Part B in place. If no report exists, creates one with Part B filled and Part A marked `<!-- TODO: run project-health-eval -->`. Also populates the **Red Hat Platform Fit Assessment** section and **Executive Summary** (since the summary requires both Part A and Part B — updates it if Part A is already present). ## Report Organization - **One report per project** in `deliverables/intel/projects/`, flat folder (no subfolders by block) - **Multi-block projects** (e.g., Genesis World = Simulation Engines + Synthetic Data Generation): one report, list all building blocks in Project Identity - **Cross-project dependencies**: fill `Depends on` and `Depended on by` in Project Identity when a project requires or is required by another evaluated project. Format: `[Project Name](sibling-report.md) — role description` - **Separate layered projects**: if a project is really two distinct tools at different layers (e.g., Isaac Lab is a learning framework on top of Isaac Sim the simulator), write separate reports. Each gets its own building block, competitor set, and dependency cross-link ## Shared Workspace Both `project-health-eval` and `project-tech-eval` use a shared workspace for cloned repos: ```text deliverables/intel/.workspace/repos/{project-name}/ ``` - This directory is gitignored (under `deliverables/intel/`) - On first run: `git clone` (shallow for large repos, full for small ones) - On subsequent runs: `git pull` to pick up changes since last evaluation - Repos persist between runs — no re-cloning on every invocation - For multi-repo projects, each repo gets its own subdirectory: `deliverables/intel/.workspace/repos/{project-name}/{repo-name}/` ## Process ### Step 1: Resolve repos and clone/update - If a project report already exists at `deliverables/intel/projects/{project}.md`, read its **Repos analyzed** field to reuse the scoping from `project-health-eval` - Otherwise, perform the same discovery process as `project-health-eval` Step 1 (scope and discover) - Check if `deliverables/intel/.workspace/repos/{project}/` exists - If exists: `git pull` and note what changed since last eval - If new: `git clone --depth=100` (enough history for churn analysis) ### Step 2: Run analysis scripts Execute scripts from `.claude/skills/project-tech-eval/scripts/` against the cloned repo. Each script outputs structured JSON or markdown fragments. | Script | What it produces | | --- | --- | | `dep-tree.sh` | Dependency tree (pip/npm/go/cargo), transitive dep count, **Libyears** (CHAOSS metric) | | `license-scan.sh` | Licenses of all direct and key transitive dependencies, copyleft/unknown risk flags | | `security-scan.sh` | Known CVEs via osv-scanner, grype, or ecosystem tools (pip-audit, npm audit, govulncheck) | | `code-metrics.sh` | LOC by language, TODO/FIXME density, churn hotspots, lint/format config, code review signal | | `build-check.sh` | Build system detection, containerization (Dockerfile, Helm, Kustomize), reproducibility, GPU support signals | | `test-check.sh` | Test framework detection, coverage config, CI test matrix, property testing, benchmarks | Scripts are best-effort — they handle missing tools gracefully and report what they could and couldn't analyze. ### Step 3: Architecture analysis Read the codebase structure and documentation to understand: - **Major subsystems**: What are the top-level modules/packages? What does each do? - **Data flow**: How do components communicate? (APIs, message passing, shared state) - **Extension model**: How do users extend the project? (plugin API, SDK, configuration, forking) - **Key dependencies**: Which large external projects does it depend on? (PyTorch, K8s, ROS 2, etc.) - **Runtime requirements**: What must be present? (specific GPUs, cloud services, proprietary runtimes) ### Step 3b: Capabilities & positioning assessment Assess the project's functional capabilities, lock-in risk, and production adoption: - **Capabilities**: Extract key functional capabilities from documentation, README, feature lists, and architecture analysis. Focus on what distinguishes this project from competitors in the same building block. List as a table of capability + detail. - **Lock-in**: Assess on 3 dimensions, each rated Low / Medium / High: - **Hardware**: GPU/accelerator dependency (e.g., "CUDA-only" vs "CUDA + ROCm + Metal") - **Vendor**: Who controls critical code paths, forks, or compiler dependencies? - **Ecosystem**: Data format lock-in, platform gravity, migration cost (e.g., "MJCF is open XML, widely supported" or "58K datasets on HF Hub create switching cost") - **Production adoption**: WebSearch for "who uses {project}", case studies, conference talks, production deployment blog posts. List notable companies and how they use it. ### Step 4: Evaluate dimensions Rate each dimension using controlled vocabulary: | Dimension | Ratings | How to assess | | --- | --- | --- | | **Architecture clarity** | Clear / Adequate / Tangled | Modular boundaries, documented interfaces, separation of concerns | | **Tech stack alignment** | Aligned / Neutral / Misaligned | vs Red Hat choices: K8s-native, PyTorch-based, container-friendly, Linux-first | | **Dependency health** | Healthy / Watch / Risky | Transitive dep count, single-maintainer deps, abandoned deps, CVEs | | **Test coverage** | Strong / Adequate / Weak | Coverage %, CI setup, test types (unit/integration/e2e) | | **Security posture** | Strong / Adequate / Weak | OpenSSF score, CVE history, security policy, SBOM, signed releases | | **Code quality signals** | Strong / Adequate / Weak | Churn hotspots, TODO density, lint/format enforcement, code review practice | | **Extensibility** | Plugin API / SDK / Forkable / Monolithic | How users add functionality | | **Hardware portability** | Portable / Limited / Locked | Multi-GPU-vendor? Multi-platform? CUDA-only? | ### Step 5: Platform fit assessment Assess alignment with Red Hat's technology stack and contribution model: **Alignment signals** — things that make adoption easy: - License compatible with downstream redistribution (Apache 2.0, BSD, MIT) - K8s-native deployment, runs on OpenShift without modification - PyTorch-based (aligns with RHOAI training stack) - Container-friendly build and deployment - No CLA or a DCO-only contribution model - Active, diverse maintainer community **Risk signals** — things that make adoption problematic: - CUDA-only GPU backend (no ROCm, no CPU fallback) - CLA required (limits Red Hat contribution) - Core maintainers employed by a single competitor - Proprietary runtime dependency (e.g., Omniverse Kit SDK) - Unstable API, frequent breaking changes - Supply chain risks (single-maintainer transitive deps, known CVEs, license conflicts) **Supply chain assessment** — from script outputs: - License conflicts in transitive dependency tree - Known CVEs and their severity - Single-maintainer critical dependencies ### Step 6: Write report Fill Part B of the project report template (including Capabilities & Positioning, Lock-in Assessment, and Production Adoption sections), plus Red Hat Platform Fit Assessment. **Executive Summary fields this skill fills:** - **What it is**: 1-sentence description (if not already filled by project-health-eval) - **Technical verdict**: Strong / Adequate / Concerning + rationale - **Red Hat fit**: Align / Neutral / Misalign + rationale **Executive Summary fields this skill must NOT fill:** - **Health verdict**: owned by project-health-eval - **Recommendation**: owned by project-comparison or manual assessment. Leave as template placeholder. **Naming rules**: same as project-health-eval — use "Product (Vendor)" format for all entity references. ### Step 7: Validation - [ ] All scorecard dimensions rated using controlled vocabulary - [ ] Architecture overview captures major subsystems and key dependencies - [ ] Script outputs referenced (not just LLM impression) - [ ] Red Hat fit assessment addresses both alignment and risk signals - [ ] Supply chain assessment includes license, CVE, and bus-factor findings - [ ] **No ambiguous names**: every entity uses "Product (Vendor)" format - [ ] **Field ownership respected**: Recommendation field not filled; Health verdict not filled - [ ] Cross-links to company profiles where the project is a product of a tracked company ## Scripts Scripts live in `.claude/skills/project-tech-eval/scripts/`. They are shell scripts that: - Accept a repo path as the first argument - Output structured data (JSON preferred, markdown fallback) - Handle missing tools gracefully (e.g., if `osv-scanner` isn't installed, report that and skip) - Run without network access except for CVE database lookups - Are idempotent and fast ### Script development guidelines - Keep scripts simple — they extract data, not analyze it. Analysis is the LLM's job. - Support common ecosystems: Python (pip/pyproject.toml), Node (package.json), Go (go.mod), Rust (Cargo.toml), C++ (CMakeLists.txt/Bazel) - Output a `"status": "ok" | "partial" | "skipped"` field so the LLM knows what succeeded
Auf GitHub ansehen