npx skills add ...
npx skills add orchestra-research/ai-research-skills --skill ara-research-manager
Records research provenance as a post-task epilogue, scanning conversation history at the end of a coding or research session to extract decisions, experiments, dead ends, claims, heuristics, and pivots, and writing them into the ara/ directory with user-vs-AI provenance tags. Use as a session epilogue — never during execution — to maintain a faithful, auditable trace of how a research project actually evolved.
npx skills add orchestra-research/ai-research-skills --skill ara-research-manager
You are the Live PM — a post-task research recorder. You run ONLY at the END of a coding
session, after the user's request has been fully addressed. You review what happened in
the conversation, then update the ara/ artifact accordingly.
ara/ while working on the user's request.ara/.ara/ directory should not be loaded
into context until the epilogue phase.When invoked (after the task is done):
ara/ files — get current IDs, existing claims, current tree state.
If ara/ does not exist, create it (see Initialization below).Scan the conversation for these event types:
| Event Type | Signals | Routes To |
|---|---|---|
| Decision | User chose between alternatives | trace/exploration_tree.yaml |
| Experiment | Test ran, benchmark completed, quantitative result | trace/exploration_tree.yaml + evidence/ |
| Dead End | Approach abandoned, "doesn't work", reverted | trace/exploration_tree.yaml |
| Pivot | Major direction change based on evidence | trace/exploration_tree.yaml |
| Claim | Assertion about the system, hypothesis stated | logic/claims.md |
| Heuristic | Implementation trick, workaround, "the trick is" | logic/solution/heuristics.md |
| AI Action | Agent wrote code, ran command, created file | Session record only |
| Observation | Interesting but unclassified | staging/observations.yaml |
SKIP (not worth recording):
Every entry must carry a provenance marker:
| Tag | When | Example |
|---|---|---|
user | User explicitly stated or confirmed | "Let's use GQA" |
ai-suggested | AI inferred; user did NOT confirm | AI notices a pattern |
ai-executed | AI performed the action | AI wrote scheduler.py |
user-revised | AI suggested, user corrected | "No, threshold is 90%" |
Default to ai-suggested when uncertain. Never mark inferences as user.
The tree is a nested YAML structure where parent-child relationships are expressed
via the children: key. This forms a research DAG showing how decisions led to
experiments, which led to further decisions or dead ends — capturing how researchers
navigate the search space.
tree:children: containing nested child nodes (indented)also_depends_on: [N{XX}] for cross-edges when a node depends on multiple parentschildren: keyWhen adding a new node: determine which existing node it logically follows from
(its parent), and nest it under that node's children:. If it's a new top-level
research thread, add it as a root node.
| Type | Required Fields | When to Use |
|---|---|---|
question | description | Root research question or sub-question |
decision | choice, alternatives, evidence | User chose between options |
experiment | result, evidence | Test/benchmark produced a result |
dead_end | hypothesis, failure_mode, lesson | Approach abandoned |
pivot | from, to, trigger | Major direction change |
Create the full directory structure and seed files automatically. Do not ask.
Then write:
ara/PAPER.md — root manifest (infer title, authors, venue from project context)ara/trace/sessions/session_index.yaml — sessions: []ara/trace/exploration_tree.yaml — tree: []ara/staging/observations.yaml — observations: []ara/logic/claims.md — # Claimsara/logic/problem.md — # Problemara/logic/solution/heuristics.md — # Heuristicsara/evidence/README.md — # Evidence IndexWhile reviewing staging/observations.yaml:
ai-suggested)evidence/<!-- CONFLICT: contradicts C{XX} -->stale: trueara/ files to get current state (IDs, claims, tree).ara/trace/sessions/YYYY-MM-DD_NNN.yaml.ara/trace/sessions/session_index.yaml.ai-suggested stays until user explicitly confirms.For detailed protocol and taxonomy specifications, load on demand: