بنقرة واحدة
qa-dependency-graph
Analyzes walkthroughs and dependency graph mermaid diagrams, and fixes them
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Analyzes walkthroughs and dependency graph mermaid diagrams, and fixes them
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | qa-dependency-graph |
| description | Analyzes walkthroughs and dependency graph mermaid diagrams, and fixes them |
Systematic validation and repair of puzzle dependency graphs for point-and-click adventure games.
Audit an existing dependency graph to identify and fix structural errors, orphaned nodes, and layout issues. Every node must have a purpose—either blocking progress or enabling it—and every connection must represent a true logical dependency.
Adventure games are fundamentally about locks (obstacles) and keys (solutions). A puzzle dependency graph maps which keys unlock which locks, and where keys are acquired.
PROBLEM: Gnome won't talk
↑
│ (enabled by)
│
ACTION: Give nightingale to gnome
↑
│ (requires)
│
OUTCOME: Have nightingale
↑
│ (enabled by)
│
ACTION: Trade with pawn broker
| Prefix | Type | Definition |
|---|---|---|
A_ | Action | Player takes action: A_PICK_UP_FLOWER, A_TALK_TO_FERRYMAN |
O_ | Outcome | Result of action: O_RECEIVE_RABBIT_FOOT, O_LEARN_SPELL |
P_ | Problem | Obstacle to overcome: P_DOOR_LOCKED, P_GNOME_WON'T_LISTEN |
C_ | Consequence | Gateway/convergence: C_ALL_GNOME_ITEMS, C_GATE_OPENED |
UNLOCK_ | Unlock | Major unlock gateway: UNLOCK_ISLAND_TRAVEL, UNLOCK_GNOME_ACCESS |
START | Start | Game beginning node |
END | End | Game completion node |
START)END)A_ action connects to its resulting O_ outcomeUNLOCK_TRAVEL not UNLOCK_EVERYTHING)A→B→C and C specifically requires A, then A→C must existSTART at top (centered), END at bottom (centered)START and END outside subgraph groupingsstyle <id> fill:#HEX,stroke:#STROKE command AFTER its end to color the container itselfRun the detection script to identify orphans, dead-ends, and undefined references:
cd /path/to/repo
./.opencode/skills/qa-dependency-graph/scripts/check-dangling-nodes.sh /path/to/chart.mmd
Orphan nodes (no input edge):
Dead-end nodes (no output edge):
Undefined references:
For EACH orphan node, follow this escalation path:
Use @general agent to search local walkthrough files:
Search query: "what is [orphan node name] used for" or "where is [item] used"
Example: "what is the rare book used for in king's quest vi"
Look in:
src/walkthroughs/[game-name]/*.htmlsrc/walkthroughs/[game-name]/*.mdIf not found in walkthroughs, search the web:
Search query: "[game name] [orphan node] what is it for" or "[game name] [item] puzzle solution"
Example: "king's quest vi rare book what is it for"
Use @general agent with websearch tool.
| Finding | Action |
|---|---|
| Found in walkthrough/web | Add the missing connection |
| Found as truly optional | Add :: note or mark as acceptable orphan |
| Not found anywhere | Investigate further or mark as ERROR |
Problem: O_RECEIVE_RARE_BOOK is orphan. "What is the rare book for?"
Walkthrough search: "rare book" → Found reference: "trade rare book to Ali for spell book"
Fix: Add edge O_RECEIVE_RARE_BOOK → A_TRADE_RARE_BOOK_FOR_SPELL
%% WRONG
A_PICK_UP_FLOWER
%% RIGHT
A_PICK_UP_FLOWER --> O_RECEIVE_FLOWER_OF_STENCH
Fix: Connect every action to its outcome.
%% WRONG - If C specifically requires A
A --> B --> C
%% RIGHT - A also connects directly to C
A --> B
A --> C
B --> C
Fix: If step N+1 specifically requires something from step N, add direct edge.
%% WRONG - "I went to beach first, then village" ≠ logical dependency
S1_BEACH --> S2_VILLAGE
%% RIGHT - Logical dependency: shell from beach is needed for gnome
O_RECEIVE_SHELL --> A_GIVE_SHELL_TO_GNOME
Fix: Track locks and keys, not player movement.
%% WRONG - Don't model the choosing mechanic
A_TRADE_FOR_PAINTBRUSH --> A_TRADE_FOR_NIGHTINGALE --> ...
%% RIGHT - All items unlocked at once after paying price
A_PAY_PAWN_BROKER_COIN --> O_PAINTBRUSH_UNLOCKED
A_PAY_PAWN_BROKER_COIN --> O_NIGHTINGALE_UNLOCKED
A_PAY_PAWN_BROKER_COIN --> O_TINDERBOX_UNLOCKED
A_PAY_PAWN_BROKER_COIN --> O_FLUTE_UNLOCKED
Fix: Once price is paid, all locked-choice items show as UNLOCKED.
Use this fixed palette for area/subgraph coloring. Same area can appear multiple times at different logical points. Use the SAME color for repeated areas (e.g., Isle of Crown appears at start AND end with same color).
| Index | Hex | Stroke | Area |
|---|---|---|---|
| 1 | #E3F2FD | #1976D2 | Isle of Crown |
| 2 | #FFF3E0 | #F57C00 | Isle of Wonder |
| 3 | #F3E5F5 | #7B1FA2 | Isle of Beast |
| 4 | #E8F5E9 | #388E3C | Isle of Mists |
| 5 | #FFF8E1 | #F9A825 | Sacred Mountain |
| 6 | #FCE4EC | #C2185B | Druid Island |
| 7 | #E0F7FA | #00838F | Realm of Dead |
| 8 | #F5F5F5 | #616161 | Village |
subgraph "Isle of Wonder"["**Isle of Wonder**"]
classDef area2 fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class O_RECEIVE_NIGHTINGALE area2
class O_RECEIVE_MINT area2
end
Adventure game puzzles naturally follow a fan-out/fan-in pattern where:
START
↓
[ISLE OF CROWN - Beach & Village - Phase 1]
↓ (fan out to 4 parallel islands)
[ISLE OF WONDER] | [ISLE OF BEAST] | [ISLE OF MISTS] | [SACRED MOUNTAIN]
↓ (fan in)
[DRUID ISLE / REALM OF DEAD]
↓
[ISLE OF CROWN - Final] (REPEAT AREA with same color)
↓
END
The following are NOT errors:
Verify by checking if the item/action is ever referenced later in the graph.
After running QA:
# Run QA on a chart
./.opencode/skills/qa-dependency-graph/scripts/check-dangling-nodes.sh src/inspiration/kings-quest-vi-chart.mmd
# After fixes, rebuild and verify
./build.sh
mdbook serve --open
This skill is automatically invoked by the create-dependency-graph skill after initial graph creation. It can also be used standalone to audit existing graphs.
Analyzes walkthroughs to create high quality dependency graphs in mermaidjs
Analyzes point-and-click adventure game walkthroughs to identify, categorize, and document puzzle mechanics. Use when analyzing new game walkthroughs or updating the puzzle design handbook.
This skill should be used when creating new game pages for the Inspiration section of puzzle-design-kb. It automates walkthrough analysis, puzzle extraction, and documentation in a standardized format while managing TODOS.md and committing after completion.
Downloads multiple walkthrough files for point-and-click adventure games by searching web archives and fan sites. Use when given a game name and needing to collect 3+ walkthrough sources for puzzle analysis.