Review all libraries and completed tasks relevant to the current task, analyze code quality, answer
assets, and reusability, and produce a structured research_code.md that informs planning and
implementation.
-
Run the library aggregator to get all libraries:
uv run python -u -m arf.scripts.aggregators.aggregate_libraries \
--format json --detail short
-
For each library, assess whether it is relevant to the current task based on its name,
description, categories, and entry points.
-
For relevant libraries, get full details including the complete description:
uv run python -u -m arf.scripts.aggregators.aggregate_libraries \
--format json --detail full --include-full-description \
--ids <lib_id_1> <lib_id_2> ...
-
Note whether the aggregator output already reflects corrections. Library replacements are
resolved automatically, and other aggregated asset kinds may also expose effective corrected
metadata or file paths.
-
For relevant libraries, read their source code to understand the API:
- Read the module files listed in
module_paths
- Note function signatures, classes, and data structures
- Check test files for usage examples
-
Code directory — list files with ls tasks/<task_id>/code/. For tasks that produced code, read
key source files. Note:
- File names, sizes, and purposes
- Function signatures and class definitions
- Data structures and constants
- Patterns that could be reused (path management, data loading, evaluation)
-
Results — read tasks/<task_id>/results/results_summary.md to understand what the task achieved.
Note metrics, success/failure, and any issues encountered.
-
Plan — read tasks/<task_id>/plan/plan.md to understand the approach. Note what worked as
planned and what required adjustments.
-
Prior code research — if tasks/<task_id>/research/research_code.md exists, read it to
understand what that task found about earlier tasks.
-
Datasets — check tasks/<task_id>/assets/dataset/ for relevant data produced by the task. Note
dataset IDs, sizes, and formats.
-
Answers — check tasks/<task_id>/assets/answer/ for prior conclusions that may already address
part of the current task. Note answer IDs, questions, confidence, and supporting source types.
-
NEVER run prestep or poststep — the orchestrator handles the step lifecycle
-
NEVER commit — the orchestrator handles all commits
-
NEVER modify step_tracker.json — the orchestrator manages step state
-
NEVER write step_log.md — the orchestrator writes it after this skill completes
-
NEVER organize Key Findings by task — synthesize across tasks by topic.
-
NEVER claim "no relevant prior tasks" without running both the library and task aggregators.
-
NEVER recommend importing from another task's code/ directory. Only library imports are allowed
cross-task. Non-library code must be copied into the current task's code/.
-
NEVER skip examining actual source code files for relevant tasks. Read the code, do not guess what
it contains.
-
NEVER fabricate file paths, function signatures, line counts, or code snippets. Read the actual
files.
-
NEVER skip the library aggregator — even if no libraries seem relevant, document what exists in
the Library Landscape section.
-
NEVER use vague descriptions like "there is useful code in t0012" — include specific file paths,
function names, and what they do.