skills/hierarchical-skills-and-skill-based-repr/SKILL.md
Use for affordances, hierarchical control, nullspace composition, and information-seeking action selection in embodied agents. NOT for pure symbolic planning, generic RL tuning, or domains without sensorimotor grounding.
npx skillsauth add curiositech/windags-skills hierarchical-skills-and-skill-based-reprInstall 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.
Use this skill when an embodied agent needs reusable control primitives that can serve as both executable skills and grounded knowledge.
Objects are represented by the control programs that reliably converge on them. A useful representation answers "what controller can stabilize here?" before it answers "what category is this?"
Reward the transition from transient to converged control on external signals. That gives the agent a domain-general way to discover what it can reliably do before task-specific semantics are introduced.
When two controllers must coexist, project the subordinate one into the nullspace of the superior controller instead of mixing objectives with ad hoc weights. This preserves priority while still exploiting spare degrees of freedom.
The same affordance model that helps infer object identity should also predict which exploratory action will reduce uncertainty about the next useful affordance.
flowchart TD
A[Need a reusable embodied capability] --> B{Grounded in executable control?}
B -->|No| C[Redesign around control affordances and convergence signals]
B -->|Yes| D{Primitive missing or composition missing?}
D -->|Primitive missing| E[Learn a SEARCHTRACK-style primitive with intrinsic convergence reward]
D -->|Composition missing| F[Compose stable primitives with sequencing or nullspace projection]
E --> G{Goal affordance still uncertain at runtime?}
F --> G
G -->|Yes| H[Choose exploratory action with highest information gain]
G -->|No| I[Execute goal-directed controller]
| Failure mode | What it looks like | Recovery move | | --- | --- | --- | | Feature-only object models | Recognition works in the lab but does not help select actions under pose variation | Rebuild the representation around convergent controllers and spatial affordance distributions | | Monolithic policy learning | The agent solves one configuration but cannot reuse the behavior or explain why it works | Factor the behavior into primitives and compositions with explicit prerequisites | | Weighted-controller soup | Simultaneous objectives interfere and produce unstable or oscillatory behavior | Introduce explicit priority structure and project subordinate controllers into the superior nullspace | | Premature action commitment | The system grasps, pushes, or cuts before locating the actual affordance geometry | Insert an information-seeking step and act only after uncertainty drops below a task threshold |
Read references/INDEX.md first, then load only the files needed for the current design question.
control-affordances-as-knowledge-representation.md when the core question is what should count as an object representation.intrinsic-motivation-for-skill-acquisition.md when the challenge is how to bootstrap a curriculum without hand-shaped rewards.hierarchical-composition-and-nullspace-projection.md when multiple control objectives compete.information-theoretic-action-selection-under-uncertainty.md when deciding whether to explore or commit.data-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.