Use when defining or revising research hypotheses, experiment groups, or comparison structure after literature review.
64
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
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 inputs: web-research (supplementary non-academic context) 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}'1832bcb
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.