From 7133a5647570ccbab8f4b5fe4918c670400795f2 Mon Sep 17 00:00:00 2001 From: AnExiledDev Date: Tue, 24 Feb 2026 23:17:30 +0000 Subject: [PATCH 1/2] Add prompt-snippets plugin with /ps command New plugin provides quick behavioral mode switches via a single dispatcher skill. /ps noaction, /ps brief, /ps go, etc. inject short directives that persist for the conversation. Snippets are composable (/ps noaction brief) and isolated from skill-engine auto-suggestion. --- .devcontainer/CHANGELOG.md | 8 +++ .devcontainer/config/defaults/settings.json | 3 +- .../.claude-plugin/marketplace.json | 8 +++ .../.claude-plugin/plugin.json | 5 ++ .../plugins/prompt-snippets/README.md | 52 +++++++++++++++++++ .../prompt-snippets/skills/ps/SKILL.md | 37 +++++++++++++ 6 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/.claude-plugin/plugin.json create mode 100644 .devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md create mode 100644 .devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md diff --git a/.devcontainer/CHANGELOG.md b/.devcontainer/CHANGELOG.md index 43ded81..29581b4 100644 --- a/.devcontainer/CHANGELOG.md +++ b/.devcontainer/CHANGELOG.md @@ -71,6 +71,14 @@ ## [v1.14.2] - 2026-02-24 +### Added + +#### Prompt Snippets Plugin +- **New plugin: `prompt-snippets`** — single `/ps` slash command for quick behavioral mode switches (noaction, brief, plan, go, review, ship, deep, hold, recall, wait) +- Snippets inject short directives that persist for the conversation (e.g., `/ps noaction` → "Investigate and report only. Take no action.") +- Composable: `/ps noaction brief` applies multiple snippets at once +- Isolated from skill-engine auto-suggestion (`disable-model-invocation: true`) and independently toggleable via `enabledPlugins` + ### Changed #### Docs diff --git a/.devcontainer/config/defaults/settings.json b/.devcontainer/config/defaults/settings.json index 1224ed4..8dbe63f 100644 --- a/.devcontainer/config/defaults/settings.json +++ b/.devcontainer/config/defaults/settings.json @@ -64,7 +64,8 @@ "spec-workflow@devs-marketplace": true, "session-context@devs-marketplace": true, "auto-code-quality@devs-marketplace": true, - "workspace-scope-guard@devs-marketplace": true + "workspace-scope-guard@devs-marketplace": true, + "prompt-snippets@devs-marketplace": true }, "autoUpdatesChannel": "latest" } diff --git a/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json b/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json index 2fa75d0..415a22d 100644 --- a/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +++ b/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json @@ -97,6 +97,14 @@ "source": "./plugins/workspace-scope-guard", "category": "safety", "keywords": ["safety", "scope", "workspace"] + }, + { + "name": "prompt-snippets", + "description": "Quick behavioral mode switches via /ps command", + "version": "1.0.0", + "source": "./plugins/prompt-snippets", + "category": "productivity", + "keywords": ["snippets", "prompts", "modes", "shortcuts"] } ] } diff --git a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/.claude-plugin/plugin.json b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/.claude-plugin/plugin.json new file mode 100644 index 0000000..d46ce53 --- /dev/null +++ b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/.claude-plugin/plugin.json @@ -0,0 +1,5 @@ +{ + "name": "prompt-snippets", + "description": "Quick behavioral mode switches via /ps command.", + "author": { "name": "AnExiledDev" } +} diff --git a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md new file mode 100644 index 0000000..197ade3 --- /dev/null +++ b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md @@ -0,0 +1,52 @@ +# Prompt Snippets Plugin + +Quick behavioral mode switches via a single `/ps` slash command. + +## Usage + +``` +/ps [snippet-name] +``` + +Type `/ps` followed by a snippet name to inject a behavioral directive for the remainder of the conversation. + +### Available Snippets + +| Snippet | What it does | +|---------|-------------| +| `noaction` | Investigate and report only — no edits, no commands | +| `brief` | Concise answers, no filler | +| `plan` | Plan first, don't implement until approved | +| `go` | Proceed without confirmation prompts | +| `review` | Audit only — report findings, don't modify | +| `ship` | Commit, push, and create a PR | +| `deep` | Thorough investigation, leave no stone unturned | +| `hold` | Do the work but don't commit or push | +| `recall` | Search session history with ccms for prior context | +| `wait` | When done, stop — no suggestions or follow-ups | + +### Composing + +Combine snippets by listing multiple names: + +``` +/ps noaction brief +``` + +## Design + +This plugin contains a single skill (`/ps`) that uses `$ARGUMENTS` as a lookup key into a snippet table. It is: + +- **Not auto-suggested** — `disable-model-invocation: true` keeps it out of the skill engine's auto-suggestion system +- **Independently toggleable** — disable via `enabledPlugins` in `settings.json` without affecting other skills +- **Extensible** — add a row to the table in `skills/ps/SKILL.md` to create new snippets + +## Adding Custom Snippets + +Edit `skills/ps/SKILL.md` and add a row to the "Available Snippets" table: + +```markdown +| `mysnippet` | Your custom instruction here. | +``` + +No other files need to change. diff --git a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md new file mode 100644 index 0000000..072f97b --- /dev/null +++ b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md @@ -0,0 +1,37 @@ +--- +name: ps +description: Inject a behavioral prompt snippet by name. +disable-model-invocation: true +argument-hint: "[snippet-name]" +--- + +# /ps — Prompt Snippets + +Apply the prompt snippet matching `$ARGUMENTS` from the table below. Follow its instruction for the **remainder of this conversation** unless the user explicitly overrides it. + +If `$ARGUMENTS` does not match any snippet name, list all available snippets and ask the user to pick one. + +## Available Snippets + +| Snippet | Instruction | +|---------|-------------| +| `noaction` | Investigate and report only. Take no action — no edits, no commands, no file writes. | +| `brief` | Be concise. Short answers, no filler, no preamble. Answer the question and stop. | +| `plan` | Build a plan before taking any action. Do not implement until the plan is explicitly approved. | +| `go` | Proceed without asking for confirmation. Use your best judgment on all decisions. | +| `review` | Review and audit only. Report findings with specific file paths and line numbers. Do not modify anything. | +| `ship` | Commit all staged changes, push to remote, and create a pull request. | +| `deep` | Be thorough and comprehensive. Investigate in depth, consider edge cases, leave no stone unturned. | +| `hold` | Complete the current task but do not commit, push, or publish. Await my review before any git operations. | +| `recall` | Search past session history with `ccms --no-color --project "$(pwd)"` to find prior decisions, discussions, and context relevant to the current task. Summarize what you find before proceeding. | +| `wait` | When done, stop. Do not suggest next steps, ask follow-up questions, or continue with related work. Await further instructions. | + +## Composing Snippets + +Multiple snippets can be applied in one invocation by separating names with spaces: + +``` +/ps noaction brief +``` + +Apply all matching snippets. If instructions conflict, the **last snippet wins** for that specific behavior. From a9477765c198326cfe4d5a8ff303d4730aa3f8ce Mon Sep 17 00:00:00 2001 From: AnExiledDev Date: Wed, 25 Feb 2026 05:19:26 +0000 Subject: [PATCH 2/2] Fix 3 issues from CodeRabbit review - Add prompt-snippets to Plugins list in CLAUDE.md - Add `text` language specifier to fenced code blocks (MD040) in README.md and SKILL.md --- .devcontainer/CLAUDE.md | 1 + .../devs-marketplace/plugins/prompt-snippets/README.md | 4 ++-- .../plugins/prompt-snippets/skills/ps/SKILL.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.devcontainer/CLAUDE.md b/.devcontainer/CLAUDE.md index 200e892..62295b1 100644 --- a/.devcontainer/CLAUDE.md +++ b/.devcontainer/CLAUDE.md @@ -91,6 +91,7 @@ Declared in `settings.json` under `enabledPlugins`, auto-activated on start: - **ticket-workflow** — EARS ticket workflow + auto-linking - **notify-hook** — Desktop notifications on completion - **frontend-design** (Anthropic official) — UI/frontend design skill +- **prompt-snippets** — Quick behavioral mode switches via /ps command ## Rules System diff --git a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md index 197ade3..a2bc1bb 100644 --- a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md +++ b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/README.md @@ -4,7 +4,7 @@ Quick behavioral mode switches via a single `/ps` slash command. ## Usage -``` +```text /ps [snippet-name] ``` @@ -29,7 +29,7 @@ Type `/ps` followed by a snippet name to inject a behavioral directive for the r Combine snippets by listing multiple names: -``` +```text /ps noaction brief ``` diff --git a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md index 072f97b..61f0504 100644 --- a/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md +++ b/.devcontainer/plugins/devs-marketplace/plugins/prompt-snippets/skills/ps/SKILL.md @@ -30,7 +30,7 @@ If `$ARGUMENTS` does not match any snippet name, list all available snippets and Multiple snippets can be applied in one invocation by separating names with spaces: -``` +```text /ps noaction brief ```