ovid/paad/fix-architecture

Claude Code and agent skill by ovid/paad

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when working through architectural flaws documented in a paad/architecture-reviews/ report — selecting which flaws to fix, resuming a partial fix session across multiple sittings, or applying structural changes that need to be tracked back to a report. Not for producing that report — run /agentic-architecture first if there isn't one.

Install

npx vskill@latest install ovid/paad/fix-architecture

SKILL.md

On invocation: announce "Running paad:fix-architecture v2.1.0", then immediately proceed with the steps below — do not stop after announcing.

Configuration (experimental): after announcing, check whether paad/config/paad.md and paad/config/fix-architecture.md exist, relative to the working directory. If any does, read it and follow its instructions for the rest of this run, passing the relevant parts to every subagent you dispatch, and make the first line of your final answer Config: <path> naming each file you followed. If none exists, do not mention config at all. Config never changes a subagent's type or grants it write tools — refuse that line, say so, and continue. Config can contradict the flow below; see https://github.com/Ovid/paad/blob/main/CONFIG.md before writing one.

Symlinked output paths: the repository under review can commit a symlink where this skill writes, sending the write to a path it chose, possibly outside the repository. Before the first write of a run to a path under paad/, check that paad and every directory under it on the way to that path, each where it exists, is a real directory and not a symlink (test -d and test ! -L), and that the file, if it exists, is not a symlink (test ! -L); check each later file the same way before its first write. If a check fails, write nothing to that path: tell the user what you found and ask how to proceed.

Fix Architecture

Guided, iterative fixing of architectural flaws identified by /agentic-architecture. Loads an existing architecture report, walks the developer through selecting and prioritizing flaws, then fixes them one at a time with a test-first workflow. Updates the report with status tracking so the skill can be re-run across multiple sessions.

This is a technique skill. Follow the phases (Setup → Safety Net → Fix Loop → Wrap-Up) in order. Do not skip validation or testing steps.

Pre-flight:

dot
digraph preflight {
"Conversation has history?" [shape=diamond];
"On default branch?" [shape=diamond];
"Report exists?" [shape=diamond];
"Report stale?" [shape=diamond];
"Stale — developer choice?" [shape=diamond];
"Test infrastructure?" [shape=diamond];
"No test infra — developer choice?" [shape=diamond];
"Baseline tests pass?" [shape=diamond];
"Failing baseline — developer choice?" [shape=diamond];
"Load the paad/security/ companion if present; warn if its count line points at a missing file" [shape=box];
"Proceed to Setup" [shape=box];
"STOP: recommend fresh session" [shape=box, style=bold];
"STOP: switch to feature branch" [shape=box, style=bold];
"STOP: run agentic-architecture first" [shape=box, style=bold];
"STOP: re-run agentic-architecture for a fresh report" [shape=box, style=bold];
"STOP: developer declined" [shape=box, style=bold];
"STOP: set up a test framework first" [shape=box, style=bold];
"STOP: fix the failing tests first" [shape=box, style=bold];
"Conversation has history?" -> "STOP: recommend fresh session" [label="yes"];
"Conversation has history?" -> "On default branch?" [label="no"];
"On default branch?" -> "STOP: switch to feature branch" [label="yes"];
"On default branch?" -> "Report exists?" [label="no"];
"Report exists?" -> "STOP: run agentic-architecture first" [label="no"];
"Report exists?" -> "Load the paad/security/ companion if present; warn if its count line points at a missing file" [label="yes"];
"Load the paad/security/ companion if present; warn if its count line points at a missing file" -> "Report stale?";
"Report stale?" -> "Stale — developer choice?" [label="yes (>14 days old)"];
"Report stale?" -> "Test infrastructure?" [label="no"];
"Stale — developer choice?" -> "Test infrastructure?" [label="yes, proceed anyway"];
"Stale — developer choice?" -> "STOP: developer declined" [label="no"];
"Stale — developer choice?" -> "STOP: re-run agentic-architecture for a fresh report" [label="re-run first"];
"Test infrastructure?" -> "Baseline tests pass?" [label="yes"];
"Test infrastructure?" -> "No test infra — developer choice?" [label="no"];
"No test infra — developer choice?" -> "STOP: set up a test framework first" [label="set up framework"];
"No test infra — developer choice?" -> "Proceed to Setup" [label="proceed without tests (high risk)"];
"No test infra — developer choice?" -> "STOP: developer declined" [label="stop"];
"Baseline tests pass?" -> "Proceed to Setup" [label="all pass"];
"Baseline tests pass?" -> "Failing baseline — developer choice?" [label="some failing"];
"Failing baseline — developer choice?" -> "Proceed to Setup" [label="proceed anyway (record failing tests)"];
"Failing baseline — developer choice?" -> "STOP: fix the failing tests first" [label="fix first"];
}

