Advanced Workflows

Learn advanced workflows for Sculptor. This guide covers how to customize system prompts, steer agents with inline TODOs, and add custom dependencies.

Custom system prompts

Agents follow explicit directions extremely well, so the system prompt is the perfect place to include general context like project details, relevant subdirectories, or specific coding guidelines. You can customize your system prompts at any time, either for all messages or on a per-message basis.

updating the system prompt from the main task list page
Updating the system prompt from the main task list page
updating the system prompt from an individual task page
Updating the system prompt from an individual task page
Example system prompts
# Planning system prompt

Don't write any code until I've approved the implementation or design strategy. For each request, propose 2-3 alternative strategies, architectures, or designs, clearly outlining tradeoffs for each. Recommend the best approach and actively ask clarifying questions to resolve ambiguities. I'd prefer extra discussion over incorrect assumptions.

# Code implementation system prompt

Implement the task exactly as described. If you encounter any ambiguity (unknown unknowns), pause immediately to request clarification. I'd rather clarify upfront than proceed based on incorrect assumptions. Write self-documenting code, adding comments only when necessary to explain the "why" behind specific implementation choices.

# Debugging system prompt

Thoroughly review all relevant code, deeply analyze potential causes, and formulate 2-3 hypotheses explaining the bug. For each hypothesis, identify specific locations for adding detailed logging to empirically validate them. Insert extensive logs accordingly. After adding logs, prompt me clearly about what tests or actions I should perform. I'll run these tests and share the logs with you. Use these results to draw conclusions and report back with your findings.

Custom dependencies

If you’re trying to run Sculptor on languages that aren’t pre-baked into the Docker container, follow these instructions! We have some upcoming features that will make this flow nicer, but for now, this should do the trick.

  1. Make a <repo>/.sculptor/user_setup.sh file and commit it in your local repo.

    1. Inside it, place any set up commands you need, e.g. pip install ... as well as sudo commands like sudo apt update && sudo apt install -y vim.

    2. Tip: A good way to make this script is to ask Sculptor to write the script inside the task where it’s having trouble with dependencies. For example:

    Give me a /.sculptor/user_setup.sh script for prebaking useful dependencies for a project that involves <java/kotlin/maven/gradle>. For use on an ubuntu dockerfile. It will run as a non-root user but that user will have passwordless sudo privileges. Then commit that file as ~/.sculptor/user_setup.sh
  2. Start a new task.

    1. Note: There is currently no way to retroactively install dependencies that require sudo into an existing task.

    2. After the container for your task finishes building, go to the “Logs” tab. The output of your user_setup.sh script should appear there.

    3. All other future tasks will also have the user_setup.sh run on task creation.

Custom Docker containers

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Diam quis enim lobortis scelerisque fermentum dui faucibus in ornare. Vitae tempus quam pellentesque nec nam aliquam sem.

Aliquet sagittis id consectetur purus ut. Risus ultricies tristique nulla aliquet enim tortor at auctor. Aliquam sem et tortor consequat id. Ac ut consequat semper viverra nam libero justo. Accumsan tortor posuere ac ut consequat semper viverra nam. Lectus nulla at volutpat diam ut. Praesent elementum facilisis leo vel fringilla est ullamcorper eget nulla. Leo urna molestie at elementum eu facilisis sed.

Custom MCPs

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Diam quis enim lobortis scelerisque fermentum dui faucibus in ornare. Vitae tempus quam pellentesque nec nam aliquam sem.

Aliquet sagittis id consectetur purus ut. Risus ultricies tristique nulla aliquet enim tortor at auctor. Aliquam sem et tortor consequat id. Ac ut consequat semper viverra nam libero justo. Accumsan tortor posuere ac ut consequat semper viverra nam. Lectus nulla at volutpat diam ut. Praesent elementum facilisis leo vel fringilla est ullamcorper eget nulla. Leo urna molestie at elementum eu facilisis sed.

Last updated