Use when defining or revising research hypotheses, experiment groups, or comparison structure after literature review.
58
68%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./extension/skills/agentsociety-hypothesis/v1.0.0/SKILL.mdManage research hypotheses for AgentSociety experiments. Each hypothesis defines experiment groups (control/treatment) and specifies required agent classes and environment modules.
Do NOT use when:
Use the Python interpreter from .env. See CLAUDE.md for setup.
Run commands from the workspace root through .agentsociety/bin/ags.py.
| Action | Command |
|---|---|
| List hypotheses | $PYTHON_PATH .agentsociety/bin/ags.py hypothesis list [--workspace PATH] [--json] |
| Add hypothesis | $PYTHON_PATH .agentsociety/bin/ags.py hypothesis add --description TEXT --rationale TEXT --groups JSON... --agent-classes TYPE... --env-modules TYPE... [--skip-module-validation] [--json] |
| Get hypothesis | $PYTHON_PATH .agentsociety/bin/ags.py hypothesis get --hypothesis-id ID [--json] |
| Delete hypothesis | $PYTHON_PATH .agentsociety/bin/ags.py hypothesis delete --hypothesis-id ID |
| Discover modules if needed | $PYTHON_PATH .agentsociety/bin/ags.py scan-modules list --short |
| Inspect one module | $PYTHON_PATH .agentsociety/bin/ags.py scan-modules info --type agent --name PersonAgent |
digraph hypothesis_flow {
rankdir=LR;
node [shape=box, style=filled, fillcolor="#E8F4FD"];
topic [label="read TOPIC.md\nand literature index"];
clarify [label="clarify question\nand comparison goal"];
names [label="agent/env names known?"];
scan [label="scan-modules\noptional helper"];
groups [label="define control\nand treatment groups"];
write [label="write HYPOTHESIS.md\nand SIM_SETTINGS.json"];
sync [label="sync TOPIC.md"];
topic -> clarify -> names;
names -> groups [label="yes"];
names -> scan [label="no"];
scan -> groups;
groups -> write -> sync;
}Every hypothesis must specify at least one agent class and one environment module. If the exact names are uncertain, use scan-modules to discover or validate them before writing SIM_SETTINGS.json.
Group JSON Format:
{
"name": "treatment",
"group_type": "treatment",
"description": "Agents with high social capital scores",
"agent_selection_criteria": "agents whose social_connections > median"
}Common Module Combinations:
| Domain | Agent Classes | Environment Modules |
|---|---|---|
| Social simulation | PersonAgent | SimpleSocialSpace GlobalInformationEnv |
| Economic behavior | LLMDonorAgent | EconomySpace |
| Game theory | PrisonersDilemmaAgent | PrisonersDilemmaEnv |
hypothesis_{id}/
HYPOTHESIS.md # Hypothesis description and groups
SIM_SETTINGS.json # Agent and environment module configuration
experiment_1/
EXPERIMENT.md
experiment_2/
EXPERIMENT.mdAfter adding/modifying/deleting a hypothesis, update TOPIC.md with the hypothesis overview and link.
| Mistake | Fix |
|---|---|
Writing SIM_SETTINGS.json with uncertain module names | Run scan-modules to confirm valid class and module names |
| Omitting agent classes or env modules | Both are required -- hypothesis creation will fail |
| Using invalid module names | Copy exact names from ags.py scan-modules list --short output |
| Forgetting to update TOPIC.md after changes | Always sync TOPIC.md with hypothesis overview |
| Defining only one group | Define at least a control and a treatment group for comparison |
| Not providing rationale | --rationale grounds the hypothesis in literature; do not skip it |
Predecessors: literature-search Optional helpers: scan-modules (when module names are unknown or need validation) Successors: experiment-config
After adding a hypothesis successfully:
$PYTHON .agentsociety/bin/ags.py research-pipeline update-stage hypothesis completed --metadata '{"hypotheses_count": N}'8cc5bb9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.