skills/next-move/SKILL.md
Predicts the highest-impact next action for your project by running a 5-agent meta-DAG pipeline. Gathers project signals automatically (git, recent files, port-daddy, CLAUDE.md), then runs sensemaker → decomposer → skill-selector + premortem → synthesizer. When execution is approved, convert each predicted node into a skillful node prompt using skillful-node-prompt + skillful-subagent-creator, prefer live WinDAGs visualization backed by POST /api/execute and /ws/execution/:id, and fall back to ASCII only when live visualization is unavailable. Activate on: "what should I do", "what's next", "next move", "/next-move", "where should I focus", "what's the highest impact thing right now". NOT for: creating skills, debugging one specific bug, or promising topology-specific runtime behavior the current server cannot execute.
npx skillsauth add curiositech/windags-skills next-moveInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Predict the best next move, present it clearly, and — on approval — hand it to the real WinDAGs execution path.
Two operating rules are mandatory:
Separate planning topology from runtime topology. Server execution is real for dag and workflow. team-loop, swarm, blackboard, team-builder, and recurring fall back to generic DAG execution. See references/runtime-honesty.md.
Prefer live WinDAGs visualization over ASCII when execution is going to happen. ASCII is fallback only. See references/live-execution-visualization.md.
Arguments: $ARGUMENTS
If the user passed --fresh, ignore conversation history and predict from project signals only.
This skill is structured for on-demand loading. Don't bulk-load — pull only what the current stage needs.
| Need | Load |
|---|---|
| Decision tree, file map, top-level guidance | INDEX.md |
| Per-agent prompts (Sensemaker, Decomposer, etc.) | prompts/<agent>.md |
| Operational rules and judgment-call guidance | references/<topic>.md (see references/INDEX.md) |
| Worked end-to-end walkthroughs | examples/<NN>-<scenario>.md (only when shape recognition is needed) |
| Output schemas for validation | schemas/<output>.schema.json |
| Empty starting structures | templates/<output>.template.<ext> |
| Replay / validate / inspect-attribution utilities | scripts/<utility>.{sh,ts} |
| Direct invocation of a single meta-DAG stage | agents/<stage>.md (subagent for Task tool) |
These are preprocessed at skill-load time via !... shell calls. Treat them as ground truth.
!`git status --short 2>/dev/null || echo "Not a git repo"`
Branch: !git branch --show-current 2>/dev/null || echo "unknown"
!`git log --oneline -8 2>/dev/null || echo "No commits"`
!`git diff --stat 2>/dev/null || echo "No unstaged changes"`
!`git diff --cached --stat 2>/dev/null || echo "Nothing staged"`
!`git diff --name-only HEAD~3 2>/dev/null || echo "No recent file changes"`
!`head -60 CLAUDE.md 2>/dev/null || echo "No CLAUDE.md found"`
!`cat package.json 2>/dev/null | head -40 || echo "No package.json"`
!`pd find 2>/dev/null || echo "Port Daddy not installed. portdaddy.dev"`
!`pd notes 2>/dev/null || echo ""`
!`pd salvage 2>/dev/null || echo ""`
!`pd whoami 2>/dev/null || echo ""`
!`ls -1t .windags/triples/ 2>/dev/null | head -5 || echo "No prior predictions"`
flowchart TD
A[Gather signals + conversation context] --> B[Sensemaker]
B --> C{Halt gate?}
C -->|trip| D[Halt: name the contradiction\nload templates/halt-gate-response.template.md]
C -->|pass| E[Decomposer]
E --> F[Skill narrowing via SkillSearchService]
F --> G[Skill Selector + PreMortem in parallel]
G --> H[Synthesizer: planning + runtime topology]
H --> I{Execution likely?}
I -->|yes| J[Open live WinDAGs surface]
I -->|no| K[Plan-only preview]
J --> L[Accept / Modify / Change topology / Reject]
K --> L
L -->|Accept| M[Build skillful nodes\nload references/skillful-node-execution.md]
L -->|Modify| N[Mutate vs restart\nload references/modify-vs-restart.md]
L -->|Change topology| O[Re-evaluate runtime honesty\nload references/runtime-honesty.md]
L -->|Reject| P[Record rejection in triple]
M --> Q[Execute through real runtime]
For depth on any decision point, load the matching reference. Don't try to derive judgment-call rules from the diagram alone.
The full workflow is in the references; this is the lookup version.
prompts/sensemaker.md. Validate output against schemas/sensemaker-output.schema.json.references/halt-gate-discipline.md. If trips: render templates/halt-gate-response.template.md, store no triple, stop.prompts/decomposer.md. 3-7 subtasks. Validate against schemas/decomposer-output.schema.json.mcp__windags__windags_skill_search (routes through SkillSearchService). See references/skill-narrowing-cascade.md for internals.prompts/skill-selector.md and prompts/premortem.md. Run in parallel.references/topology-selection.md and references/runtime-honesty.md. Validate against schemas/predicted-dag.schema.json.references/live-execution-visualization.md.references/skillful-node-execution.md and prompts/execution-node.md.references/modify-vs-restart.md..windags/triples/. See references/triple-feedback-loop.md./next-move halts on ambiguity. Halts are first-class output, not failure. See references/halt-gate-discipline.md. Worked example: examples/03-halt-gate-tripped.md.
Catalog of failure modes with detection signals and fixes: references/failure-modes.md.
Load only when you need shape recognition end-to-end:
examples/01-feature-delivery-happy-path.md — clean signals, native DAGexamples/02-debugging-blackboard-shape.md — runtime honesty in practiceexamples/03-halt-gate-tripped.md — pipeline correctly refusesBefore sending the prediction:
commitment_levelhuman-gate-designer), not proseskill-creator or skill-architectfullstack-debuggerreferences/runtime-honesty.mdprompts/execution-node.md and references/skillful-node-execution.mddata-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.