diff --git a/.agents/skills/using-superpowers/SKILL.md b/.agents/skills/using-superpowers/SKILL.md deleted file mode 100644 index d81353529..000000000 --- a/.agents/skills/using-superpowers/SKILL.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -name: using-superpowers -description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions ---- - - -If you were dispatched as a subagent to execute a specific task, skip this skill. - - - -If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill. - -IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT. - -This is not negotiable. This is not optional. You cannot rationalize your way out of this. - - -## Instruction Priority - -Superpowers skills override default system prompt behavior, but **user instructions always take precedence**: - -1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority -2. **Superpowers skills** — override default system behavior where they conflict -3. **Default system prompt** — lowest priority - -If CLAUDE.md, GEMINI.md, or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control. - -## How to Access Skills - -**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files. - -**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand. - -**In other environments:** Check your platform's documentation for how skills are loaded. - -## Platform Adaptation - -Skills use Claude Code tool names. Non-CC platforms: see `references/codex-tools.md` (Codex) for tool equivalents. Gemini CLI users get the tool mapping loaded automatically via GEMINI.md. - -# Using Skills - -## The Rule - -**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it. - -```dot -digraph skill_flow { - "User message received" [shape=doublecircle]; - "About to EnterPlanMode?" [shape=doublecircle]; - "Already brainstormed?" [shape=diamond]; - "Invoke brainstorming skill" [shape=box]; - "Might any skill apply?" [shape=diamond]; - "Invoke Skill tool" [shape=box]; - "Announce: 'Using [skill] to [purpose]'" [shape=box]; - "Has checklist?" [shape=diamond]; - "Create TodoWrite todo per item" [shape=box]; - "Follow skill exactly" [shape=box]; - "Respond (including clarifications)" [shape=doublecircle]; - - "About to EnterPlanMode?" -> "Already brainstormed?"; - "Already brainstormed?" -> "Invoke brainstorming skill" [label="no"]; - "Already brainstormed?" -> "Might any skill apply?" [label="yes"]; - "Invoke brainstorming skill" -> "Might any skill apply?"; - - "User message received" -> "Might any skill apply?"; - "Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"]; - "Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"]; - "Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'"; - "Announce: 'Using [skill] to [purpose]'" -> "Has checklist?"; - "Has checklist?" -> "Create TodoWrite todo per item" [label="yes"]; - "Has checklist?" -> "Follow skill exactly" [label="no"]; - "Create TodoWrite todo per item" -> "Follow skill exactly"; -} -``` - -## Red Flags - -These thoughts mean STOP—you're rationalizing: - -| Thought | Reality | -|---------|---------| -| "This is just a simple question" | Questions are tasks. Check for skills. | -| "I need more context first" | Skill check comes BEFORE clarifying questions. | -| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. | -| "I can check git/files quickly" | Files lack conversation context. Check for skills. | -| "Let me gather information first" | Skills tell you HOW to gather information. | -| "This doesn't need a formal skill" | If a skill exists, use it. | -| "I remember this skill" | Skills evolve. Read current version. | -| "This doesn't count as a task" | Action = task. Check for skills. | -| "The skill is overkill" | Simple things become complex. Use it. | -| "I'll just do this one thing first" | Check BEFORE doing anything. | -| "This feels productive" | Undisciplined action wastes time. Skills prevent this. | -| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. | - -## Skill Priority - -When multiple skills could apply, use this order: - -1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task -2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution - -"Let's build X" → brainstorming first, then implementation skills. -"Fix this bug" → debugging first, then domain-specific skills. - -## Skill Types - -**Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline. - -**Flexible** (patterns): Adapt principles to context. - -The skill itself tells you which. - -## User Instructions - -Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows. diff --git a/.agents/skills/using-superpowers/references/codex-tools.md b/.agents/skills/using-superpowers/references/codex-tools.md deleted file mode 100644 index 539b2b1c7..000000000 --- a/.agents/skills/using-superpowers/references/codex-tools.md +++ /dev/null @@ -1,100 +0,0 @@ -# Codex Tool Mapping - -Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent: - -| Skill references | Codex equivalent | -|-----------------|------------------| -| `Task` tool (dispatch subagent) | `spawn_agent` (see [Named agent dispatch](#named-agent-dispatch)) | -| Multiple `Task` calls (parallel) | Multiple `spawn_agent` calls | -| Task returns result | `wait` | -| Task completes automatically | `close_agent` to free slot | -| `TodoWrite` (task tracking) | `update_plan` | -| `Skill` tool (invoke a skill) | Skills load natively — just follow the instructions | -| `Read`, `Write`, `Edit` (files) | Use your native file tools | -| `Bash` (run commands) | Use your native shell tools | - -## Subagent dispatch requires multi-agent support - -Add to your Codex config (`~/.codex/config.toml`): - -```toml -[features] -multi_agent = true -``` - -This enables `spawn_agent`, `wait`, and `close_agent` for skills like `dispatching-parallel-agents` and `subagent-driven-development`. - -## Named agent dispatch - -Claude Code skills reference named agent types like `superpowers:code-reviewer`. -Codex does not have a named agent registry — `spawn_agent` creates generic agents -from built-in roles (`default`, `explorer`, `worker`). - -When a skill says to dispatch a named agent type: - -1. Find the agent's prompt file (e.g., `agents/code-reviewer.md` or the skill's - local prompt template like `code-quality-reviewer-prompt.md`) -2. Read the prompt content -3. Fill any template placeholders (`{BASE_SHA}`, `{WHAT_WAS_IMPLEMENTED}`, etc.) -4. Spawn a `worker` agent with the filled content as the `message` - -| Skill instruction | Codex equivalent | -|-------------------|------------------| -| `Task tool (superpowers:code-reviewer)` | `spawn_agent(agent_type="worker", message=...)` with `code-reviewer.md` content | -| `Task tool (general-purpose)` with inline prompt | `spawn_agent(message=...)` with the same prompt | - -### Message framing - -The `message` parameter is user-level input, not a system prompt. Structure it -for maximum instruction adherence: - -``` -Your task is to perform the following. Follow the instructions below exactly. - - -[filled prompt content from the agent's .md file] - - -Execute this now. Output ONLY the structured response following the format -specified in the instructions above. -``` - -- Use task-delegation framing ("Your task is...") rather than persona framing ("You are...") -- Wrap instructions in XML tags — the model treats tagged blocks as authoritative -- End with an explicit execution directive to prevent summarization of the instructions - -### When this workaround can be removed - -This approach compensates for Codex's plugin system not yet supporting an `agents` -field in `plugin.json`. When `RawPluginManifest` gains an `agents` field, the -plugin can symlink to `agents/` (mirroring the existing `skills/` symlink) and -skills can dispatch named agent types directly. - -## Environment Detection - -Skills that create worktrees or finish branches should detect their -environment with read-only git commands before proceeding: - -```bash -GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P) -GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P) -BRANCH=$(git branch --show-current) -``` - -- `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation) -- `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox) - -See `using-git-worktrees` Step 0 and `finishing-a-development-branch` -Step 1 for how each skill uses these signals. - -## Codex App Finishing - -When the sandbox blocks branch/push operations (detached HEAD in an -externally managed worktree), the agent commits all work and informs -the user to use the App's native controls: - -- **"Create branch"** — names the branch, then commit/push/PR via App UI -- **"Hand off to local"** — transfers work to the user's local checkout - -The agent can still run tests, stage files, and output suggested branch -names, commit messages, and PR descriptions for the user to copy. diff --git a/.agents/skills/using-superpowers/references/gemini-tools.md b/.agents/skills/using-superpowers/references/gemini-tools.md deleted file mode 100644 index f8698033b..000000000 --- a/.agents/skills/using-superpowers/references/gemini-tools.md +++ /dev/null @@ -1,33 +0,0 @@ -# Gemini CLI Tool Mapping - -Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent: - -| Skill references | Gemini CLI equivalent | -|-----------------|----------------------| -| `Read` (file reading) | `read_file` | -| `Write` (file creation) | `write_file` | -| `Edit` (file editing) | `replace` | -| `Bash` (run commands) | `run_shell_command` | -| `Grep` (search file content) | `grep_search` | -| `Glob` (search files by name) | `glob` | -| `TodoWrite` (task tracking) | `write_todos` | -| `Skill` tool (invoke a skill) | `activate_skill` | -| `WebSearch` | `google_web_search` | -| `WebFetch` | `web_fetch` | -| `Task` tool (dispatch subagent) | No equivalent — Gemini CLI does not support subagents | - -## No subagent support - -Gemini CLI has no equivalent to Claude Code's `Task` tool. Skills that rely on subagent dispatch (`subagent-driven-development`, `dispatching-parallel-agents`) will fall back to single-session execution via `executing-plans`. - -## Additional Gemini CLI tools - -These tools are available in Gemini CLI but have no Claude Code equivalent: - -| Tool | Purpose | -|------|---------| -| `list_directory` | List files and subdirectories | -| `save_memory` | Persist facts to GEMINI.md across sessions | -| `ask_user` | Request structured input from the user | -| `tracker_create_task` | Rich task management (create, update, list, visualize) | -| `enter_plan_mode` / `exit_plan_mode` | Switch to read-only research mode before making changes | diff --git a/.cursor/skills/using-superpowers/SKILL.md b/.cursor/skills/using-superpowers/SKILL.md deleted file mode 100644 index d81353529..000000000 --- a/.cursor/skills/using-superpowers/SKILL.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -name: using-superpowers -description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions ---- - - -If you were dispatched as a subagent to execute a specific task, skip this skill. - - - -If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill. - -IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT. - -This is not negotiable. This is not optional. You cannot rationalize your way out of this. - - -## Instruction Priority - -Superpowers skills override default system prompt behavior, but **user instructions always take precedence**: - -1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority -2. **Superpowers skills** — override default system behavior where they conflict -3. **Default system prompt** — lowest priority - -If CLAUDE.md, GEMINI.md, or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control. - -## How to Access Skills - -**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files. - -**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand. - -**In other environments:** Check your platform's documentation for how skills are loaded. - -## Platform Adaptation - -Skills use Claude Code tool names. Non-CC platforms: see `references/codex-tools.md` (Codex) for tool equivalents. Gemini CLI users get the tool mapping loaded automatically via GEMINI.md. - -# Using Skills - -## The Rule - -**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it. - -```dot -digraph skill_flow { - "User message received" [shape=doublecircle]; - "About to EnterPlanMode?" [shape=doublecircle]; - "Already brainstormed?" [shape=diamond]; - "Invoke brainstorming skill" [shape=box]; - "Might any skill apply?" [shape=diamond]; - "Invoke Skill tool" [shape=box]; - "Announce: 'Using [skill] to [purpose]'" [shape=box]; - "Has checklist?" [shape=diamond]; - "Create TodoWrite todo per item" [shape=box]; - "Follow skill exactly" [shape=box]; - "Respond (including clarifications)" [shape=doublecircle]; - - "About to EnterPlanMode?" -> "Already brainstormed?"; - "Already brainstormed?" -> "Invoke brainstorming skill" [label="no"]; - "Already brainstormed?" -> "Might any skill apply?" [label="yes"]; - "Invoke brainstorming skill" -> "Might any skill apply?"; - - "User message received" -> "Might any skill apply?"; - "Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"]; - "Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"]; - "Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'"; - "Announce: 'Using [skill] to [purpose]'" -> "Has checklist?"; - "Has checklist?" -> "Create TodoWrite todo per item" [label="yes"]; - "Has checklist?" -> "Follow skill exactly" [label="no"]; - "Create TodoWrite todo per item" -> "Follow skill exactly"; -} -``` - -## Red Flags - -These thoughts mean STOP—you're rationalizing: - -| Thought | Reality | -|---------|---------| -| "This is just a simple question" | Questions are tasks. Check for skills. | -| "I need more context first" | Skill check comes BEFORE clarifying questions. | -| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. | -| "I can check git/files quickly" | Files lack conversation context. Check for skills. | -| "Let me gather information first" | Skills tell you HOW to gather information. | -| "This doesn't need a formal skill" | If a skill exists, use it. | -| "I remember this skill" | Skills evolve. Read current version. | -| "This doesn't count as a task" | Action = task. Check for skills. | -| "The skill is overkill" | Simple things become complex. Use it. | -| "I'll just do this one thing first" | Check BEFORE doing anything. | -| "This feels productive" | Undisciplined action wastes time. Skills prevent this. | -| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. | - -## Skill Priority - -When multiple skills could apply, use this order: - -1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task -2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution - -"Let's build X" → brainstorming first, then implementation skills. -"Fix this bug" → debugging first, then domain-specific skills. - -## Skill Types - -**Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline. - -**Flexible** (patterns): Adapt principles to context. - -The skill itself tells you which. - -## User Instructions - -Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows. diff --git a/.cursor/skills/using-superpowers/references/codex-tools.md b/.cursor/skills/using-superpowers/references/codex-tools.md deleted file mode 100644 index 539b2b1c7..000000000 --- a/.cursor/skills/using-superpowers/references/codex-tools.md +++ /dev/null @@ -1,100 +0,0 @@ -# Codex Tool Mapping - -Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent: - -| Skill references | Codex equivalent | -|-----------------|------------------| -| `Task` tool (dispatch subagent) | `spawn_agent` (see [Named agent dispatch](#named-agent-dispatch)) | -| Multiple `Task` calls (parallel) | Multiple `spawn_agent` calls | -| Task returns result | `wait` | -| Task completes automatically | `close_agent` to free slot | -| `TodoWrite` (task tracking) | `update_plan` | -| `Skill` tool (invoke a skill) | Skills load natively — just follow the instructions | -| `Read`, `Write`, `Edit` (files) | Use your native file tools | -| `Bash` (run commands) | Use your native shell tools | - -## Subagent dispatch requires multi-agent support - -Add to your Codex config (`~/.codex/config.toml`): - -```toml -[features] -multi_agent = true -``` - -This enables `spawn_agent`, `wait`, and `close_agent` for skills like `dispatching-parallel-agents` and `subagent-driven-development`. - -## Named agent dispatch - -Claude Code skills reference named agent types like `superpowers:code-reviewer`. -Codex does not have a named agent registry — `spawn_agent` creates generic agents -from built-in roles (`default`, `explorer`, `worker`). - -When a skill says to dispatch a named agent type: - -1. Find the agent's prompt file (e.g., `agents/code-reviewer.md` or the skill's - local prompt template like `code-quality-reviewer-prompt.md`) -2. Read the prompt content -3. Fill any template placeholders (`{BASE_SHA}`, `{WHAT_WAS_IMPLEMENTED}`, etc.) -4. Spawn a `worker` agent with the filled content as the `message` - -| Skill instruction | Codex equivalent | -|-------------------|------------------| -| `Task tool (superpowers:code-reviewer)` | `spawn_agent(agent_type="worker", message=...)` with `code-reviewer.md` content | -| `Task tool (general-purpose)` with inline prompt | `spawn_agent(message=...)` with the same prompt | - -### Message framing - -The `message` parameter is user-level input, not a system prompt. Structure it -for maximum instruction adherence: - -``` -Your task is to perform the following. Follow the instructions below exactly. - - -[filled prompt content from the agent's .md file] - - -Execute this now. Output ONLY the structured response following the format -specified in the instructions above. -``` - -- Use task-delegation framing ("Your task is...") rather than persona framing ("You are...") -- Wrap instructions in XML tags — the model treats tagged blocks as authoritative -- End with an explicit execution directive to prevent summarization of the instructions - -### When this workaround can be removed - -This approach compensates for Codex's plugin system not yet supporting an `agents` -field in `plugin.json`. When `RawPluginManifest` gains an `agents` field, the -plugin can symlink to `agents/` (mirroring the existing `skills/` symlink) and -skills can dispatch named agent types directly. - -## Environment Detection - -Skills that create worktrees or finish branches should detect their -environment with read-only git commands before proceeding: - -```bash -GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P) -GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P) -BRANCH=$(git branch --show-current) -``` - -- `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation) -- `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox) - -See `using-git-worktrees` Step 0 and `finishing-a-development-branch` -Step 1 for how each skill uses these signals. - -## Codex App Finishing - -When the sandbox blocks branch/push operations (detached HEAD in an -externally managed worktree), the agent commits all work and informs -the user to use the App's native controls: - -- **"Create branch"** — names the branch, then commit/push/PR via App UI -- **"Hand off to local"** — transfers work to the user's local checkout - -The agent can still run tests, stage files, and output suggested branch -names, commit messages, and PR descriptions for the user to copy. diff --git a/.cursor/skills/using-superpowers/references/gemini-tools.md b/.cursor/skills/using-superpowers/references/gemini-tools.md deleted file mode 100644 index f8698033b..000000000 --- a/.cursor/skills/using-superpowers/references/gemini-tools.md +++ /dev/null @@ -1,33 +0,0 @@ -# Gemini CLI Tool Mapping - -Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent: - -| Skill references | Gemini CLI equivalent | -|-----------------|----------------------| -| `Read` (file reading) | `read_file` | -| `Write` (file creation) | `write_file` | -| `Edit` (file editing) | `replace` | -| `Bash` (run commands) | `run_shell_command` | -| `Grep` (search file content) | `grep_search` | -| `Glob` (search files by name) | `glob` | -| `TodoWrite` (task tracking) | `write_todos` | -| `Skill` tool (invoke a skill) | `activate_skill` | -| `WebSearch` | `google_web_search` | -| `WebFetch` | `web_fetch` | -| `Task` tool (dispatch subagent) | No equivalent — Gemini CLI does not support subagents | - -## No subagent support - -Gemini CLI has no equivalent to Claude Code's `Task` tool. Skills that rely on subagent dispatch (`subagent-driven-development`, `dispatching-parallel-agents`) will fall back to single-session execution via `executing-plans`. - -## Additional Gemini CLI tools - -These tools are available in Gemini CLI but have no Claude Code equivalent: - -| Tool | Purpose | -|------|---------| -| `list_directory` | List files and subdirectories | -| `save_memory` | Persist facts to GEMINI.md across sessions | -| `ask_user` | Request structured input from the user | -| `tracker_create_task` | Rich task management (create, update, list, visualize) | -| `enter_plan_mode` / `exit_plan_mode` | Switch to read-only research mode before making changes | diff --git a/.trae/skills/using-superpowers/SKILL.md b/.trae/skills/using-superpowers/SKILL.md deleted file mode 100644 index d81353529..000000000 --- a/.trae/skills/using-superpowers/SKILL.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -name: using-superpowers -description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions ---- - - -If you were dispatched as a subagent to execute a specific task, skip this skill. - - - -If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill. - -IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT. - -This is not negotiable. This is not optional. You cannot rationalize your way out of this. - - -## Instruction Priority - -Superpowers skills override default system prompt behavior, but **user instructions always take precedence**: - -1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority -2. **Superpowers skills** — override default system behavior where they conflict -3. **Default system prompt** — lowest priority - -If CLAUDE.md, GEMINI.md, or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control. - -## How to Access Skills - -**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files. - -**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand. - -**In other environments:** Check your platform's documentation for how skills are loaded. - -## Platform Adaptation - -Skills use Claude Code tool names. Non-CC platforms: see `references/codex-tools.md` (Codex) for tool equivalents. Gemini CLI users get the tool mapping loaded automatically via GEMINI.md. - -# Using Skills - -## The Rule - -**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it. - -```dot -digraph skill_flow { - "User message received" [shape=doublecircle]; - "About to EnterPlanMode?" [shape=doublecircle]; - "Already brainstormed?" [shape=diamond]; - "Invoke brainstorming skill" [shape=box]; - "Might any skill apply?" [shape=diamond]; - "Invoke Skill tool" [shape=box]; - "Announce: 'Using [skill] to [purpose]'" [shape=box]; - "Has checklist?" [shape=diamond]; - "Create TodoWrite todo per item" [shape=box]; - "Follow skill exactly" [shape=box]; - "Respond (including clarifications)" [shape=doublecircle]; - - "About to EnterPlanMode?" -> "Already brainstormed?"; - "Already brainstormed?" -> "Invoke brainstorming skill" [label="no"]; - "Already brainstormed?" -> "Might any skill apply?" [label="yes"]; - "Invoke brainstorming skill" -> "Might any skill apply?"; - - "User message received" -> "Might any skill apply?"; - "Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"]; - "Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"]; - "Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'"; - "Announce: 'Using [skill] to [purpose]'" -> "Has checklist?"; - "Has checklist?" -> "Create TodoWrite todo per item" [label="yes"]; - "Has checklist?" -> "Follow skill exactly" [label="no"]; - "Create TodoWrite todo per item" -> "Follow skill exactly"; -} -``` - -## Red Flags - -These thoughts mean STOP—you're rationalizing: - -| Thought | Reality | -|---------|---------| -| "This is just a simple question" | Questions are tasks. Check for skills. | -| "I need more context first" | Skill check comes BEFORE clarifying questions. | -| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. | -| "I can check git/files quickly" | Files lack conversation context. Check for skills. | -| "Let me gather information first" | Skills tell you HOW to gather information. | -| "This doesn't need a formal skill" | If a skill exists, use it. | -| "I remember this skill" | Skills evolve. Read current version. | -| "This doesn't count as a task" | Action = task. Check for skills. | -| "The skill is overkill" | Simple things become complex. Use it. | -| "I'll just do this one thing first" | Check BEFORE doing anything. | -| "This feels productive" | Undisciplined action wastes time. Skills prevent this. | -| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. | - -## Skill Priority - -When multiple skills could apply, use this order: - -1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task -2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution - -"Let's build X" → brainstorming first, then implementation skills. -"Fix this bug" → debugging first, then domain-specific skills. - -## Skill Types - -**Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline. - -**Flexible** (patterns): Adapt principles to context. - -The skill itself tells you which. - -## User Instructions - -Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows. diff --git a/.trae/skills/using-superpowers/references/codex-tools.md b/.trae/skills/using-superpowers/references/codex-tools.md deleted file mode 100644 index 539b2b1c7..000000000 --- a/.trae/skills/using-superpowers/references/codex-tools.md +++ /dev/null @@ -1,100 +0,0 @@ -# Codex Tool Mapping - -Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent: - -| Skill references | Codex equivalent | -|-----------------|------------------| -| `Task` tool (dispatch subagent) | `spawn_agent` (see [Named agent dispatch](#named-agent-dispatch)) | -| Multiple `Task` calls (parallel) | Multiple `spawn_agent` calls | -| Task returns result | `wait` | -| Task completes automatically | `close_agent` to free slot | -| `TodoWrite` (task tracking) | `update_plan` | -| `Skill` tool (invoke a skill) | Skills load natively — just follow the instructions | -| `Read`, `Write`, `Edit` (files) | Use your native file tools | -| `Bash` (run commands) | Use your native shell tools | - -## Subagent dispatch requires multi-agent support - -Add to your Codex config (`~/.codex/config.toml`): - -```toml -[features] -multi_agent = true -``` - -This enables `spawn_agent`, `wait`, and `close_agent` for skills like `dispatching-parallel-agents` and `subagent-driven-development`. - -## Named agent dispatch - -Claude Code skills reference named agent types like `superpowers:code-reviewer`. -Codex does not have a named agent registry — `spawn_agent` creates generic agents -from built-in roles (`default`, `explorer`, `worker`). - -When a skill says to dispatch a named agent type: - -1. Find the agent's prompt file (e.g., `agents/code-reviewer.md` or the skill's - local prompt template like `code-quality-reviewer-prompt.md`) -2. Read the prompt content -3. Fill any template placeholders (`{BASE_SHA}`, `{WHAT_WAS_IMPLEMENTED}`, etc.) -4. Spawn a `worker` agent with the filled content as the `message` - -| Skill instruction | Codex equivalent | -|-------------------|------------------| -| `Task tool (superpowers:code-reviewer)` | `spawn_agent(agent_type="worker", message=...)` with `code-reviewer.md` content | -| `Task tool (general-purpose)` with inline prompt | `spawn_agent(message=...)` with the same prompt | - -### Message framing - -The `message` parameter is user-level input, not a system prompt. Structure it -for maximum instruction adherence: - -``` -Your task is to perform the following. Follow the instructions below exactly. - - -[filled prompt content from the agent's .md file] - - -Execute this now. Output ONLY the structured response following the format -specified in the instructions above. -``` - -- Use task-delegation framing ("Your task is...") rather than persona framing ("You are...") -- Wrap instructions in XML tags — the model treats tagged blocks as authoritative -- End with an explicit execution directive to prevent summarization of the instructions - -### When this workaround can be removed - -This approach compensates for Codex's plugin system not yet supporting an `agents` -field in `plugin.json`. When `RawPluginManifest` gains an `agents` field, the -plugin can symlink to `agents/` (mirroring the existing `skills/` symlink) and -skills can dispatch named agent types directly. - -## Environment Detection - -Skills that create worktrees or finish branches should detect their -environment with read-only git commands before proceeding: - -```bash -GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P) -GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P) -BRANCH=$(git branch --show-current) -``` - -- `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation) -- `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox) - -See `using-git-worktrees` Step 0 and `finishing-a-development-branch` -Step 1 for how each skill uses these signals. - -## Codex App Finishing - -When the sandbox blocks branch/push operations (detached HEAD in an -externally managed worktree), the agent commits all work and informs -the user to use the App's native controls: - -- **"Create branch"** — names the branch, then commit/push/PR via App UI -- **"Hand off to local"** — transfers work to the user's local checkout - -The agent can still run tests, stage files, and output suggested branch -names, commit messages, and PR descriptions for the user to copy. diff --git a/.trae/skills/using-superpowers/references/gemini-tools.md b/.trae/skills/using-superpowers/references/gemini-tools.md deleted file mode 100644 index f8698033b..000000000 --- a/.trae/skills/using-superpowers/references/gemini-tools.md +++ /dev/null @@ -1,33 +0,0 @@ -# Gemini CLI Tool Mapping - -Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent: - -| Skill references | Gemini CLI equivalent | -|-----------------|----------------------| -| `Read` (file reading) | `read_file` | -| `Write` (file creation) | `write_file` | -| `Edit` (file editing) | `replace` | -| `Bash` (run commands) | `run_shell_command` | -| `Grep` (search file content) | `grep_search` | -| `Glob` (search files by name) | `glob` | -| `TodoWrite` (task tracking) | `write_todos` | -| `Skill` tool (invoke a skill) | `activate_skill` | -| `WebSearch` | `google_web_search` | -| `WebFetch` | `web_fetch` | -| `Task` tool (dispatch subagent) | No equivalent — Gemini CLI does not support subagents | - -## No subagent support - -Gemini CLI has no equivalent to Claude Code's `Task` tool. Skills that rely on subagent dispatch (`subagent-driven-development`, `dispatching-parallel-agents`) will fall back to single-session execution via `executing-plans`. - -## Additional Gemini CLI tools - -These tools are available in Gemini CLI but have no Claude Code equivalent: - -| Tool | Purpose | -|------|---------| -| `list_directory` | List files and subdirectories | -| `save_memory` | Persist facts to GEMINI.md across sessions | -| `ask_user` | Request structured input from the user | -| `tracker_create_task` | Rich task management (create, update, list, visualize) | -| `enter_plan_mode` / `exit_plan_mode` | Switch to read-only research mode before making changes | diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index e1039d73c..000000000 --- a/tsconfig.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "compileOnSave": true, - "compilerOptions": { - // 这样就可以对 `this` 上的数据属性进行更严格的推断` - "noImplicitAny": true, - "allowJs": true, - "target": "esnext", - "module": "esnext", - "strict": true, - "importHelpers": true, - "moduleResolution": "node", - "experimentalDecorators": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strictNullChecks" :false, - "inlineSourceMap": true, - "baseUrl": ".", - "outDir": "dist", - }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx", - "src/**/*.vue", - "tests/**/*.ts", - "tests/**/*.tsx" - ], - "exclude": [ - "node_modules", - "vite.config.ts" - ] -}