@femtomc/mu-agent 26.2.84 → 26.2.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@femtomc/mu-agent",
|
|
3
|
-
"version": "26.2.
|
|
3
|
+
"version": "26.2.85",
|
|
4
4
|
"description": "Shared agent runtime for mu assistant sessions, orchestration roles, and serve extensions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mu",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"themes/**"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@femtomc/mu-core": "26.2.
|
|
27
|
+
"@femtomc/mu-core": "26.2.85",
|
|
28
28
|
"@mariozechner/pi-agent-core": "^0.53.0",
|
|
29
29
|
"@mariozechner/pi-ai": "^0.53.0",
|
|
30
30
|
"@mariozechner/pi-coding-agent": "^0.53.0",
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planning
|
|
3
|
+
description: Investigate first, then propose a concrete issue plan and refine it with the user until approved.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Planning
|
|
7
|
+
|
|
8
|
+
Use this skill when the user asks for planning, decomposition, or a staged execution roadmap.
|
|
9
|
+
|
|
10
|
+
## Core contract
|
|
11
|
+
|
|
12
|
+
1. **Investigate first**
|
|
13
|
+
- Read relevant code/docs/state before proposing work.
|
|
14
|
+
- Avoid speculative plans when evidence is cheap to gather.
|
|
15
|
+
|
|
16
|
+
2. **Materialize the plan in mu issues**
|
|
17
|
+
- Create a root planning issue and concrete child issues.
|
|
18
|
+
- Encode dependencies so the DAG reflects execution order.
|
|
19
|
+
- Add clear titles, scope, acceptance criteria, and role tags.
|
|
20
|
+
|
|
21
|
+
3. **Present the plan to the user**
|
|
22
|
+
- Summarize goals, sequencing, risks, and tradeoffs.
|
|
23
|
+
- Include issue IDs so the user can reference exact nodes.
|
|
24
|
+
|
|
25
|
+
4. **Iterate until user approval**
|
|
26
|
+
- Treat user feedback as first-class constraints.
|
|
27
|
+
- Update issues/dependencies and re-present deltas.
|
|
28
|
+
- Do not begin broad execution until the user signals satisfaction.
|
|
29
|
+
|
|
30
|
+
## Suggested workflow
|
|
31
|
+
|
|
32
|
+
### A) Investigation pass
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
mu status --pretty
|
|
36
|
+
mu issues list --status open --limit 50 --pretty
|
|
37
|
+
mu forum read user:context --limit 50 --pretty
|
|
38
|
+
mu memory search --query "<topic>" --limit 30
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Also inspect repo files directly (read/bash) for implementation constraints.
|
|
42
|
+
|
|
43
|
+
### B) Draft DAG in mu-issue
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# 1) Create root planning issue
|
|
47
|
+
mu issues create "<Goal>" --body "<scope + success criteria>" --tag node:root --role orchestrator --pretty
|
|
48
|
+
|
|
49
|
+
# 2) Create child work items
|
|
50
|
+
mu issues create "<Subtask A>" --parent <root-id> --role worker --priority 2 --pretty
|
|
51
|
+
mu issues create "<Subtask B>" --parent <root-id> --role worker --priority 2 --pretty
|
|
52
|
+
|
|
53
|
+
# 3) Add dependency edges where needed
|
|
54
|
+
mu issues dep <child-a-id> blocks <child-b-id>
|
|
55
|
+
|
|
56
|
+
# 4) Validate ready set
|
|
57
|
+
mu issues ready --root <root-id> --pretty
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### C) Plan presentation template
|
|
61
|
+
|
|
62
|
+
- Objective
|
|
63
|
+
- Assumptions and constraints discovered in investigation
|
|
64
|
+
- Proposed issue DAG (IDs + titles + ordering)
|
|
65
|
+
- Risks and mitigations
|
|
66
|
+
- Open questions for user approval
|
|
67
|
+
|
|
68
|
+
### D) Revision loop
|
|
69
|
+
|
|
70
|
+
- Apply feedback with `mu issues update` / `mu issues dep` / additional issues.
|
|
71
|
+
- Re-run `mu issues ready --root <root-id> --pretty`.
|
|
72
|
+
- Present a concise diff of what changed and why.
|
|
73
|
+
|
|
74
|
+
## Quality bar
|
|
75
|
+
|
|
76
|
+
- Every issue should be actionable and testable.
|
|
77
|
+
- Keep tasks small enough to complete in one focused pass.
|
|
78
|
+
- Explicitly call out uncertain assumptions for user confirmation.
|
|
79
|
+
- Prefer reversible plans and incremental checkpoints.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reviewer
|
|
3
|
+
description: Run a dedicated reviewer pass in tmux and return a strict verdict with evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reviewer
|
|
7
|
+
|
|
8
|
+
Use this skill when you want a separate reviewer lane that audits work before finalizing.
|
|
9
|
+
|
|
10
|
+
## Goals
|
|
11
|
+
|
|
12
|
+
- Isolate review from implementation context.
|
|
13
|
+
- Require explicit pass/fail criteria.
|
|
14
|
+
- Produce concrete evidence (tests, diffs, traces) for the verdict.
|
|
15
|
+
|
|
16
|
+
## Reviewer lane pattern
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
run_id="$(date +%Y%m%d-%H%M%S)"
|
|
20
|
+
review_session="mu-review-${run_id}"
|
|
21
|
+
|
|
22
|
+
# Start a dedicated reviewer session
|
|
23
|
+
# (Use the same repo and server port as the main workflow.)
|
|
24
|
+
tmux new-session -d -s "$review_session" \
|
|
25
|
+
"cd '$PWD' && mu session --new --port 3000 ; rc=\$?; echo __MU_DONE__:\$rc"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Then inject a strict reviewer prompt in that tmux pane (attach or send keys) with:
|
|
29
|
+
|
|
30
|
+
- Scope under review
|
|
31
|
+
- Acceptance criteria
|
|
32
|
+
- Required checks (build/test/lint, edge cases, regressions)
|
|
33
|
+
- Required output format: `PASS` or `FAIL`, plus blockers and fixes
|
|
34
|
+
|
|
35
|
+
## Suggested reviewer prompt shape
|
|
36
|
+
|
|
37
|
+
- "Act as a strict reviewer. Validate only against these acceptance criteria..."
|
|
38
|
+
- "Run the necessary checks and cite concrete evidence."
|
|
39
|
+
- "Return: verdict, evidence, risk list, and required fixes."
|
|
40
|
+
|
|
41
|
+
## Monitoring and collection
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
tmux capture-pane -pt "$review_session" -S -300
|
|
45
|
+
tmux attach -t "$review_session"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If the reviewer leaves open questions, ask follow-up turns in the same reviewer session:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
mu session list --json --pretty
|
|
52
|
+
mu turn --session-kind operator --session-id <session-id> --body "Clarify blocker #2"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Use `--session-kind operator` for terminal/tmux reviewer sessions.
|
|
56
|
+
If omitted, `mu turn` defaults to control-plane operator sessions (`cp_operator`).
|
|
57
|
+
|
|
58
|
+
Once complete, summarize reviewer findings back into the main workflow and create follow-up issues for each blocker.
|
|
59
|
+
|
|
60
|
+
## Safety rules
|
|
61
|
+
|
|
62
|
+
- Reviewer must not silently relax acceptance criteria.
|
|
63
|
+
- Prefer failing with explicit evidence over guessing.
|
|
64
|
+
- Keep reviewer output actionable (file paths, commands, failing checks).
|
|
65
|
+
- Close/kill temporary tmux sessions after review.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: subagents
|
|
3
|
+
description: Break a task into independent parts and dispatch mu subagents in tmux sessions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Subagents
|
|
7
|
+
|
|
8
|
+
Use this skill when work can be split into independent shards and run concurrently.
|
|
9
|
+
|
|
10
|
+
## When to use
|
|
11
|
+
|
|
12
|
+
- The task can be decomposed into parallelizable parts.
|
|
13
|
+
- Each shard can be specified with a clear prompt and bounded outcome.
|
|
14
|
+
- You need a durable terminal surface to inspect each shard separately.
|
|
15
|
+
|
|
16
|
+
## Workflow
|
|
17
|
+
|
|
18
|
+
1. Decompose into 2–4 independent subtasks with explicit deliverables.
|
|
19
|
+
2. Launch one detached tmux session per subtask.
|
|
20
|
+
3. Run a `mu` invocation in each session.
|
|
21
|
+
4. Monitor each pane, then reconcile outputs into one final synthesis.
|
|
22
|
+
|
|
23
|
+
## Launch pattern
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
run_id="$(date +%Y%m%d-%H%M%S)"
|
|
27
|
+
|
|
28
|
+
# Optional: keep one shared server alive for all shards
|
|
29
|
+
mu serve --port 3000
|
|
30
|
+
|
|
31
|
+
# In another terminal, dispatch shards
|
|
32
|
+
for shard in 1 2 3; do
|
|
33
|
+
session="mu-sub-${run_id}-${shard}"
|
|
34
|
+
tmux new-session -d -s "$session" \
|
|
35
|
+
"cd '$PWD' && mu run 'SUBTASK_PROMPT_${shard}' ; rc=\$?; echo __MU_DONE__:\$rc"
|
|
36
|
+
done
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If you need non-interactive queueing, use `mu runs start ...` in tmux windows instead of `mu run ...`.
|
|
40
|
+
|
|
41
|
+
## Monitoring
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
tmux ls | rg '^mu-sub-'
|
|
45
|
+
tmux capture-pane -pt mu-sub-<run-id>-1 -S -200
|
|
46
|
+
tmux attach -t mu-sub-<run-id>-1
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Handoffs and follow-up turns
|
|
50
|
+
|
|
51
|
+
When a subagent session already exists, ask direct follow-ups in that same session:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
mu session list --json --pretty
|
|
55
|
+
mu turn --session-kind operator --session-id <session-id> --body "Follow-up question"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Use `--session-kind operator` for terminal/tmux subagent sessions.
|
|
59
|
+
If omitted, `mu turn` defaults to control-plane operator sessions (`cp_operator`).
|
|
60
|
+
|
|
61
|
+
## Reconciliation checklist
|
|
62
|
+
|
|
63
|
+
- Collect outputs from each shard.
|
|
64
|
+
- Identify conflicts or overlaps.
|
|
65
|
+
- Produce one merged plan/result with explicit decisions.
|
|
66
|
+
- Record any follow-up tasks in `mu issues` / `mu forum`.
|
|
67
|
+
|
|
68
|
+
## Safety rules
|
|
69
|
+
|
|
70
|
+
- Keep shard prompts scoped and explicit.
|
|
71
|
+
- Prefer fewer, higher-quality shards over many noisy shards.
|
|
72
|
+
- Do not overwrite unrelated files across shards.
|
|
73
|
+
- Tear down temporary tmux sessions when done.
|