{
  "markdown": "# memoriant-test-coverage-skill\n\n![Version](https://img.shields.io/badge/version-1.0.0-blue)\n![License](https://img.shields.io/badge/license-MIT-green)\n![Platform](https://img.shields.io/badge/platform-Claude%20Code%20%7C%20Codex%20CLI%20%7C%20Gemini%20CLI-lightgrey)\n![Python](https://img.shields.io/badge/python-3.8%2B-yellow)\n\nA Claude Code plugin that finds every untested function in a Python project using AST inspection and generates ready-to-fill pytest skeleton files for each gap.\n\nBuilt on the methodology of [`NathanMaine/semantic-test-coverage-agent`](https://github.com/NathanMaine/semantic-test-coverage-agent) and packaged as a portable Claude Code skill + agent.\n\n---\n\n## What It Does\n\n1. Scans `src/` recursively using Python's `ast` module — no mutation testing, no heuristic scoring.\n2. Maps every public function and method to existing `test_*` functions in `tests/` using naming-convention matching.\n3. Produces a structured JSON gap report listing every uncovered function.\n4. Generates a `tests/test_<module>.py` skeleton file for each source module with gaps — complete with imports, one `class Test<Name>` per function, and a `_happy_path` / `_edge_case` stub pair.\n5. Never overwrites existing tests. Never touches source code.\n\n---\n\n## Installation\n\n### Claude Code\n\n```bash\nclaude mcp add memoriant-test-coverage-skill\n```\n\nOr clone and reference locally:\n\n```bash\ngit clone https://github.com/NathanMaine/memoriant-test-coverage-skill ~/.claude/plugins/memoriant-test-coverage-skill\n```\n\n### Codex CLI\n\n```bash\ncodex install NathanMaine/memoriant-test-coverage-skill\n```\n\n### Gemini CLI\n\n```bash\ngemini extension install NathanMaine/memoriant-test-coverage-skill\n```\n\n---\n\n## Usage\n\n### In Claude Code (natural language)\n\n```\nFind what I'm missing in my test suite\n```\n\n```\nGenerate pytest stubs for all untested functions in src/\n```\n\n```\nRun semantic test coverage on ./backend and write skeletons to ./backend/tests\n```\n\n### Via skill invocation\n\n```\n/semantic-test-coverage --project-path ./my_project --output-dir ./my_project/tests\n```\n\n### Via Codex CLI\n\n```bash\ncodex run test-coverage-agent --var project_path=./my_project\n```\n\n---\n\n## Plugin Structure\n\n```\nmemoriant-test-coverage-skill/\n├── .claude-plugin/\n│   └── plugin.json              # Plugin manifest\n├── skills/\n│   └── semantic-test-coverage/\n│       └── SKILL.md             # Full methodology for Claude Code\n├── agents/\n│   └── test-coverage-agent.md  # Autonomous agent definition\n├── AGENTS.md                    # Codex CLI agent definitions\n├── gemini-extension.json        # Gemini CLI extension manifest\n├── SECURITY.md                  # Security policy\n├── README.md                    # This file\n└── LICENSE                      # MIT\n```\n\n---\n\n## Configuration\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `project_path` | `.` | Root of the Python project to scan |\n| `output_dir` | `tests/` | Where to write generated skeleton files |\n| `include_private` | `false` | Also generate stubs for `_private` functions |\n| `format` | `json` | Gap report format: `json` or `markdown` |\n\n---\n\n## Output\n\n### Gap Report (`coverage_gaps.json`)\n\n```json\n{\n  \"scanned_at\": \"2026-03-25T10:00:00Z\",\n  \"project_path\": \"/home/dev/my_project\",\n  \"total_source_functions\": 42,\n  \"total_covered\": 31,\n  \"gap_count\": 11,\n  \"gaps\": {\n    \"src/generator.py\": [\n      {\"type\": \"function\", \"name\": \"render_skeleton\"},\n      {\"type\": \"function\", \"name\": \"write_output_file\"}\n    ]\n  }\n}\n```\n\n### Console Summary\n\n```\nSemantic Test Coverage Report\n─────────────────────────────\nSource functions found : 42\nAlready covered        : 31\nGaps identified        : 11\nSkeleton files written : 3\n\nNew stubs written to:\n  tests/test_generator.py      (2 functions)\n  tests/test_analyzer.py       (7 functions)\n  tests/test_main.py           (2 functions)\n```\n\n---\n\n## Source Reference\n\nThis plugin is derived from [`NathanMaine/semantic-test-coverage-agent`](https://github.com/NathanMaine/semantic-test-coverage-agent), a CLI tool that scans Python projects via AST inspection and produces coverage gap reports and test skeletons.\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 4194,
  "sha": "ffe4329dee633db7c30fb12a293575bcd93dfabbf9859f790294b02ea7333060",
  "repo_slug": "nathanmaine/memoriant-test-coverage-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_nathanmaine_memoriant_test_coverage_skil_edf1901e/readme"
}