Pester Failure Analysis
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
Keeps specification documents and code in agreement. An agent skill from ash1794/vibe-engineering.
$ npx skills add ash1794/vibe-engineering --skill vibe-spec-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ash1794/vibe-engineering vibe-spec-sync --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/ash1794/vibe-engineering.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-spec-sync .claude/skills/vibe-spec-sync && 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 "vibe-spec-sync" agent skill from https://github.com/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-sync into .claude/skills/vibe-spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibe-spec-sync", 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/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-syncType 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 ash1794/vibe-engineering --skill vibe-spec-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ash1794/vibe-engineering vibe-spec-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ash1794/vibe-engineering.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-spec-sync .agents/skills/vibe-spec-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vibe-spec-sync" agent skill from https://github.com/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-sync into .agents/skills/vibe-spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibe-spec-sync", 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 ash1794/vibe-engineering --skill vibe-spec-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ash1794/vibe-engineering vibe-spec-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ash1794/vibe-engineering.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-spec-sync .cursor/skills/vibe-spec-sync && 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 "vibe-spec-sync" agent skill from https://github.com/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-sync into .cursor/skills/vibe-spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibe-spec-sync", 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/ash1794/vibe-engineering.git --path plugins/vibe-engineering/skills/vibe-spec-sync--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 ash1794/vibe-engineering --skill vibe-spec-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ash1794/vibe-engineering vibe-spec-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ash1794/vibe-engineering.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-spec-sync .gemini/skills/vibe-spec-sync && 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 "vibe-spec-sync" agent skill from https://github.com/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-sync into .gemini/skills/vibe-spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibe-spec-sync", 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 ash1794/vibe-engineering vibe-spec-syncInstalls 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 ash1794/vibe-engineering --skill vibe-spec-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ash1794/vibe-engineering.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-spec-sync .github/skills/vibe-spec-sync && 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 "vibe-spec-sync" agent skill from https://github.com/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-sync into .github/skills/vibe-spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibe-spec-sync", 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 ash1794/vibe-engineering --skill vibe-spec-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ash1794/vibe-engineering vibe-spec-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ash1794/vibe-engineering.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-spec-sync .opencode/skills/vibe-spec-sync && 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 "vibe-spec-sync" agent skill from https://github.com/ash1794/vibe-engineering/tree/master/plugins/vibe-engineering/skills/vibe-spec-sync into .opencode/skills/vibe-spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibe-spec-sync", 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.
vibe-spec-syncKeeps specification documents and code in agreement. An agent skill from ash1794/vibe-engineering.
Vibe Spec Sync is an agent skill from ash1794/vibe-engineering. Keeps specification documents and code in agreement. Audit mode finds every divergence when an implementation is claimed complete; sync mode detects spec drift in staged changes and updates the spec after user approval, so each commit is a reconciled snapshot of spec, tests, and code. Use when an implementation is claimed complete against a spec, before committing changes that may drift from the spec, or after approving decisions that must flow back into it.
Its SKILL.md is about 2.2k 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 Testing & QA. The repository describes itself as: 33 engineering discipline skills for Claude Code, OpenAI Codex & Gemini CLI + a CLI for CI/CD enforcement. Extracted from real-world multi-agent system development. Born from… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8f1d71b. 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.
Vibe Spec Sync loads about 2.2k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 1,010 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 ash1794/vibe-engineering at commit 8f1d71b, republished under its MIT licence (© ash1794). 1,010 words, ~2,160 tokens.
.claude/skills/vibe-spec-sync/SKILL.md (or your agent's skills folder).Code changes. Specs don't update themselves. This skill closes the loop.
vibe-decision-journal), to sync them back to the specvibe-doc-quality-gate to bootstrap)/vibe-spec-sync # Sync mode: staged changes vs spec (default)
/vibe-spec-sync --audit # Audit mode: full spec vs implementation, no editsThe project must have:
# req:[ID])Find the spec — Look for:
spec.md, SPEC.md, *_spec.md in project root or docs/docs/design/, docs/architecture/Find the implementation — The code files the spec describes
Find the decision log — docs/decisions/decisions.jsonl (from vibe-decision-journal)
--audit)Read-only. Nothing is edited.
GAP-[SECTION]-[NNN] (e.g., GAP-AUTH-001)file:linevibe-gap-closure-loop. To accept an Extra or Incorrect item as the new intended behavior, run sync mode on it.Sync mode (default) continues with Steps 2–5 below.
Run git diff --cached and analyze what changed relative to the spec:
Categorize each change:
For each drift item, produce:
DRIFT-[NNN]:
Type: extending | modifying | contradicting
Spec section: "## [Header]"
Current spec says: "[quoted text]"
Code now does: "[description of new behavior]"
Suggested spec update: "[proposed new text]"Present drift items to the user for a decision (use the harness's structured question tool if it has one; otherwise ask in plain text and wait):
For each approved drift item:
Find the target section in the spec:
Apply the update:
Preserve spec structure:
<!-- Updated: [date] per DEC-[NNNN] -->Stage the spec changes: git add [spec file]
After applying updates:
Re-read the updated spec — verify it reads coherently (no dangling references, no contradictions between sections)
Cross-check with decision log — ensure approved decisions from vibe-decision-journal are reflected in the spec
Check test coverage — identify any updated spec sections that now lack test coverage:
# req:[ID] markers matching affected requirementsvibe-adversarial-test-generation in spec-driven mode."Spec: [path] · Implementation: [paths] Gaps found: X (Y critical, Z high)
| GAP ID | Type | Severity | Spec says | Code does |
|---|---|---|---|---|
| GAP-AUTH-001 | Missing | Critical | "Tokens expire after 24h" | No expiration logic (auth/token.go) |
Top risks: [the 1–3 most dangerous gaps] Recommended fix order: [critical first]
Spec: [path/to/spec.md] Staged Changes Analyzed: [N files, M insertions, K deletions]
| # | Type | Spec Section | Action | Status |
|---|---|---|---|---|
| 1 | modifying | ## Authentication | Updated: "JWT tokens" → "JWT tokens with 1h expiry" | Approved |
| 2 | extending | (new) ## Rate Limiting | Added new section | Approved |
| 3 | contradicting | ## Data Retention | Flagged: spec says "never delete", code adds TTL | Rejected — code needs fix |
| 4 | extending | ## Error Handling | Deferred | — |
docs/spec.md: 2 sections updated, 1 section added## Rate Limiting (no tests yet)## Rate Limiting section/vibe-spec-sync --audit to verify full alignmentvibe-decision-journal: Decisions feed into spec sync. When decisions are approved, this skill updates the spec to reflect them.vibe-gap-closure-loop: Closes large sets of audit-mode gaps in prioritized waves.vibe-adversarial-test-generation (spec-driven mode): Generate tests for requirements that were updated or added during sync.vibe-coverage-enforcer: Verify that test coverage still meets tier targets after spec-driven test additions.vibe-pre-commit-audit: Complementary — that skill checks for secrets/debug code; this skill checks for spec alignment. Both belong in a pre-commit workflow.<!-- DEC-NNNN -->© ash1794, MIT. 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 plugins/vibe-engineering/skills/vibe-spec-sync of ash1794/vibe-engineering.
Open the folder on GitHubat commit 8f1d71b
Vibe Spec Sync 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 |
|---|---|---|---|---|---|---|
| Vibe Spec Sync this skillash1794/vibe-engineering | 163 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Pester Failure AnalysisPowerShell/PowerShell | 56k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Rust TDD Workflowrtk-ai/rtk | 83k | — | ~753 | Automated safety check: Notes | Apache-2.0 | |
| Clawteam DevHKUDS/ClawTeam | 5.5k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Browser Testing with Chrome DevToolsaddyosmani/agent-skills | 103k | 4 repos | ~3.5k | Automated safety check: Warn | MIT | |
| Apple Container Test RunnerRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT |
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
rtk-ai/rtk
Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.
HKUDS/ClawTeam
A skill your agent uses when working inside the ClawTeam repository itself: local development, debugging, reviewing, testing, validating multi-agent flows, or checking whether a code change actually…
addyosmani/agent-skills
Connects an agent to a real Chrome instance through the Chrome DevTools MCP server, so it can inspect the DOM, read console errors and profile performance directly.
RustPython/RustPython
Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.
code-yeongyu/oh-my-openagent
Tests the omo Codex plugin in an isolated CODEX_HOME with a local mock model, proving hooks fired through app-server notifications without touching ~/.codex.
ash1794/vibe-engineering
Audits tests for concurrency safety — race conditions, shared mock state, cleanup ordering.
ash1794/vibe-engineering
Generates fuzz test scaffolding for parsers handling external input (YAML, JSON, config files, user input).
ash1794/vibe-engineering
Implements snapshot/golden file tests with temporal normalization so tests don't break daily.
ash1794/vibe-engineering
Analyzes large tasks for independent subtasks that can be safely parallelized.
ash1794/vibe-engineering
Strips AI-generation "smell" from prose before it ships (READMEs, docs, release notes, PR descriptions, posts, emails).
ash1794/vibe-engineering
Generates edge case, failure mode, and spec-driven test cases.
Categories
Keeps specification documents and code in agreement. An agent skill from ash1794/vibe-engineering. Vibe Spec Sync is an agent skill from ash1794/vibe-engineering. Keeps specification documents and code in agreement.
Vibe Spec Sync fits situations like: an implementation is claimed complete against a spec; before committing changes that may drift from the spec; after approving decisions that must flow back into it.
Run `npx skills add ash1794/vibe-engineering --skill vibe-spec-sync -a claude-code`. Or copy the skill folder (plugins/vibe-engineering/skills/vibe-spec-sync in ash1794/vibe-engineering) into .claude/skills/vibe-spec-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ash1794/vibe-engineering --skill vibe-spec-sync -a codex`. Or copy the skill folder (plugins/vibe-engineering/skills/vibe-spec-sync in ash1794/vibe-engineering) into .agents/skills/vibe-spec-sync 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 ash1794/vibe-engineering --skill vibe-spec-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vibe-spec-sync, .gemini/skills/vibe-spec-sync, .github/skills/vibe-spec-sync and .opencode/skills/vibe-spec-sync in your project.
Going by SKILL.md and its folder, Vibe Spec Sync 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.
Vibe Spec Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.6k 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 Vibe Spec Sync: Pester Failure Analysis (PowerShell/PowerShell, 56k stars), Rust TDD Workflow (rtk-ai/rtk, 83k stars), Clawteam Dev (HKUDS/ClawTeam, 5.5k stars) and Browser Testing with Chrome DevTools (addyosmani/agent-skills, 103k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ash1794 (a GitHub user) maintains it in ash1794/vibe-engineering, which has 163 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 7, 2026.
Source: ash1794/vibe-engineering on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.