Skip to content

Every skill appears twice as a slash command in pi since 2.88.1 (omp-hooks registerCommand duplicates the shipped .pi/prompts templates) #121

Description

@sudo-bakar

Environment

  • pi: 0.85.1
  • bigpowers: 2.88.2
  • OS: Linux (docker)

Steps to reproduce

  1. Install or update bigpowers to ≥ 2.88.1 in pi.
  2. Open pi, type / in the editor (e.g. /commit).
  3. Observe the autocomplete list.

Expected behavior

One /commit-message entry.

Actual behavior

Two identical /commit-message entries (same name, same description). Same duplication for all 81 skills: /fix-bug, /develop-tdd, /audit-code, etc.

Root cause

The package registers every skill as a slash command through two independent pi mechanisms:

1. Prompt templates (pre-existing): package.json declares

"pi": {
  "skills": ["./.pi/skills"],
  "prompts": ["./.pi/prompts"]
}

.pi/prompts/ ships 81 .md templates (one per skill), which pi loads as /name prompt commands.

  1. Extension commands (new in 2.88.1): extensions/omp-hooks.ts (added in feat(e82): upstream fork innovations — Jujutsu VCS, OMP plugin, community credit #118) runs at load:
  const skills = discoverSkills(join(pluginRoot(), "skills"));
  for (const skill of skills) {
    pi.registerCommand(skill.name, {
      description: skill.description,
      handler: async (args, _ctx) => {
        const prompt = buildSkillPrompt(skill, args);
        await injectSkillPrompt(pi, prompt);
      },
    });
  }

This registers the same 81 names as extension commands with the same descriptions.

Suggested fix

Remove pi.prompts from the manifest (and the .pi/prompts/ directory from sync-skills.sh output) and keep the extension commands as the sole surface.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions