Skip to content
Back to skills

Ci Debug

ASecurity

Use when CI history needs analysis, a local branch needs exact-SHA GitHub Actions qualification, CI is red, or one matrix failure needs isolated repair.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentsnodegitapisecurity

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 15 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add MoeenNehzati/famulus --skill ci-debug --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ci Debug?

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

Security grade badge for Ci Debug
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/moeennehzati-ci-debug/badge)](https://www.skillsdirectory.com/skills/moeennehzati-ci-debug)

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

Download with Pro
SKILL.md
---
name: ci-debug
description: Use when CI history needs analysis, a local branch needs exact-SHA GitHub Actions qualification, CI is red, or one matrix failure needs isolated repair.
---

<!-- BEGIN BLUEPRINT INTERFACES -->
> Generated from `blueprint.yaml`. Do not edit this block by hand.

Executable Interfaces:

Send the required `caller` (caller skill), `interface`, `version`, and `arguments`; optional `dry_run` defaults to false. Compact uses ordered `positionals` plus an option mapping; ordered raw argv uses `positionals: []` plus every argv token in list `options`. Never mix forms.
- `ci-debug._rtx.interface.fetch-github-actions-history` — Fetch one bounded GitHub Actions workflow history with complete attempt enumeration and frozen Git provenance into a private snapshot.
  - Caller: `ci-debug`
  - Version: 1
  - Security level: 2
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--branch": "BRANCH", "--event": "EVENT", "--repo-root": "REPO", "--run-limit": "N", "--since": "ISO_8601", "--snapshot-dir": "NEW_DIR", "--timeout": "SECONDS", "--workers": "N", "--workflow": "WORKFLOW"}, "positionals": [], "stdin": null}
    Required options: ["--branch", "--repo-root", "--snapshot-dir", "--workflow"]; positional arity: 0..0; stdin: forbidden
- `ci-debug._rtx.interface.report-ci-runtime-hotspots` — Report descriptive API timing observed job execution envelopes job-minutes and heuristic repeated-step hotspots from one snapshot.
  - Caller: `ci-debug`
  - Version: 1
  - Security level: 2
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--report-dir": "NEW_DIR", "--snapshot-dir": "SNAPSHOT"}, "positionals": [], "stdin": null}
    Required options: ["--report-dir", "--snapshot-dir"]; positional arity: 0..0; stdin: forbidden
- `ci-debug._rtx.interface.report-test-failures-between-green-runs` — Report one canonical test incidence per complete green-to-green episode with recurrence bounds frozen provenance and explicit coverage gaps.
  - Caller: `ci-debug`
  - Version: 1
  - Security level: 2
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--report-dir": "NEW_DIR", "--snapshot-dir": "SNAPSHOT"}, "positionals": [], "stdin": null}
    Required options: ["--report-dir", "--snapshot-dir"]; positional arity: 0..0; stdin: forbidden
- `ci-debug._rtx.interface.run-ci` — Start or poll one durable complete remote CI matrix for an exact pushed candidate.
  - Caller: `ci-debug`
  - Version: 2
  - Security level: 2
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--context": "DIR", "--expected-sha": "SHA", "--ref": "REF", "--repo-root": "REPO", "--timeout": "SECONDS"}, "positionals": [], "stdin": null}
    Required options: ["--context", "--expected-sha", "--ref", "--repo-root"]; positional arity: 0..0; stdin: forbidden
- `ci-debug._rtx.interface.run-targeted-tests` — Run one selected failure set or complete matrix element for an exact candidate.
  - Caller: `ci-debug`
  - Version: 1
  - Security level: 2
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--context": "DIR", "--expected-sha": "SHA", "--jobs": "N", "--os": "OS", "--profile": "PROFILE", "--ref": "REF", "--repo-root": "REPO", "--selector": "NODE", "--task": "TASK", "--timeout": "SECONDS"}, "positionals": [], "stdin": null}
    Required options: ["--context", "--expected-sha", "--os", "--ref", "--repo-root", "--selector", "--task"]; positional arity: 0..0; stdin: forbidden
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--context": "DIR", "--expected-sha": "SHA", "--jobs": "N", "--os": "OS", "--profile": "PROFILE", "--ref": "REF", "--repo-root": "REPO", "--selectors-json": "JSON", "--task": "TASK", "--timeout": "SECONDS"}, "positionals": [], "stdin": null}
    Required options: ["--context", "--expected-sha", "--os", "--ref", "--repo-root", "--selectors-json", "--task"]; positional arity: 0..0; stdin: forbidden
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--context": "DIR", "--expected-sha": "SHA", "--from-report": "PATH", "--jobs": "N", "--os": "OS", "--profile": "PROFILE", "--ref": "REF", "--repo-root": "REPO", "--task": "TASK", "--timeout": "SECONDS"}, "positionals": [], "stdin": null}
    Required options: ["--context", "--expected-sha", "--from-report", "--os", "--ref", "--repo-root", "--task"]; positional arity: 0..0; stdin: forbidden
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {"--context": "DIR", "--expected-sha": "SHA", "--jobs": "N", "--os": "OS", "--profile": "PROFILE", "--ref": "REF", "--repo-root": "REPO", "--task": "TASK", "--timeout": "SECONDS", "--whole-element": true}, "positionals": [], "stdin": null}
    Required options: ["--context", "--expected-sha", "--os", "--ref", "--repo-root", "--task", "--whole-element"]; positional arity: 0..0; stdin: forbidden

