u-foo 3.0.13 → 3.0.15
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/OPTIONAL_SKILLS/ubus-poll/SKILL.md +76 -0
- package/README.md +22 -0
- package/README.zh-CN.md +20 -0
- package/SKILLS/ufoo/SKILL.md +56 -179
- package/SKILLS/ufoo/agents/openai.yaml +4 -0
- package/SKILLS/ufoo-bus/SKILL.md +92 -0
- package/SKILLS/ufoo-bus/agents/openai.yaml +4 -0
- package/SKILLS/ufoo-context/SKILL.md +101 -0
- package/SKILLS/ufoo-context/agents/openai.yaml +4 -0
- package/SKILLS/ufoo-online/SKILL.md +43 -112
- package/SKILLS/ufoo-online/agents/openai.yaml +4 -0
- package/package.json +2 -1
- package/scripts/postinstall-skills.js +81 -0
- package/scripts/postinstall.js +8 -15
- package/src/app/cli/busCoreCommands.js +112 -6
- package/src/app/cli/features/doctor.js +4 -4
- package/src/app/cli/features/skills.js +22 -3
- package/src/app/cli/run.js +50 -5
- package/src/coordination/bus/index.js +108 -0
- package/src/coordination/bus/message.js +4 -0
- package/src/coordination/bus/poll.js +190 -0
- package/src/coordination/bus/queue.js +44 -1
- package/src/coordination/bus/store.js +1 -1
- package/src/coordination/context/doctor.js +2 -2
- package/SKILLS/ubus/SKILL.md +0 -250
- package/SKILLS/uctx/SKILL.md +0 -156
- package/SKILLS/uinit/SKILL.md +0 -76
- package/SKILLS/ustatus/SKILL.md +0 -36
package/SKILLS/uctx/SKILL.md
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: uctx
|
|
3
|
-
description: |
|
|
4
|
-
Quick ufoo context status check. Shows decisions and context health.
|
|
5
|
-
Use when: (1) Starting a session, (2) User says "uctx", (3) Need quick context refresh.
|
|
6
|
-
For full initialization, use uinit (ufoo init CLI).
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# /uctx - AI Context Quick Check
|
|
10
|
-
|
|
11
|
-
## What this does
|
|
12
|
-
|
|
13
|
-
Fast context check for daily use. Run at session start or anytime.
|
|
14
|
-
|
|
15
|
-
Pre-flight reminder:
|
|
16
|
-
- Default is no new decision.
|
|
17
|
-
- Write a decision only for important architectural choices, trade-off outcomes, cross-agent coordination, or precedent-setting integration contracts.
|
|
18
|
-
- Do NOT write decisions for routine tasks, simple bug fixes, trivial findings, or generic plan/evaluation/recommendation requests.
|
|
19
|
-
- Durable project facts belong in shared memory, not decisions.
|
|
20
|
-
Use: `ufoo ctx decisions new "<Title>"`
|
|
21
|
-
|
|
22
|
-
## Decision format (canonical)
|
|
23
|
-
|
|
24
|
-
The context module tracks decisions only. Durable shared facts belong in shared memory. Decisions live at:
|
|
25
|
-
`<project>/.ufoo/context/decisions/`
|
|
26
|
-
|
|
27
|
-
Decision index (JSONL):
|
|
28
|
-
`<project>/.ufoo/context/decisions.jsonl`
|
|
29
|
-
|
|
30
|
-
Generate/update the index:
|
|
31
|
-
```bash
|
|
32
|
-
ufoo ctx decisions index
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Each JSONL row includes:
|
|
36
|
-
- `ts` (ISO timestamp)
|
|
37
|
-
- `type` (`decision` or `decision_status`)
|
|
38
|
-
- `file` (decision filename)
|
|
39
|
-
- `author` (decision author or resolver)
|
|
40
|
-
|
|
41
|
-
Create a new decision (only when the high-threshold rule above requires it):
|
|
42
|
-
```bash
|
|
43
|
-
ufoo ctx decisions new "Short Title"
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
**File naming:** `NNNN-<nickname>-short-title.md` (4-digit prefix + nickname + kebab-case slug).
|
|
47
|
-
|
|
48
|
-
**Template for new decisions:**
|
|
49
|
-
```yaml
|
|
50
|
-
---
|
|
51
|
-
status: open
|
|
52
|
-
nickname: <nickname>
|
|
53
|
-
---
|
|
54
|
-
# DECISION NNNN: <Title>
|
|
55
|
-
|
|
56
|
-
Date: YYYY-MM-DD
|
|
57
|
-
Author: <agent>
|
|
58
|
-
Nickname: <nickname>
|
|
59
|
-
|
|
60
|
-
Context:
|
|
61
|
-
What led to this decision?
|
|
62
|
-
|
|
63
|
-
Decision:
|
|
64
|
-
What is now considered true?
|
|
65
|
-
|
|
66
|
-
Implications:
|
|
67
|
-
What must follow from this?
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Status updates (only edit frontmatter):**
|
|
71
|
-
```yaml
|
|
72
|
-
---
|
|
73
|
-
status: resolved
|
|
74
|
-
resolved_by: <agent>
|
|
75
|
-
resolved_at: YYYY-MM-DD
|
|
76
|
-
---
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Rules:
|
|
80
|
-
- Decisions are append-only. Do not rewrite past content.
|
|
81
|
-
- Only update the frontmatter when changing status.
|
|
82
|
-
|
|
83
|
-
## Workflow
|
|
84
|
-
|
|
85
|
-
### 1. Verify structure exists
|
|
86
|
-
|
|
87
|
-
Check `.ufoo/context/decisions/` exists. If missing, tell user to run `ufoo init`.
|
|
88
|
-
|
|
89
|
-
### 2. List all decisions
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
ufoo ctx decisions -l
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### 3. Show latest decision
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
ufoo ctx decisions -n 1
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### 4. Report status
|
|
102
|
-
|
|
103
|
-
Brief summary:
|
|
104
|
-
- Open decisions count (need attention)
|
|
105
|
-
- Total decisions count
|
|
106
|
-
- Any issues found
|
|
107
|
-
- Ready to work
|
|
108
|
-
|
|
109
|
-
## Output format
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
=== ufoo context status ===
|
|
113
|
-
Project: <cwd>
|
|
114
|
-
Decisions: N open, M total
|
|
115
|
-
Latest open: DECISION XXXX: <title>
|
|
116
|
-
|
|
117
|
-
[Latest decision content]
|
|
118
|
-
|
|
119
|
-
Status: Ready ✓
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Handling Open Decisions
|
|
123
|
-
|
|
124
|
-
When there are open decisions, you MUST:
|
|
125
|
-
|
|
126
|
-
### 1. Read and understand
|
|
127
|
-
- Read the full content of each open decision
|
|
128
|
-
- Understand what other agents decided
|
|
129
|
-
- This is "syncing their memory to yours"
|
|
130
|
-
|
|
131
|
-
### 2. Check if action needed
|
|
132
|
-
- Does the decision require implementation?
|
|
133
|
-
- Is something already done that needs verification?
|
|
134
|
-
- Are there implications you need to follow?
|
|
135
|
-
|
|
136
|
-
### 3. Execute if needed
|
|
137
|
-
- If the decision requires action, do it first
|
|
138
|
-
- Verify the action was successful
|
|
139
|
-
|
|
140
|
-
### 4. Then resolve
|
|
141
|
-
Only after understanding and completing any required actions:
|
|
142
|
-
```yaml
|
|
143
|
-
---
|
|
144
|
-
status: resolved
|
|
145
|
-
resolved_by: <your-agent-name>
|
|
146
|
-
resolved_at: <date>
|
|
147
|
-
---
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**NEVER resolve blindly.** Reading the title is not enough.
|
|
151
|
-
|
|
152
|
-
## Notes
|
|
153
|
-
|
|
154
|
-
- Script defaults to showing only `open` decisions
|
|
155
|
-
- Resolved decisions are skipped (already processed)
|
|
156
|
-
- Use `-s all` to see all decisions regardless of status
|
package/SKILLS/uinit/SKILL.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: uinit
|
|
3
|
-
description: |
|
|
4
|
-
Initialize ufoo workspace state in current project.
|
|
5
|
-
Use when: (1) new project needs context/bus enabled, (2) user inputs /uinit or /ufoo init.
|
|
6
|
-
Provides interactive target selection, defaults to all selected.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# uinit
|
|
10
|
-
|
|
11
|
-
Initialize ufoo workspace state in current project.
|
|
12
|
-
|
|
13
|
-
## Trigger
|
|
14
|
-
|
|
15
|
-
User inputs `/uinit` or `/ufoo init`
|
|
16
|
-
|
|
17
|
-
## Execution Flow
|
|
18
|
-
|
|
19
|
-
### 1. Ask user to select init targets
|
|
20
|
-
|
|
21
|
-
Use AskUserQuestion tool, provide multi-select, default all selected:
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
Please select ufoo state to enable:
|
|
25
|
-
|
|
26
|
-
☑ context - Shared context protocol (.ufoo/context/)
|
|
27
|
-
☑ bus - Agent event bus (.ufoo/bus/ + .ufoo/agent/)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Options:
|
|
31
|
-
- `context` (recommended) - Shared context, sparse decision log for major plan-level choices
|
|
32
|
-
- `bus` (recommended) - Multi-agent communication, task delegation, message passing
|
|
33
|
-
|
|
34
|
-
Default selected: context, bus
|
|
35
|
-
|
|
36
|
-
### 2. Execute initialization
|
|
37
|
-
|
|
38
|
-
Based on user selection, execute:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
ufoo init --targets <selected_targets> --project $(pwd)
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 3. If bus target selected, auto-join bus
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
SUBSCRIBER="${UFOO_SUBSCRIBER_ID:-$(ufoo bus whoami 2>/dev/null || true)}"
|
|
48
|
-
if [ -n "$SUBSCRIBER" ]; then
|
|
49
|
-
echo "Using existing subscriber ID: $SUBSCRIBER"
|
|
50
|
-
else
|
|
51
|
-
SUBSCRIBER=$(ufoo bus join | tail -1)
|
|
52
|
-
echo "Joined event bus: $SUBSCRIBER"
|
|
53
|
-
fi
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 4. Report initialization result
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
=== ufoo initialization complete ===
|
|
60
|
-
|
|
61
|
-
Enabled ufoo state:
|
|
62
|
-
✓ core memory → .ufoo/memory/
|
|
63
|
-
✓ context → .ufoo/context/
|
|
64
|
-
✓ bus → .ufoo/bus/ + .ufoo/agent/
|
|
65
|
-
|
|
66
|
-
My identity: claude-code:<session-id>
|
|
67
|
-
|
|
68
|
-
Next steps:
|
|
69
|
-
- Run /ctx to check context status
|
|
70
|
-
- See AGENTS.md for protocol rules
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Notes
|
|
74
|
-
|
|
75
|
-
- If .ufoo/memory, .ufoo/context, .ufoo/bus, or .ufoo/agent already exists, skip creation
|
|
76
|
-
- After initialization, reuse existing subscriber ID first, join only as fallback (if bus enabled)
|
package/SKILLS/ustatus/SKILL.md
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ustatus
|
|
3
|
-
description: |
|
|
4
|
-
Unified ufoo status check. Shows banner, unread bus messages, and open decisions.
|
|
5
|
-
Use when: (1) User asks for status, (2) Quick health check, (3) Before starting work.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# ufoo Status
|
|
9
|
-
|
|
10
|
-
## What this does
|
|
11
|
-
|
|
12
|
-
Quick, unified status view:
|
|
13
|
-
- Banner
|
|
14
|
-
- Unread bus messages (unacked queues)
|
|
15
|
-
- Open decisions
|
|
16
|
-
|
|
17
|
-
## Workflow
|
|
18
|
-
|
|
19
|
-
### 1. Verify structure exists
|
|
20
|
-
|
|
21
|
-
Check `.ufoo/` exists. If missing, tell user to run `ufoo init`.
|
|
22
|
-
|
|
23
|
-
### 2. Run status command
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
ufoo status
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### 3. Report status
|
|
30
|
-
|
|
31
|
-
Briefly summarize:
|
|
32
|
-
- Unread messages count
|
|
33
|
-
- Open decisions count
|
|
34
|
-
- Any immediate action needed
|
|
35
|
-
|
|
36
|
-
If unread messages > 0, advise running `ufoo bus check <subscriber>` and `ufoo bus ack <subscriber>` after handling.
|