一键导入
create-task
Create a new not-started task folder with task.json and task_description.md. Use when any skill or workflow needs to create a new task.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a new not-started task folder with task.json and task_description.md. Use when any skill or workflow needs to create a new task.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Interactively register one or more project metrics in meta/metrics/, grounded in project/description.md. Use during project setup or any time a new measurement needs to be tracked across tasks.
Run an interactive brainstorming session to review state and choose next actions.
One-shot interactive onboarding for a newly forked Glite ARF template. Shows the safety acknowledgement, installs dependencies, runs doctor.py, chains into create-project-description, provisions the paid services the project declared, then invokes the four meta/ sub-skills. Use once per fork, right after cloning.
Interactively scaffold a new asset type under meta/asset_types/, grounded in project/description.md. Creates a specification.md stub patterned on the built-in asset types. Use during project setup when a custom asset kind is needed; accept "none for now" to skip.
Interactively add one or more entries to meta/categories/, grounded in project/description.md. Use during project setup or any time a new cross-cutting tag is needed.
Interactively add one or more task types to meta/task_types/, grounded in project/description.md. Use during project setup or any time a recurring kind of task needs standardized planning and implementation guidance.
| name | create-task |
| description | Create a new not-started task folder with task.json and task_description.md. Use when any skill or workflow needs to create a new task. |
Version: 6
Create a new task folder under tasks/ containing a valid task.json and task_description.md,
following the task file specification. Accept a free-form task description and derive all structured
fields from it.
$TASK_DESCRIPTION — free-form text describing the task. May include any relevant details: what
the task does, why it matters, dependencies on other tasks, expected outputs, compute needs,
budget estimates, source suggestion, etc. The skill extracts all structured fields from this text.$TASK_INDEX (optional) — numeric task index (1-9999). If omitted, determine the next available
index from the tasks aggregator output (step 1).Read before starting:
arf/specifications/task_file_specification.md
arf/docs/howto/use_aggregators.md — JSON output structure for all aggregators
Available task types:
uv run python -u -m arf.scripts.aggregators.aggregate_task_types --format json
Existing tasks (for dependency validation and next task index):
uv run python -u -m arf.scripts.aggregators.aggregate_tasks \
--format json --detail short
Existing suggestions (for source suggestion validation):
uv run python -u -m arf.scripts.aggregators.aggregate_suggestions \
--format json --detail short
Project context — answers, datasets, libraries, and models produced by prior tasks:
uv run python -u -m arf.scripts.aggregators.aggregate_answers \
--format json --detail short
uv run python -u -m arf.scripts.aggregators.aggregate_datasets \
--format json --detail short
uv run python -u -m arf.scripts.aggregators.aggregate_libraries \
--format json --detail short
uv run python -u -m arf.scripts.aggregators.aggregate_models \
--format json --detail short
Read aggregator outputs. Run all aggregators from the Context section. The first three (task types, tasks, suggestions) provide validation data. The project context aggregators (answers, datasets, libraries, models) inform the task description — they reveal what the project has already produced, what resources are available, and what work has been done. Use this context to write better task descriptions that reference existing assets and avoid duplicating completed work.
Derive metadata fields from $TASK_DESCRIPTION. Extract:
name — concise human-readable name (under 80 characters)short_description — one-sentence summary, strictly under 200 characters. This limit is
enforced by verify_task_file.py (TF-W001). Count the characters before writing task.json;
if the sentence is longer, tighten it first — do not rely on the verificator to catch the
overrun afterwards.slug — lowercase underscore-separated identifier derived from the name (e.g.,
download_semcor_dataset). Must use only lowercase letters, digits, and underscores.dependencies — task IDs mentioned or implied as prerequisites. Validate each against the
tasks aggregator output. Default to [] unless the description explicitly states the task
needs output from another task. See the Dependency Guidance section below.expected_assets — map of asset type to count based on what the task produces (e.g.,
{"dataset": 1}, {"paper": 5}). Default to {} if no concrete assets.task_types — match against the available task types from the aggregator output. Default to
[] if no type fits.source_suggestion — suggestion ID (S-XXXX-NN format) if mentioned. Validate against the
suggestions aggregator output. Default to null.Compose task_description.md content. Expand and structure the free-form input into a
well-organized markdown document covering motivation, scope, approach, and expected outputs. Do
not just copy the input verbatim — improve clarity and completeness.
Determine task index. If $TASK_INDEX is not provided, use the tasks aggregator output from
step 1 to find the highest existing task index and add 1. Zero-pad to 4 digits.
Construct the task ID. Format: t<NNNN>_<SLUG> where NNNN is the zero-padded task index
and SLUG is the derived slug.
Create the task folder.
mkdir -p tasks/t<NNNN>_<SLUG>
Write task.json. Fields:
spec_version: 4task_id: the constructed task IDtask_index: the numeric index (integer)name: derived nameshort_description: derived short descriptionlong_description_file: "task_description.md"status: "not_started"dependencies: derived dependenciesstart_time: nullend_time: nullexpected_assets: derived expected assetstask_types: derived task typessource_suggestion: derived source suggestion or nullWrite task_description.md. Content is the description composed in step 3.
Verify the task description against the Quality Checklist (see section below). Every item must be addressed or explicitly marked N/A with a reason. Items marked with (*) may be skipped for simpler tasks (download-dataset, literature-survey).
Format the description file.
uv run flowmark --inplace --nobackup tasks/t<NNNN>_<SLUG>/task_description.md
Run the task file verificator.
uv run python -u -m arf.scripts.verificators.verify_task_file t<NNNN>_<SLUG>
Fix any errors before proceeding.
Before finalizing any task_description.md, verify it against this checklist. Every item must be
addressed or explicitly marked N/A with a reason. Items marked with (*) may be skipped for simpler
tasks (download-dataset, literature-survey).
Scope and completeness:
short_description is under 200 characters (enforced by verify_task_file.py as TF-W001). Trim
the description before writing task.json, not after the verificator flags it.uv run python -u -m arf.scripts.aggregators.aggregate_metrics --format jsonefficiency_training_time_seconds, efficiency_inference_time_per_item_seconds,
efficiency_inference_cost_per_item_usdexpected_assets
in task.jsonData handling:
data/ folder within the
taskTraining protocol (when applicable):
Compute and budget:
Output specification:
results/images/ and embedded in results_detailed.mdCross-references:
Minimize dependencies. Only add a dependency when the task genuinely cannot start without the other
task's output (e.g., it needs a dataset or library that task produces). Most research,
literature-survey, and downloading tasks are independent and should have "dependencies": []. NEVER
add a dependency on a not-yet-completed task unless the task truly requires that task's concrete
output — blocking on incomplete work prevents parallel execution. When unsure, default to no
dependency.
Two files in the new task folder:
task.json — task metadata with status "not_started" and long_description_file settask_description.md — detailed task description derived from the free-form inputtasks/t<NNNN>_<SLUG>/task.json is valid and passes verify_task_file.py with 0 errorstask_description.md exists and is referenced by task.jsoncorrections/, logs/, results/, assets/, etc.) in the task
folder — the /execute-task skill creates the full folder structure.gitkeep files"not_started"