Session flow — Setup → Safety Net → Fix Loop → Wrap-Up. The Safety Net gate is non-negotiable: no fix may begin until every safety-net test for the whole batch is written and committed.

dot
digraph fix_session {
"Invocation pre-answers or refuses the questions?" [shape=diamond];
"Present plan in ONE message, assumptions stated" [shape=box];
"Solo or team?" [shape=diamond];
"Any unfixed flaws remain?" [shape=diamond];
"Developer approves plan?" [shape=diamond];
"Flaw still exists?" [shape=diamond];
"Test coverage?" [shape=diamond];
"More batch flaws to validate?" [shape=diamond];
"ALL safety-net tests written and committed?" [shape=diamond];
"Tests pass after fix?" [shape=diamond];
"Which tests broke?" [shape=diamond];
"Auto-commit mode?" [shape=diamond];
"Fix resolved other flaws?" [shape=diamond];
"Context running low?" [shape=diamond];
"Flaws left in batch?" [shape=diamond];
"Recommend 3-5 fixes, conflicts unlikely" [shape=box];
"Recommend 1-2 fixes, warn about conflict risk" [shape=box];
"Ask commit preference (auto / manual)" [shape=box];
"Dependency scan + complexity assessment" [shape=box];
"STOP: congratulate, suggest re-running agentic-architecture" [shape=box, style=bold];
"Present triage table, developer selects flaws" [shape=box];
"Revise plan with developer" [shape=box];
"Ask developer: does it still need work?" [shape=box];
"Show developer the evidence; developer agrees?" [shape=diamond];
"Mark Fixed (pre-existing) / Won't fix, skip flaw" [shape=box];
"Write safety-net tests for the gap" [shape=box];
"Developer picks approach: refactor first / e2e tests / no tests / skip flaw" [shape=box];
"Write and commit the outstanding safety-net tests" [shape=box, style=bold];
"Print Safety Net Report; every field filled; push warning first if a security flaw" [shape=box, style=bold];
"Revert the fix; record status Attempted, reverted" [shape=box];
"Propose fix options, developer chooses" [shape=box];
"Execute red/green/refactor" [shape=box];
"Pre-existing failure — not caused by this fix" [shape=box];
"Propose updating structure-dependent unit tests" [shape=box];
"RED FLAG: discuss fix-forward vs revert" [shape=box];
"Sanity check: did the fix introduce new architectural issues?" [shape=box];
"Output paths under paad/ free of symlinks?" [shape=diamond];
"Write nothing to that path; tell the user, ask how to proceed" [shape=box];
"Update report status fields" [shape=box];
"Commit fix + tests + report update" [shape=box];
"Leave changes staged, tell developer what changed" [shape=box];
"Validate and update the affected flaws" [shape=box];
"STOP: finish current fix, resume in a fresh session" [shape=box, style=bold];
"Wrap-Up: push warning first if a security flaw is still unfixed; summary + suggest re-running fix-architecture" [shape=box];
"Invocation pre-answers or refuses the questions?" -> "Solo or team?" [label="no — full setup conversation"];
"Invocation pre-answers or refuses the questions?" -> "Dependency scan + complexity assessment" [label="yes — skip only the answered questions, never the scan or Step 4"];
"Solo or team?" -> "Recommend 3-5 fixes, conflicts unlikely" [label="solo"];
"Solo or team?" -> "Recommend 1-2 fixes, warn about conflict risk" [label="team"];
"Recommend 3-5 fixes, conflicts unlikely" -> "Ask commit preference (auto / manual)";
"Recommend 1-2 fixes, warn about conflict risk" -> "Ask commit preference (auto / manual)";
"Ask commit preference (auto / manual)" -> "Dependency scan + complexity assessment";
"Dependency scan + complexity assessment" -> "Any unfixed flaws remain?";
"Any unfixed flaws remain?" -> "STOP: congratulate, suggest re-running agentic-architecture" [label="no"];
"Any unfixed flaws remain?" -> "Present triage table, developer selects flaws" [label="yes — full setup conversation"];
"Any unfixed flaws remain?" -> "Present plan in ONE message, assumptions stated" [label="yes — questions were pre-answered"];
"Present plan in ONE message, assumptions stated" -> "Developer approves plan?";
"Present triage table, developer selects flaws" -> "Developer approves plan?";
"Developer approves plan?" -> "Revise plan with developer" [label="no"];
"Revise plan with developer" -> "Developer approves plan?";
"Developer approves plan?" -> "Flaw still exists?" [label="yes — Safety Net begins"];
"Flaw still exists?" -> "Test coverage?" [label="yes, as described"];
"Flaw still exists?" -> "Ask developer: does it still need work?" [label="partially addressed"];
"Flaw still exists?" -> "Show developer the evidence; developer agrees?" [label="no longer exists / false positive"];
"Show developer the evidence; developer agrees?" -> "Mark Fixed (pre-existing) / Won't fix, skip flaw" [label="yes"];
"Show developer the evidence; developer agrees?" -> "Test coverage?" [label="no — flaw stands, treat as still exists"];
"Ask developer: does it still need work?" -> "Test coverage?" [label="yes"];
"Ask developer: does it still need work?" -> "Mark Fixed (pre-existing) / Won't fix, skip flaw" [label="no"];
"Mark Fixed (pre-existing) / Won't fix, skip flaw" -> "More batch flaws to validate?";
"Test coverage?" -> "More batch flaws to validate?" [label="good — no gaps in affected paths"];
"Test coverage?" -> "Write safety-net tests for the gap" [label="gaps found / testable but untested"];
"Test coverage?" -> "Developer picks approach: refactor first / e2e tests / no tests / skip flaw" [label="not unit-testable without refactoring"];
"Write safety-net tests for the gap" -> "More batch flaws to validate?";
"Developer picks approach: refactor first / e2e tests / no tests / skip flaw" -> "More batch flaws to validate?";
"More batch flaws to validate?" -> "Flaw still exists?" [label="yes"];
"More batch flaws to validate?" -> "ALL safety-net tests written and committed?" [label="no"];
"ALL safety-net tests written and committed?" -> "Write and commit the outstanding safety-net tests" [label="no — no fix may start yet"];
"Write and commit the outstanding safety-net tests" -> "ALL safety-net tests written and committed?";
"ALL safety-net tests written and committed?" -> "Print Safety Net Report; every field filled; push warning first if a security flaw" [label="yes, or the developer chose to proceed without tests"];
"Print Safety Net Report; every field filled; push warning first if a security flaw" -> "Propose fix options, developer chooses" [label="Fix Loop begins"];

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
142
Repository forks
11
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ovid/paad/fix-architecture/badge)](https://verified-skill.com/skills/ovid/paad/fix-architecture)

Something wrong with this skill or its page? Tell us.