Cognyzer Cognyzer Terminus-2.0 Docs
20Section 04 · Creating Tasks

Creating a Task

Creating a Task

Learn how to create a new task from scratch using the task skeleton template.

Getting Started

To create a new task, you'll start with the task skeleton template and customize it for your specific task.

Step 1: Download the Correct Task Skeleton

Download the ZIP file of the correct task skeleton from the the Slack channel's resources tab located at the top of the channel.

There are 3 task skeletons: - "Regular" Task Skeleton: Use for all non-UI-Building and non-Milestone tasks - UI Task Skeleton: Use for all UI-Building subtype tasks - Milestone Task Skeleton: Use for all tasks with milestones

Step 2: Extract and Rename

  1. Extract the ZIP file to your desired location
  2. Rename the unzipped folder to match your task name

Naming conventions: - Use kebab-case (lowercase, hyphens) - Be descriptive but concise - Examples: parse-json-logs, debug-python-import, configure-nginx-ssl

Good task names: - ✅ parse-json-logs - ✅ debug-python-import - ✅ configure-nginx-ssl

Bad task names: - ❌ task1 - ❌ my-task - ❌ test

Task Structure

After extracting and renaming, you'll have a folder structure like this:

your-task-name/
├── instruction.md      # Task instructions (markdown)
├── task.toml           # Task configuration and metadata
├── environment/        # Environment definition folder
│   ├── Dockerfile      # OR docker-compose.yaml
│   └── [build files]   # Additional environment files
├── solution/           # Oracle solution
│   └── solve.sh        # Solution script + dependencies
│   └── solve1.sh...solveN.sh (optional)  # If your task has milestones, one solution file per milestone
└── tests/              # Test verification
│     ├── test.sh         # Test execution script
│     └── [test files]    # Test dependencies
│     └── test_m1.py...test_mN.py (optional) # If your task has milestones, one test per milestone

└── milestones.md (optional) # If your task has milestones, include this file which should contain short descriptions (1-2 sentences) of each milestone.

Note: This structure follows the Harbor 2.0 task format. See Task Components for details on each file.

Next Steps

After downloading and renaming your task skeleton:

  1. Edit instruction.md - Write clear, unambiguous task instructions - Guide: Writing task instructions

  2. Configure task.toml - Set up metadata and configuration - Guide: Task Components

  3. Set up environment - Configure Docker in the environment/ folder - Guide: Creating Docker environment

  4. Write the solution - Create solution/solve.sh - Guide: Writing oracle solution

  5. Create tests - Write tests/test.sh and test files - Guide: Writing tests

  6. Test locally - Run the oracle agent to verify your task works - Guide: Oracle agent


  • Running your task
  • Writing oracle solution
  • Writing tests
  • Task Components
  • Task Requirements