skills/constraint-based-creativity/SKILL.md
Turns limitations into creative fuel by strategically imposing constraints that force novel thinking, break habitual patterns, and reveal unexpected solutions. Covers resource constraints (budget/time/tools), format constraints (length/medium), rule-based constraints, and perspective constraints. Use when brainstorming feels stuck or generates obvious ideas, working with limited resources, designing with specific limitations, or when user mentions "think outside the box", "we're stuck", "same old ideas", "tight constraints", or "limited budget/time".
npx skillsauth add lyndonkl/claude constraint-based-creativityInstall 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.
Deliberately limiting freedom (resources, rules, materials, format) paradoxically boosts creativity by reducing decision paralysis, breaking habitual patterns, forcing novel combinations, and creating memorable differentiation.
Quick example: Twitter's original 140-character limit forced concise, punchy writing. Haiku's 5-7-5 syllable structure produces poetry. $10K budget forces guerrilla marketing over Super Bowl ads. Building with only CSS (no images) creates distinctive visual style.
Copy this checklist and track your progress:
Constraint-Based Creativity Progress:
- [ ] Step 1: Understand the problem and context
- [ ] Step 2: Choose or design strategic constraints
- [ ] Step 3: Generate ideas within constraints
- [ ] Step 4: Evaluate and refine solutions
- [ ] Step 5: Validate quality and deliver
Step 1: Understand the problem and context
Ask user for the creative challenge (what needs solving), current state (what's been tried, why it's not working), ideal outcome (success criteria), and any existing constraints (real limitations already in place). Understanding why ideas feel stale or stuck helps identify which constraints will unlock creativity. See Constraint Types for strategic options.
Step 2: Choose or design strategic constraints
If user has existing constraints (tight budget, short timeline, limited materials) → Use resources/template.md to work within them creatively. If no constraints exist and ideation is stuck → Study resources/methodology.md to design strategic constraints that force new thinking patterns. Choose 1-3 constraints maximum to avoid over-constraining.
Step 3: Generate ideas within constraints
Apply chosen constraints rigorously during ideation. Create constraint-based-creativity.md file documenting: problem statement, active constraints (what's forbidden/required/limited), idea generation process, and all ideas produced (including "failed" attempts that revealed insights). Quantity matters - aim for 20+ ideas before evaluating. See resources/template.md for structured generation process.
Step 4: Evaluate and refine solutions
Assess ideas using dual criteria: (1) Does it satisfy all constraints? (2) Does it solve the original problem? Select strongest 2-3 ideas. Refine by combining elements, removing unnecessary complexity, and strengthening the constraint-driven insight. Document why certain ideas stand out - often the constraint reveals an unexpected angle. See resources/methodology.md for evaluation frameworks.
Step 5: Validate quality and deliver
Self-assess using resources/evaluators/rubric_constraint_based_creativity.json. Verify: constraints were genuinely respected (not bent/broken), solutions are novel (not slight variations of existing), the constraint created the creativity (solution wouldn't exist without it), ideas are actionable (not just conceptual), and creative insight is explained (why this constraint unlocked this idea). Minimum standard: Average score ≥ 3.5. Present completed constraint-based-creativity.md file highlighting the constraint-driven breakthroughs.
Strategic constraints fall into categories. Choose based on what pattern you want to break:
Resource Constraints (force efficiency):
Format/Medium Constraints (force adaptation):
Rule-Based Constraints (force creative workarounds):
Technical Constraints (force optimization):
Audience/Perspective Constraints (force reframing):
Pattern: The Limitation Sprint When team is stuck, run 30-minute sprints with different constraints. Example: "10 ideas using only free tools" → "10 ideas in black/white only" → "10 ideas for $100 budget." Constraint rotation prevents pattern fixation.
Pattern: The Subtraction Game Remove assumed "essentials" one at a time. Example: "App without login" → "App without UI" (voice only) → "App without internet" (offline-first). Forces questioning assumptions.
Pattern: The Format Flip Change medium to force different thinking. Example: "Explain strategy as a recipe" or "Present roadmap as a movie trailer" or "Write documentation as a children's book."
Pattern: The Resource Inversion Make the assumed limitation the focus. Example: "We have no budget" → "Build guerrilla marketing campaign showcasing zero-budget creativity" or "Only 2-person team" → "Sell the 'small team, big care' advantage."
Pattern: The Historical Constraint Impose constraints from different eras. Example: "Design this as if it's 1995" (pre-smartphone) or "Build this with Victorian-era materials" or "Market this like 1960s Mad Men."
✓ Do:
✗ Don't:
Resources:
resources/template.md - Structured process for generating ideas within constraintsresources/methodology.md - Advanced techniques for designing strategic constraints, combining constraint types, and systematic explorationresources/examples/ - Worked examples showing constraint-driven breakthroughsresources/evaluators/rubric_constraint_based_creativity.json - Quality assessment before deliveryWhen to choose which resource:
Expected deliverable:
constraint-based-creativity.md file containing: problem statement, chosen constraints with rationale, idea generation process (including volume metrics), top 2-3 solutions with refinement notes, explanation of how constraints drove creativity, and next steps.
development
--- name: zettel-note description: The note-writing discipline for this vault's evergreen knowledge graph, modeled on a Zettelkasten reading companion and governed by the vault conventions. Enforces declarative-claim titles, one claim per note (atomicity), own-words prose with no block quotes, the piped [[slug|Title]] link form, the labeled link-relationship vocabulary (Confirms/Contradicts/Extends/Context/Prerequisite/Builds-on/Applies/Example-of/Contrasts-with), 3-6 links per note, and search-
development
Plans between-round FIFA World Cup Fantasy transfers — budgets the round's free transfer(s), forces out players whose nation has been eliminated, chases fixture-swing drops, upgrades on value, and decides when a rebuild is large enough to fire the Wildcard instead of spending free transfers one at a time. Ranks candidate in/out pairs by EV gain over each player's remaining survival horizon (delta xEV weighted by progression_carry) MINUS transfer cost (a free transfer is cheap, a points hit is real, churning the squad for marginal swings is a critic flag), and tags forced/fixture/upgrade priority. Emits a `transfer-plan` signal. Use when called by wc-squad-architect (whose transfer work this skill is the engine for) and by the strategists in the populate stage when their candidate is transfer-adjacent rather than a full rebuild.
testing
Reads and updates the FIFA World Cup Fantasy tournament state machine (footballfantasy/context/tournament-state.md) — the temporal backbone tracking phase (pre-tournament → group MD1-3 → R32 → R16 → QF → SF → final), budget ($100m group / $105m knockouts), nation cap (3 group, loosening in knockouts), chips remaining, surviving nations, each owned player's elimination-risk horizon, and deadlines. Validates state on load (count/feasibility checks), applies phase transitions, and appends to the append-only state log (never silent overwrite). Use to load state at the start of a run and to commit state changes after the manager makes a move.
development
Validates and persists FIFA World Cup Fantasy signal files to signals/YYYY-MM-DD-<type>.md. Checks the required frontmatter (type, round, date, emitted_by, confidence, source_urls), range-checks declared numeric signals, confirms every factual claim carries a source URL or "manager-provided", rejects unknown signal types, and refuses to persist a signal that fails validation (logging the failure instead). Keeps the inter-agent signal layer auditable so downstream agents can trust what they read and never re-derive it. Use whenever an agent or skill writes a signal.