shubhamsaboo/awesome-llm-apps

dependency-doctor

- Checks requirements.txt, pyproject.toml, and package.json dependency manifests for surface-level direct-dependency footguns: standard-library shadowing pins, abandoned backports, unpinned dependencies, and obvious intra-manifest conflicts, plus opt-in PyP…

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/shubhamsaboo/awesome-llm-apps --skill dependency-doctor

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

Dependency Doctor

Inspect one dependency manifest on the user's machine for direct, surface-level footguns. Explain each finding in plain language, then offer a small, reviewable fix. This does not diagnose a failed pip or uv resolution.

This is a local developer tool for a project the user chooses. It is not a repository-wide lint rule, a CI gate, or a proposal to enforce dependency policy across unrelated apps.

When to use

  • The user asks to check, audit, diagnose, or autopsy a dependency manifest
  • The user wants to rule out direct-manifest issues before deeper install debugging
  • The user suspects stale pins, backports, duplicate entries, or dependency rot
  • The user asks whether anything looks wrong with their dependencies

When not to use

  • Installing the current dependencies without diagnosing them
  • Upgrading every package or adding a new package
  • A full vulnerability audit. Use pip-audit, npm audit, or the project's

approved security scanner for CVE coverage

  • Creating a repo-wide CI check. This skill is user-invoked and local

Choose the manifest

Use the path the user names. If no path is given and several manifests exist, ask which one to inspect. Do not sweep the repository or edit anything merely because the skill was triggered.

Supported inputs:

  • requirements.txt
  • pyproject.toml using PEP 621 or common Poetry dependency tables
  • package.json dependency sections

Run the offline diagnosis

From this skill directory:

bash
python3 scripts/dep_doctor.py /path/to/requirements.txt --json

The default path is fully offline. It reads only the selected manifest. The report shape is:

json
{
  "file": "/path/to/requirements.txt",
  "findings": [
    {
      "severity": "high",
      "kind": "stdlib-shadowing",
      "package": "pathlib",
      "line": 4,
      "why": "...",
      "fix": "..."
    }
  ],
  "summary": {
    "total": 1,
    "by_severity": {"high": 1},
    "by_kind": {"stdlib-shadowing": 1},
    "online": false
  }
}

The offline checks cover:

  • Python standard-library names published as packages
  • Known backports that should not be installed on supported Python versions
  • Dependencies without a usable version constraint
  • Repeated package entries
  • Conflicting exact pins for the same package

For package.json, Python-specific standard-library and backport checks do not apply. The doctor still checks unpinned values and repeated dependency entries.

Explain the diagnosis

Read references/dependency-pitfalls.md before presenting findings. Lead with high severity items, then medium and low. For each finding, include:

  1. Package and source line
  2. What can break
  3. The suggested fix

Do not call every range a conflict. The deterministic core reports conflicting constraints only when exact pins disagree. Compatible constraints split across multiple lines are duplicate entries that should be combined.

If there are no findings, say what was checked and note the limits. A clean report is not a CVE audit or a full dependency resolver.

Optional PyPI yank check

The online check sends package names and exact pinned versions to pypi.org. Ask for permission before enabling it, even if the user previously requested an offline diagnosis.

bash
python3 scripts/dep_doctor.py /path/to/requirements.txt --json --online

It reports an exact Python release only when every file for that release is marked yanked. Network failures become low-severity findings instead of hiding the offline diagnosis.

Offer fixes, do not apply them silently

After explaining the report, offer a focused edit. Wait for approval before changing the manifest.

  • Remove standard-library packages from supported Python projects
  • Remove obsolete backports, or add a Python-version marker when an old runtime

genuinely needs one

  • For an unpinned dependency, inspect the working environment's installed

version, confirm it is intended, and propose an exact reviewed pin

  • Keep one entry for duplicates and combine compatible constraints
  • For conflicting exact pins, inspect dependents before choosing a version
  • Replace a yanked pin with a tested, non-yanked release

After any approved edit, rerun the offline diagnosis and the project's existing install or test command. Do not introduce a new CI gate.

Files

  • scripts/dep_doctor.py: stdlib-only manifest parser and diagnosis engine
  • references/dependency-pitfalls.md: reasoning guide for the reported risks

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills
shubhamsaboo
コミュニティ

project-graveyard

- Scans the developer's machine for dead side projects, autopsies each one from its git history (died at the payments wall, killed by a newer project, finished but never shipped), surfaces their personal death patterns, and picks the corpse most worth resurrecting — then helps ship it. Use when the user mentions abandoned, unfinished, or old side projects, asks "what should I finish", wants to revive or resurrect a project, says "run the graveyard", wonders why they never finish anything, or is

導入数
1
GitHub Stars
14.1万
更新日
9月30日
shubhamsaboo
コミュニティ

scope-creep-detector

- Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad pull requests, changes that grew beyond a fix, dependency additions, public API renames, config or CI edits, oversized hunks, and formatting-only files. Use when the user asks whether a change grew beyond the fix, a PR is too broad, or what unrelated stuff they touched, and wants keep, split, or justify guidance. Operates locally and offline.

導入数
1
GitHub Stars
14.1万
更新日
9月30日
shubhamsaboo
コミュニティ

commit-archaeologist

- Reconstructs why code exists from local git history, including the introducing commit, later changes, current authors, repeated companion files, and likely intent. Use when the user asks "why does this code exist", "who wrote this function and why", or to "explain the history of this function" before a rewrite, refactor, or risky edit. Runs entirely locally.

導入数
1
GitHub Stars
14.1万
更新日
9月30日
shubhamsaboo
コミュニティ

advisor-orchestrator-worker

- Use when a task is too large for one model pass, needs parallel research or generation across many subtasks (like researching a dozen competitors at once), or the user asks to orchestrate multiple models, split work across a model team, run an advisor-worker loop, have a stronger model review the plan while cheap workers execute, or says "too big for one model" or "fan this out". Not for single-file edits or tasks one model handles in one pass.

導入数
1
GitHub Stars
13.8万
更新日
9月12日