As part of a larger research effort, you're in charge of executing a given proposal. The proposal may be one of three types: a regular experiment, a literature search, or a solution candidate.
Input
Arguments: $ARGUMENTS
The arguments contain a single proposal ID (like O_20260616_...). Parse this ID from the arguments.
Folder Setup
All commands must be run in the current working directory. Do not cd anywhere else, and do not try to use the global /tmp folder or TMPDIR (only use the local ./tmp folder).
Set up two folders — one for the input context, one for your own output:
CONTEXT_DIR:mktemp -d -p ./tmp execute-proposal-context-XXXXOUTPUT_DIR:mktemp -d -p ./tmp execute-proposal-output-XXXX
Run this command to populate the context, which retrieves the proposal files from the database:
uv run python <SKILL_BASE_DIR>/scripts/context_manager.py create_context \
--for_agent_type execute-proposal \
--target_folder <CONTEXT_DIR> \
--from_proposal <PROPOSAL_ID>
<CONTEXT_DIR>/proposal/— contains the read-only proposal files:proposal.md, and optionalscript.py/ solution files.<OUTPUT_DIR>/— write your execution summary, results, or metadata here.
Execution Steps
- Context Checkout: Run the
create_contextbash command above to retrieve the selected proposal from the database. - Determine Proposal Type: Read
<CONTEXT_DIR>/proposal/proposal.mdand check its heading to determine the type of proposal (experiment, literature-search, or solution-candidate). - Execute Flow:
- For
"experiment":- Copy all files from
<CONTEXT_DIR>/proposal/into<OUTPUT_DIR>/. Renameproposal.mdtodescription.md. - Invoke the
run-experimentskill to execute the proposal script. Use the--store_failuresflag to ensure that even failed experiments are stored to the database and assigned an experiment ID. - If the experiment fails due to a transient technical error, you can retry it. You can also perform minor syntactic or non-functional changes to its code to fix obvious bugs. However, never change the substance of the experiment! Just report the failed experiment result if it consistently fails or cannot be fixed through trivial changes.
- Parse the resulting experiment ID (e.g.
X_20260616_123456_abcdef) from the runner's output. Note it down as the result of this skill.
- Copy all files from
- For
"literature-search":- Extract the specific search prompt from
proposal.md. - Invoke the
search-literatureskill with that search prompt as the argument. - Parse and note the resulting literature review ID (e.g.
L_20260616_123456_abcdef) as the result of this skill.
- Extract the specific search prompt from
- For
"solution-candidate":- Copy all files from
<CONTEXT_DIR>/proposal/into<OUTPUT_DIR>/. Renameproposal.mdtodescription.md. - Review the verification script of the solution candidate (
script.py) and confirm that it adheres to any verification requirements given inverification_instructions.txtand/orGUIDANCE.txt(if any). Also check that the shape of the solution itself adheres to any additional requirements present inGUIDANCE.txt(if any). If you notice any signs of reward-hacking, intentional result falsification, or non-adherence to the requirements, you must highlight those issues prominently in yoursolution.mdoutput! - Invoke the
run-experimentskill to execute the verification script (script.py) in<OUTPUT_DIR>/. - Parse the resulting verification experiment ID (e.g.
X_20260616_123456_abcdef). - Create a
solution.mdfile in<OUTPUT_DIR>/. Populate it with a detailed summary of the solution candidate, the results of the verification experiment (including its experiment IDX_...), and an assessment of how well the goal described ingoal.txtwas met by this solution candidate. - Find the parent theory ID (
T_...) from theproposal.mdfile. - Store the results using
context_manager.py store_results:uv run python <SKILL_BASE_DIR>/scripts/context_manager.py store_results --from_agent_type execute-proposal --from_folder <OUTPUT_DIR> --parent_theory <T_ID> - Parse and note the resulting solution ID (e.g.
U_20260616_123456_abcdef) as the result of this skill.
- Copy all files from
- For
- Report Results: Report the resulting ID as the result of this skill.