@slowdini/slow-powers-opencode 0.1.1 → 0.1.3
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/README.md +22 -8
- package/bootstrap.md +50 -4
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -33,6 +33,26 @@ Slow-powers integrates directly into your agent's session, providing a highly di
|
|
|
33
33
|
Installation differs by harness. If you use more than one, install
|
|
34
34
|
Slow-powers separately for each.
|
|
35
35
|
|
|
36
|
+
### Install with your agent
|
|
37
|
+
|
|
38
|
+
Don't want to look up the steps? Open the harness you want Slow-powers on and
|
|
39
|
+
paste this prompt to its agent — it'll read the guide, work out which harness
|
|
40
|
+
it's in, and do the install for you:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
Install the "slow-powers" plugin for the coding-agent harness you are currently
|
|
44
|
+
running in. Read the installation guide at
|
|
45
|
+
https://github.com/slowdini/slow-powers#installation, determine which harness
|
|
46
|
+
this is (Claude Code, Codex CLI, or OpenCode), and follow the matching steps —
|
|
47
|
+
run the documented marketplace/install commands for Claude Code or Codex, or add
|
|
48
|
+
the package to the `plugin` array in opencode.json for OpenCode. Then tell me
|
|
49
|
+
exactly what you changed and what I need to do to finish (e.g. restart the
|
|
50
|
+
session so the skills load).
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The per-harness instructions below are the source of truth the agent follows —
|
|
54
|
+
and the reference for installing by hand.
|
|
55
|
+
|
|
36
56
|
### Claude Code
|
|
37
57
|
|
|
38
58
|
```
|
|
@@ -65,13 +85,7 @@ Add Slow-powers to the `plugin` array in your `opencode.json` (global or project
|
|
|
65
85
|
}
|
|
66
86
|
```
|
|
67
87
|
|
|
68
|
-
This installs the latest version from npm.
|
|
69
|
-
|
|
70
|
-
```json
|
|
71
|
-
{
|
|
72
|
-
"plugin": ["github:slowdini/slow-powers#main"]
|
|
73
|
-
}
|
|
74
|
-
```
|
|
88
|
+
This installs the latest published version from npm.
|
|
75
89
|
|
|
76
90
|
## The Core Execution Utilities
|
|
77
91
|
|
|
@@ -110,7 +124,7 @@ Flat layout — skills and assets live at root, harness-specific integration liv
|
|
|
110
124
|
- `tests/` — Cross-cutting and harness-specific tests
|
|
111
125
|
- `.claude-plugin/` — Claude Code plugin manifest and hooks
|
|
112
126
|
- `.codex-plugin/` — OpenAI Codex plugin manifest
|
|
113
|
-
- `opencode/` — OpenCode plugin
|
|
127
|
+
- `opencode/` — OpenCode plugin
|
|
114
128
|
- `.claude-plugin/marketplace.json` — Claude Code marketplace registry
|
|
115
129
|
- `package.json` — OpenCode plugin manifest + dev tooling
|
|
116
130
|
- `harness-parity-check.md` — Instructions for an agent in any harness to audit feature gaps and prep to close one
|
package/bootstrap.md
CHANGED
|
@@ -1,12 +1,58 @@
|
|
|
1
1
|
# Instructions for using Slow-powers Skills
|
|
2
2
|
|
|
3
|
+
<EXTREMELY-IMPORTANT>
|
|
4
|
+
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
|
|
5
|
+
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
|
|
6
|
+
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
|
|
7
|
+
</EXTREMELY-IMPORTANT>
|
|
8
|
+
|
|
3
9
|
These skills are quality gates on procedures you already run. They don't grant abilities — they enhance how you execute work you already know how to do.
|
|
4
10
|
|
|
5
|
-
When you reach a gate moment — about to code, debug, claim done, finish a branch — the matching skill's description surfaces it. Load it then, even if your procedure already feels complete. That "feels complete" is the gate's target.
|
|
11
|
+
When you reach a gate moment — about to code, hand off a plan, debug, claim done, finish a branch — the matching skill's description surfaces it. Load it then, even if your procedure already feels complete. That "feels complete" is the gate's target.
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
## The Rule
|
|
14
|
+
|
|
15
|
+
**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
|
|
16
|
+
|
|
17
|
+
```dot
|
|
18
|
+
digraph skill_flow {
|
|
19
|
+
"User message received" [shape=doublecircle];
|
|
20
|
+
"Might any skill apply?" [shape=diamond];
|
|
21
|
+
"Invoke skill mechanism" [shape=box];
|
|
22
|
+
"Announce: 'Using [skill] to [purpose]'" [shape=box];
|
|
23
|
+
"Has checklist?" [shape=diamond];
|
|
24
|
+
"Create todo per item with persistent task tracker" [shape=box];
|
|
25
|
+
"Follow skill exactly" [shape=box];
|
|
26
|
+
"Respond (including clarifications)" [shape=doublecircle];
|
|
27
|
+
|
|
28
|
+
"User message received" -> "Might any skill apply?";
|
|
29
|
+
"Might any skill apply?" -> "Invoke skill mechanism" [label="yes, even 1%"];
|
|
30
|
+
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
|
|
31
|
+
"Invoke skill mechanism" -> "Announce: 'Using [skill] to [purpose]'";
|
|
32
|
+
"Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
|
|
33
|
+
"Has checklist?" -> "Create todo per item with persistent task tracker" [label="yes"];
|
|
34
|
+
"Has checklist?" -> "Follow skill exactly" [label="no"];
|
|
35
|
+
"Create todo per item with persistent task tracker" -> "Follow skill exactly";
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Red Flags
|
|
40
|
+
|
|
41
|
+
These thoughts mean STOP — you're rationalizing:
|
|
42
|
+
|
|
43
|
+
| Thought | Reality |
|
|
44
|
+
|---------|---------|
|
|
45
|
+
| "This is just a simple question" | Questions are tasks. Check for skills. |
|
|
46
|
+
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
|
|
47
|
+
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
|
|
48
|
+
| "Let me gather information first" | Skills tell you HOW to gather information. |
|
|
49
|
+
| "This doesn't need a formal skill" | If a skill exists, use it. |
|
|
50
|
+
| "I remember this skill" | Skills evolve. Read current version. |
|
|
51
|
+
| "This doesn't count as a task" | Action = task. Check for skills. |
|
|
52
|
+
| "The skill is overkill" | Simple things become complex. Use it. |
|
|
53
|
+
| "I'll just do this one thing first" | Check BEFORE doing anything. |
|
|
54
|
+
| "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
|
|
55
|
+
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
|
|
10
56
|
|
|
11
57
|
## Instruction Priority
|
|
12
58
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slowdini/slow-powers-opencode",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Slow-powers — structured development workflows for coding agents (TDD, debugging, verification, git hygiene)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./opencode/plugins/slow-powers.js",
|
|
@@ -45,11 +45,10 @@
|
|
|
45
45
|
"evals:grade": "bun run skills/evaluating-skills/runner/grade.ts --skill-dir ./skills",
|
|
46
46
|
"evals:aggregate": "bun run skills/evaluating-skills/runner/aggregate.ts --skill-dir ./skills",
|
|
47
47
|
"evals:promote-baseline": "bun run skills/evaluating-skills/runner/promote-baseline.ts --skill-dir ./skills",
|
|
48
|
-
"version": "bun scripts/bump-version.ts",
|
|
49
48
|
"check": "biome check --write .",
|
|
50
49
|
"check:ci": "biome check --error-on-warnings .",
|
|
51
50
|
"typecheck": "tsc --noEmit",
|
|
52
|
-
"
|
|
51
|
+
"prepare": "node .husky/install.mjs",
|
|
53
52
|
"prepublishOnly": "node -e \"if (process.env.CI !== 'true') { console.error('Publishing should be done via CI'); process.exit(1); }\""
|
|
54
53
|
},
|
|
55
54
|
"devDependencies": {
|