bps-kit 1.0.6 → 1.0.8

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.
Files changed (33) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -7
  3. package/bin/cli.js +27 -16
  4. package/package.json +2 -2
  5. package/templates/VAULT_INDEX.md +2 -2
  6. package/templates/agents-template/rules/GEMINI.md +4 -4
  7. package/templates/agents-template/scripts/convert_to_vscode.js +87 -0
  8. package/templates/skills_basic/behavioral-modes/SKILL.md +247 -0
  9. package/templates/skills_basic/brainstorming/SKILL.md +232 -0
  10. package/templates/skills_basic/clean-code/SKILL.md +94 -0
  11. package/templates/skills_basic/concise-planning/SKILL.md +68 -0
  12. package/templates/skills_basic/executing-plans/SKILL.md +82 -0
  13. package/templates/skills_basic/git-pushing/SKILL.md +36 -0
  14. package/templates/skills_basic/git-pushing/scripts/smart_commit.sh +19 -0
  15. package/templates/skills_basic/lint-and-validate/SKILL.md +50 -0
  16. package/templates/skills_basic/lint-and-validate/scripts/lint_runner.py +172 -0
  17. package/templates/skills_basic/lint-and-validate/scripts/type_coverage.py +173 -0
  18. package/templates/skills_basic/plan-writing/SKILL.md +154 -0
  19. package/templates/skills_basic/systematic-debugging/CREATION-LOG.md +119 -0
  20. package/templates/skills_basic/systematic-debugging/SKILL.md +299 -0
  21. package/templates/skills_basic/systematic-debugging/condition-based-waiting-example.ts +158 -0
  22. package/templates/skills_basic/systematic-debugging/condition-based-waiting.md +115 -0
  23. package/templates/skills_basic/systematic-debugging/defense-in-depth.md +122 -0
  24. package/templates/skills_basic/systematic-debugging/find-polluter.sh +63 -0
  25. package/templates/skills_basic/systematic-debugging/root-cause-tracing.md +169 -0
  26. package/templates/skills_basic/systematic-debugging/test-academic.md +14 -0
  27. package/templates/skills_basic/systematic-debugging/test-pressure-1.md +58 -0
  28. package/templates/skills_basic/systematic-debugging/test-pressure-2.md +68 -0
  29. package/templates/skills_basic/systematic-debugging/test-pressure-3.md +69 -0
  30. package/templates/skills_basic/verification-before-completion/SKILL.md +145 -0
  31. package/templates/skills_basic/vulnerability-scanner/SKILL.md +281 -0
  32. package/templates/skills_basic/vulnerability-scanner/checklists.md +121 -0
  33. package/templates/skills_basic/vulnerability-scanner/scripts/security_scan.py +458 -0
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: brainstorming
3
+ description: "Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration."
4
+ risk: unknown
5
+ source: community
6
+ date_added: "2026-02-27"
7
+ ---
8
+
9
+ # Brainstorming Ideas Into Designs
10
+
11
+ ## Purpose
12
+
13
+ Turn raw ideas into **clear, validated designs and specifications**
14
+ through structured dialogue **before any implementation begins**.
15
+
16
+ This skill exists to prevent:
17
+ - premature implementation
18
+ - hidden assumptions
19
+ - misaligned solutions
20
+ - fragile systems
21
+
22
+ You are **not allowed** to implement, code, or modify behavior while this skill is active.
23
+
24
+ ---
25
+
26
+ ## Operating Mode
27
+
28
+ You are operating as a **design facilitator and senior reviewer**, not a builder.
29
+
30
+ - No creative implementation
31
+ - No speculative features
32
+ - No silent assumptions
33
+ - No skipping ahead
34
+
35
+ Your job is to **slow the process down just enough to get it right**.
36
+
37
+ ---
38
+
39
+ ## The Process
40
+
41
+ ### 1️⃣ Understand the Current Context (Mandatory First Step)
42
+
43
+ Before asking any questions:
44
+
45
+ - Review the current project state (if available):
46
+ - files
47
+ - documentation
48
+ - plans
49
+ - prior decisions
50
+ - Identify what already exists vs. what is proposed
51
+ - Note constraints that appear implicit but unconfirmed
52
+
53
+ **Do not design yet.**
54
+
55
+ ---
56
+
57
+ ### 2️⃣ Understanding the Idea (One Question at a Time)
58
+
59
+ Your goal here is **shared clarity**, not speed.
60
+
61
+ **Rules:**
62
+
63
+ - Ask **one question per message**
64
+ - Prefer **multiple-choice questions** when possible
65
+ - Use open-ended questions only when necessary
66
+ - If a topic needs depth, split it into multiple questions
67
+
68
+ Focus on understanding:
69
+
70
+ - purpose
71
+ - target users
72
+ - constraints
73
+ - success criteria
74
+ - explicit non-goals
75
+
76
+ ---
77
+
78
+ ### 3️⃣ Non-Functional Requirements (Mandatory)
79
+
80
+ You MUST explicitly clarify or propose assumptions for:
81
+
82
+ - Performance expectations
83
+ - Scale (users, data, traffic)
84
+ - Security or privacy constraints
85
+ - Reliability / availability needs
86
+ - Maintenance and ownership expectations
87
+
88
+ If the user is unsure:
89
+
90
+ - Propose reasonable defaults
91
+ - Clearly mark them as **assumptions**
92
+
93
+ ---
94
+
95
+ ### 4️⃣ Understanding Lock (Hard Gate)
96
+
97
+ Before proposing **any design**, you MUST pause and do the following:
98
+
99
+ #### Understanding Summary
100
+ Provide a concise summary (5–7 bullets) covering:
101
+ - What is being built
102
+ - Why it exists
103
+ - Who it is for
104
+ - Key constraints
105
+ - Explicit non-goals
106
+
107
+ #### Assumptions
108
+ List all assumptions explicitly.
109
+
110
+ #### Open Questions
111
+ List unresolved questions, if any.
112
+
113
+ Then ask:
114
+
115
+ > “Does this accurately reflect your intent?
116
+ > Please confirm or correct anything before we move to design.”
117
+
118
+ **Do NOT proceed until explicit confirmation is given.**
119
+
120
+ ---
121
+
122
+ ### 5️⃣ Explore Design Approaches
123
+
124
+ Once understanding is confirmed:
125
+
126
+ - Propose **2–3 viable approaches**
127
+ - Lead with your **recommended option**
128
+ - Explain trade-offs clearly:
129
+ - complexity
130
+ - extensibility
131
+ - risk
132
+ - maintenance
133
+ - Avoid premature optimization (**YAGNI ruthlessly**)
134
+
135
+ This is still **not** final design.
136
+
137
+ ---
138
+
139
+ ### 6️⃣ Present the Design (Incrementally)
140
+
141
+ When presenting the design:
142
+
143
+ - Break it into sections of **200–300 words max**
144
+ - After each section, ask:
145
+
146
+ > “Does this look right so far?”
147
+
148
+ Cover, as relevant:
149
+
150
+ - Architecture
151
+ - Components
152
+ - Data flow
153
+ - Error handling
154
+ - Edge cases
155
+ - Testing strategy
156
+
157
+ ---
158
+
159
+ ### 7️⃣ Decision Log (Mandatory)
160
+
161
+ Maintain a running **Decision Log** throughout the design discussion.
162
+
163
+ For each decision:
164
+ - What was decided
165
+ - Alternatives considered
166
+ - Why this option was chosen
167
+
168
+ This log should be preserved for documentation.
169
+
170
+ ---
171
+
172
+ ## After the Design
173
+
174
+ ### 📄 Documentation
175
+
176
+ Once the design is validated:
177
+
178
+ - Write the final design to a durable, shared format (e.g. Markdown)
179
+ - Include:
180
+ - Understanding summary
181
+ - Assumptions
182
+ - Decision log
183
+ - Final design
184
+
185
+ Persist the document according to the project’s standard workflow.
186
+
187
+ ---
188
+
189
+ ### 🛠️ Implementation Handoff (Optional)
190
+
191
+ Only after documentation is complete, ask:
192
+
193
+ > “Ready to set up for implementation?”
194
+
195
+ If yes:
196
+ - Create an explicit implementation plan
197
+ - Isolate work if the workflow supports it
198
+ - Proceed incrementally
199
+
200
+ ---
201
+
202
+ ## Exit Criteria (Hard Stop Conditions)
203
+
204
+ You may exit brainstorming mode **only when all of the following are true**:
205
+
206
+ - Understanding Lock has been confirmed
207
+ - At least one design approach is explicitly accepted
208
+ - Major assumptions are documented
209
+ - Key risks are acknowledged
210
+ - Decision Log is complete
211
+
212
+ If any criterion is unmet:
213
+ - Continue refinement
214
+ - **Do NOT proceed to implementation**
215
+
216
+ ---
217
+
218
+ ## Key Principles (Non-Negotiable)
219
+
220
+ - One question at a time
221
+ - Assumptions must be explicit
222
+ - Explore alternatives
223
+ - Validate incrementally
224
+ - Prefer clarity over cleverness
225
+ - Be willing to go back and clarify
226
+ - **YAGNI ruthlessly**
227
+
228
+ ---
229
+ If the design is high-impact, high-risk, or requires elevated confidence, you MUST hand off the finalized design and Decision Log to the `multi-agent-brainstorming` skill before implementation.
230
+
231
+ ## When to Use
232
+ This skill is applicable to execute the workflow or actions described in the overview.
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: clean-code
3
+ description: "Applies principles from Robert C. Martin's 'Clean Code'. Use this skill when writing, reviewing, or refactoring code to ensure high quality, readability, and maintainability. Covers naming, functio..."
4
+ risk: safe
5
+ source: "ClawForge (https://github.com/jackjin1997/ClawForge)"
6
+ date_added: "2026-02-27"
7
+ ---
8
+
9
+ # Clean Code Skill
10
+
11
+ This skill embodies the principles of "Clean Code" by Robert C. Martin (Uncle Bob). Use it to transform "code that works" into "code that is clean."
12
+
13
+ ## 🧠 Core Philosophy
14
+ > "Code is clean if it can be read, and enhanced by a developer other than its original author." — Grady Booch
15
+
16
+ ## When to Use
17
+ Use this skill when:
18
+ - **Writing new code**: To ensure high quality from the start.
19
+ - **Reviewing Pull Requests**: To provide constructive, principle-based feedback.
20
+ - **Refactoring legacy code**: To identify and remove code smells.
21
+ - **Improving team standards**: To align on industry-standard best practices.
22
+
23
+ ## 1. Meaningful Names
24
+ - **Use Intention-Revealing Names**: `elapsedTimeInDays` instead of `d`.
25
+ - **Avoid Disinformation**: Don't use `accountList` if it's actually a `Map`.
26
+ - **Make Meaningful Distinctions**: Avoid `ProductData` vs `ProductInfo`.
27
+ - **Use Pronounceable/Searchable Names**: Avoid `genymdhms`.
28
+ - **Class Names**: Use nouns (`Customer`, `WikiPage`). Avoid `Manager`, `Data`.
29
+ - **Method Names**: Use verbs (`postPayment`, `deletePage`).
30
+
31
+ ## 2. Functions
32
+ - **Small!**: Functions should be shorter than you think.
33
+ - **Do One Thing**: A function should do only one thing, and do it well.
34
+ - **One Level of Abstraction**: Don't mix high-level business logic with low-level details (like regex).
35
+ - **Descriptive Names**: `isPasswordValid` is better than `check`.
36
+ - **Arguments**: 0 is ideal, 1-2 is okay, 3+ requires a very strong justification.
37
+ - **No Side Effects**: Functions shouldn't secretly change global state.
38
+
39
+ ## 3. Comments
40
+ - **Don't Comment Bad Code—Rewrite It**: Most comments are a sign of failure to express ourselves in code.
41
+ - **Explain Yourself in Code**:
42
+ ```python
43
+ # Check if employee is eligible for full benefits
44
+ if employee.flags & HOURLY and employee.age > 65:
45
+ ```
46
+ vs
47
+ ```python
48
+ if employee.isEligibleForFullBenefits():
49
+ ```
50
+ - **Good Comments**: Legal, Informative (regex intent), Clarification (external libraries), TODOs.
51
+ - **Bad Comments**: Mumbling, Redundant, Misleading, Mandated, Noise, Position Markers.
52
+
53
+ ## 4. Formatting
54
+ - **The Newspaper Metaphor**: High-level concepts at the top, details at the bottom.
55
+ - **Vertical Density**: Related lines should be close to each other.
56
+ - **Distance**: Variables should be declared near their usage.
57
+ - **Indentation**: Essential for structural readability.
58
+
59
+ ## 5. Objects and Data Structures
60
+ - **Data Abstraction**: Hide the implementation behind interfaces.
61
+ - **The Law of Demeter**: A module should not know about the innards of the objects it manipulates. Avoid `a.getB().getC().doSomething()`.
62
+ - **Data Transfer Objects (DTO)**: Classes with public variables and no functions.
63
+
64
+ ## 6. Error Handling
65
+ - **Use Exceptions instead of Return Codes**: Keeps logic clean.
66
+ - **Write Try-Catch-Finally First**: Defines the scope of the operation.
67
+ - **Don't Return Null**: It forces the caller to check for null every time.
68
+ - **Don't Pass Null**: Leads to `NullPointerException`.
69
+
70
+ ## 7. Unit Tests
71
+ - **The Three Laws of TDD**:
72
+ 1. Don't write production code until you have a failing unit test.
73
+ 2. Don't write more of a unit test than is sufficient to fail.
74
+ 3. Don't write more production code than is sufficient to pass the failing test.
75
+ - **F.I.R.S.T. Principles**: Fast, Independent, Repeatable, Self-Validating, Timely.
76
+
77
+ ## 8. Classes
78
+ - **Small!**: Classes should have a single responsibility (SRP).
79
+ - **The Stepdown Rule**: We want the code to read like a top-down narrative.
80
+
81
+ ## 9. Smells and Heuristics
82
+ - **Rigidity**: Hard to change.
83
+ - **Fragility**: Breaks in many places.
84
+ - **Immobility**: Hard to reuse.
85
+ - **Viscosity**: Hard to do the right thing.
86
+ - **Needless Complexity/Repetition**.
87
+
88
+ ## 🛠️ Implementation Checklist
89
+ - [ ] Is this function smaller than 20 lines?
90
+ - [ ] Does this function do exactly one thing?
91
+ - [ ] Are all names searchable and intention-revealing?
92
+ - [ ] Have I avoided comments by making the code clearer?
93
+ - [ ] Am I passing too many arguments?
94
+ - [ ] Is there a failing test for this change?
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: concise-planning
3
+ description: "Use when a user asks for a plan for a coding task, to generate a clear, actionable, and atomic checklist."
4
+ risk: unknown
5
+ source: community
6
+ date_added: "2026-02-27"
7
+ ---
8
+
9
+ # Concise Planning
10
+
11
+ ## Goal
12
+
13
+ Turn a user request into a **single, actionable plan** with atomic steps.
14
+
15
+ ## Workflow
16
+
17
+ ### 1. Scan Context
18
+
19
+ - Read `README.md`, docs, and relevant code files.
20
+ - Identify constraints (language, frameworks, tests).
21
+
22
+ ### 2. Minimal Interaction
23
+
24
+ - Ask **at most 1–2 questions** and only if truly blocking.
25
+ - Make reasonable assumptions for non-blocking unknowns.
26
+
27
+ ### 3. Generate Plan
28
+
29
+ Use the following structure:
30
+
31
+ - **Approach**: 1-3 sentences on what and why.
32
+ - **Scope**: Bullet points for "In" and "Out".
33
+ - **Action Items**: A list of 6-10 atomic, ordered tasks (Verb-first).
34
+ - **Validation**: At least one item for testing.
35
+
36
+ ## Plan Template
37
+
38
+ ```markdown
39
+ # Plan
40
+
41
+ <High-level approach>
42
+
43
+ ## Scope
44
+
45
+ - In:
46
+ - Out:
47
+
48
+ ## Action Items
49
+
50
+ [ ] <Step 1: Discovery>
51
+ [ ] <Step 2: Implementation>
52
+ [ ] <Step 3: Implementation>
53
+ [ ] <Step 4: Validation/Testing>
54
+ [ ] <Step 5: Rollout/Commit>
55
+
56
+ ## Open Questions
57
+
58
+ - <Question 1 (max 3)>
59
+ ```
60
+
61
+ ## Checklist Guidelines
62
+
63
+ - **Atomic**: Each step should be a single logical unit of work.
64
+ - **Verb-first**: "Add...", "Refactor...", "Verify...".
65
+ - **Concrete**: Name specific files or modules when possible.
66
+
67
+ ## When to Use
68
+ This skill is applicable to execute the workflow or actions described in the overview.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: executing-plans
3
+ description: "Use when you have a written implementation plan to execute in a separate session with review checkpoints"
4
+ risk: unknown
5
+ source: community
6
+ date_added: "2026-02-27"
7
+ ---
8
+
9
+ # Executing Plans
10
+
11
+ ## Overview
12
+
13
+ Load plan, review critically, execute tasks in batches, report for review between batches.
14
+
15
+ **Core principle:** Batch execution with checkpoints for architect review.
16
+
17
+ **Announce at start:** "I'm using the executing-plans skill to implement this plan."
18
+
19
+ ## The Process
20
+
21
+ ### Step 1: Load and Review Plan
22
+ 1. Read plan file
23
+ 2. Review critically - identify any questions or concerns about the plan
24
+ 3. If concerns: Raise them with your human partner before starting
25
+ 4. If no concerns: Create TodoWrite and proceed
26
+
27
+ ### Step 2: Execute Batch
28
+ **Default: First 3 tasks**
29
+
30
+ For each task:
31
+ 1. Mark as in_progress
32
+ 2. Follow each step exactly (plan has bite-sized steps)
33
+ 3. Run verifications as specified
34
+ 4. Mark as completed
35
+
36
+ ### Step 3: Report
37
+ When batch complete:
38
+ - Show what was implemented
39
+ - Show verification output
40
+ - Say: "Ready for feedback."
41
+
42
+ ### Step 4: Continue
43
+ Based on feedback:
44
+ - Apply changes if needed
45
+ - Execute next batch
46
+ - Repeat until complete
47
+
48
+ ### Step 5: Complete Development
49
+
50
+ After all tasks complete and verified:
51
+ - Announce: "I'm using the finishing-a-development-branch skill to complete this work."
52
+ - **REQUIRED SUB-SKILL:** Use superpowers:finishing-a-development-branch
53
+ - Follow that skill to verify tests, present options, execute choice
54
+
55
+ ## When to Stop and Ask for Help
56
+
57
+ **STOP executing immediately when:**
58
+ - Hit a blocker mid-batch (missing dependency, test fails, instruction unclear)
59
+ - Plan has critical gaps preventing starting
60
+ - You don't understand an instruction
61
+ - Verification fails repeatedly
62
+
63
+ **Ask for clarification rather than guessing.**
64
+
65
+ ## When to Revisit Earlier Steps
66
+
67
+ **Return to Review (Step 1) when:**
68
+ - Partner updates the plan based on your feedback
69
+ - Fundamental approach needs rethinking
70
+
71
+ **Don't force through blockers** - stop and ask.
72
+
73
+ ## Remember
74
+ - Review plan critically first
75
+ - Follow plan steps exactly
76
+ - Don't skip verifications
77
+ - Reference skills when plan says to
78
+ - Between batches: just report and wait
79
+ - Stop when blocked, don't guess
80
+
81
+ ## When to Use
82
+ This skill is applicable to execute the workflow or actions described in the overview.
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: git-pushing
3
+ description: "Stage, commit, and push git changes with conventional commit messages. Use when user wants to commit and push changes, mentions pushing to remote, or asks to save and push their work. Also activate..."
4
+ risk: unknown
5
+ source: community
6
+ date_added: "2026-02-27"
7
+ ---
8
+
9
+ # Git Push Workflow
10
+
11
+ Stage all changes, create a conventional commit, and push to the remote branch.
12
+
13
+ ## When to Use
14
+
15
+ Automatically activate when the user:
16
+
17
+ - Explicitly asks to push changes ("push this", "commit and push")
18
+ - Mentions saving work to remote ("save to github", "push to remote")
19
+ - Completes a feature and wants to share it
20
+ - Says phrases like "let's push this up" or "commit these changes"
21
+
22
+ ## Workflow
23
+
24
+ **ALWAYS use the script** - do NOT use manual git commands:
25
+
26
+ ```bash
27
+ bash skills/git-pushing/scripts/smart_commit.sh
28
+ ```
29
+
30
+ With custom message:
31
+
32
+ ```bash
33
+ bash skills/git-pushing/scripts/smart_commit.sh "feat: add feature"
34
+ ```
35
+
36
+ Script handles: staging, conventional commit message, Claude footer, push with -u flag.
@@ -0,0 +1,19 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # Default commit message if none provided
5
+ MESSAGE="${1:-chore: update code}"
6
+
7
+ # Add all changes
8
+ git add .
9
+
10
+ # Commit with the provided message
11
+ git commit -m "$MESSAGE"
12
+
13
+ # Get current branch name
14
+ BRANCH=$(git rev-parse --abbrev-ref HEAD)
15
+
16
+ # Push to remote, setting upstream if needed
17
+ git push -u origin "$BRANCH"
18
+
19
+ echo "✅ Successfully pushed to $BRANCH"
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: lint-and-validate
3
+ description: "Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers onKeywords: lint, format, check, v..."
4
+ risk: unknown
5
+ source: community
6
+ date_added: "2026-02-27"
7
+ ---
8
+
9
+ # Lint and Validate Skill
10
+
11
+ > **MANDATORY:** Run appropriate validation tools after EVERY code change. Do not finish a task until the code is error-free.
12
+
13
+ ### Procedures by Ecosystem
14
+
15
+ #### Node.js / TypeScript
16
+ 1. **Lint/Fix:** `npm run lint` or `npx eslint "path" --fix`
17
+ 2. **Types:** `npx tsc --noEmit`
18
+ 3. **Security:** `npm audit --audit-level=high`
19
+
20
+ #### Python
21
+ 1. **Linter (Ruff):** `ruff check "path" --fix` (Fast & Modern)
22
+ 2. **Security (Bandit):** `bandit -r "path" -ll`
23
+ 3. **Types (MyPy):** `mypy "path"`
24
+
25
+ ## The Quality Loop
26
+ 1. **Write/Edit Code**
27
+ 2. **Run Audit:** `npm run lint && npx tsc --noEmit`
28
+ 3. **Analyze Report:** Check the "FINAL AUDIT REPORT" section.
29
+ 4. **Fix & Repeat:** Submitting code with "FINAL AUDIT" failures is NOT allowed.
30
+
31
+ ## Error Handling
32
+ - If `lint` fails: Fix the style or syntax issues immediately.
33
+ - If `tsc` fails: Correct type mismatches before proceeding.
34
+ - If no tool is configured: Check the project root for `.eslintrc`, `tsconfig.json`, `pyproject.toml` and suggest creating one.
35
+
36
+ ---
37
+ **Strict Rule:** No code should be committed or reported as "done" without passing these checks.
38
+
39
+ ---
40
+
41
+ ## Scripts
42
+
43
+ | Script | Purpose | Command |
44
+ |--------|---------|---------|
45
+ | `scripts/lint_runner.py` | Unified lint check | `python scripts/lint_runner.py <project_path>` |
46
+ | `scripts/type_coverage.py` | Type coverage analysis | `python scripts/type_coverage.py <project_path>` |
47
+
48
+
49
+ ## When to Use
50
+ This skill is applicable to execute the workflow or actions described in the overview.