Environment
pi: 0.85.1
bigpowers: 2.88.2
OS: Linux (docker)
Steps to reproduce
Install or update bigpowers to ≥ 2.88.1 in pi.
Open pi, type / in the editor (e.g. /commit).
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.
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.
Environment
Steps to reproduce
/in the editor (e.g./commit).Expected behavior
One
/commit-messageentry.Actual behavior
Two identical
/commit-messageentries (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.jsondeclares.pi/prompts/ ships 81 .md templates (one per skill), which pi loads as /name prompt commands.
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.