Monitor CI
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
Add a repo to the current Spektacular project through a guided conversation, inspect the registry, and repair a repo's footprint.
$ npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jumppad-labs/jumppad spek-manage-repos --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jumppad-labs/jumppad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/spek-manage-repos .claude/skills/spek-manage-repos && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "spek-manage-repos" agent skill from https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-repos into .claude/skills/spek-manage-repos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spek-manage-repos", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-reposType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jumppad-labs/jumppad spek-manage-repos --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jumppad-labs/jumppad.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/spek-manage-repos .agents/skills/spek-manage-repos && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spek-manage-repos" agent skill from https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-repos into .agents/skills/spek-manage-repos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spek-manage-repos", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jumppad-labs/jumppad spek-manage-repos --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jumppad-labs/jumppad.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/spek-manage-repos .cursor/skills/spek-manage-repos && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spek-manage-repos" agent skill from https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-repos into .cursor/skills/spek-manage-repos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spek-manage-repos", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jumppad-labs/jumppad.git --path .claude/skills/spek-manage-repos--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jumppad-labs/jumppad spek-manage-repos --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jumppad-labs/jumppad.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/spek-manage-repos .gemini/skills/spek-manage-repos && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spek-manage-repos" agent skill from https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-repos into .gemini/skills/spek-manage-repos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spek-manage-repos", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jumppad-labs/jumppad spek-manage-reposInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jumppad-labs/jumppad.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/spek-manage-repos .github/skills/spek-manage-repos && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spek-manage-repos" agent skill from https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-repos into .github/skills/spek-manage-repos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spek-manage-repos", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jumppad-labs/jumppad spek-manage-repos --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jumppad-labs/jumppad.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/spek-manage-repos .opencode/skills/spek-manage-repos && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spek-manage-repos" agent skill from https://github.com/jumppad-labs/jumppad/tree/main/.claude/skills/spek-manage-repos into .opencode/skills/spek-manage-repos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spek-manage-repos", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spek-manage-reposAdd a repo to the current Spektacular project through a guided conversation, inspect the registry, and repair a repo's footprint.
Spek Manage Repos is an agent skill from jumppad-labs/jumppad. Add a repo to the current Spektacular project through a guided conversation, inspect the registry, and repair a repo's footprint.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud. The repository describes itself as: Modern cloud native development environments. The licence is MPL-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 34289ff. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spek Manage Repos loads about 2.6k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 1,560 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jumppad-labs/jumppad at commit 34289ff, republished under its MPL-2.0 licence (© jumppad-labs). 1,560 words, ~2,599 tokens.
.claude/skills/spek-manage-repos/SKILL.md (or your agent's skills folder).Version check first. Before running any other command, run
spektacular version check.
- On
status: "match", continue with the skill and produce no version-related output.- On
"mismatch"or"missing", the installed Spektacular files are out of date: relay the response'sactionmessage to the user, ask them to re-runspektacular init <agent>, and wait for their decision before continuing.- Never modify or re-install any installed files yourself. Refreshing the installation is always an explicit, user-initiated re-run of init.
STOP. Read this before running any command below. A single successful CLI call, including the very first
repo new, is NOT task completion. It is not a milestone to report back to the user. It is one step out of many in a workflow that you must keep driving, turn after turn, without stopping, until the CLI itself tells you the workflow is finished. If you find yourself about to say "successfully completed" or summarize results after callingrepo neworrepo gotoeven once, you are wrong. Go back and read theinstructionfield you just received, do what it says, and callgotoagain.
This skill covers the spektacular repo surface: adding a repo to the current project, inspecting what is already registered, and repairing a repo whose footprint is missing or broken.
Adding a repo is a multi-step interactive workflow owned by the CLI, not a playbook you improvise from. The CLI is the state machine and you are the executor. On each turn it returns JSON containing an instruction field describing exactly one step. You must:
instruction carefully.goto command named at the bottom of the instruction, carrying the answer you just agreed.instruction from the new JSON response and repeat.This is a loop. Do not stop after the first step. Keep looping, step then goto then next instruction then step, until a returned instruction tells you the workflow is finished. Only then report completion to the user.
Concretely: do not stop after repo new. That command only starts the workflow and returns the first instruction, not a registered repo. Seeing a clean JSON response with no error is not a signal to stop; it is the signal to keep going.
The instructions themselves tell you what to ask and what never to say. Follow them as written rather than substituting your own account of how an add works: the wording is the feature.
Inspecting the registry and repairing a footprint are not workflows. They are single commands, covered further down.
repo_footprint or repo_footprint_missing error returned by another command.root.A project is a collection of repos with central spec, plan, and changelog storage. A repo joins a project by being registered in the project's config.yaml. Each registered entry carries a slug-safe name (plans and changelog attribution reference repos by name), a location, and optional dependencies.
A repo has two locations, and keeping them apart is the whole trick:
repo.yaml, alongside its knowledge and changelog. This is what the registry's location records. (The older local key still works and means the same thing.)repo.yaml as a provider block, the same shape every other section uses: provider: file with a config.location path, or provider: git with a config.location git address that is cloned on registration.A repo is colocated when its footprint sits inside its code, in a .spektacular/ folder whose repo.yaml declares a file source of ... This is what repo add scaffolds. A repo is separate when its footprint lives in a folder of its own and its source points at code elsewhere, so the code repository receives only code changes.
Descriptive metadata (description, role, tags) lives in repo.yaml, never in the project config. A repo's footprint carries no pointer back to any project, so one repo can belong to many projects.
Start the guided add by running:
spektacular repo newIf the user already named the repo, pass the folder its code lives in and the flow will not ask for it again:
spektacular repo new --data '{"location":"<the folder the repo's code is in>"}'From there, follow the loop above: do what the instruction says, then run the goto it names to get the next one. Do not invent step names. Every instruction ends with the exact command to run next.
If an add was interrupted and is still in progress, repo new does not start a fresh one. It returns a resume report: a JSON object with "resumable": true plus the in-progress workflow's kind, name, and current_step, and an instruction field. Nothing on disk changes. When you get one:
First check the report's kind. If it is not repo, a different workflow is in progress and you cannot resume it from here. Follow the report's instruction: tell the user which workflow is in progress and let them choose to continue it with that workflow's skill, or to discard it. Only proceed below when the report's kind is repo.
Ask the user whether to resume the in-progress add or start a new one. The report's instruction restates both options.
To resume, first read .spektacular/context.md with your own file tools, for the cross-cutting learnings and the answers the user gave you. Unlike a spec or a plan, an add has no per-section working files to read back: every answer already agreed travels inside the workflow itself and comes back with it. Then run the resume command using the report's current_step:
spektacular repo goto --data '{"step":"<current_step>"}'To start fresh, discarding the in-progress add, re-run with --force:
spektacular repo new --forceNothing is written to the user's repo or to the project until the confirmation step has been passed, so an add abandoned partway through leaves no trace to clean up.
The single-command form is still there for a caller that already knows every detail and wants no conversation:
spektacular repo add --data '{"name":"<name>","location":"<folder>","description":"<description>","role":"<role>","tags":["<tag>"]}'Prefer the guided add when a person is involved. Use the direct form when scripting, or when every value is already known and settled.
source leaves the stored source alone.address is rejected with the corrected payload. A repo's git origin is its source.spektacular repo listEach entry reports:
name, and the resolved location of its footprint;root, which is the file source, the clone of a git source, or the location itself when the repo declares no source;provider the repo declares for its source (file, git, or absent when it declares none);description, role, tags, and dependencies;materialized, true when the root is a project-managed clone;stale_note when a clone has fallen behind its remote;metadata_note when the repo has no descriptive metadata set.Listing does not clone: a repo whose git source has not been materialized yet reports an empty root rather than triggering a clone. A registered repo whose footprint is missing is reported as a repo_footprint_missing error naming the path that was looked at, not listed with an empty root as if that were fine.
source, or with a file source, resolves to that directory. Git is never involved.source is a git location is cloned into .spektacular/repos/<name>/ inside the project. Project init gitignores that folder, so clones never enter the project's history.stale_note warning and nothing more. If the user wants it updated they update it themselves, for example git -C .spektacular/repos/<name> pull. Always confirm with the user before suggesting a command that changes a clone.Touching a registered repo whose repo.yaml is missing or invalid produces a structured error offering repair, never a silent failure: repo_footprint_missing from repo list, and repo_footprint from the knowledge and store-file commands. To repair, either re-run repo add with the repo's name and its code location (the registration is preserved; only the footprint is recreated), or re-run spektacular init <agent>, which cascades over every registered repo and repairs their footprints.
If the reported path is wrong rather than missing, the fix is the registry, not the footprint: correct that repo's location in the project's config.yaml.
Removal is deliberately a manual edit: delete the repo's entry from the repos list in the project's config.yaml. No command is provided, and nothing in the repo itself needs cleaning up, since its footprint carries no project pointer. Confirm with the user before editing their config.
© jumppad-labs, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/spek-manage-repos of jumppad-labs/jumppad.
Open the folder on GitHubat commit 34289ff
Spek Manage Repos next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spek Manage Repos this skilljumppad-labs/jumppad | 263 | — | ~2.6k | Automated safety check: Pass | MPL-2.0 | |
| Monitor CInrwl/nx | 29k | 6 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Terraform and OpenTofu Guideagentscope-ai/QwenPaw | 36k | 6 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Optimize Auditvercel-labs/agent-skills | 32k | 8 repos | ~4.3k | Automated safety check: Pass | None | |
| Analyze GitHub Action Logswithastro/astro | 63k | 1 repos | ~1.3k | Automated safety check: Pass | Custom licence | |
| Openclaw Live Updateropenclaw/openclaw | 392k | — | ~3.7k | Automated safety check: Pass | MIT |
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
agentscope-ai/QwenPaw
Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.
vercel-labs/agent-skills
Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.
withastro/astro
Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.
openclaw/openclaw
Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.
netdata/netdata
Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.
jumppad-labs/jumppad
Pulls a GitHub issue's description, comments, labels, assignees, milestone and linked pull requests into one markdown report so the agent can plan a fix.
jumppad-labs/jumppad
Sets idiomatic Go conventions with a test-first workflow, using testify/require for assertions and mockery for mocks, for new features, packages and refactors.
jumppad-labs/jumppad
Executes an approved plan step by step through the spektacular CLI, which acts as the state machine, producing code, tests and a changelog.
jumppad-labs/jumppad
Builds detailed implementation plans through interactive questions, parallel research agents and template files for context, research, plan and tasks, from an issue or a plan name.
jumppad-labs/jumppad
Routes natural-language requests to look up, add or update entries in a project's knowledge store by calling the spektacular knowledge CRUD commands directly, without a multi-step CLI flow.
jumppad-labs/jumppad
Create a new Specification for a feature. An agent skill from jumppad-labs/jumppad.
Categories
Add a repo to the current Spektacular project through a guided conversation, inspect the registry, and repair a repo's footprint. Spek Manage Repos is an agent skill from jumppad-labs/jumppad. Add a repo to the current Spektacular project through a guided conversation, inspect the registry, and repair a repo's footprint.
Spek Manage Repos fits situations like: devOps & Cloud work in your project.
Run `npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a claude-code`. Or copy the skill folder (.claude/skills/spek-manage-repos in jumppad-labs/jumppad) into .claude/skills/spek-manage-repos in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a codex`. Or copy the skill folder (.claude/skills/spek-manage-repos in jumppad-labs/jumppad) into .agents/skills/spek-manage-repos in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jumppad-labs/jumppad --skill spek-manage-repos -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spek-manage-repos, .gemini/skills/spek-manage-repos, .github/skills/spek-manage-repos and .opencode/skills/spek-manage-repos in your project.
Going by SKILL.md and its folder, Spek Manage Repos needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Spek Manage Repos is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Spek Manage Repos: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 36k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jumppad-labs (a GitHub organization) maintains it in jumppad-labs/jumppad, which has 263 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 1, 2026.
Source: jumppad-labs/jumppad on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.