Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ scratch/
node_modules/
CHANGELOG.md
plugins/corbits-skills/skills/opsh/SKILL.md
plugins/corbits-skills/skills/refactor/SKILL.md

tmp/
.claude/
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ parallel copies under `docs/` or `scripts/notes/`. At cut time: rename
- Drop unused `@opentui/keymap`, `@opentui/solid`, and `solid-js`. The interactive TUI is imperative `@opentui/core` only.
- Restore the opsh skill 1:1 with GaaS. Tool/shell mapping stays on native-integration. user-invocable: false stays so it remains use_skill-only.
- Restore the pull-request-review skill 1:1 with GaaS. ask_operator, /review mapping, and GitHub posting stay on native-integration. Slash /pull-request-review remains.
- Ignore GaaS opsh SKILL.md in prettier so table alignment stays 1:1.
- Restore the refactor skill 1:1 with GaaS. ask_operator mapping stays on native-integration. Slash /refactor remains.
- Ignore GaaS opsh and refactor SKILL.md in prettier so table/list alignment stays 1:1.
- Restore the git-rebase skill body 1:1 with GaaS. Intern execution recipe stays on native-integration. user-invocable: false stays so it remains use_skill-only.
- Restore the linear-issue-workflow skill body 1:1 with GaaS. Claim-first, In Review, and git-worktrees extras stay on native-integration. user-invocable: false stays so it remains use_skill-only.
- Restore the interview skill body 1:1 with GaaS (AskUserQuestion). Operator-ask mapping stays on native-integration. Slash /interview remains.
Expand Down
2 changes: 2 additions & 0 deletions plugins/corbits-skills/skills/native-integration/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ When a GaaS skill names a Claude/GaaS tool, use the Corbits equivalent. Do not c

Slash names that differ from GaaS skill ids: `/review` is GaaS `code-review`; `/create-issue` is GaaS `linear-create`. Keep those Corbits names.

GaaS refactor says "ask clarifying questions" / "ask the user". Corbits extras: `ask_operator` (tool mapping above). Do not fork the GaaS refactor body.

When GaaS implement says you are orchestrated by karen, that is the Corbits primary (Skywalker). Route those disposition decisions through the primary, not a worker.

## Linear claim-first
Expand Down
7 changes: 2 additions & 5 deletions plugins/corbits-skills/skills/refactor/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,14 @@ Before doing anything else, load the `philosophy` skill. The principles in that

The user has specified a directory to analyze: `$ARGUMENTS`

If the directory is broad, `ask_operator` before exploring:

If the directory is broad, ask clarifying questions:
- Is there a specific concern or area they want to focus on?
- What prompted the desire to refactor?
- Are there known pain points?

### Step 2: Examine the Code

Explore the specified directory to understand:

- What the code does (purpose and behavior)
- Key components and their responsibilities
- How data flows through the system
Expand Down Expand Up @@ -57,7 +55,7 @@ Document structure:

After documenting the current state:

1. Present your observations and `ask_operator` about priorities
1. Present your observations and ask the user about their priorities
2. Propose specific improvements with rationale grounded in philosophy principles (pragmatic, simple over easy, etc.)
3. Let the user accept, reject, or modify proposals
4. Ask follow-up questions to refine the approach
Expand All @@ -81,7 +79,6 @@ A single markdown file in the user's current working directory containing both t
## Guiding Principles

From the philosophy skill:

- **Pragmatic over idealistic** - Don't propose changes for theoretical purity
- **Simple is usually harder than easy** - Favor designs that are genuinely simple, not just quick
- **Do no harm** - Consider risks to stability and correctness
Expand Down
11 changes: 11 additions & 0 deletions tests/unit/corbits-skills-catalog.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,16 @@ test("review skill is a code-review playbook, not a director router", async () =
expect(skill).not.toContain('task(agent="greybeard")');
});

test("refactor skill is 1:1 with GaaS refactor", async () => {
const skill = await Bun.file(join(pluginRoot, "skills/refactor/SKILL.md")).text();
expect(skill).toContain("ask clarifying questions:");
expect(skill).toContain("ask the user about their priorities");
expect(skill).toContain("load the `philosophy` skill");
expect(skill).not.toContain("ask_operator");
expect(skill).not.toContain(USER_INVOCABLE_FALSE);
expect(skill).not.toContain("## Acknowledgment");
});

test("pull-request-review is 1:1 with GaaS pull-request-review", async () => {
const skill = await Bun.file(join(pluginRoot, "skills/pull-request-review/SKILL.md")).text();
expect(skill).toContain("git worktree add");
Expand Down Expand Up @@ -398,6 +408,7 @@ test("native-integration maps GaaS tool names and parks Corbits extras", async (
expect(skill).toContain("Do not fork the GaaS git-rebase body");
expect(skill).toContain("Do not fork the GaaS opsh body");
expect(skill).toContain("Do not fork the GaaS pull-request-review body");
expect(skill).toContain("Do not fork the GaaS refactor body");
expect(skill).toContain("prove");
});

Expand Down
Loading