Instruction Interfaces:

These are LLM-readable instruction surfaces. Read and follow them directly; do not invoke the MCP server for them.
- `ci-debug.source.instructions-analyze-ci.interface.analyze-ci@1` — Collect one bounded immutable workflow-history snapshot and report deduplicated green-to-green failures plus descriptive runtime hotspots without dispatching CI.
- `ci-debug.source.instructions-qualify-ci.interface.qualify-ci@2` — Coordinate structured local-branch qualification and evidence-bounded CI repair through optional target publication.
- `ci-debug.source.instructions-repair-element.interface.repair-element@1` — Repair and verify one assigned CI matrix element without integrating it or claiming overall CI success.
- `git-workflow.interface.default@1` — Check branch and ownership boundaries first, then perform only explicitly authorized and exactly scoped Git mutations.
<!-- END BLUEPRINT INTERFACES -->

# CI Debug

Route by requested outcome before taking any action:

- Historical failures, recurrence, timing, elapsed job-minutes, or hotspots:
  use `ci-debug.interface.analyze-ci`.
- Branch or exact-SHA qualification, full-matrix repair, or optional target
  publication: use `ci-debug.interface.qualify-ci`.
- One explicitly assigned matrix element: use
  `ci-debug.interface.repair-element`.

Mixed historical-analysis and mutating qualification requests require the user
to choose or explicitly authorize both operations. Never silently select one.

"Cost" means historical observed job-minutes unless the user says otherwise.
Monetary pricing is unsupported and must be reported as a gap. A controlled
benchmark is outside this skill and requires clarification. The words cost or
benchmark never authorize a workflow dispatch.

Analysis may create only the requested private evidence tree. It never
dispatches, cancels, reruns, repairs, commits, or changes Git or GitHub state.
Qualification and repair retain their own explicit mutation boundaries.

Files in this skill

  • SKILL.md7 KB
  • _rtx/__init__.py1.6 KB
  • _rtx/_run_ci.py1.8 KB
  • _rtx/_run_targeted_tests.py3.3 KB
  • _rtx/blueprint.yaml1.5 KB
  • _rtx/blueprints/rtx-init.yaml342 B
  • _rtx/blueprints/rtx-run-ci.yaml5.9 KB
  • _rtx/blueprints/rtx-run-targeted-tests.yaml8.3 KB
  • _rtx/tests/test_runner_interfaces.py7.9 KB
  • blueprint.yaml1.8 KB
  • blueprints/gateway.yaml6.1 KB
  • blueprints/instructions-repair-element.yaml5.8 KB
  • instructions/repair-element.md2.2 KB
  • prevention.md2 KB
  • tests/test_ci_debug_instructions.py4.6 KB

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…