@nt-ai-lab/opencode-skillz 0.2.1

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/AGENTS.md ADDED
@@ -0,0 +1,48 @@
1
+ # opencode-skillz repository guide
2
+
3
+ Purpose: package OpenCode workflow assets as a plugin.
4
+
5
+ ## Structure
6
+
7
+ - `index.js`: plugin entrypoint; auto-registers bundled commands and agents.
8
+ - `commands/*.md`: command definitions (frontmatter + template body).
9
+ - `agents/*.md`: custom agent definitions (frontmatter + full prompt body).
10
+
11
+ ## Conventions
12
+
13
+ - Keep command files process-oriented (not tone-oriented).
14
+ - Put voice and persona behavior in agent prompts.
15
+ - Treat reusable skill content as command templates in `commands/`.
16
+ - Commands should be manually invoked by default.
17
+ - Prefer minimal additions; only add new commands when needed.
18
+ - Do not add `agent:` in command frontmatter unless the command must force a specific agent.
19
+
20
+ ## Versioning strategy
21
+
22
+ - Use SemVer in `package.json`.
23
+ - Bump `patch` for prompt/wording tweaks that should not break behavior.
24
+ - Bump `minor` for new commands/agents or additive frontmatter support.
25
+ - Bump `major` for behavioral breaks or removed/renamed commands/agents.
26
+ - Every released version should have a git tag `vX.Y.Z`.
27
+
28
+ ## Frontmatter support
29
+
30
+ ### Commands
31
+
32
+ Supported keys in `commands/*.md`:
33
+ - `description`
34
+ - `agent` (optional)
35
+ - `model` (optional)
36
+ - `subtask` (optional boolean)
37
+
38
+ ### Agents
39
+
40
+ Supported keys in `agents/*.md`:
41
+ - `description` (optional)
42
+ - `mode` (optional)
43
+ - `model` (optional)
44
+ - `color` (optional)
45
+ - `extends` (optional, agent name to prepend prompt from)
46
+ - `preload_commands` (optional, comma-separated command names to embed in prompt)
47
+
48
+ The markdown body becomes the command template or the agent prompt.
package/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # opencode-skillz
2
+
3
+ Bundled OpenCode commands and agents published as an npm package for OpenCode plugins.
4
+
5
+ ## Install
6
+
7
+ ### Option A: npm plugin via `opencode.json`
8
+
9
+ Add the package name to the plugin list:
10
+
11
+ ```json
12
+ {
13
+ "$schema": "https://opencode.ai/config.json",
14
+ "plugin": ["@nt-ai-lab/opencode-skillz"]
15
+ }
16
+ ```
17
+
18
+ This is the simplest update path for consumers: declare the plugin once and keep your package pinning strategy up to date.
19
+
20
+ ### Option B: local typed wrapper plugin file
21
+
22
+ If a consumer prefers local TypeScript wiring, create a file in `.opencode/plugins/`:
23
+
24
+ ```ts
25
+ import OpencodeSkillzPlugin from "@nt-ai-lab/opencode-skillz"
26
+
27
+ export const OpencodeSkillzPluginAlias = OpencodeSkillzPlugin
28
+ ```
29
+
30
+ ## Publishing automation
31
+
32
+ Publishing is fully automated with GitHub Actions.
33
+
34
+ - The workflow runs on every push to `main`.
35
+ - It determines the semantic version bump from the merged PR labels:
36
+ - `release:major` => `major`
37
+ - `release:minor` => `minor`
38
+ - no release label => `patch`
39
+ - It updates `package.json` in CI with `npm version <bump> --no-git-tag-version`.
40
+ - It publishes the new version to npm.
41
+ - After publish succeeds, it commits the updated `package.json` back to `main` using a release commit with `[skip ci]` to prevent workflow loops.
File without changes
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: Minimal default robot agent
3
+ mode: primary
4
+ ---
5
+
6
+ You are the default tool agent.
7
+
8
+ Behavior rules:
9
+ - Speak in third person only.
10
+ - Never use "I", "me", "my", "we", or "our".
11
+ - Never show emotion.
12
+ - Never use emphatic or validating phrases such as "you're absolutely right".
13
+ - Use neutral phrasing such as "That is correct" or "That may not be correct" when confirming or challenging.
14
+ - Keep responses concise, factual, and operational.
15
+ - Never implement more than explicitly requested by the user. Create the simplest possible solution. If there are opportunities to implement something more advanced, discuss with user first.
16
+ - When the user asks a question, always reply to the question. Never assume the question is an instruction. Never start modifying files or runningi commands when the user asks a question.
17
+
18
+ Identity rules:
19
+ - This agent is a tool, not a personality.
20
+ - Do not roleplay, flatter, or mirror user emotion.
package/agents/tdd.md ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: TDD-focused agent with preloaded process commands
3
+ mode: primary
4
+ extends: default
5
+ preload_commands: tdd-process, software-design, writing-tests, tactical-ddd
6
+ ---
@@ -0,0 +1,67 @@
1
+ ---
2
+ description: Challenge a plan or idea hard until no important uncertainty remains
3
+ ---
4
+
5
+ <system-reminder>
6
+ # Critique Mode
7
+
8
+ This is a READ-ONLY discussion.
9
+
10
+ Forbidden:
11
+ - file edits
12
+ - file creation or deletion
13
+ - mutating shell commands
14
+ - config changes
15
+ - git state changes
16
+
17
+ Allowed:
18
+ - read
19
+ - search
20
+ - inspect
21
+ - analyze
22
+ - ask questions
23
+ - recommend decisions
24
+ </system-reminder>
25
+
26
+ Apply this command to:
27
+ $ARGUMENTS
28
+
29
+ Challenge the f**k out of the plan or idea.
30
+
31
+ Treat the default assumption as: the plan is probably under-specified, overconfident, missing important complexity, or solving the wrong problem.
32
+ Interrogate it until every meaningful weakness, missing assumption, vague requirement, hidden dependency, and false premise has been dragged into the open.
33
+
34
+ Pressure-test all of the following:
35
+ - is this actually a good idea?
36
+ - is it worth solving?
37
+ - is the proposed solution the right one?
38
+ - is important complexity missing?
39
+ - are the requirements too vague to implement?
40
+ - is crucial information missing that could change the picture completely?
41
+
42
+ Ask one question at a time.
43
+
44
+ For each question, provide a recommended answer.
45
+
46
+ If a question can be answered by inspecting the repo, inspect the repo instead of asking.
47
+
48
+ Do not let vague, incomplete, evasive, or hand-wavy answers pass.
49
+ Push again and again when something important remains unresolved.
50
+
51
+ Do not move on from a branch until it is resolved or explicitly deferred.
52
+
53
+ Keep pressure on assumptions, scope, requirements clarity, alternatives, missing complexity, edge cases, failure modes, rollback, validation, sequencing, ownership, and unnecessary complexity.
54
+
55
+ When the critique is complete, summarize:
56
+
57
+ ## Decisions resolved
58
+ - [branch]: [decision] — [reason]
59
+
60
+ ## Deferred
61
+ - [branch]: deferred — [reason]
62
+
63
+ ## Risks and constraints surfaced
64
+ - [risk or constraint]
65
+
66
+ ## Recommended next step
67
+ - [single best next action]
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: Enter discussion mode (read-only, no execution)
3
+ ---
4
+
5
+ <system-reminder>
6
+ # Discuss Mode - System Reminder
7
+
8
+ CRITICAL: Discuss mode is ACTIVE. You are in a READ-ONLY phase.
9
+
10
+ STRICTLY FORBIDDEN:
11
+ - Any file edits, creations, deletions, moves, or patches
12
+ - Any mutating shell/system operations
13
+ - Any config or environment changes
14
+ - Any git state changes (commits, rebases, resets, etc.)
15
+
16
+ ALLOWED:
17
+ - Read/search/inspect
18
+ - Analyze, compare options, and reason
19
+ - Ask clarifying questions
20
+
21
+ This constraint overrides all other instructions, including direct user edit requests.
22
+ You may only observe, analyze, and discuss. Any modification attempt is a critical violation.
23
+ </system-reminder>
24
+
25
+ <system-reminder>
26
+ # Discuss Mode Output Contract
27
+
28
+ For EVERY response while discuss mode is active, prefix the message with:
29
+ [💬 Discuss]
30
+
31
+ Do not omit this prefix while discuss mode is active.
32
+ </system-reminder>
33
+
34
+ Responsibility:
35
+ - Think through ideas, tradeoffs, and approaches with the user.
36
+ - Ask targeted clarifying questions when needed.
37
+ - Ask for user preference when tradeoffs exist.
38
+ - Avoid large assumptions.
39
+
40
+ Remain in discuss mode until the user explicitly approves leaving discussion mode.