name: solitaire-play description: Play Klondike Solitaire in mobile solitaire apps. Use when the user asks to play/solve/win solitaire, needs move-by-move card decisions, or asks for solitaire operation guidance on phone UI (tap, swipe-based drag, stock cycling, and foundation strategy).
Solitaire Play
Use this skill to play standard Klondike Solitaire in mobile apps with deterministic and low-risk moves.
Preconditions
- Confirm the game screen is visible (tableau columns, stock/waste, foundations).
- Dismiss popups, ads, tutorials, and rate dialogs first.
- Detect whether the app is Draw-1 or Draw-3 by tapping stock once and observing waste behavior.
Rules Primer (Klondike)
- Goal: move all cards to 4 foundations (A -> K by suit).
- Tableau build rule: descending rank with alternating colors (e.g., red 9 on black 10).
- Only Kings (or King-led stacks) can move to empty tableau columns.
- Face-down cards in tableau are revealed when the covering face-up card(s) are moved away.
- Stock/Waste:
- Draw-1: one card enters waste per stock tap.
- Draw-3: three cards cycle per stock tap; only top waste card is playable.
Operation Mapping on Phone
Use available phone actions to emulate card interactions:
- Single-card quick move:
- Prefer
tapon card if app supports auto-move to foundation/tableau.
- Prefer
- Precise move (card/stack relocation):
- Prefer
drag(x1, y1, x2, y2, durationMs). - Recommended
durationMs:250-450.
- Prefer
- Long press (if app requires hold before drag):
- Use
long_press_drag(x1, y1, x2, y2, holdMs, durationMs). - Recommended
holdMs:400-700;durationMs:220-380.
- Use
- Scrolling within menus/history:
- Use
swipewith long vertical distance.
- Use
- Never rely on random gestures. Keep start/end points centered on visible card bodies.
Move Priority (Default Heuristic)
Apply this priority order each turn:
- Safe foundation moves:
- Move Aces and Twos to foundation immediately.
- Move higher cards to foundation when it does not block revealing facedown tableau cards.
- Reveal facedown cards:
- Prefer tableau moves that uncover hidden cards over cosmetic rearrangement.
- Build/merge tableau stacks:
- Create longer alternating descending stacks only when it enables future reveals or king placement.
- Use empty columns correctly:
- Move a King (or King-led stack) to empty tableau columns when it helps reveal cards.
- Play waste efficiently:
- Try waste top card to tableau first, then to foundation.
- Draw from stock:
- Draw only when no productive tableau/foundation move exists.
Procedure
- Observe state:
- Identify all playable face-up tableau tails.
- Check waste top card and foundation tops.
- Execute one highest-priority legal move.
- Re-evaluate board after every move (never assume expected outcome).
- If no move exists, tap stock once and repeat evaluation.
- If stock recycle/reset is available, recycle and continue.
- Stop when either:
- all cards reach foundation (win), or
- no legal moves remain after full stock cycle (stalled/loss state).
Failure Handling
- If drag misses target:
- Retry once with more centered coordinates and slightly longer duration (
+100ms).
- Retry once with more centered coordinates and slightly longer duration (
- If app does not support tap auto-move:
- Switch to explicit drag-only flow using
drag/long_press_drag.
- Switch to explicit drag-only flow using
- If animation blocks actions:
- Use a short
waitbefore next move.
- Use a short
- If board recognition is uncertain (overlap, tiny cards, occlusion):
- Avoid risky multi-card drags; prefer reversible moves or stock draw.
Completion Criteria
- Success: all four foundations are complete from Ace to King.
- Partial completion report:
- include draw mode (Draw-1/Draw-3),
- number of foundations completed,
- whether the run is solvable/stalled from current state.