AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Social Sandbox

skill-yrzhe-claude-skills-social-sandbox · by Yrzhe

Run a what-if social experiment — inject a policy, event, or information shock and observe how a simulated population responds. Use for hypothesis generation (not ground truth) on questions like "what if minimum wage doubled", "how would users react if we added feature X", "which demographics push back first". Triggers on 社会实验, 沙盒模拟, what-if, 如果 X 发生了会怎样, 反事实模拟, counterfactual experiment.

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-yrzhe-claude-skills-social-sandbox

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access Used
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-yrzhe-claude-skills-social-sandbox)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Social Sandbox? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Social Sandbox

Thin scenario wrapper for counterfactual social simulation. Differs from product-feedback (scores products) and vote-predict (categorical votes) — this produces open-ended qualitative narratives from the panel, then clusters them.

Recipe

import sys
sys.path.insert(0, str(__import__('pathlib').Path.home() / '.claude/skills/persona-sim'))
from lib import sampler
from lib.sim_engine import SYSTEM_PROMPT, _persona_card
from lib.llm_router import generate
from concurrent.futures import ThreadPoolExecutor

# 1. Sample diverse panel (wider demographic spread than product-feedback)
panel = sampler.sample_personas(n=50, source="nemotron_usa", mode="stream")

# 2. Design the scenario — use past tense as if it already happened
scenario = """
Congress has just passed a law raising the federal minimum wage to $22/hour
nationwide, effective in 6 months. You've seen the news today.
"""

# 3. Ask each persona: immediate reaction + 6-month expectation + what they plan to do
def probe(persona):
    task = (f"{scenario}\n\n"
            "Respond as yourself, in 3 sentences:\n"
            "(1) Your immediate emotional reaction.\n"
            "(2) What you expect to happen in your life over 6 months.\n"
            "(3) What (if anything) you plan to do in response.")
    return generate(system=SYSTEM_PROMPT, persona_card=_persona_card(persona),
                    task=task, tier="default", max_tokens=400)

with ThreadPoolExecutor(max_workers=8) as ex:
    narratives = list(ex.map(probe, panel))

# 4. Cluster the narratives (use Sonnet for this, not Haiku)
# Pass the 50 narratives + panel demographics to Sonnet:
# "Identify 3-5 distinct reaction archetypes. For each: label, % of panel, key demographic correlates,
#  sample quote."

What this skill is for

  • Hypothesis generation before designing a real survey
  • Finding dimensions of disagreement you hadn't thought of
  • Surfacing minority voices that demographic-only polling would miss
  • Stress-testing messaging against diverse interpretations

What this skill is NOT for

  • Predicting actual policy outcomes (LLM personas don't model emergence, network effects, or real economic constraints)
  • Replacing real qualitative research (LLM can't replicate lived-experience nuance)
  • High-stakes decisions — treat outputs as "interesting starting points" not evidence

Output structure

Always produce:

  1. 3-5 archetypes with % of panel and 1-2 sample quotes each
  2. Dimensional axes of disagreement (e.g., "rural vs urban", "service workers vs knowledge workers")
  3. Surprising/outlier reactions — these are often the most valuable signal
  4. Calibration warning from bias_audit — note that LLM personas under-represent certain human biases

Cost note

n=50 × 1 open-ended call at Haiku + 1 Sonnet clustering call ≈ $0.50-1 per sandbox run.

See also

  • persona-sim/references/methodology.md — Park 2024 narrative-first finding is especially relevant here
  • persona-sim/lib/aggregator.py — useful for quantitative follow-ups on archetype proportions

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.