with one click
science-review-tasks
// Audit and reorganize the task backlog — check stale tasks, verify statuses against the codebase, adjust priorities, identify gaps, group related work. Use when the user wants to clean up the backlog.
// Audit and reorganize the task backlog — check stale tasks, verify statuses against the codebase, adjust priorities, identify gaps, group related work. Use when the user wants to clean up the backlog.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | science-review-tasks |
| description | Audit and reorganize the task backlog — check stale tasks, verify statuses against the codebase, adjust priorities, identify gaps, group related work. Use when the user wants to clean up the backlog. |
Converted from Claude command /science:review-tasks.
Before executing any research command:
Resolve project profile: Read science.yaml and identify the project's profile.
Use the canonical layout for that profile:
research → doc/, specs/, tasks/, knowledge/, papers/, models/, data/, code/software → doc/, specs/, tasks/, knowledge/, plus native implementation roots such as src/ and tests/Load role prompt: .ai/prompts/<role>.md if present, else references/role-prompts/<role>.md.
Load the science-research-methodology and science-scientific-writing Codex skills. If native skill loading is unavailable, use codex-skills/INDEX.md to map canonical Science skill names to generated skill files and source paths.
Read specs/research-question.md for project context when it exists.
Load project aspects: Read aspects from science.yaml (default: empty list).
For each declared aspect, resolve the aspect file in this order:
aspects/<name>/<name>.md — canonical Science aspects.ai/aspects/<name>.md — project-local aspect override or additionIf neither path exists (the project declares an aspect that isn't shipped with
Science and has no project-local definition), do not block: log a single line
like aspect "<name>" declared in science.yaml but no definition found — proceeding without it and continue. Suggest the user either (a) drop the
aspect from science.yaml, (b) author it under .ai/aspects/<name>.md, or
(c) align the name with one shipped under aspects/.
When executing command steps, incorporate the additional sections, guidance, and signal categories from loaded aspects. Aspect-contributed sections are whole sections inserted at the placement indicated in each aspect file.
Check for missing aspects: Scan for structural signals that suggest aspects the project could benefit from but hasn't declared:
| Signal | Suggests |
|---|---|
Files in specs/hypotheses/ | hypothesis-testing |
Files in models/ (.dot, .json DAG files) | causal-modeling |
Workflow files, notebooks, or benchmark scripts in code/ | computational-analysis |
Package manifests (pyproject.toml, package.json, Cargo.toml) at project root with project source code (not just tool dependencies) | software-development |
If a signal is detected and the corresponding aspect is not in the aspects list,
briefly note it to the user before proceeding:
"This project has [signal] but the
[aspect]aspect isn't enabled. This would add [brief description of what the aspect contributes]. Want me to add it toscience.yaml?"
If the user agrees, add the aspect to science.yaml and load the aspect file
before continuing. If they decline, proceed without it.
Only check once per command invocation — do not re-prompt for the same aspect if the user has previously declined it in this session.
Resolve templates: When a command says "Read .ai/templates/<name>.md",
check the project's .ai/templates/ directory first. If not found, read from
templates/<name>.md. If neither exists, warn the
user and proceed without a template — the command's Writing section provides
sufficient structure.
Resolve science CLI invocation: When a command says to run science,
prefer the project-local install path: uv run science <command>.
This assumes the root pyproject.toml includes science as a dev
dependency installed via uv add --dev --editable "$SCIENCE_TOOL_PATH"
(the distribution is science; the entry point it installs is science).
If that fails (no root pyproject.toml or science not in dependencies),
fall back to:
uv run --with <science-plugin-root>/science science <command>
Structured review of the project task backlog. Validates statuses against actual codebase state, adjusts priorities to current project direction, and identifies gaps.
the user input optionally specifies scope (e.g., "P2 only", "research tasks", "lens-system group").
uv run science tasks list --format=json
uv run science tasks summary
If knowledge/graph.trig exists, also run:
uv run science graph attention-sample --limit 8 --format json
Read tasks/active.md for full task descriptions. Note the total count and distribution.
If $ARGUMENTS specifies a filter (priority, type, group, related), apply it. Otherwise review all open tasks (non-done, non-retired).
For each open task, check whether the codebase reflects completion:
doc/reports/, doc/interpretations/, scripts/, src/, and pipeline/ as appropriate.Classify each task into one of:
done — implementation evidence foundin-progress — partial work existsretired — superseded, no longer relevant, or blocked indefinitelyEvaluate priorities against the current project trajectory:
Recommend:
Look for:
blocked-byIf tasks lack group labels, suggest groupings based on shared themes. Common patterns:
related entities, especially theme: references for cross-cutting work and method: references for analytical proceduresFor open questions, suggest theme connections via related (e.g., theme:protein-folding-generalization)
when they share themes with existing hypotheses, tasks, or other questions. Questions
should be linkable to the same entity graph used for tasks.
Summarize as a structured report:
## Status Corrections
| Task | Current | Proposed | Evidence |
|------|---------|----------|----------|
## Priority Changes
| Task | Current | Proposed | Rationale |
|------|---------|----------|-----------|
## Suggested Retirements
| Task | Reason |
|------|--------|
## New Tasks
| Title | Type | Priority | Rationale |
|-------|------|----------|-----------|
## Suggested Groups
| Group | Tasks | Theme |
|-------|-------|-------|
After user confirmation, apply changes using:
# Status corrections
uv run science tasks done <id> --note="<evidence>"
uv run science tasks retire <id> --reason="<reason>"
# Priority changes
uv run science tasks edit <id> --priority=<new>
# Group assignments
uv run science tasks edit <id> --group=<group>
# Related entity links (replaces old --tags flag)
uv run science tasks edit <id> --related=topic:foo --related=topic:bar
# New tasks
uv run science tasks add "<title>" --type=<type> --priority=<priority> [--group=<group>] [--related=<ref>...]
git add tasks/ && git commit -m "tasks: backlog review — N status corrections, M priority changes, K new tasks"
tasks/done/ for recently completed tasks that might inform gap analysisdoc/discussions/ and doc/interpretations/ for research contextscience:next-steps skill produces complementary forward-looking analysis; this skill is backward-looking (auditing what exists)science-health.