원클릭으로
research-code
Review libraries and prior tasks to write implementation-oriented code research.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Review libraries and prior tasks to write implementation-oriented code research.
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.
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.
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.
| name | research-code |
| description | Review libraries and prior tasks to write implementation-oriented code research. |
| model | claude-sonnet-4-6 |
Version: 3
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.
$TASK_ID — the task folder name (e.g., t0016_baseline_wsd_with_bert)Read before starting:
arf/docs/howto/use_aggregators.md — JSON output structure for all aggregators
project/description.md — project goals and scope
tasks/$TASK_ID/task.json — task objective, dependencies, expected assets
arf/specifications/research_code_specification.md — authoritative format specification for
research_code.md
arf/styleguide/markdown_styleguide.md — formatting rules (100-char lines, * bullets, heading
hierarchy)
Read tasks/$TASK_ID/task.json and extract the task objective, description, and dependencies. If
it contains long_description_file, also read the referenced markdown file.
Note what kind of code, data, or infrastructure this task needs — this guides relevance assessment of prior tasks and libraries.
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:
module_pathsRun the answer aggregator to get all answer assets:
uv run python -u -m arf.scripts.aggregators.aggregate_answers \
--format json --detail short
For each answer, assess whether the question or conclusion is relevant to the current task.
For relevant answers, get full details including the complete researched answer:
uv run python -u -m arf.scripts.aggregators.aggregate_answers \
--format json --detail full --include-full-answer \
--ids <answer_id_1> <answer_id_2> ...
Treat relevant answer assets as synthesized prior findings. Use them to shortcut repeated research, but still confirm any reusable code or assets they reference. If an answer asset was corrected, trust the aggregator's effective state rather than the original upstream files.
Run the task aggregator for completed tasks:
uv run python -u -m arf.scripts.aggregators.aggregate_tasks \
--format json --detail short --status completed
For each completed task, assess potential relevance based on name, description, and expected assets.
Tasks that are direct dependencies of the current task (from task.json) are automatically
relevant — include them regardless of name matching.
For relevant-sounding tasks, get full details:
uv run python -u -m arf.scripts.aggregators.aggregate_tasks \
--format json --detail full --ids <task_id_1> <task_id_2> ...
For each relevant task, read its key outputs:
Code directory — list files with ls tasks/<task_id>/code/. For tasks that produced code, read
key source files. Note:
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.
Determine what code should be imported via library — only libraries registered in
assets/library/ may be imported across tasks. Note the import paths (e.g.,
from tasks.tXXXX_slug.code.module import func).
Determine what code should be copied from other tasks into the current task's code/ directory.
For each piece of code to copy:
Check for common patterns across tasks — shared approaches to path management, data loading, evaluation, logging.
Organize findings by topic, not by task. Each topic becomes a ### subsection under
## Key Findings. This is critical — by-topic organization forces synthesis across tasks.
Write the full research_code.md at tasks/$TASK_ID/research/research_code.md following
arf/specifications/research_code_specification.md:
YAML frontmatter with all required fields (spec_version, task_id, research_stage,
tasks_reviewed, tasks_cited, libraries_found, libraries_relevant, date_completed,
status)
All 7 mandatory sections: Task Objective, Library Landscape, Key Findings, Reusable Code and Assets, Lessons Learned, Recommendations for This Task, Task Index
Additional sections wherever the task demands deeper treatment (e.g., Dataset Landscape, Common Patterns, Architecture Overview)
Ensure every [tXXXX] citation has a Task Index entry and vice versa.
In the Reusable Code and Assets section, explicitly label each item as "import via library" or "copy into task".
Include specific details everywhere — file paths, function signatures, line counts, performance numbers.
Run the verificator:
uv run python -u -m arf.scripts.verificators.verify_research_code $TASK_ID
Fix all errors. Address warnings unless there is a documented reason to skip them.
Re-run until zero errors.
tasks/$TASK_ID/research/research_code.md exists and follows the specification[tXXXX] citation has a Task Index entry and vice versa### subsections (not by task)status is "partial" with explanation)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.