Skip to content
Back to skills

2107 Fact Schema 7e19ef2a

ASecurity

JSON schema for structured facts gathered by Phase 1 Repo Agents.

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 11, 2026
testinggosqlgitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2107-fact-schema_7e19ef2a --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2107 Fact Schema 7e19ef2a?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2107 Fact Schema 7e19ef2a
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2107-fact-schema-7e19ef2a/badge)](https://www.skillsdirectory.com/skills/tools-only-2107-fact-schema-7e19ef2a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Fact Schema

JSON schema for structured facts gathered by Phase 1 Repo Agents.

## Full Schema

```json
{
  "repo_label": "string - Display name for this repo",
  "repo_path": "string - Absolute path to repo",
  "git_info": {
    "branch": "string - Current branch name",
    "base": "string - Base branch (usually main)",
    "files_changed": "number - Count of changed files",
    "additions": "number - Lines added",
    "deletions": "number - Lines deleted",
    "diff_summary": "string - Brief description of changes"
  },
  "functionality": {
    "spec_requirements": ["array of requirement strings extracted from spec"],
    "implemented": ["array of requirements found implemented"],
    "missing": ["array of requirements not found"],
    "partially_implemented": ["array of requirements with incomplete implementation"],
    "test_results": {
      "ran": "boolean - Whether tests were executed",
      "framework": "string - pytest, jest, go test, etc.",
      "passed": "number",
      "failed": "number",
      "skipped": "number",
      "error_summary": "string - Brief description of failures if any"
    }
  },
  "security": {
    "findings": [
      {
        "file": "string - File path",
        "line": "number - Line number",
        "issue": "string - Description of security issue",
        "severity": "high | medium | low",
        "category": "string - OWASP category if applicable"
      }
    ],
    "patterns_observed": ["array of positive security patterns found"]
  },
  "tests": {
    "test_count": "number - Total test count",
    "coverage_estimate": "none | low | moderate | high",
    "dry_violations": [
      {
        "file": "string",
        "line": "number",
        "description": "string"
      }
    ],
    "mocking_approach": "string - Description of mocking strategy",
    "test_quality_notes": "string - General observations"
  },
  "overengineering": {
    "abstractions": [
      {
        "file": "string",
        "line": "number",
        "issue": "string - Description of over-abstraction"
      }
    ],
    "defensive_code": [
      {
        "file": "string",
        "line": "number",
        "issue": "string"
      }
    ],
    "config_complexity": "low | medium | high"
  },
  "dead_code": {
    "unused_imports": ["array of file:line references"],
    "unused_functions": ["array of file:line references"],
    "unused_variables": ["array of file:line references"],
    "todo_comments": "number - Count of TODO/FIXME",
    "commented_code_blocks": "number - Count of commented code"
  }
}
```

## Example

```json
{
  "repo_label": "Claude",
  "repo_path": "/path/to/repo-a",
  "git_info": {
    "branch": "main",
    "base": "main",
    "files_changed": 42,
    "additions": 1250,
    "deletions": 380,
    "diff_summary": "Adds auth flow and data export features"
  },
  "functionality": {
    "spec_requirements": ["auth flow", "data export", "rate limiting"],
    "implemented": ["auth flow", "data export"],
    "missing": ["rate limiting"],
    "partially_implemented": [],
    "test_results": {
      "ran": true,
      "framework": "pytest",
      "passed": 45,
      "failed": 2,
      "skipped": 1,
      "error_summary": "2 tests fail on edge case validation"
    }
  },
  "security": {
    "findings": [
      {
        "file": "src/api.py",
        "line": 42,
        "issue": "SQL string concatenation instead of parameterized query",
        "severity": "high",
        "category": "Injection"
      }
    ],
    "patterns_observed": ["input validation present", "no secrets in code", "HTTPS enforced"]
  },
  "tests": {
    "test_count": 48,
    "coverage_estimate": "moderate",
    "dry_violations": [
      {
        "file": "tests/test_api.py",
        "line": 15,
        "description": "Setup code repeated in 5 test functions"
      }
    ],
    "mocking_approach": "Mocks at adapter boundary, uses pytest fixtures",
    "test_quality_notes": "Good isolation, some DRY issues"
  },
  "overengineering": {
    "abstractions": [
      {
        "file": "src/factory.py",
        "line": 1,
        "issue": "Factory pattern for single implementation"
      }
    ],
    "defensive_code": [],
    "config_complexity": "low"
  },
  "dead_code": {
    "unused_imports": ["src/utils.py:3"],
    "unused_functions": [],
    "unused_variables": [],
    "todo_comments": 2,
    "commented_code_blocks": 1
  }
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.