{
  "identity": {
    "name": "liatrio-agents-md",
    "version": "latest",
    "publisher": {
      "name": "liatrio-labs",
      "verified": false
    },
    "source": "https://github.com/liatrio-labs/ai-prompts",
    "license": "unknown",
    "type": "skill",
    "subtype": "rules_file",
    "git_sha": "54605137aa8522c914f73faf40581b4d249701aa"
  },
  "description": {
    "summary": "Splits large or mixed-concern Git branches into smaller, reviewable pull request stacks with safety references and merge sequencing.",
    "semantic": {
      "capabilities": [
        "branch_splitting",
        "pr_decomposition",
        "git_workflow",
        "code_review",
        "merge_sequencing",
        "topology_selection",
        "parity_audits"
      ],
      "constraints": {
        "requires_git": "Must have Git version control system available",
        "requires_filesystem": "Needs read/write access to filesystem",
        "requires_code_execution": "Must be able to execute code and Git commands",
        "cross_platform": "Works across multiple agent platforms (Claude Code, Cursor, Windsurf, Codex, OpenCode)"
      }
    },
    "categories": [
      "git",
      "version_control",
      "code_review",
      "workflow",
      "development_tools"
    ],
    "solves": "I need to break down oversized or mixed-concern branches into smaller, manageable pull requests that are easier to review and less prone to conflicts."
  },
  "dependencies": [
    {
      "type": "runtime",
      "name": "git",
      "version": "any",
      "required": true
    },
    {
      "type": "agent_capability",
      "name": "code_execution",
      "version": "any",
      "required": true
    },
    {
      "type": "agent_capability",
      "name": "filesystem:read",
      "version": "any",
      "required": true
    },
    {
      "type": "agent_capability",
      "name": "filesystem:write",
      "version": "any",
      "required": true
    }
  ],
  "supply_chain": {
    "sbom": {
      "format": "N/A",
      "version": "N/A",
      "generated_at": "2026-03-28T21:00:04.178Z",
      "component_count": 0,
      "direct_dependencies": 0,
      "transitive_dependencies": 0,
      "vulnerability_summary": {
        "critical": 0,
        "high": 0,
        "medium": 0,
        "low": 0,
        "none": 0
      },
      "flagged_components": []
    },
    "last_dependency_audit": "2026-03-28T21:00:04.178Z"
  },
  "provenance": {
    "license_present": true,
    "license_file": "LICENSE",
    "security_md_present": true,
    "readme_present": true,
    "readme_empty": false,
    "namespace_match": true,
    "last_commit_date": "2026-03-09T09:43:35-04:00",
    "contributor_count": 1,
    "repo_age_days": 19,
    "template_description": true
  },
  "owasp_mcp_coverage": [
    {
      "id": "MCP01",
      "name": "Excessive Agency & Permissions",
      "covered_by": [
        {
          "stage": "security",
          "description": "Cisco scanner behavioral analysis of permission scope"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP02",
      "name": "Unauthorized Data Access",
      "covered_by": [
        {
          "stage": "adversarial",
          "description": "Category 3 (data exfiltration) attack patterns"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP03",
      "name": "Tool Poisoning",
      "covered_by": [
        {
          "stage": "adversarial",
          "description": "Category 1 (prompt injection) and Category 5 (context poisoning) attack patterns"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP04",
      "name": "Supply Chain Vulnerabilities",
      "covered_by": [
        {
          "stage": "sbom",
          "description": "SBOM generation (syft/cdxgen) and vulnerability scanning (grype/osv-scanner/npm audit)"
        }
      ],
      "status": "gap"
    },
    {
      "id": "MCP05",
      "name": "Command Injection",
      "covered_by": [
        {
          "stage": "adversarial",
          "description": "Category 2 (privilege escalation) and Category 6 (repo config injection) attack patterns"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP06",
      "name": "Intent Subversion",
      "covered_by": [
        {
          "stage": "adversarial",
          "description": "Category 1 (prompt injection) and Category 4 (capability squatting) attack patterns"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP07",
      "name": "Insecure Data Handling",
      "covered_by": [
        {
          "stage": "security",
          "description": "Cisco scanner data flow and sensitive data handling analysis"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP08",
      "name": "Insufficient Logging",
      "covered_by": [],
      "status": "gap",
      "gap_note": "Not directly tested — logging adequacy requires runtime observation beyond current pipeline scope"
    },
    {
      "id": "MCP09",
      "name": "Resource Exhaustion",
      "covered_by": [
        {
          "stage": "fingerprint",
          "description": "Resource profiling (CPU, memory) during functional and adversarial testing"
        }
      ],
      "status": "covered"
    },
    {
      "id": "MCP10",
      "name": "Context Injection",
      "covered_by": [
        {
          "stage": "adversarial",
          "description": "Category 5 (context poisoning) attack patterns"
        }
      ],
      "status": "covered"
    }
  ],
  "composability": {
    "tested_with": [],
    "known_conflicts": [],
    "certified_workflows": []
  },
  "trust": {
    "score": 68,
    "grade": "D",
    "maturity": "Initial",
    "scheme_version": "2.0",
    "verified_at": "2026-03-28T21:00:04.182Z",
    "consumer_confirmations": {
      "total": 0,
      "confirmation_rate": 0,
      "last_30_days": {
        "consumptions": 0,
        "confirmations": 0,
        "disputes": 0,
        "dispute_categories": {}
      }
    },
    "provenance": {
      "hash": "sha256:3f9d5b86eb9d12be9b91ab3da5394f40aa5fd40f530ea8ab8829eae0dae8bd59",
      "signed_by": "fidensa.com",
      "signature": "see .cert.json artifact",
      "source_verified": true,
      "last_source_audit": "2026-03-28T21:00:04.182Z",
      "attestation_url": "https://fidensa.com/v1/attestation/"
    },
    "history": {
      "first_verified": "2026-03-28T21:00:04.182Z",
      "total_versions_verified": 1,
      "breaking_changes_detected": 0
    },
    "behavioral_fingerprint": {
      "fingerprint_version": "1.0",
      "baseline_created_at": "2026-03-28T20:59:59.224Z",
      "baseline_sample_size": 8,
      "signals": {
        "response_time_ms": {
          "p50": 7934,
          "p95": 18668,
          "p99": 18668
        },
        "error_rate": 0,
        "output_size_bytes": {
          "p50": 1277,
          "p95": 4038,
          "mean": 1878.38
        },
        "skill_specific": {
          "trigger_timing_ms": {
            "min": 5997,
            "max": 14525,
            "mean": 8558.6,
            "p50": 7126,
            "p95": 14525,
            "p99": 14525,
            "sample_count": 5
          },
          "trigger_activation_rate": 0,
          "negative_rejection_rate": 1
        }
      },
      "drift_status": "baseline"
    },
    "score_breakdown": [
      {
        "signal": "security_scan",
        "score": 1,
        "weight": 0.15,
        "contribution": 0.15,
        "source": "stage2b-security",
        "rationale": "No security findings"
      },
      {
        "signal": "supply_chain",
        "score": 1,
        "weight": 0.1,
        "contribution": 0.1,
        "source": "stage2a-sbom",
        "rationale": "Skills have no dependency tree — supply chain N/A, scored as clean"
      },
      {
        "signal": "adversarial",
        "score": 0.98,
        "weight": 0.25,
        "contribution": 0.245,
        "source": "stage3b-adversarial",
        "rationale": "1 finding(s): 1 review (-2%)"
      },
      {
        "signal": "provenance",
        "score": 0.8,
        "weight": 0.2,
        "contribution": 0.16,
        "source": "stage1-ingest",
        "rationale": "source hash present, publisher identified, build succeeded, extraction method: llm_assisted"
      },
      {
        "signal": "consumer_confirm",
        "score": 0,
        "weight": 0.1,
        "contribution": 0,
        "source": "stage3a-functional",
        "rationale": "Pipeline-derived baseline: 0/5 triggers activated (no external reports yet)"
      },
      {
        "signal": "behavioral_pass",
        "score": 0,
        "weight": 0.1,
        "contribution": 0,
        "source": "stage3a-functional",
        "rationale": "0/5 triggers activated (0.0%)"
      },
      {
        "signal": "contract_accuracy",
        "score": 1,
        "weight": 0.06,
        "contribution": 0.06,
        "source": "stage3a-functional",
        "rationale": "3/3 negative tests passed (100.0%)"
      },
      {
        "signal": "uptime",
        "score": 1,
        "weight": 0.04,
        "contribution": 0.04,
        "source": "pipeline-derived",
        "rationale": "Static instruction text — uptime N/A, scored as available"
      }
    ],
    "max_achievable_score": 100,
    "review_flags": [
      {
        "category": "security",
        "severity": "high",
        "source": "stage3b-adversarial",
        "description": "Adversarial finding (prompt_injection_chains): Several skills reference user-provided content (files, messages, data) without explicit data-boundary markers. The git-commit-conventional skill processes git diffs and user requests, the create-pull-request skill analyzes branch changes, and the mastra-api skill processes agent IDs and workflow names from user input. While these skills appear to treat user content as data within their scope, the lack of explicit data boundaries could potentially allow instruction-like user content to influence skill behavior.",
        "blocks_certification": false,
        "kind": "finding"
      },
      {
        "category": "content",
        "severity": "medium",
        "source": "stage4-assembler",
        "description": "Description section was synthesized by LLM from stage data — verify accuracy",
        "blocks_certification": false,
        "kind": "note"
      },
      {
        "category": "publisher",
        "severity": "medium",
        "source": "stage1-ingest",
        "description": "Publisher \"liatrio-labs\" is not verified — first certification from this publisher",
        "blocks_certification": false,
        "kind": "note"
      },
      {
        "category": "provenance",
        "severity": "low",
        "source": "stage1-provenance",
        "description": "Single contributor — no peer review evidence in commit history",
        "blocks_certification": false,
        "kind": "note"
      },
      {
        "category": "provenance",
        "severity": "low",
        "source": "stage1-provenance",
        "description": "Repository is 19 days old — recently created",
        "blocks_certification": false,
        "kind": "note"
      },
      {
        "category": "provenance",
        "severity": "low",
        "source": "stage1-provenance",
        "description": "Package description appears to be boilerplate or template text",
        "blocks_certification": false,
        "kind": "note"
      }
    ]
  },
  "skill": {
    "interface": {
      "format": "markdown",
      "agent_context": {
        "required_capabilities": [
          "code_execution",
          "filesystem:read",
          "filesystem:write"
        ],
        "required_tools": [
          "git",
          "bash"
        ],
        "expected_context": "A Git repository with a branch that needs to be split into multiple smaller PRs, where the user wants to decompose a large or complex branch safely"
      },
      "triggers": {
        "activation": "This skill activates when a PR or branch is too large, difficult to review, mixed across concerns, conflict-prone, or needs to be decomposed without losing net changes.",
        "scope": "This skill handles splitting oversized or mixed-concern branches into smaller, reviewable PR stacks with safety refs, topology selection, parity audits, and merge sequencing."
      },
      "instruction_count": 81,
      "file_count": 53
    },
    "behavioral_guarantees": {
      "does": [
        "Quantify branch shape by analyzing commit count, file changes, and dependency density",
        "Present top two topology options with explicit tradeoffs before proceeding",
        "Collaborate with user to select topology using facilitated discovery questions",
        "Create backup refs (tags and/or backup branches) before executing surgery",
        "Execute branch surgery with strict scope boundaries and safety measures",
        "Run mandatory audit gates to verify completeness and parity",
        "Generate PR metadata and merge sequencing documentation",
        "Use cherry-pick with staging for mixed commits to preserve scope contracts"
      ],
      "does_not": [
        "Execute branch surgery without user collaboration on topology selection",
        "Skip backup ref creation before making changes",
        "Proceed without running audit gates",
        "Allow hidden carryover changes between split branches",
        "Skip tradeoff analysis when presenting topology options"
      ],
      "scope_boundaries": {
        "modifies_files": true,
        "creates_files": true,
        "deletes_files": false,
        "makes_network_requests": false,
        "accesses_env_variables": false,
        "invokes_external_tools": true
      },
      "failure_modes": [
        {
          "condition": "when audit gates fail",
          "behavior": "the agent fixes scope drift or ownership errors and re-runs audits"
        },
        {
          "condition": "when signals are incomplete",
          "behavior": "the agent gathers more evidence before recommending topology"
        },
        {
          "condition": "when user is unsure about topology",
          "behavior": "the agent recommends one option and explains what would change with alternatives"
        }
      ]
    },
    "security": {
      "risk_profile": "low",
      "threat_analysis": {},
      "scan_results": {
        "cisco_skill_scanner": {
          "status": "FAIL",
          "findings": {
            "critical": 0,
            "high": 0,
            "medium": 0,
            "low": 0
          },
          "analyzers": [
            "static",
            "behavioral",
            "llm",
            "meta"
          ],
          "scanned_at": "2026-03-28T20:58:08.015Z",
          "details": []
        }
      },
      "adversarial_testing": {
        "methodology_version": "1.0",
        "categories_tested": [
          "prompt_injection_chains",
          "capability_squatting",
          "context_poisoning",
          "dependency_confusion"
        ],
        "findings": [
          {
            "category": "prompt_injection_chains",
            "severity": "high",
            "classification": "review",
            "description": "Several skills reference user-provided content (files, messages, data) without explicit data-boundary markers. The git-commit-conventional skill processes git diffs and user requests, the create-pull-request skill analyzes branch changes, and the mastra-api skill processes agent IDs and workflow names from user input. While these skills appear to treat user content as data within their scope, the lack of explicit data boundaries could potentially allow instruction-like user content to influence skill behavior.",
            "status": "suspected",
            "notes": ""
          }
        ],
        "tested_at": "2026-03-28T21:00:04.178Z"
      }
    }
  }
}