oh-my-opencode-gpt-slim 0.1.1 → 0.1.2

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/dist/cli/index.js CHANGED
@@ -2145,7 +2145,7 @@ var package_default;
2145
2145
  var init_package = __esm(() => {
2146
2146
  package_default = {
2147
2147
  name: "oh-my-opencode-gpt-slim",
2148
- version: "0.1.1",
2148
+ version: "0.1.2",
2149
2149
  description: "GPT-optimized lean fork of oh-my-openagent \u2014 33 hooks removed, 5 tools removed, Sisyphus prompt rewritten based on OpenAI Codex prompt.md",
2150
2150
  main: "dist/index.js",
2151
2151
  types: "dist/index.d.ts",
@@ -2223,15 +2223,15 @@ var init_package = __esm(() => {
2223
2223
  typescript: "^5.7.3"
2224
2224
  },
2225
2225
  optionalDependencies: {
2226
- "oh-my-opencode-gpt-slim-darwin-arm64": "0.1.1",
2227
- "oh-my-opencode-gpt-slim-darwin-x64": "0.1.1",
2228
- "oh-my-opencode-gpt-slim-darwin-x64-baseline": "0.1.1",
2229
- "oh-my-opencode-gpt-slim-linux-arm64": "0.1.1",
2230
- "oh-my-opencode-gpt-slim-linux-arm64-musl": "0.1.1",
2231
- "oh-my-opencode-gpt-slim-linux-x64": "0.1.1",
2232
- "oh-my-opencode-gpt-slim-linux-x64-baseline": "0.1.1",
2233
- "oh-my-opencode-gpt-slim-linux-x64-musl": "0.1.1",
2234
- "oh-my-opencode-gpt-slim-linux-x64-musl-baseline": "0.1.1"
2226
+ "oh-my-opencode-gpt-slim-darwin-arm64": "0.1.2",
2227
+ "oh-my-opencode-gpt-slim-darwin-x64": "0.1.2",
2228
+ "oh-my-opencode-gpt-slim-darwin-x64-baseline": "0.1.2",
2229
+ "oh-my-opencode-gpt-slim-linux-arm64": "0.1.2",
2230
+ "oh-my-opencode-gpt-slim-linux-arm64-musl": "0.1.2",
2231
+ "oh-my-opencode-gpt-slim-linux-x64": "0.1.2",
2232
+ "oh-my-opencode-gpt-slim-linux-x64-baseline": "0.1.2",
2233
+ "oh-my-opencode-gpt-slim-linux-x64-musl": "0.1.2",
2234
+ "oh-my-opencode-gpt-slim-linux-x64-musl-baseline": "0.1.2"
2235
2235
  },
2236
2236
  overrides: {
2237
2237
  "@opencode-ai/sdk": "^1.2.17"
@@ -24052,11 +24052,13 @@ var CommentCheckerConfigSchema = exports_external.object({
24052
24052
  });
24053
24053
  // src/config/schema/commands.ts
24054
24054
  var BuiltinCommandNameSchema = exports_external.enum([
24055
+ "handoff",
24055
24056
  "init-deep",
24056
24057
  "ralph-loop",
24057
24058
  "ulw-loop",
24058
24059
  "cancel-ralph",
24059
24060
  "refactor",
24061
+ "skill-creator",
24060
24062
  "start-work",
24061
24063
  "stop-continuation"
24062
24064
  ]);
@@ -1,5 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export declare const BuiltinCommandNameSchema: z.ZodEnum<{
3
+ "skill-creator": "skill-creator";
4
+ handoff: "handoff";
3
5
  "init-deep": "init-deep";
4
6
  "ralph-loop": "ralph-loop";
5
7
  "ulw-loop": "ulw-loop";
@@ -15,6 +15,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
15
15
  }>>>;
16
16
  disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
17
  disabled_commands: z.ZodOptional<z.ZodArray<z.ZodEnum<{
18
+ "skill-creator": "skill-creator";
19
+ handoff: "handoff";
18
20
  "init-deep": "init-deep";
19
21
  "ralph-loop": "ralph-loop";
20
22
  "ulw-loop": "ulw-loop";
@@ -0,0 +1 @@
1
+ export declare const SKILL_CREATOR_TEMPLATE = "# Skill Creator Command\n\nLoad the built-in skill-creator skill for creating, refining, or migrating SKILL.md-based skills.\n\n## How To Use This Command\n\n1. Call the skill tool with the built-in skill name:\n\n`skill(name=\"skill-creator\")`\n\n2. After the skill loads, use its guidance to:\n - create a new skill\n - refine an existing SKILL.md\n - improve naming, description, and structure\n - choose between local skill files and built-in skills\n\n## User Context\n\nTreat any command arguments as the user's goal or context for the skill work.\n\n## Action\n\nCall `skill(name=\"skill-creator\")` now, then continue using the loaded guidance and the user's request.";
@@ -1,5 +1,5 @@
1
1
  import type { CommandDefinition } from "../claude-code-command-loader";
2
- export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff";
2
+ export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "skill-creator" | "start-work" | "stop-continuation" | "handoff";
3
3
  export interface BuiltinCommandConfig {
4
4
  disabled_commands?: BuiltinCommandName[];
5
5
  }
package/dist/index.js CHANGED
@@ -12308,7 +12308,7 @@ function initConfigContext(binary, version) {
12308
12308
  // package.json
12309
12309
  var package_default = {
12310
12310
  name: "oh-my-opencode-gpt-slim",
12311
- version: "0.1.1",
12311
+ version: "0.1.2",
12312
12312
  description: "GPT-optimized lean fork of oh-my-openagent \u2014 33 hooks removed, 5 tools removed, Sisyphus prompt rewritten based on OpenAI Codex prompt.md",
12313
12313
  main: "dist/index.js",
12314
12314
  types: "dist/index.d.ts",
@@ -12386,15 +12386,15 @@ var package_default = {
12386
12386
  typescript: "^5.7.3"
12387
12387
  },
12388
12388
  optionalDependencies: {
12389
- "oh-my-opencode-gpt-slim-darwin-arm64": "0.1.1",
12390
- "oh-my-opencode-gpt-slim-darwin-x64": "0.1.1",
12391
- "oh-my-opencode-gpt-slim-darwin-x64-baseline": "0.1.1",
12392
- "oh-my-opencode-gpt-slim-linux-arm64": "0.1.1",
12393
- "oh-my-opencode-gpt-slim-linux-arm64-musl": "0.1.1",
12394
- "oh-my-opencode-gpt-slim-linux-x64": "0.1.1",
12395
- "oh-my-opencode-gpt-slim-linux-x64-baseline": "0.1.1",
12396
- "oh-my-opencode-gpt-slim-linux-x64-musl": "0.1.1",
12397
- "oh-my-opencode-gpt-slim-linux-x64-musl-baseline": "0.1.1"
12389
+ "oh-my-opencode-gpt-slim-darwin-arm64": "0.1.2",
12390
+ "oh-my-opencode-gpt-slim-darwin-x64": "0.1.2",
12391
+ "oh-my-opencode-gpt-slim-darwin-x64-baseline": "0.1.2",
12392
+ "oh-my-opencode-gpt-slim-linux-arm64": "0.1.2",
12393
+ "oh-my-opencode-gpt-slim-linux-arm64-musl": "0.1.2",
12394
+ "oh-my-opencode-gpt-slim-linux-x64": "0.1.2",
12395
+ "oh-my-opencode-gpt-slim-linux-x64-baseline": "0.1.2",
12396
+ "oh-my-opencode-gpt-slim-linux-x64-musl": "0.1.2",
12397
+ "oh-my-opencode-gpt-slim-linux-x64-musl-baseline": "0.1.2"
12398
12398
  },
12399
12399
  overrides: {
12400
12400
  "@opencode-ai/sdk": "^1.2.17"
@@ -33790,11 +33790,13 @@ var CommentCheckerConfigSchema = exports_external.object({
33790
33790
  });
33791
33791
  // src/config/schema/commands.ts
33792
33792
  var BuiltinCommandNameSchema = exports_external.enum([
33793
+ "handoff",
33793
33794
  "init-deep",
33794
33795
  "ralph-loop",
33795
33796
  "ulw-loop",
33796
33797
  "cancel-ralph",
33797
33798
  "refactor",
33799
+ "skill-creator",
33798
33800
  "start-work",
33799
33801
  "stop-continuation"
33800
33802
  ]);
@@ -56560,6 +56562,185 @@ async function loadOpencodeProjectCommands(directory) {
56560
56562
  const commands2 = await loadCommandsFromDir(opencodeProjectDir, "opencode-project");
56561
56563
  return commandsToRecord(commands2);
56562
56564
  }
56565
+ // src/features/builtin-commands/templates/handoff.ts
56566
+ var HANDOFF_TEMPLATE = `# Handoff Command
56567
+
56568
+ ## Purpose
56569
+
56570
+ Use /handoff when:
56571
+ - The current session context is getting too long and quality is degrading
56572
+ - You want to start fresh while preserving essential context from this session
56573
+ - The context window is approaching capacity
56574
+
56575
+ This creates a detailed context summary that can be used to continue work in a new session.
56576
+
56577
+ ---
56578
+
56579
+ # PHASE 0: VALIDATE REQUEST
56580
+
56581
+ Before proceeding, confirm:
56582
+ - [ ] There is meaningful work or context in this session to preserve
56583
+ - [ ] The user wants to create a handoff summary (not just asking about it)
56584
+
56585
+ If the session is nearly empty or has no meaningful context, inform the user there is nothing substantial to hand off.
56586
+
56587
+ ---
56588
+
56589
+ # PHASE 1: GATHER PROGRAMMATIC CONTEXT
56590
+
56591
+ Execute these tools to gather concrete data:
56592
+
56593
+ 1. session_read({ session_id: "$SESSION_ID" }) \u2014 full session history
56594
+ 2. todoread() \u2014 current task progress
56595
+ 3. Bash({ command: "git diff --stat HEAD~10..HEAD" }) \u2014 recent file changes
56596
+ 4. Bash({ command: "git status --porcelain" }) \u2014 uncommitted changes
56597
+
56598
+ Suggested execution order:
56599
+
56600
+ \`\`\`
56601
+ session_read({ session_id: "$SESSION_ID" })
56602
+ todoread()
56603
+ Bash({ command: "git diff --stat HEAD~10..HEAD" })
56604
+ Bash({ command: "git status --porcelain" })
56605
+ \`\`\`
56606
+
56607
+ Analyze the gathered outputs to understand:
56608
+ - What the user asked for (exact wording)
56609
+ - What work was completed
56610
+ - What tasks remain incomplete (include todo state)
56611
+ - What decisions were made
56612
+ - What files were modified or discussed (include git diff/stat + status)
56613
+ - What patterns, constraints, or preferences were established
56614
+
56615
+ ---
56616
+
56617
+ # PHASE 2: EXTRACT CONTEXT
56618
+
56619
+ Write the context summary from first person perspective ("I did...", "I told you...").
56620
+
56621
+ Focus on:
56622
+ - Capabilities and behavior, not file-by-file implementation details
56623
+ - What matters for continuing the work
56624
+ - Avoiding excessive implementation details (variable names, storage keys, constants) unless critical
56625
+ - USER REQUESTS (AS-IS) must be verbatim (do not paraphrase)
56626
+ - EXPLICIT CONSTRAINTS must be verbatim only (do not invent)
56627
+
56628
+ Questions to consider when extracting:
56629
+ - What did I just do or implement?
56630
+ - What instructions did I already give which are still relevant (e.g. follow patterns in the codebase)?
56631
+ - What files did I tell you are important or that I am working on?
56632
+ - Did I provide a plan or spec that should be included?
56633
+ - What did I already tell you that is important (libraries, patterns, constraints, preferences)?
56634
+ - What important technical details did I discover (APIs, methods, patterns)?
56635
+ - What caveats, limitations, or open questions did I find?
56636
+
56637
+ ---
56638
+
56639
+ # PHASE 3: FORMAT OUTPUT
56640
+
56641
+ Generate a handoff summary using this exact format:
56642
+
56643
+ \`\`\`
56644
+ HANDOFF CONTEXT
56645
+ ===============
56646
+
56647
+ USER REQUESTS (AS-IS)
56648
+ ---------------------
56649
+ - [Exact verbatim user requests - NOT paraphrased]
56650
+
56651
+ GOAL
56652
+ ----
56653
+ [One sentence describing what should be done next]
56654
+
56655
+ WORK COMPLETED
56656
+ --------------
56657
+ - [First person bullet points of what was done]
56658
+ - [Include specific file paths when relevant]
56659
+ - [Note key implementation decisions]
56660
+
56661
+ CURRENT STATE
56662
+ -------------
56663
+ - [Current state of the codebase or task]
56664
+ - [Build/test status if applicable]
56665
+ - [Any environment or configuration state]
56666
+
56667
+ PENDING TASKS
56668
+ -------------
56669
+ - [Tasks that were planned but not completed]
56670
+ - [Next logical steps to take]
56671
+ - [Any blockers or issues encountered]
56672
+ - [Include current todo state from todoread()]
56673
+
56674
+ KEY FILES
56675
+ ---------
56676
+ - [path/to/file1] - [brief role description]
56677
+ - [path/to/file2] - [brief role description]
56678
+ (Maximum 10 files, prioritized by importance)
56679
+ - (Include files from git diff/stat and git status)
56680
+
56681
+ IMPORTANT DECISIONS
56682
+ -------------------
56683
+ - [Technical decisions that were made and why]
56684
+ - [Trade-offs that were considered]
56685
+ - [Patterns or conventions established]
56686
+
56687
+ EXPLICIT CONSTRAINTS
56688
+ --------------------
56689
+ - [Verbatim constraints only - from user or existing AGENTS.md]
56690
+ - If none, write: None
56691
+
56692
+ CONTEXT FOR CONTINUATION
56693
+ ------------------------
56694
+ - [What the next session needs to know to continue]
56695
+ - [Warnings or gotchas to be aware of]
56696
+ - [References to documentation if relevant]
56697
+ \`\`\`
56698
+
56699
+ Rules for the summary:
56700
+ - Plain text with bullets
56701
+ - No markdown headers with # (use the format above with dashes)
56702
+ - No bold, italic, or code fences within content
56703
+ - Use workspace-relative paths for files
56704
+ - Keep it focused - only include what matters for continuation
56705
+ - Pick an appropriate length based on complexity
56706
+ - USER REQUESTS (AS-IS) and EXPLICIT CONSTRAINTS must be verbatim only
56707
+
56708
+ ---
56709
+
56710
+ # PHASE 4: PROVIDE INSTRUCTIONS
56711
+
56712
+ After generating the summary, instruct the user:
56713
+
56714
+ \`\`\`
56715
+ ---
56716
+
56717
+ TO CONTINUE IN A NEW SESSION:
56718
+
56719
+ 1. Press 'n' in OpenCode TUI to open a new session, or run 'opencode' in a new terminal
56720
+ 2. Paste the HANDOFF CONTEXT above as your first message
56721
+ 3. Add your request: "Continue from the handoff context above. [Your next task]"
56722
+
56723
+ The new session will have all context needed to continue seamlessly.
56724
+ \`\`\`
56725
+
56726
+ ---
56727
+
56728
+ # IMPORTANT CONSTRAINTS
56729
+
56730
+ - DO NOT attempt to programmatically create new sessions (no API available to agents)
56731
+ - DO provide a self-contained summary that works without access to this session
56732
+ - DO include workspace-relative file paths
56733
+ - DO NOT include sensitive information (API keys, credentials, secrets)
56734
+ - DO NOT exceed 10 files in the KEY FILES section
56735
+ - DO keep the GOAL section to a single sentence or short paragraph
56736
+
56737
+ ---
56738
+
56739
+ # EXECUTE NOW
56740
+
56741
+ Begin by gathering programmatic context, then synthesize the handoff summary.
56742
+ `;
56743
+
56563
56744
  // src/features/builtin-commands/templates/init-deep.ts
56564
56745
  var INIT_DEEP_TEMPLATE = `# /init-deep
56565
56746
 
@@ -56867,87 +57048,6 @@ Hierarchy:
56867
57048
  - **Generic content**: Remove anything that applies to ALL projects
56868
57049
  - **Verbose style**: Telegraphic or die`;
56869
57050
 
56870
- // src/features/builtin-commands/templates/ralph-loop.ts
56871
- var RALPH_LOOP_TEMPLATE = `You are starting a Ralph Loop - a self-referential development loop that runs until task completion.
56872
-
56873
- ## How Ralph Loop Works
56874
-
56875
- 1. You will work on the task continuously
56876
- 2. When you believe the task is FULLY complete, output: \`<promise>{{COMPLETION_PROMISE}}</promise>\`
56877
- 3. If you don't output the promise, the loop will automatically inject another prompt to continue
56878
- 4. Maximum iterations: Configurable (default 100)
56879
-
56880
- ## Rules
56881
-
56882
- - Focus on completing the task fully, not partially
56883
- - Don't output the completion promise until the task is truly done
56884
- - Each iteration should make meaningful progress toward the goal
56885
- - If stuck, try different approaches
56886
- - Use todos to track your progress
56887
-
56888
- ## Exit Conditions
56889
-
56890
- 1. **Completion**: Output your completion promise tag when fully complete
56891
- 2. **Max Iterations**: Loop stops automatically at limit
56892
- 3. **Cancel**: User runs \`/cancel-ralph\` command
56893
-
56894
- ## Your Task
56895
-
56896
- Parse the arguments below and begin working on the task. The format is:
56897
- \`"task description" [--completion-promise=TEXT] [--max-iterations=N] [--strategy=reset|continue]\`
56898
-
56899
- Default completion promise is "DONE" and default max iterations is 100.`;
56900
- var ULW_LOOP_TEMPLATE = `You are starting an ULTRAWORK Loop - a self-referential development loop that runs until verified completion.
56901
-
56902
- ## How ULTRAWORK Loop Works
56903
-
56904
- 1. You will work on the task continuously
56905
- 2. When you believe the work is complete, output: \`<promise>{{COMPLETION_PROMISE}}</promise>\`
56906
- 3. That does NOT finish the loop yet. The system will require Oracle verification
56907
- 4. The loop only ends after the system confirms Oracle verified the result
56908
- 5. There is no iteration limit
56909
-
56910
- ## Rules
56911
-
56912
- - Focus on finishing the task completely
56913
- - After you emit the completion promise, run Oracle verification when instructed
56914
- - Do not treat DONE as final completion until Oracle verifies it
56915
-
56916
- ## Exit Conditions
56917
-
56918
- 1. **Verified Completion**: Oracle verifies the result and the system confirms it
56919
- 2. **Cancel**: User runs \`/cancel-ralph\`
56920
-
56921
- ## Your Task
56922
-
56923
- Parse the arguments below and begin working on the task. The format is:
56924
- \`"task description" [--completion-promise=TEXT] [--strategy=reset|continue]\`
56925
-
56926
- Default completion promise is "DONE".`;
56927
- var CANCEL_RALPH_TEMPLATE = `Cancel the currently active Ralph Loop.
56928
-
56929
- This will:
56930
- 1. Stop the loop from continuing
56931
- 2. Clear the loop state file
56932
- 3. Allow the session to end normally
56933
-
56934
- Check if a loop is active and cancel it. Inform the user of the result.`;
56935
-
56936
- // src/features/builtin-commands/templates/stop-continuation.ts
56937
- var STOP_CONTINUATION_TEMPLATE = `Stop all continuation mechanisms for the current session.
56938
-
56939
- This command will:
56940
- 1. Stop the todo-continuation-enforcer from automatically continuing incomplete tasks
56941
- 2. Cancel any active Ralph Loop
56942
- 3. Clear the boulder state for the current project
56943
-
56944
- After running this command:
56945
- - The session will not auto-continue when idle
56946
- - You can manually continue work when ready
56947
- - The stop state is per-session and clears when the session ends
56948
-
56949
- Use this when you need to pause automated continuation and take manual control.`;
56950
-
56951
57051
  // src/features/builtin-commands/templates/refactor.ts
56952
57052
  var REFACTOR_TEMPLATE = `# Intelligent Refactor Command
56953
57053
 
@@ -57569,6 +57669,97 @@ $ARGUMENTS
57569
57669
  </user-request>
57570
57670
  `;
57571
57671
 
57672
+ // src/features/builtin-commands/templates/ralph-loop.ts
57673
+ var RALPH_LOOP_TEMPLATE = `You are starting a Ralph Loop - a self-referential development loop that runs until task completion.
57674
+
57675
+ ## How Ralph Loop Works
57676
+
57677
+ 1. You will work on the task continuously
57678
+ 2. When you believe the task is FULLY complete, output: \`<promise>{{COMPLETION_PROMISE}}</promise>\`
57679
+ 3. If you don't output the promise, the loop will automatically inject another prompt to continue
57680
+ 4. Maximum iterations: Configurable (default 100)
57681
+
57682
+ ## Rules
57683
+
57684
+ - Focus on completing the task fully, not partially
57685
+ - Don't output the completion promise until the task is truly done
57686
+ - Each iteration should make meaningful progress toward the goal
57687
+ - If stuck, try different approaches
57688
+ - Use todos to track your progress
57689
+
57690
+ ## Exit Conditions
57691
+
57692
+ 1. **Completion**: Output your completion promise tag when fully complete
57693
+ 2. **Max Iterations**: Loop stops automatically at limit
57694
+ 3. **Cancel**: User runs \`/cancel-ralph\` command
57695
+
57696
+ ## Your Task
57697
+
57698
+ Parse the arguments below and begin working on the task. The format is:
57699
+ \`"task description" [--completion-promise=TEXT] [--max-iterations=N] [--strategy=reset|continue]\`
57700
+
57701
+ Default completion promise is "DONE" and default max iterations is 100.`;
57702
+ var ULW_LOOP_TEMPLATE = `You are starting an ULTRAWORK Loop - a self-referential development loop that runs until verified completion.
57703
+
57704
+ ## How ULTRAWORK Loop Works
57705
+
57706
+ 1. You will work on the task continuously
57707
+ 2. When you believe the work is complete, output: \`<promise>{{COMPLETION_PROMISE}}</promise>\`
57708
+ 3. That does NOT finish the loop yet. The system will require Oracle verification
57709
+ 4. The loop only ends after the system confirms Oracle verified the result
57710
+ 5. There is no iteration limit
57711
+
57712
+ ## Rules
57713
+
57714
+ - Focus on finishing the task completely
57715
+ - After you emit the completion promise, run Oracle verification when instructed
57716
+ - Do not treat DONE as final completion until Oracle verifies it
57717
+
57718
+ ## Exit Conditions
57719
+
57720
+ 1. **Verified Completion**: Oracle verifies the result and the system confirms it
57721
+ 2. **Cancel**: User runs \`/cancel-ralph\`
57722
+
57723
+ ## Your Task
57724
+
57725
+ Parse the arguments below and begin working on the task. The format is:
57726
+ \`"task description" [--completion-promise=TEXT] [--strategy=reset|continue]\`
57727
+
57728
+ Default completion promise is "DONE".`;
57729
+ var CANCEL_RALPH_TEMPLATE = `Cancel the currently active Ralph Loop.
57730
+
57731
+ This will:
57732
+ 1. Stop the loop from continuing
57733
+ 2. Clear the loop state file
57734
+ 3. Allow the session to end normally
57735
+
57736
+ Check if a loop is active and cancel it. Inform the user of the result.`;
57737
+
57738
+ // src/features/builtin-commands/templates/skill-creator.ts
57739
+ var SKILL_CREATOR_TEMPLATE = `# Skill Creator Command
57740
+
57741
+ Load the built-in skill-creator skill for creating, refining, or migrating SKILL.md-based skills.
57742
+
57743
+ ## How To Use This Command
57744
+
57745
+ 1. Call the skill tool with the built-in skill name:
57746
+
57747
+ \`skill(name="skill-creator")\`
57748
+
57749
+ 2. After the skill loads, use its guidance to:
57750
+ - create a new skill
57751
+ - refine an existing SKILL.md
57752
+ - improve naming, description, and structure
57753
+ - choose between local skill files and built-in skills
57754
+
57755
+ ## User Context
57756
+
57757
+ Treat any command arguments as the user's goal or context for the skill work.
57758
+
57759
+ ## Action
57760
+
57761
+ Call \`skill(name="skill-creator")\` now, then continue using the loaded guidance and the user's request.`;
57762
+
57572
57763
  // src/features/builtin-commands/templates/start-work.ts
57573
57764
  var START_WORK_TEMPLATE = `You are starting a Sisyphus work session.
57574
57765
 
@@ -57662,184 +57853,20 @@ Reading plan and beginning execution...
57662
57853
  - Read the FULL plan file before delegating any tasks
57663
57854
  - Follow atlas delegation protocols (7-section format)`;
57664
57855
 
57665
- // src/features/builtin-commands/templates/handoff.ts
57666
- var HANDOFF_TEMPLATE = `# Handoff Command
57667
-
57668
- ## Purpose
57669
-
57670
- Use /handoff when:
57671
- - The current session context is getting too long and quality is degrading
57672
- - You want to start fresh while preserving essential context from this session
57673
- - The context window is approaching capacity
57674
-
57675
- This creates a detailed context summary that can be used to continue work in a new session.
57676
-
57677
- ---
57678
-
57679
- # PHASE 0: VALIDATE REQUEST
57680
-
57681
- Before proceeding, confirm:
57682
- - [ ] There is meaningful work or context in this session to preserve
57683
- - [ ] The user wants to create a handoff summary (not just asking about it)
57684
-
57685
- If the session is nearly empty or has no meaningful context, inform the user there is nothing substantial to hand off.
57686
-
57687
- ---
57688
-
57689
- # PHASE 1: GATHER PROGRAMMATIC CONTEXT
57690
-
57691
- Execute these tools to gather concrete data:
57692
-
57693
- 1. session_read({ session_id: "$SESSION_ID" }) \u2014 full session history
57694
- 2. todoread() \u2014 current task progress
57695
- 3. Bash({ command: "git diff --stat HEAD~10..HEAD" }) \u2014 recent file changes
57696
- 4. Bash({ command: "git status --porcelain" }) \u2014 uncommitted changes
57697
-
57698
- Suggested execution order:
57699
-
57700
- \`\`\`
57701
- session_read({ session_id: "$SESSION_ID" })
57702
- todoread()
57703
- Bash({ command: "git diff --stat HEAD~10..HEAD" })
57704
- Bash({ command: "git status --porcelain" })
57705
- \`\`\`
57706
-
57707
- Analyze the gathered outputs to understand:
57708
- - What the user asked for (exact wording)
57709
- - What work was completed
57710
- - What tasks remain incomplete (include todo state)
57711
- - What decisions were made
57712
- - What files were modified or discussed (include git diff/stat + status)
57713
- - What patterns, constraints, or preferences were established
57714
-
57715
- ---
57716
-
57717
- # PHASE 2: EXTRACT CONTEXT
57718
-
57719
- Write the context summary from first person perspective ("I did...", "I told you...").
57720
-
57721
- Focus on:
57722
- - Capabilities and behavior, not file-by-file implementation details
57723
- - What matters for continuing the work
57724
- - Avoiding excessive implementation details (variable names, storage keys, constants) unless critical
57725
- - USER REQUESTS (AS-IS) must be verbatim (do not paraphrase)
57726
- - EXPLICIT CONSTRAINTS must be verbatim only (do not invent)
57727
-
57728
- Questions to consider when extracting:
57729
- - What did I just do or implement?
57730
- - What instructions did I already give which are still relevant (e.g. follow patterns in the codebase)?
57731
- - What files did I tell you are important or that I am working on?
57732
- - Did I provide a plan or spec that should be included?
57733
- - What did I already tell you that is important (libraries, patterns, constraints, preferences)?
57734
- - What important technical details did I discover (APIs, methods, patterns)?
57735
- - What caveats, limitations, or open questions did I find?
57736
-
57737
- ---
57738
-
57739
- # PHASE 3: FORMAT OUTPUT
57740
-
57741
- Generate a handoff summary using this exact format:
57742
-
57743
- \`\`\`
57744
- HANDOFF CONTEXT
57745
- ===============
57746
-
57747
- USER REQUESTS (AS-IS)
57748
- ---------------------
57749
- - [Exact verbatim user requests - NOT paraphrased]
57750
-
57751
- GOAL
57752
- ----
57753
- [One sentence describing what should be done next]
57754
-
57755
- WORK COMPLETED
57756
- --------------
57757
- - [First person bullet points of what was done]
57758
- - [Include specific file paths when relevant]
57759
- - [Note key implementation decisions]
57760
-
57761
- CURRENT STATE
57762
- -------------
57763
- - [Current state of the codebase or task]
57764
- - [Build/test status if applicable]
57765
- - [Any environment or configuration state]
57766
-
57767
- PENDING TASKS
57768
- -------------
57769
- - [Tasks that were planned but not completed]
57770
- - [Next logical steps to take]
57771
- - [Any blockers or issues encountered]
57772
- - [Include current todo state from todoread()]
57773
-
57774
- KEY FILES
57775
- ---------
57776
- - [path/to/file1] - [brief role description]
57777
- - [path/to/file2] - [brief role description]
57778
- (Maximum 10 files, prioritized by importance)
57779
- - (Include files from git diff/stat and git status)
57780
-
57781
- IMPORTANT DECISIONS
57782
- -------------------
57783
- - [Technical decisions that were made and why]
57784
- - [Trade-offs that were considered]
57785
- - [Patterns or conventions established]
57786
-
57787
- EXPLICIT CONSTRAINTS
57788
- --------------------
57789
- - [Verbatim constraints only - from user or existing AGENTS.md]
57790
- - If none, write: None
57791
-
57792
- CONTEXT FOR CONTINUATION
57793
- ------------------------
57794
- - [What the next session needs to know to continue]
57795
- - [Warnings or gotchas to be aware of]
57796
- - [References to documentation if relevant]
57797
- \`\`\`
57798
-
57799
- Rules for the summary:
57800
- - Plain text with bullets
57801
- - No markdown headers with # (use the format above with dashes)
57802
- - No bold, italic, or code fences within content
57803
- - Use workspace-relative paths for files
57804
- - Keep it focused - only include what matters for continuation
57805
- - Pick an appropriate length based on complexity
57806
- - USER REQUESTS (AS-IS) and EXPLICIT CONSTRAINTS must be verbatim only
57807
-
57808
- ---
57809
-
57810
- # PHASE 4: PROVIDE INSTRUCTIONS
57811
-
57812
- After generating the summary, instruct the user:
57813
-
57814
- \`\`\`
57815
- ---
57816
-
57817
- TO CONTINUE IN A NEW SESSION:
57818
-
57819
- 1. Press 'n' in OpenCode TUI to open a new session, or run 'opencode' in a new terminal
57820
- 2. Paste the HANDOFF CONTEXT above as your first message
57821
- 3. Add your request: "Continue from the handoff context above. [Your next task]"
57822
-
57823
- The new session will have all context needed to continue seamlessly.
57824
- \`\`\`
57825
-
57826
- ---
57827
-
57828
- # IMPORTANT CONSTRAINTS
57829
-
57830
- - DO NOT attempt to programmatically create new sessions (no API available to agents)
57831
- - DO provide a self-contained summary that works without access to this session
57832
- - DO include workspace-relative file paths
57833
- - DO NOT include sensitive information (API keys, credentials, secrets)
57834
- - DO NOT exceed 10 files in the KEY FILES section
57835
- - DO keep the GOAL section to a single sentence or short paragraph
57856
+ // src/features/builtin-commands/templates/stop-continuation.ts
57857
+ var STOP_CONTINUATION_TEMPLATE = `Stop all continuation mechanisms for the current session.
57836
57858
 
57837
- ---
57859
+ This command will:
57860
+ 1. Stop the todo-continuation-enforcer from automatically continuing incomplete tasks
57861
+ 2. Cancel any active Ralph Loop
57862
+ 3. Clear the boulder state for the current project
57838
57863
 
57839
- # EXECUTE NOW
57864
+ After running this command:
57865
+ - The session will not auto-continue when idle
57866
+ - You can manually continue work when ready
57867
+ - The stop state is per-session and clears when the session ends
57840
57868
 
57841
- Begin by gathering programmatic context, then synthesize the handoff summary.
57842
- `;
57869
+ Use this when you need to pause automated continuation and take manual control.`;
57843
57870
 
57844
57871
  // src/features/builtin-commands/commands.ts
57845
57872
  var BUILTIN_COMMAND_DEFINITIONS = {
@@ -57889,6 +57916,17 @@ ${REFACTOR_TEMPLATE}
57889
57916
  </command-instruction>`,
57890
57917
  argumentHint: "<refactoring-target> [--scope=<file|module|project>] [--strategy=<safe|aggressive>]"
57891
57918
  },
57919
+ "skill-creator": {
57920
+ description: "(builtin) Load skill-creator guidance for creating and refining skills",
57921
+ template: `<command-instruction>
57922
+ ${SKILL_CREATOR_TEMPLATE}
57923
+ </command-instruction>
57924
+
57925
+ <user-request>
57926
+ $ARGUMENTS
57927
+ </user-request>`,
57928
+ argumentHint: "[goal or context]"
57929
+ },
57892
57930
  "start-work": {
57893
57931
  description: "(builtin) Start Sisyphus work session from Prometheus plan",
57894
57932
  agent: "atlas",
@@ -52,11 +52,13 @@
52
52
  "items": {
53
53
  "type": "string",
54
54
  "enum": [
55
+ "handoff",
55
56
  "init-deep",
56
57
  "ralph-loop",
57
58
  "ulw-loop",
58
59
  "cancel-ralph",
59
60
  "refactor",
61
+ "skill-creator",
60
62
  "start-work",
61
63
  "stop-continuation"
62
64
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode-gpt-slim",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "GPT-optimized lean fork of oh-my-openagent — 33 hooks removed, 5 tools removed, Sisyphus prompt rewritten based on OpenAI Codex prompt.md",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -78,15 +78,15 @@
78
78
  "typescript": "^5.7.3"
79
79
  },
80
80
  "optionalDependencies": {
81
- "oh-my-opencode-gpt-slim-darwin-arm64": "0.1.1",
82
- "oh-my-opencode-gpt-slim-darwin-x64": "0.1.1",
83
- "oh-my-opencode-gpt-slim-darwin-x64-baseline": "0.1.1",
84
- "oh-my-opencode-gpt-slim-linux-arm64": "0.1.1",
85
- "oh-my-opencode-gpt-slim-linux-arm64-musl": "0.1.1",
86
- "oh-my-opencode-gpt-slim-linux-x64": "0.1.1",
87
- "oh-my-opencode-gpt-slim-linux-x64-baseline": "0.1.1",
88
- "oh-my-opencode-gpt-slim-linux-x64-musl": "0.1.1",
89
- "oh-my-opencode-gpt-slim-linux-x64-musl-baseline": "0.1.1"
81
+ "oh-my-opencode-gpt-slim-darwin-arm64": "0.1.2",
82
+ "oh-my-opencode-gpt-slim-darwin-x64": "0.1.2",
83
+ "oh-my-opencode-gpt-slim-darwin-x64-baseline": "0.1.2",
84
+ "oh-my-opencode-gpt-slim-linux-arm64": "0.1.2",
85
+ "oh-my-opencode-gpt-slim-linux-arm64-musl": "0.1.2",
86
+ "oh-my-opencode-gpt-slim-linux-x64": "0.1.2",
87
+ "oh-my-opencode-gpt-slim-linux-x64-baseline": "0.1.2",
88
+ "oh-my-opencode-gpt-slim-linux-x64-musl": "0.1.2",
89
+ "oh-my-opencode-gpt-slim-linux-x64-musl-baseline": "0.1.2"
90
90
  },
91
91
  "overrides": {
92
92
  "@opencode-ai/sdk": "^1.2.17"