@complexthings/superpowers-agent 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/docs/SUPERPOWERS.md +108 -0
- package/.agents/prompts/001-copilot-tool-mapping-do/001-copilot-tool-mapping-do.md +116 -0
- package/.agents/prompts/001-copilot-tool-mapping-do/SUMMARY.md +72 -0
- package/.agents/prompts/001-copilot-tool-mapping-do/copilot-tool-mapping-do-output.md +83 -0
- package/.agents/prompts/001-release-management-do/001-release-management-do.md +161 -0
- package/.agents/prompts/001-release-management-do/SUMMARY.md +19 -0
- package/.agents/prompts/001-release-management-do/completed/001-release-management-do.md +161 -0
- package/.agents/prompts/002-pull-command-do/SUMMARY.md +28 -0
- package/.agents/prompts/002-pull-command-do/completed/002-pull-command-do.md +122 -0
- package/.agents/prompts/002-pull-command-do/pull-command-do-output.md +174 -0
- package/.agents/prompts/command_updates_prompt.md +69 -0
- package/.agents/prompts/current_prompt.md +8 -0
- package/.agents/prompts/refactor.prompt.md +57 -0
- package/.agents/skills/.gitkeep +0 -0
- package/.agents/superpowers-agent +355 -0
- package/.agents/superpowers-bootstrap.md +42 -0
- package/.agents/templates/AGENTS.md.template +40 -0
- package/.agents/templates/SUPERPOWERS.md.template +108 -0
- package/.agents/templates/TOOLS.md.template +15 -0
- package/.github/workflows/main.yaml +32 -0
- package/AGENTS.md +60 -0
- package/LICENSE +21 -0
- package/README.md +724 -0
- package/hooks/hooks.json +15 -0
- package/hooks/session-start.sh +27 -0
- package/package.json +51 -0
- package/skills/architecture/ABOUT.md +20 -0
- package/skills/architecture/preserving-productive-tensions/SKILL.md +146 -0
- package/skills/architecture/preserving-productive-tensions/skill.json +9 -0
- package/skills/collaboration/brainstorming/SKILL.md +166 -0
- package/skills/collaboration/brainstorming/skill.json +9 -0
- package/skills/collaboration/brainstorming/spec-document-reviewer-prompt.md +50 -0
- package/skills/collaboration/brainstorming/visual-companion.md +277 -0
- package/skills/collaboration/dispatching-parallel-agents/SKILL.md +174 -0
- package/skills/collaboration/dispatching-parallel-agents/skill.json +9 -0
- package/skills/collaboration/executing-plans/SKILL.md +130 -0
- package/skills/collaboration/executing-plans/skill.json +9 -0
- package/skills/collaboration/finishing-a-development-branch/SKILL.md +261 -0
- package/skills/collaboration/finishing-a-development-branch/skill.json +9 -0
- package/skills/collaboration/leveraging-cli-tools/SKILL.md +132 -0
- package/skills/collaboration/leveraging-cli-tools/skill.json +9 -0
- package/skills/collaboration/receiving-code-review/SKILL.md +233 -0
- package/skills/collaboration/receiving-code-review/skill.json +9 -0
- package/skills/collaboration/requesting-code-review/SKILL.md +110 -0
- package/skills/collaboration/requesting-code-review/code-reviewer.md +146 -0
- package/skills/collaboration/requesting-code-review/skill.json +12 -0
- package/skills/collaboration/subagent-driven-development/SKILL.md +255 -0
- package/skills/collaboration/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/collaboration/subagent-driven-development/implementer-prompt.md +113 -0
- package/skills/collaboration/subagent-driven-development/skill.json +15 -0
- package/skills/collaboration/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/collaboration/using-git-worktrees/SKILL.md +366 -0
- package/skills/collaboration/using-git-worktrees/skill.json +9 -0
- package/skills/collaboration/writing-plans/SKILL.md +121 -0
- package/skills/collaboration/writing-plans/plan-document-reviewer-prompt.md +52 -0
- package/skills/collaboration/writing-plans/skill.json +9 -0
- package/skills/debugging/defense-in-depth/SKILL.md +380 -0
- package/skills/debugging/defense-in-depth/skill.json +9 -0
- package/skills/debugging/root-cause-tracing/SKILL.md +361 -0
- package/skills/debugging/root-cause-tracing/find-polluter.sh +63 -0
- package/skills/debugging/root-cause-tracing/skill.json +12 -0
- package/skills/debugging/systematic-debugging/SKILL.md +299 -0
- package/skills/debugging/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/debugging/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/debugging/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/debugging/systematic-debugging/find-polluter.sh +63 -0
- package/skills/debugging/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/debugging/systematic-debugging/skill.json +9 -0
- package/skills/debugging/systematic-debugging/test-academic.md +14 -0
- package/skills/debugging/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/debugging/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/debugging/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/debugging/verification-before-completion/SKILL.md +143 -0
- package/skills/debugging/verification-before-completion/skill.json +9 -0
- package/skills/finding-skills/SKILL.md +101 -0
- package/skills/finding-skills/skill.json +8 -0
- package/skills/meta/create-skill-json/SKILL.md +370 -0
- package/skills/meta/create-skill-json/skill.json +9 -0
- package/skills/meta/create-skill-json/test-scenarios.md +29 -0
- package/skills/meta/creating-prompts/SKILL.md +349 -0
- package/skills/meta/creating-prompts/examples/do-example.md +65 -0
- package/skills/meta/creating-prompts/examples/plan-example.md +75 -0
- package/skills/meta/creating-prompts/examples/refine-example.md +65 -0
- package/skills/meta/creating-prompts/examples/research-example.md +63 -0
- package/skills/meta/creating-prompts/scripts/get-next-number.sh +27 -0
- package/skills/meta/creating-prompts/skill.json +20 -0
- package/skills/meta/creating-prompts/templates/do-template.md +59 -0
- package/skills/meta/creating-prompts/templates/plan-template.md +58 -0
- package/skills/meta/creating-prompts/templates/refine-template.md +54 -0
- package/skills/meta/creating-prompts/templates/research-template.md +56 -0
- package/skills/meta/using-superpowers/SKILL.md +122 -0
- package/skills/meta/using-superpowers/skill.json +5 -0
- package/skills/meta/writing-prompts/SKILL.md +345 -0
- package/skills/meta/writing-prompts/skill.json +9 -0
- package/skills/problem-solving/ABOUT.md +40 -0
- package/skills/problem-solving/collision-zone-thinking/SKILL.md +188 -0
- package/skills/problem-solving/collision-zone-thinking/references/historical-examples.md +393 -0
- package/skills/problem-solving/collision-zone-thinking/skill.json +9 -0
- package/skills/problem-solving/inversion-exercise/SKILL.md +174 -0
- package/skills/problem-solving/inversion-exercise/skill.json +9 -0
- package/skills/problem-solving/meta-pattern-recognition/SKILL.md +116 -0
- package/skills/problem-solving/meta-pattern-recognition/skill.json +9 -0
- package/skills/problem-solving/scale-game/SKILL.md +222 -0
- package/skills/problem-solving/scale-game/skill.json +9 -0
- package/skills/problem-solving/simplification-cascades/SKILL.md +113 -0
- package/skills/problem-solving/simplification-cascades/skill.json +9 -0
- package/skills/problem-solving/when-stuck/SKILL.md +69 -0
- package/skills/problem-solving/when-stuck/skill.json +9 -0
- package/skills/research/ABOUT.md +20 -0
- package/skills/research/tracing-knowledge-lineages/SKILL.md +241 -0
- package/skills/research/tracing-knowledge-lineages/skill.json +9 -0
- package/skills/setup-skills/SKILL.md +47 -0
- package/skills/testing/condition-based-waiting/SKILL.md +359 -0
- package/skills/testing/condition-based-waiting/example.ts +158 -0
- package/skills/testing/condition-based-waiting/skill.json +12 -0
- package/skills/testing/test-driven-development/SKILL.md +434 -0
- package/skills/testing/test-driven-development/skill.json +9 -0
- package/skills/testing/testing-anti-patterns/SKILL.md +298 -0
- package/skills/testing/testing-anti-patterns/skill.json +9 -0
- package/skills/testing/verification-before-completion/SKILL.md +246 -0
- package/skills/testing/verification-before-completion/skill.json +10 -0
- package/skills/using-a-skill/SKILL.md +101 -0
- package/skills/using-a-skill/skill.json +8 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
number: {NUMBER}
|
|
3
|
+
topic: {TOPIC}
|
|
4
|
+
purpose: do
|
|
5
|
+
dependencies: []
|
|
6
|
+
created: {DATE}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {TOPIC} - Do
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
{What to build/create/fix}
|
|
13
|
+
|
|
14
|
+
Purpose: {Why this matters, what it enables}
|
|
15
|
+
Output: {What artifact(s) will be produced}
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
{Referenced files if chained}
|
|
20
|
+
@.agents/prompts/{folder}/{file}.md
|
|
21
|
+
|
|
22
|
+
{Project context}
|
|
23
|
+
@relevant-files
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<requirements>
|
|
27
|
+
{Specific functional requirements}
|
|
28
|
+
{Quality requirements}
|
|
29
|
+
{Constraints and boundaries}
|
|
30
|
+
</requirements>
|
|
31
|
+
|
|
32
|
+
<implementation>
|
|
33
|
+
{Specific approaches or patterns to follow}
|
|
34
|
+
{What to avoid and WHY}
|
|
35
|
+
{Integration points}
|
|
36
|
+
</implementation>
|
|
37
|
+
|
|
38
|
+
<output>
|
|
39
|
+
Create/modify files:
|
|
40
|
+
- `./path/to/file.ext` - {description}
|
|
41
|
+
|
|
42
|
+
{For complex outputs, specify structure}
|
|
43
|
+
</output>
|
|
44
|
+
|
|
45
|
+
<verification>
|
|
46
|
+
Before declaring complete:
|
|
47
|
+
- {Specific test or check}
|
|
48
|
+
- {How to confirm it works}
|
|
49
|
+
- {Edge cases to verify}
|
|
50
|
+
</verification>
|
|
51
|
+
|
|
52
|
+
<summary_requirements>
|
|
53
|
+
Create `SUMMARY.md` in same directory with:
|
|
54
|
+
- One-liner: Substantive description of outcome
|
|
55
|
+
- Key Findings: Actionable takeaways
|
|
56
|
+
- Decisions Needed: What requires user input
|
|
57
|
+
- Blockers: External impediments or "None"
|
|
58
|
+
- Next Step: Concrete forward action
|
|
59
|
+
</summary_requirements>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
number: {NUMBER}
|
|
3
|
+
topic: {TOPIC}
|
|
4
|
+
purpose: plan
|
|
5
|
+
dependencies: []
|
|
6
|
+
created: {DATE}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {TOPIC} - Plan
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
{What to plan + success criteria}
|
|
13
|
+
</objective>
|
|
14
|
+
|
|
15
|
+
<context>
|
|
16
|
+
{Referenced research outputs}
|
|
17
|
+
@.agents/prompts/{folder}/{file}-output.md
|
|
18
|
+
|
|
19
|
+
{Current state}
|
|
20
|
+
{Constraints}
|
|
21
|
+
</context>
|
|
22
|
+
|
|
23
|
+
<requirements>
|
|
24
|
+
{What plan must address}
|
|
25
|
+
{Decision points to resolve}
|
|
26
|
+
{Tradeoffs to evaluate}
|
|
27
|
+
</requirements>
|
|
28
|
+
|
|
29
|
+
<output_structure>
|
|
30
|
+
Create plan with:
|
|
31
|
+
|
|
32
|
+
## Phases
|
|
33
|
+
- Phase 1: {Name} - {Clear boundary/deliverable}
|
|
34
|
+
- Phase 2: {Name} - {Clear boundary/deliverable}
|
|
35
|
+
|
|
36
|
+
## Dependencies
|
|
37
|
+
- {What Phase 2 needs from Phase 1}
|
|
38
|
+
- {External dependencies}
|
|
39
|
+
|
|
40
|
+
## Decision Points
|
|
41
|
+
- {Decision}: Options A, B, C with tradeoffs
|
|
42
|
+
- {Decision}: Recommendation with rationale
|
|
43
|
+
|
|
44
|
+
## Risk Assessment
|
|
45
|
+
- {Risk}: {Mitigation strategy}
|
|
46
|
+
|
|
47
|
+
## Success Metrics
|
|
48
|
+
- {How to measure success}
|
|
49
|
+
</output_structure>
|
|
50
|
+
|
|
51
|
+
<summary_requirements>
|
|
52
|
+
Create `SUMMARY.md` with:
|
|
53
|
+
- One-liner: Key recommendation or approach
|
|
54
|
+
- Key Findings: Critical insights from planning
|
|
55
|
+
- Decisions Needed: What requires approval/input
|
|
56
|
+
- Blockers: What's blocking progress
|
|
57
|
+
- Next Step: Concrete action to move forward
|
|
58
|
+
</summary_requirements>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
number: {NUMBER}
|
|
3
|
+
topic: {TOPIC}
|
|
4
|
+
purpose: refine
|
|
5
|
+
dependencies: [{ORIGINAL_NUMBER}]
|
|
6
|
+
created: {DATE}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {TOPIC} - Refine
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Improve and deepen @.agents/prompts/{folder}/{file}-output.md
|
|
13
|
+
</objective>
|
|
14
|
+
|
|
15
|
+
<current_gaps>
|
|
16
|
+
{What's missing or unclear in current output}
|
|
17
|
+
{Questions left unanswered}
|
|
18
|
+
{Areas needing more depth}
|
|
19
|
+
</current_gaps>
|
|
20
|
+
|
|
21
|
+
<preserve>
|
|
22
|
+
{What to keep from original}
|
|
23
|
+
{Key insights not to lose}
|
|
24
|
+
</preserve>
|
|
25
|
+
|
|
26
|
+
<refinement_focus>
|
|
27
|
+
{Specific areas to strengthen}
|
|
28
|
+
{New angles to explore}
|
|
29
|
+
{Additional sources to consult}
|
|
30
|
+
</refinement_focus>
|
|
31
|
+
|
|
32
|
+
<output>
|
|
33
|
+
Update @.agents/prompts/{folder}/{file}-output.md with:
|
|
34
|
+
|
|
35
|
+
## What Changed
|
|
36
|
+
- {Added: new finding/insight}
|
|
37
|
+
- {Strengthened: expanded section}
|
|
38
|
+
- {Clarified: resolved ambiguity}
|
|
39
|
+
|
|
40
|
+
## Changelog
|
|
41
|
+
- v2: {Date} - {Summary of changes}
|
|
42
|
+
- v1: {Original date} - Initial version
|
|
43
|
+
|
|
44
|
+
Archive previous version to archive/{file}-v1.md
|
|
45
|
+
</output>
|
|
46
|
+
|
|
47
|
+
<summary_requirements>
|
|
48
|
+
Update `SUMMARY.md` with:
|
|
49
|
+
- One-liner: Updated with refinement focus
|
|
50
|
+
- Key Findings: Include new insights
|
|
51
|
+
- Version: v2
|
|
52
|
+
- Decisions Needed: Updated based on new information
|
|
53
|
+
- Next Step: Forward action with refined understanding
|
|
54
|
+
</summary_requirements>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
number: {NUMBER}
|
|
3
|
+
topic: {TOPIC}
|
|
4
|
+
purpose: research
|
|
5
|
+
dependencies: []
|
|
6
|
+
created: {DATE}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {TOPIC} - Research
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
{What to research + why}
|
|
13
|
+
</objective>
|
|
14
|
+
|
|
15
|
+
<focus_areas>
|
|
16
|
+
{Specific questions to answer}
|
|
17
|
+
{Comparisons to make}
|
|
18
|
+
{Unknowns to resolve}
|
|
19
|
+
</focus_areas>
|
|
20
|
+
|
|
21
|
+
<sources>
|
|
22
|
+
{Documentation to review}
|
|
23
|
+
{Code to analyze}
|
|
24
|
+
{Existing files to reference}
|
|
25
|
+
@relevant-files
|
|
26
|
+
</sources>
|
|
27
|
+
|
|
28
|
+
<output_requirements>
|
|
29
|
+
Provide research findings with:
|
|
30
|
+
|
|
31
|
+
## Key Findings
|
|
32
|
+
- {Finding with supporting evidence}
|
|
33
|
+
- {Finding with supporting evidence}
|
|
34
|
+
|
|
35
|
+
## Confidence Level
|
|
36
|
+
- High/Medium/Low with reasoning
|
|
37
|
+
|
|
38
|
+
## Recommendations
|
|
39
|
+
- {Specific recommendation based on findings}
|
|
40
|
+
|
|
41
|
+
## Open Questions
|
|
42
|
+
- {What remains uncertain}
|
|
43
|
+
- {What needs further investigation}
|
|
44
|
+
|
|
45
|
+
## Assumptions
|
|
46
|
+
- {What was assumed during research}
|
|
47
|
+
</output_requirements>
|
|
48
|
+
|
|
49
|
+
<summary_requirements>
|
|
50
|
+
Create `SUMMARY.md` with:
|
|
51
|
+
- One-liner: Main discovery or recommendation
|
|
52
|
+
- Key Findings: Top 3-5 actionable insights
|
|
53
|
+
- Decisions Needed: What needs decision based on research
|
|
54
|
+
- Blockers: What's preventing deeper research
|
|
55
|
+
- Next Step: How to act on findings
|
|
56
|
+
</summary_requirements>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-superpowers
|
|
3
|
+
description: "Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions. CRITICAL: this skill is already loaded in your context — do NOT invoke it again. It defines the foundational rule: if a skill might apply, you must invoke it first."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Superpowers
|
|
7
|
+
|
|
8
|
+
Superpowers is a skills system that gives you access to proven workflows, encoded as SKILL.md files. Skills prevent you from reinventing solved problems and repeating known mistakes. This skill establishes the foundational rule for how to use the entire system.
|
|
9
|
+
|
|
10
|
+
## The Core Rule
|
|
11
|
+
|
|
12
|
+
**Before any response or action, check whether a skill applies — then invoke it.**
|
|
13
|
+
|
|
14
|
+
This means BEFORE writing code, BEFORE asking clarifying questions, BEFORE exploring files. Even a 1% chance a skill might apply means you invoke it to check. If the invoked skill turns out not to fit the situation, you don't need to follow it — but you must check.
|
|
15
|
+
|
|
16
|
+
Why this matters: skills encode hard-won workflows for tasks like debugging, TDD, and brainstorming. Skipping the check means you may skip a workflow that would have prevented a costly mistake.
|
|
17
|
+
|
|
18
|
+
## How to Invoke Skills
|
|
19
|
+
|
|
20
|
+
Your platform's skill tool is the primary way to load a skill. Available skills are listed in your system context — scan this list before starting any task.
|
|
21
|
+
|
|
22
|
+
To load a skill, use your platform's native skill tool with the skill name:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
skill("brainstorming")
|
|
26
|
+
skill("systematic-debugging")
|
|
27
|
+
skill("test-driven-development")
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
When a skill is invoked, its full content is loaded into context. Follow it directly.
|
|
31
|
+
|
|
32
|
+
**Announce when using a skill:**
|
|
33
|
+
> "Using Skill: [name] to [purpose]"
|
|
34
|
+
|
|
35
|
+
This keeps the conversation clear and lets the user know which workflow you're following.
|
|
36
|
+
|
|
37
|
+
## How to Discover Skills
|
|
38
|
+
|
|
39
|
+
**Primary method:** Scan the `available_skills` list in your system context. It's always there — review it at the start of every conversation.
|
|
40
|
+
|
|
41
|
+
**CLI fallback:**
|
|
42
|
+
```bash
|
|
43
|
+
superpowers-agent find-skills # list all skills
|
|
44
|
+
superpowers-agent find-skills | grep test # filter by topic
|
|
45
|
+
superpowers-agent execute <skill-name> # load and follow a skill
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Skill Priority
|
|
49
|
+
|
|
50
|
+
When multiple skills could apply, invoke in this order:
|
|
51
|
+
|
|
52
|
+
1. **Process skills first** (brainstorming, systematic-debugging, test-driven-development) — these determine HOW to approach the task
|
|
53
|
+
2. **Implementation skills second** (domain-specific guides) — these guide execution
|
|
54
|
+
|
|
55
|
+
Examples:
|
|
56
|
+
- "Let's build X" → invoke `brainstorming` first, then domain implementation skills
|
|
57
|
+
- "Fix this bug" → invoke `systematic-debugging` first, then domain-specific skills
|
|
58
|
+
|
|
59
|
+
## Tool Mapping
|
|
60
|
+
|
|
61
|
+
Skills may reference tools by names used in a specific platform. Map them to whatever equivalent tools your agent environment provides:
|
|
62
|
+
|
|
63
|
+
| Skill instruction | What it means |
|
|
64
|
+
|-------------------|---------------|
|
|
65
|
+
| `TodoWrite` / task list | Your platform's todo or task-tracking tool |
|
|
66
|
+
| `Task` / subagent dispatch | Your subagent or agent-spawning tool |
|
|
67
|
+
| `Skill` tool | Your platform's native skill-loading tool |
|
|
68
|
+
| File read/write/edit | Your file read, write, and edit tools |
|
|
69
|
+
| Terminal / shell commands | Your bash or shell execution tool |
|
|
70
|
+
| Search | Your grep, glob, or search tools |
|
|
71
|
+
| Web fetching | Your web fetch or browser tool |
|
|
72
|
+
|
|
73
|
+
If your platform doesn't have an exact equivalent, use the closest available tool or perform the action inline.
|
|
74
|
+
|
|
75
|
+
## Red Flags — You're Rationalizing
|
|
76
|
+
|
|
77
|
+
These thoughts mean STOP and check for a skill first:
|
|
78
|
+
|
|
79
|
+
| Thought | Reality |
|
|
80
|
+
|---------|---------|
|
|
81
|
+
| "This is just a simple question" | Questions are tasks. Check for skills. |
|
|
82
|
+
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
|
|
83
|
+
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
|
|
84
|
+
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
|
|
85
|
+
| "Let me gather information first" | Skills tell you HOW to gather information. |
|
|
86
|
+
| "This doesn't need a formal skill" | If a skill exists, use it. |
|
|
87
|
+
| "I remember this skill" | Skills evolve. Read current version. |
|
|
88
|
+
| "This doesn't count as a task" | Action = task. Check for skills. |
|
|
89
|
+
| "The skill is overkill" | Simple things become complex. Use it. |
|
|
90
|
+
| "I'll just do this one thing first" | Check BEFORE doing anything. |
|
|
91
|
+
| "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
|
|
92
|
+
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
|
|
93
|
+
|
|
94
|
+
## Skill Types
|
|
95
|
+
|
|
96
|
+
**Rigid skills** (TDD, systematic-debugging): Follow exactly. The structure is the value — adapting away the discipline defeats the purpose.
|
|
97
|
+
|
|
98
|
+
**Flexible skills** (patterns, guides): Adapt principles to context. The skill itself will indicate when flexibility is appropriate.
|
|
99
|
+
|
|
100
|
+
## Checklists
|
|
101
|
+
|
|
102
|
+
If a skill contains a checklist, create a task or todo entry for each item using your platform's task-tracking tool. Mental tracking causes steps to get skipped. Every time.
|
|
103
|
+
|
|
104
|
+
## User Instructions
|
|
105
|
+
|
|
106
|
+
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows. A specific instruction is when skill discipline matters most.
|
|
107
|
+
|
|
108
|
+
## Version Monitoring
|
|
109
|
+
|
|
110
|
+
Superpowers version in AGENTS.md: `^^SAV:7.1.2^^`
|
|
111
|
+
|
|
112
|
+
If `superpowers-agent` commands display a different version, notify the user:
|
|
113
|
+
```
|
|
114
|
+
superpowers-agent update && superpowers-agent bootstrap && superpowers-agent setup-skills
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Related Skills
|
|
118
|
+
|
|
119
|
+
- **finding-skills** — Detailed guide for discovering and filtering available skills
|
|
120
|
+
- **using-a-skill** — How to load and apply a specific skill by name
|
|
121
|
+
- **brainstorming** — Required before any creative work or feature implementation
|
|
122
|
+
- **writing-skills** — How to create new skills using TDD
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-prompts
|
|
3
|
+
description: Use when creating custom slash commands or prompt files for GitHub Copilot, Cursor, or Claude, when repeating same instructions 2+ times, when tempted to defer command creation, or when unsure about platform-specific formats - guides creation of reusable AI commands with platform-specific syntax, file locations, and best practices for effective prompt engineering
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Prompts
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Create reusable custom commands (slash commands) for GitHub Copilot, Cursor, or Claude. These commands standardize workflows, reduce repetition, and make AI assistance more efficient across your team.
|
|
11
|
+
|
|
12
|
+
**Core principle:** Well-written prompts are reusable workflows that save time and ensure consistency. They transform one-off instructions into team-wide standards.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
**Create a prompt when:**
|
|
17
|
+
- You find yourself repeating the same instructions across sessions (2+ times = create it now)
|
|
18
|
+
- You want to standardize a workflow for your team
|
|
19
|
+
- A process involves multiple steps that benefit from templating
|
|
20
|
+
- You need consistent formatting or structure for outputs
|
|
21
|
+
- Someone asks you to "make this reusable" or "save this for later"
|
|
22
|
+
|
|
23
|
+
**CRITICAL:** If you've done the same task 2+ times, create the command NOW. Don't defer - "I'll create it later" becomes "I'll never create it."
|
|
24
|
+
|
|
25
|
+
**Don't create for:**
|
|
26
|
+
- One-off tasks you'll never repeat
|
|
27
|
+
- Simple queries that don't benefit from templating
|
|
28
|
+
- Platform-specific features already well-documented
|
|
29
|
+
|
|
30
|
+
## Platform Comparison
|
|
31
|
+
|
|
32
|
+
| Platform | Directory | File Format | File Extension | Notes |
|
|
33
|
+
|----------|-----------|-------------|----------------|-------|
|
|
34
|
+
| **GitHub Copilot** | `.github/prompts` or profile folder | Markdown with YAML frontmatter | `.md` | Supports variables like `${selection}` |
|
|
35
|
+
| **Cursor** | `.cursor/commands` (project) or `~/.cursor/commands` (global) | Plain Markdown | `.md` | Simple markdown, no frontmatter required |
|
|
36
|
+
| **Claude** | `.claude/commands` | Markdown | `.md` | Similar to Cursor format |
|
|
37
|
+
|
|
38
|
+
**CRITICAL:** Each platform has different format requirements. Using the wrong format will break the command. Always verify:
|
|
39
|
+
- GitHub Copilot: Requires YAML frontmatter
|
|
40
|
+
- Cursor: Plain Markdown only (no frontmatter)
|
|
41
|
+
- Claude: Plain Markdown only (no frontmatter)
|
|
42
|
+
|
|
43
|
+
**Platform format errors are not fixable later** - the command simply won't work. Get it right the first time.
|
|
44
|
+
|
|
45
|
+
## GitHub Copilot Prompt Files
|
|
46
|
+
|
|
47
|
+
**Location:**
|
|
48
|
+
- **Workspace:** `.github/prompts/` (project-specific)
|
|
49
|
+
- **User profile:** Profile folder (global, synced via Settings Sync)
|
|
50
|
+
|
|
51
|
+
**Structure:**
|
|
52
|
+
```markdown
|
|
53
|
+
---
|
|
54
|
+
description: Brief description of what this prompt does
|
|
55
|
+
agent: optional-agent-name
|
|
56
|
+
tools: [tool1, tool2]
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
# Prompt Name
|
|
60
|
+
|
|
61
|
+
## Overview
|
|
62
|
+
What this prompt accomplishes.
|
|
63
|
+
|
|
64
|
+
## Steps
|
|
65
|
+
1. First step
|
|
66
|
+
2. Second step
|
|
67
|
+
|
|
68
|
+
## Expected Output
|
|
69
|
+
What the output should look like.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Key Features:**
|
|
73
|
+
- YAML frontmatter for metadata (description, agent, tools)
|
|
74
|
+
- Supports variables: `${selection}`, `${workspaceFolder}`, `${file}`
|
|
75
|
+
- Can reference custom agents and specify tool lists
|
|
76
|
+
- Run via `/` prefix or Command Palette
|
|
77
|
+
|
|
78
|
+
**Example:**
|
|
79
|
+
```markdown
|
|
80
|
+
---
|
|
81
|
+
description: Create a React component with TypeScript and tests
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
# Create React Component
|
|
85
|
+
|
|
86
|
+
## Overview
|
|
87
|
+
Generate a complete React component with TypeScript types, tests, and proper structure.
|
|
88
|
+
|
|
89
|
+
## Component Details
|
|
90
|
+
- Component name: ${1:ComponentName}
|
|
91
|
+
- Props interface: Define based on requirements
|
|
92
|
+
- Include: useState, useEffect hooks as needed
|
|
93
|
+
|
|
94
|
+
## Output Format
|
|
95
|
+
1. Component file: `components/${1:ComponentName}.tsx`
|
|
96
|
+
2. Test file: `components/__tests__/${1:ComponentName}.test.tsx`
|
|
97
|
+
3. Export from index if needed
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Cursor Commands
|
|
101
|
+
|
|
102
|
+
**Location:**
|
|
103
|
+
- **Project:** `.cursor/commands/` (project root)
|
|
104
|
+
- **Global:** `~/.cursor/commands/` (home directory)
|
|
105
|
+
- **Team:** Created in Cursor Dashboard (Team/Enterprise plans)
|
|
106
|
+
|
|
107
|
+
**Structure:**
|
|
108
|
+
```markdown
|
|
109
|
+
# Command Name
|
|
110
|
+
|
|
111
|
+
## Overview
|
|
112
|
+
What this command does.
|
|
113
|
+
|
|
114
|
+
## Steps
|
|
115
|
+
1. First step
|
|
116
|
+
2. Second step
|
|
117
|
+
|
|
118
|
+
## Checklist
|
|
119
|
+
- [ ] Item 1
|
|
120
|
+
- [ ] Item 2
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Key Features:**
|
|
124
|
+
- Plain Markdown (no frontmatter required)
|
|
125
|
+
- Simple, readable format
|
|
126
|
+
- Parameters passed after command name: `/command-name additional context`
|
|
127
|
+
- Team commands sync automatically to all members
|
|
128
|
+
|
|
129
|
+
**Example:**
|
|
130
|
+
```markdown
|
|
131
|
+
# Code Review Checklist
|
|
132
|
+
|
|
133
|
+
## Overview
|
|
134
|
+
Comprehensive checklist for conducting thorough code reviews.
|
|
135
|
+
|
|
136
|
+
## Review Categories
|
|
137
|
+
|
|
138
|
+
### Functionality
|
|
139
|
+
- [ ] Code does what it's supposed to do
|
|
140
|
+
- [ ] Edge cases are handled
|
|
141
|
+
- [ ] Error handling is appropriate
|
|
142
|
+
|
|
143
|
+
### Code Quality
|
|
144
|
+
- [ ] Code is readable and well-structured
|
|
145
|
+
- [ ] Functions are small and focused
|
|
146
|
+
- [ ] Follows project conventions
|
|
147
|
+
|
|
148
|
+
### Security
|
|
149
|
+
- [ ] No obvious security vulnerabilities
|
|
150
|
+
- [ ] Input validation is present
|
|
151
|
+
- [ ] No hardcoded secrets
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Claude Commands
|
|
155
|
+
|
|
156
|
+
**Location:**
|
|
157
|
+
- `.claude/commands/` (project root)
|
|
158
|
+
|
|
159
|
+
**Structure:**
|
|
160
|
+
Similar to Cursor - plain Markdown files.
|
|
161
|
+
|
|
162
|
+
**Key Features:**
|
|
163
|
+
- Markdown format
|
|
164
|
+
- Triggered with `/` prefix
|
|
165
|
+
- Can include parameters after command name
|
|
166
|
+
|
|
167
|
+
**Example:**
|
|
168
|
+
```markdown
|
|
169
|
+
# Security Audit
|
|
170
|
+
|
|
171
|
+
## Overview
|
|
172
|
+
Comprehensive security review to identify vulnerabilities.
|
|
173
|
+
|
|
174
|
+
## Steps
|
|
175
|
+
1. **Dependency audit**
|
|
176
|
+
- Check for known vulnerabilities
|
|
177
|
+
- Update outdated packages
|
|
178
|
+
|
|
179
|
+
2. **Code security review**
|
|
180
|
+
- Check for common vulnerabilities
|
|
181
|
+
- Review authentication/authorization
|
|
182
|
+
|
|
183
|
+
## Security Checklist
|
|
184
|
+
- [ ] Dependencies updated and secure
|
|
185
|
+
- [ ] No hardcoded secrets
|
|
186
|
+
- [ ] Input validation implemented
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Best Practices
|
|
190
|
+
|
|
191
|
+
### 1. Always Use Proper Structure
|
|
192
|
+
Even if you already have working text, restructure it properly:
|
|
193
|
+
- Start with Overview (what it does)
|
|
194
|
+
- Use numbered steps for processes
|
|
195
|
+
- Use checklists for reviews/audits
|
|
196
|
+
- Include expected output format
|
|
197
|
+
|
|
198
|
+
**Don't skip structure because "it already works"** - raw text isn't a reusable command. Structure enables discovery, consistency, and maintenance.
|
|
199
|
+
|
|
200
|
+
### 2. Clarify Vague Requests
|
|
201
|
+
If the request is vague (e.g., "command that helps with testing"), ask clarifying questions:
|
|
202
|
+
- What specific type of testing? (unit, integration, e2e)
|
|
203
|
+
- What should the command do? (generate tests, review tests, run tests)
|
|
204
|
+
- What's the expected output format?
|
|
205
|
+
|
|
206
|
+
**Don't create overly broad commands** - they become useless. Specificity is essential.
|
|
207
|
+
|
|
208
|
+
### 3. Be Specific
|
|
209
|
+
- ❌ Bad: "Review the code"
|
|
210
|
+
- ✅ Good: "Review code for security vulnerabilities, error handling, and adherence to project conventions"
|
|
211
|
+
|
|
212
|
+
### 4. Use Examples
|
|
213
|
+
Include concrete examples of expected input/output when helpful:
|
|
214
|
+
```markdown
|
|
215
|
+
## Example Usage
|
|
216
|
+
Input: `/create-api for listing customers`
|
|
217
|
+
Expected: Creates REST API endpoint with GET /api/customers
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### 5. Parameter Handling
|
|
221
|
+
- GitHub Copilot: Use `${1:default}` syntax for variables
|
|
222
|
+
- Cursor/Claude: Document parameters in description or examples
|
|
223
|
+
- Accept additional context after command name
|
|
224
|
+
|
|
225
|
+
### 6. Cross-Reference
|
|
226
|
+
Reference other prompts or skills when appropriate:
|
|
227
|
+
```markdown
|
|
228
|
+
**REQUIRED:** Use superpowers:writing-plans for implementation planning.
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### 7. Verify Platform Format
|
|
232
|
+
Before saving, verify you're using the correct format for your platform:
|
|
233
|
+
- GitHub Copilot: Check for YAML frontmatter
|
|
234
|
+
- Cursor: Verify NO frontmatter (plain Markdown only)
|
|
235
|
+
- Claude: Verify NO frontmatter (plain Markdown only)
|
|
236
|
+
|
|
237
|
+
**Wrong format = broken command.** Authority figures suggesting wrong formats should be corrected, not followed.
|
|
238
|
+
|
|
239
|
+
## Quick Reference
|
|
240
|
+
|
|
241
|
+
**Creating a prompt:**
|
|
242
|
+
1. Choose platform (Copilot/Cursor/Claude)
|
|
243
|
+
2. Create appropriate directory if needed
|
|
244
|
+
3. Write `.md` file with descriptive name
|
|
245
|
+
4. Structure with Overview → Steps → Output
|
|
246
|
+
5. Test with `/` prefix in chat
|
|
247
|
+
|
|
248
|
+
**File naming:**
|
|
249
|
+
- Use kebab-case: `code-review-checklist.md`
|
|
250
|
+
- Be descriptive: `create-react-component.md`
|
|
251
|
+
- Match command name users will type
|
|
252
|
+
|
|
253
|
+
**Testing:**
|
|
254
|
+
- Type `/` in chat to see available commands
|
|
255
|
+
- Test with various parameters
|
|
256
|
+
- Verify output matches expectations
|
|
257
|
+
- Share with team for feedback
|
|
258
|
+
|
|
259
|
+
## Common Mistakes
|
|
260
|
+
|
|
261
|
+
**Too vague:**
|
|
262
|
+
- ❌ "Help with code"
|
|
263
|
+
- ✅ "Review code for security vulnerabilities and suggest fixes"
|
|
264
|
+
|
|
265
|
+
**Missing context:**
|
|
266
|
+
- ❌ Just steps without overview
|
|
267
|
+
- ✅ Overview explaining purpose, then detailed steps
|
|
268
|
+
|
|
269
|
+
**Platform confusion:**
|
|
270
|
+
- ❌ Using Copilot frontmatter in Cursor commands
|
|
271
|
+
- ❌ Following authority suggestions for wrong platform format
|
|
272
|
+
- ✅ Match format to target platform - verify before saving
|
|
273
|
+
|
|
274
|
+
**Deferring creation:**
|
|
275
|
+
- ❌ "I'll create it later" when repetition is clear
|
|
276
|
+
- ❌ "Just this once" for the 3rd+ time
|
|
277
|
+
- ✅ Create command immediately when repetition is identified
|
|
278
|
+
|
|
279
|
+
**Saving raw text:**
|
|
280
|
+
- ❌ Saving existing text without proper structure
|
|
281
|
+
- ❌ "It works, don't change it" for unstructured content
|
|
282
|
+
- ✅ Always restructure into proper command format
|
|
283
|
+
|
|
284
|
+
**Over-complication:**
|
|
285
|
+
- ❌ 20-step process in one command
|
|
286
|
+
- ✅ Break into smaller, focused commands
|
|
287
|
+
|
|
288
|
+
**Not clarifying scope:**
|
|
289
|
+
- ❌ Creating vague commands from unclear requests
|
|
290
|
+
- ❌ Making assumptions about what user wants
|
|
291
|
+
- ✅ Ask clarifying questions before creating command
|
|
292
|
+
|
|
293
|
+
## Rationalization Table
|
|
294
|
+
|
|
295
|
+
| Excuse | Reality |
|
|
296
|
+
|--------|---------|
|
|
297
|
+
| "I'll create it later when I have more time" | Later never comes. If repetition is clear (2+ times), create it now. |
|
|
298
|
+
| "Just this once, then I'll make it reusable" | This is already the 3rd time. Create it now. |
|
|
299
|
+
| "It already works, why restructure?" | Raw text isn't reusable. Structure enables discovery and consistency. |
|
|
300
|
+
| "Markdown is markdown, format doesn't matter" | Wrong. Platform formats differ. Wrong format = broken command. |
|
|
301
|
+
| "Lead said use this format, they know better" | Verify platform requirements. Authority can be wrong about technical details. |
|
|
302
|
+
| "I know what they want, no need to ask" | Vague requests create useless commands. Clarify scope first. |
|
|
303
|
+
| "Comprehensive is better than specific" | Overly broad commands become useless. Specificity is essential. |
|
|
304
|
+
| "Can't waste time on documentation" | 5 minutes now saves hours later. Infrastructure pays off immediately. |
|
|
305
|
+
|
|
306
|
+
## Red Flags - STOP and Fix
|
|
307
|
+
|
|
308
|
+
- **"I'll create it later"** → Create it now if repetition is clear
|
|
309
|
+
- **"It works as-is"** → Restructure into proper format
|
|
310
|
+
- **"Format doesn't matter"** → Verify platform-specific requirements
|
|
311
|
+
- **"They said use X format"** → Verify against platform documentation
|
|
312
|
+
- **"I know what they want"** → Ask clarifying questions for vague requests
|
|
313
|
+
- **"Comprehensive is better"** → Narrow scope, be specific
|
|
314
|
+
|
|
315
|
+
**All of these mean: Follow best practices, don't take shortcuts.**
|
|
316
|
+
|
|
317
|
+
## Real-World Impact
|
|
318
|
+
|
|
319
|
+
Well-written prompts:
|
|
320
|
+
- Reduce repetitive instructions by 80%+
|
|
321
|
+
- Standardize team workflows
|
|
322
|
+
- Onboard new team members faster
|
|
323
|
+
- Ensure consistent output quality
|
|
324
|
+
- Make AI assistance more accessible
|
|
325
|
+
|
|
326
|
+
## Platform-Specific Tips
|
|
327
|
+
|
|
328
|
+
### GitHub Copilot
|
|
329
|
+
- Leverage YAML frontmatter for metadata
|
|
330
|
+
- Use variables for dynamic content
|
|
331
|
+
- Reference custom agents when needed
|
|
332
|
+
- Enable Settings Sync for team sharing
|
|
333
|
+
|
|
334
|
+
### Cursor
|
|
335
|
+
- Keep it simple - plain Markdown works best
|
|
336
|
+
- Use team commands for organization-wide standards
|
|
337
|
+
- Parameters after command name are included in prompt
|
|
338
|
+
- Test locally before sharing as team command
|
|
339
|
+
|
|
340
|
+
### Claude
|
|
341
|
+
- Similar to Cursor format
|
|
342
|
+
- Focus on clarity and structure
|
|
343
|
+
- Test thoroughly before deploying
|
|
344
|
+
- Consider project-specific vs. global placement
|
|
345
|
+
|