skillstore-cli 1.0.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/README.md +95 -0
- package/data/bundles/devflow-complete.json +19 -0
- package/data/free-skills/devflow-agile/manifest.json +19 -0
- package/data/free-skills/devflow-agile/plugin/commands/agile/retro.md +23 -0
- package/data/free-skills/devflow-agile/plugin/commands/agile/review.md +21 -0
- package/data/free-skills/devflow-agile/plugin/commands/agile/sprint.md +30 -0
- package/data/free-skills/devflow-agile/plugin/commands/agile/standup.md +20 -0
- package/data/free-skills/devflow-agile/plugin/commands/agile.md +35 -0
- package/data/free-skills/devflow-agile/plugin/commands/devflow.md +42 -0
- package/data/free-skills/devflow-agile/plugin/skills/developer/SKILL.md +93 -0
- package/data/free-skills/devflow-agile/plugin/skills/developer/assets/sample-output.md +182 -0
- package/data/free-skills/devflow-agile/plugin/skills/developer/references/clean-architecture.md +361 -0
- package/data/free-skills/devflow-agile/plugin/skills/developer/references/clean-code-guide.md +207 -0
- package/data/free-skills/devflow-agile/plugin/skills/developer/references/debugging-methodology.md +191 -0
- package/data/free-skills/devflow-agile/template/agents/agile-coach.md +76 -0
- package/data/free-skills/devflow-agile/template/workflows/agile-sprint-workflow.md +81 -0
- package/data/free-skills/devflow-bootstrap/manifest.json +8 -0
- package/data/free-skills/devflow-bootstrap/plugin/commands/bootstrap/auto.md +31 -0
- package/data/free-skills/devflow-bootstrap/plugin/commands/bootstrap.md +38 -0
- package/data/free-skills/devflow-bootstrap/plugin/commands/devflow.md +20 -0
- package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/SKILL.md +56 -0
- package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/assets/sample-output.md +216 -0
- package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/references/architecture-decisions.md +254 -0
- package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/references/stack-templates.md +400 -0
- package/data/free-skills/devflow-bootstrap/template/agents/bootstrap-specialist.md +56 -0
- package/data/free-skills/devflow-bootstrap/template/workflows/bootstrap-workflow.md +70 -0
- package/data/free-skills/devflow-docs/manifest.json +8 -0
- package/data/free-skills/devflow-docs/plugin/commands/devflow.md +20 -0
- package/data/free-skills/devflow-docs/plugin/commands/docs/generate.md +17 -0
- package/data/free-skills/devflow-docs/plugin/commands/docs/parse.md +19 -0
- package/data/free-skills/devflow-docs/plugin/commands/docs.md +26 -0
- package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/SKILL.md +59 -0
- package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/assets/sample-output.md +114 -0
- package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/references/extraction-techniques.md +115 -0
- package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/references/ocr-strategies.md +167 -0
- package/data/free-skills/devflow-docs/template/agents/docs-specialist.md +35 -0
- package/data/free-skills/devflow-docs/template/workflows/docs-workflow.md +70 -0
- package/data/free-skills/devflow-postproject/manifest.json +13 -0
- package/data/free-skills/devflow-postproject/plugin/commands/devflow.md +34 -0
- package/data/free-skills/devflow-postproject/plugin/commands/postproject/handover.md +21 -0
- package/data/free-skills/devflow-postproject/plugin/commands/postproject/retro.md +21 -0
- package/data/free-skills/devflow-postproject/plugin/commands/postproject/support.md +21 -0
- package/data/free-skills/devflow-postproject/plugin/commands/postproject.md +32 -0
- package/data/free-skills/devflow-postproject/plugin/skills/retrospective/SKILL.md +70 -0
- package/data/free-skills/devflow-postproject/plugin/skills/retrospective/assets/sample-output.md +79 -0
- package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/facilitation-techniques.md +178 -0
- package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/lessons-learned-template.md +118 -0
- package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/retro-techniques.md +100 -0
- package/data/free-skills/devflow-postproject/template/agents/transition-manager.md +71 -0
- package/data/free-skills/devflow-postproject/template/workflows/transition-workflow.md +72 -0
- package/data/free-skills/devflow-presale/manifest.json +15 -0
- package/data/free-skills/devflow-presale/plugin/commands/devflow.md +47 -0
- package/data/free-skills/devflow-presale/plugin/commands/presale/analyze.md +30 -0
- package/data/free-skills/devflow-presale/plugin/commands/presale/estimate.md +30 -0
- package/data/free-skills/devflow-presale/plugin/commands/presale/price.md +30 -0
- package/data/free-skills/devflow-presale/plugin/commands/presale/propose.md +30 -0
- package/data/free-skills/devflow-presale/plugin/commands/presale.md +42 -0
- package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/SKILL.md +63 -0
- package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/assets/sample-output.md +129 -0
- package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/references/extraction-framework.md +140 -0
- package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/references/output-template.md +132 -0
- package/data/free-skills/devflow-presale/template/agents/presale-lead.md +83 -0
- package/data/free-skills/devflow-presale/template/agents/proposal-reviewer.md +63 -0
- package/data/free-skills/devflow-presale/template/workflows/presale-workflow.md +70 -0
- package/data/registry/categories.json +7 -0
- package/data/registry/packages.json +184 -0
- package/data/shared/framework/agents/brainstormer.md +74 -0
- package/data/shared/framework/agents/code-reviewer.md +87 -0
- package/data/shared/framework/agents/debugger.md +84 -0
- package/data/shared/framework/agents/docs-manager.md +55 -0
- package/data/shared/framework/agents/git-manager.md +59 -0
- package/data/shared/framework/agents/planner.md +68 -0
- package/data/shared/framework/agents/researcher.md +66 -0
- package/data/shared/framework/agents/tester.md +65 -0
- package/data/shared/framework/commands/cook/auto.md +27 -0
- package/data/shared/framework/commands/cook.md +45 -0
- package/data/shared/framework/commands/fix/ci.md +21 -0
- package/data/shared/framework/commands/fix/test.md +26 -0
- package/data/shared/framework/commands/fix/types.md +29 -0
- package/data/shared/framework/commands/fix.md +26 -0
- package/data/shared/framework/commands/git/cm.md +37 -0
- package/data/shared/framework/commands/git/pr.md +40 -0
- package/data/shared/framework/config/CLAUDE.md.template +26 -0
- package/data/shared/framework/config/settings.json +41 -0
- package/data/shared/framework/config/skillstore.config.json +29 -0
- package/data/shared/framework/hooks/discord-notify.sh +85 -0
- package/data/shared/framework/hooks/docs-sync.sh +53 -0
- package/data/shared/framework/hooks/modularization-hook.js +103 -0
- package/data/shared/framework/hooks/notification.js +94 -0
- package/data/shared/framework/hooks/quality-gate.js +109 -0
- package/data/shared/framework/hooks/scout-block.js +77 -0
- package/data/shared/framework/hooks/telegram-notify.sh +77 -0
- package/data/shared/framework/protocols/error-recovery.md +80 -0
- package/data/shared/framework/protocols/orchestration-protocol.md +112 -0
- package/data/shared/framework/quality/review-protocol.md +76 -0
- package/data/shared/framework/quality/verification-protocol.md +66 -0
- package/data/shared/framework/rules/development-rules.md +75 -0
- package/data/shared/framework/skills/backend-development/SKILL.md +77 -0
- package/data/shared/framework/skills/backend-development/assets/sample-output.md +175 -0
- package/data/shared/framework/skills/backend-development/references/advanced-patterns.md +180 -0
- package/data/shared/framework/skills/backend-development/references/api-design-guide.md +160 -0
- package/data/shared/framework/skills/backend-development/references/architecture-patterns.md +183 -0
- package/data/shared/framework/skills/backend-development/references/observability-resilience.md +155 -0
- package/data/shared/framework/skills/backend-development/references/troubleshooting.md +199 -0
- package/data/shared/framework/skills/codebase-analysis/SKILL.md +72 -0
- package/data/shared/framework/skills/codebase-analysis/assets/sample-output.md +263 -0
- package/data/shared/framework/skills/codebase-analysis/references/analysis-techniques.md +241 -0
- package/data/shared/framework/skills/codebase-analysis/references/dependency-mapping.md +280 -0
- package/data/shared/framework/skills/codebase-analysis/references/tech-debt-assessment.md +208 -0
- package/data/shared/framework/skills/databases/SKILL.md +72 -0
- package/data/shared/framework/skills/databases/assets/sample-output.md +212 -0
- package/data/shared/framework/skills/databases/references/advanced-data-patterns.md +259 -0
- package/data/shared/framework/skills/databases/references/query-optimization.md +214 -0
- package/data/shared/framework/skills/databases/references/schema-design.md +159 -0
- package/data/shared/framework/skills/databases/references/troubleshooting.md +214 -0
- package/data/shared/framework/skills/debugging-investigation/SKILL.md +84 -0
- package/data/shared/framework/skills/debugging-investigation/assets/sample-output.md +314 -0
- package/data/shared/framework/skills/debugging-investigation/references/systematic-debugging.md +197 -0
- package/data/shared/framework/skills/debugging-investigation/references/tool-specific-guides.md +202 -0
- package/data/shared/framework/skills/debugging-investigation/references/troubleshooting-patterns.md +196 -0
- package/data/shared/framework/skills/frontend-development/SKILL.md +67 -0
- package/data/shared/framework/skills/frontend-development/assets/sample-output.md +110 -0
- package/data/shared/framework/skills/frontend-development/references/component-patterns.md +112 -0
- package/data/shared/framework/skills/frontend-development/references/performance-guide.md +169 -0
- package/data/shared/framework/skills/frontend-development/references/routing-forms-realtime.md +374 -0
- package/data/shared/framework/skills/frontend-development/references/ssr-rsc-patterns.md +284 -0
- package/data/shared/framework/skills/frontend-development/references/troubleshooting.md +154 -0
- package/data/shared/framework/skills/mobile-development/SKILL.md +67 -0
- package/data/shared/framework/skills/mobile-development/assets/sample-output.md +382 -0
- package/data/shared/framework/skills/mobile-development/references/mobile-patterns.md +681 -0
- package/data/shared/framework/skills/mobile-development/references/mobile-performance.md +524 -0
- package/data/shared/framework/skills/mobile-development/references/troubleshooting.md +158 -0
- package/data/shared/framework/skills/security-audit/SKILL.md +83 -0
- package/data/shared/framework/skills/security-audit/assets/sample-output.md +451 -0
- package/data/shared/framework/skills/security-audit/references/owasp-checklist.md +580 -0
- package/data/shared/framework/skills/security-audit/references/secure-coding-patterns.md +433 -0
- package/data/shared/framework/skills/security-audit/references/vulnerability-remediation.md +331 -0
- package/data/shared/framework/skills/ui-generation/SKILL.md +70 -0
- package/data/shared/framework/skills/ui-generation/assets/sample-output.md +139 -0
- package/data/shared/framework/skills/ui-generation/references/accessibility-responsive.md +127 -0
- package/data/shared/framework/skills/ui-generation/references/compound-components.md +252 -0
- package/data/shared/framework/skills/ui-generation/references/generation-patterns.md +110 -0
- package/data/shared/framework/skills/ui-generation/references/storybook-design-system.md +278 -0
- package/data/shared/framework/skills/ui-generation/references/troubleshooting.md +198 -0
- package/data/shared/framework/workflows/documentation-management.md +58 -0
- package/data/shared/framework/workflows/primary-workflow.md +88 -0
- package/dist/commands/activate.d.ts +3 -0
- package/dist/commands/activate.d.ts.map +1 -0
- package/dist/commands/activate.js +34 -0
- package/dist/commands/activate.js.map +1 -0
- package/dist/commands/bundle.d.ts +3 -0
- package/dist/commands/bundle.d.ts.map +1 -0
- package/dist/commands/bundle.js +64 -0
- package/dist/commands/bundle.js.map +1 -0
- package/dist/commands/install.d.ts +3 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +99 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +37 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +30 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +35 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +68 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/download/cache.d.ts +3 -0
- package/dist/download/cache.d.ts.map +1 -0
- package/dist/download/cache.js +18 -0
- package/dist/download/cache.js.map +1 -0
- package/dist/download/client.d.ts +2 -0
- package/dist/download/client.d.ts.map +1 -0
- package/dist/download/client.js +58 -0
- package/dist/download/client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/file-copier.d.ts +6 -0
- package/dist/installer/file-copier.d.ts.map +1 -0
- package/dist/installer/file-copier.js +32 -0
- package/dist/installer/file-copier.js.map +1 -0
- package/dist/installer/plugin-installer.d.ts +12 -0
- package/dist/installer/plugin-installer.d.ts.map +1 -0
- package/dist/installer/plugin-installer.js +33 -0
- package/dist/installer/plugin-installer.js.map +1 -0
- package/dist/installer/template-installer.d.ts +12 -0
- package/dist/installer/template-installer.d.ts.map +1 -0
- package/dist/installer/template-installer.js +45 -0
- package/dist/installer/template-installer.js.map +1 -0
- package/dist/license/crypto.d.ts +16 -0
- package/dist/license/crypto.d.ts.map +1 -0
- package/dist/license/crypto.js +50 -0
- package/dist/license/crypto.js.map +1 -0
- package/dist/license/license-store.d.ts +19 -0
- package/dist/license/license-store.d.ts.map +1 -0
- package/dist/license/license-store.js +99 -0
- package/dist/license/license-store.js.map +1 -0
- package/dist/license/validator.d.ts +32 -0
- package/dist/license/validator.d.ts.map +1 -0
- package/dist/license/validator.js +81 -0
- package/dist/license/validator.js.map +1 -0
- package/dist/registry/loader.d.ts +30 -0
- package/dist/registry/loader.d.ts.map +1 -0
- package/dist/registry/loader.js +22 -0
- package/dist/registry/loader.js.map +1 -0
- package/dist/registry/search-engine.d.ts +9 -0
- package/dist/registry/search-engine.d.ts.map +1 -0
- package/dist/registry/search-engine.js +30 -0
- package/dist/registry/search-engine.js.map +1 -0
- package/dist/utils/config.d.ts +14 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +28 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +22 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/paths.d.ts +20 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +79 -0
- package/dist/utils/paths.js.map +1 -0
- package/package.json +54 -0
package/data/free-skills/devflow-agile/plugin/skills/developer/references/debugging-methodology.md
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Debugging Methodology
|
|
2
|
+
|
|
3
|
+
## Systematic Debugging Process
|
|
4
|
+
|
|
5
|
+
Follow this 6-step process for every bug. Skipping steps leads to "fix one bug, create two more."
|
|
6
|
+
|
|
7
|
+
### Step 1: Reproduce Reliably
|
|
8
|
+
- **Get the exact reproduction steps** from the reporter (browser, OS, user role, data state)
|
|
9
|
+
- Reproduce in your local environment BEFORE reading the code
|
|
10
|
+
- If you cannot reproduce, gather more data (logs, screenshots, network traces) — do not guess
|
|
11
|
+
- Write down the reproduction steps — you will need them for the regression test
|
|
12
|
+
|
|
13
|
+
### Step 2: Isolate the Scope
|
|
14
|
+
- **Narrow down**: which service? which module? which function?
|
|
15
|
+
- Use binary search: disable half the system, check if bug persists, narrow further
|
|
16
|
+
- Check: Is this a frontend issue, backend issue, or data issue?
|
|
17
|
+
- Check recent changes: `git log --since="3 days ago" -- path/to/module`
|
|
18
|
+
|
|
19
|
+
### Step 3: Form a Hypothesis
|
|
20
|
+
- Based on the symptoms, propose ONE possible cause
|
|
21
|
+
- State it explicitly: "I think the bug is caused by X because Y"
|
|
22
|
+
- Design a test for this hypothesis (add a log, change a value, add a breakpoint)
|
|
23
|
+
|
|
24
|
+
### Step 4: Test the Hypothesis
|
|
25
|
+
- Make ONE change at a time — changing multiple things makes it impossible to know what fixed it
|
|
26
|
+
- If your hypothesis is wrong, gather the new evidence and form another one
|
|
27
|
+
- Track what you have tried: keep a scratch note of hypotheses tested and results
|
|
28
|
+
|
|
29
|
+
### Step 5: Fix the Root Cause
|
|
30
|
+
- Fix the actual cause, not the symptom
|
|
31
|
+
- Ask: "Why did this happen?" If the answer reveals a deeper issue, fix that too
|
|
32
|
+
- Check for the same pattern elsewhere: if this bug exists in `createUser`, does it exist in `updateUser` too?
|
|
33
|
+
|
|
34
|
+
### Step 6: Verify and Prevent
|
|
35
|
+
- Write a **regression test** that fails without the fix and passes with it
|
|
36
|
+
- Verify the fix does not break adjacent functionality (run full test suite)
|
|
37
|
+
- Update documentation if the bug revealed a non-obvious behavior
|
|
38
|
+
- Consider: should we add monitoring/alerting for this class of issue?
|
|
39
|
+
|
|
40
|
+
## Root Cause Analysis Techniques
|
|
41
|
+
|
|
42
|
+
### The 5 Whys
|
|
43
|
+
Start with the symptom and ask "Why?" repeatedly until you reach the root cause.
|
|
44
|
+
|
|
45
|
+
**Example:**
|
|
46
|
+
1. Why did the checkout fail? → The payment API returned a 500 error
|
|
47
|
+
2. Why did the payment API return 500? → The request body had a null `currency` field
|
|
48
|
+
3. Why was `currency` null? → The frontend sent the order without the currency when the user used a saved card
|
|
49
|
+
4. Why was currency missing for saved cards? → The saved card flow skips the currency selection step
|
|
50
|
+
5. Why does saved card flow skip currency selection? → The flow was copied from single-currency version and never updated for multi-currency
|
|
51
|
+
|
|
52
|
+
**Root cause**: Missing multi-currency support in the saved card checkout flow.
|
|
53
|
+
**Fix**: Add currency to saved card payload, with a fallback to user's default currency.
|
|
54
|
+
|
|
55
|
+
### Fault Tree Analysis
|
|
56
|
+
For complex bugs with multiple contributing factors, draw a tree:
|
|
57
|
+
```
|
|
58
|
+
[Checkout Failure]
|
|
59
|
+
├── [Payment API 500]
|
|
60
|
+
│ ├── [Null currency in request]
|
|
61
|
+
│ │ └── [Saved card flow missing currency]
|
|
62
|
+
│ └── [No input validation on API]
|
|
63
|
+
│ └── [Validation was skipped for "trusted" internal calls]
|
|
64
|
+
└── [No retry mechanism]
|
|
65
|
+
└── [Transient failures also cause checkout failure]
|
|
66
|
+
```
|
|
67
|
+
This reveals multiple fixes: add currency, add validation, add retry.
|
|
68
|
+
|
|
69
|
+
## Debugging Tools and Strategies by Language
|
|
70
|
+
|
|
71
|
+
### JavaScript / TypeScript (Node.js)
|
|
72
|
+
| Tool | Usage |
|
|
73
|
+
|------|-------|
|
|
74
|
+
| `console.log` with JSON.stringify | Quick inspection (remove before committing) |
|
|
75
|
+
| Node.js `--inspect` + Chrome DevTools | Breakpoints, step-through, variable inspection |
|
|
76
|
+
| VS Code debugger | Attach to running process, conditional breakpoints |
|
|
77
|
+
| `DEBUG=*` environment variable | Enable debug logging in Express/Koa and libraries |
|
|
78
|
+
| Network tab (browser) | Inspect request/response payloads, timing, headers |
|
|
79
|
+
|
|
80
|
+
### JavaScript / TypeScript (Frontend)
|
|
81
|
+
| Tool | Usage |
|
|
82
|
+
|------|-------|
|
|
83
|
+
| React DevTools | Component tree, props/state inspection, re-render highlighting |
|
|
84
|
+
| Redux DevTools | Action history, state diff, time-travel debugging |
|
|
85
|
+
| `Performance` tab | Identify slow renders, layout thrashing, long tasks |
|
|
86
|
+
| `console.table()` | Visualize arrays/objects in console |
|
|
87
|
+
| Source maps | Debug original TypeScript in browser even with bundled output |
|
|
88
|
+
|
|
89
|
+
### Python
|
|
90
|
+
| Tool | Usage |
|
|
91
|
+
|------|-------|
|
|
92
|
+
| `pdb` / `breakpoint()` | Built-in debugger, step through code |
|
|
93
|
+
| `ipdb` | Enhanced pdb with autocomplete and syntax highlighting |
|
|
94
|
+
| VS Code Python debugger | GUI debugging with variable watches |
|
|
95
|
+
| `logging` module | Structured logging with levels (avoid bare `print()`) |
|
|
96
|
+
| `traceback.print_exc()` | Full stack trace in exception handlers |
|
|
97
|
+
|
|
98
|
+
### Java / Kotlin
|
|
99
|
+
| Tool | Usage |
|
|
100
|
+
|------|-------|
|
|
101
|
+
| IntelliJ IDEA debugger | Breakpoints, evaluate expression, hot-swap code |
|
|
102
|
+
| Remote debugging (JDWP) | Attach debugger to running JVM in staging |
|
|
103
|
+
| `jstack` | Thread dump for deadlock/hang analysis |
|
|
104
|
+
| `jmap` + `jhat` | Heap dump for memory analysis |
|
|
105
|
+
| Logging (SLF4J + Logback) | Structured logging with MDC for request context |
|
|
106
|
+
|
|
107
|
+
## Common Bug Patterns in Web Applications
|
|
108
|
+
|
|
109
|
+
| Pattern | Symptoms | Typical Cause | Fix |
|
|
110
|
+
|---------|----------|---------------|-----|
|
|
111
|
+
| N+1 Query | Page loads slowly, DB CPU high | ORM lazy-loading in a loop | Use eager loading, batch queries, or joins |
|
|
112
|
+
| Race condition | Intermittent failures, data corruption | Concurrent access to shared state | Add locks, use transactions, or idempotency keys |
|
|
113
|
+
| Stale cache | User sees old data after update | Cache not invalidated on write | Invalidate/update cache on write, add TTL |
|
|
114
|
+
| Off-by-one | Missing first/last item in lists, wrong counts | Array index or pagination math error | Review loop boundaries, test edge cases (0, 1, max) |
|
|
115
|
+
| Null reference | Random crashes on certain data | Missing null check on optional field | Add null checks, use Optional/Maybe types, fix data |
|
|
116
|
+
| Timezone mismatch | Events appear on wrong date | Mixing UTC and local time | Store UTC in DB, convert to local only in presentation |
|
|
117
|
+
| CORS error | API calls blocked in browser | Missing CORS headers on backend | Configure CORS middleware for allowed origins |
|
|
118
|
+
| Memory leak | Server/app slows over time, OOM crash | Unclosed connections, growing arrays, event listener accumulation | Profile heap, find retained references, add cleanup |
|
|
119
|
+
|
|
120
|
+
## Performance Profiling Basics
|
|
121
|
+
|
|
122
|
+
### When to Profile
|
|
123
|
+
- Response time exceeds SLA (e.g., API > 500ms)
|
|
124
|
+
- Memory usage grows continuously (potential leak)
|
|
125
|
+
- CPU usage stays high even at low traffic
|
|
126
|
+
- Users report "slowness" — quantify before optimizing
|
|
127
|
+
|
|
128
|
+
### Profiling Strategy
|
|
129
|
+
1. **Measure first** — do not optimize based on intuition
|
|
130
|
+
2. **Profile in realistic conditions** — use production-like data volumes
|
|
131
|
+
3. **Focus on the bottleneck** — Amdahl's Law: optimizing a 5% piece of the process yields negligible improvement
|
|
132
|
+
4. **Benchmark before and after** — prove the optimization worked
|
|
133
|
+
|
|
134
|
+
### Common Performance Wins
|
|
135
|
+
| Area | Quick Check | Optimization |
|
|
136
|
+
|------|------------|-------------|
|
|
137
|
+
| Database | Enable slow query log, check EXPLAIN plans | Add indexes, reduce query count, optimize joins |
|
|
138
|
+
| API | Measure response times per endpoint | Add caching (Redis), paginate results, compress responses |
|
|
139
|
+
| Frontend | Lighthouse score, bundle size analysis | Code splitting, lazy loading, image optimization |
|
|
140
|
+
| Memory | Heap snapshot over time | Fix leaks (unclosed connections, growing caches, event listeners) |
|
|
141
|
+
|
|
142
|
+
## Memory Leak Detection
|
|
143
|
+
|
|
144
|
+
### Symptoms
|
|
145
|
+
- Application memory grows steadily over hours/days
|
|
146
|
+
- Garbage collection pauses become longer and more frequent
|
|
147
|
+
- Eventually: OOM (Out of Memory) crash or extreme slowness
|
|
148
|
+
|
|
149
|
+
### Common Causes
|
|
150
|
+
| Cause | Example | Detection |
|
|
151
|
+
|-------|---------|-----------|
|
|
152
|
+
| Event listener accumulation | Adding listeners in a loop without removing | Heap snapshot: growing EventEmitter or listener count |
|
|
153
|
+
| Unclosed connections | DB connections, HTTP clients not released | Monitor connection pool stats, check for pool exhaustion |
|
|
154
|
+
| Growing global collections | Pushing to a module-level array/map indefinitely | Heap snapshot: large Array or Map growing between snapshots |
|
|
155
|
+
| Closure leaks | Closures referencing large objects that should be GC'd | Heap snapshot: retaining paths to unexpected objects |
|
|
156
|
+
| Circular references (older engines) | Object A references B, B references A | Use WeakMap/WeakRef for caches, break cycles on cleanup |
|
|
157
|
+
|
|
158
|
+
### Detection Process
|
|
159
|
+
1. Take heap snapshot at startup
|
|
160
|
+
2. Run realistic load for 10 minutes
|
|
161
|
+
3. Take second heap snapshot
|
|
162
|
+
4. Compare: look for objects that grew significantly in count or retained size
|
|
163
|
+
5. Trace the retaining path to find why objects are not being garbage collected
|
|
164
|
+
|
|
165
|
+
## Race Condition Identification
|
|
166
|
+
|
|
167
|
+
### Symptoms
|
|
168
|
+
- Bug appears intermittently, not every time
|
|
169
|
+
- Bug appears under load but not in local testing
|
|
170
|
+
- Data corruption: two operations conflict (double-charge, double-booking)
|
|
171
|
+
|
|
172
|
+
### Common Locations
|
|
173
|
+
| Location | Example | Prevention |
|
|
174
|
+
|----------|---------|-----------|
|
|
175
|
+
| Database reads then writes | Read balance, check, write → two requests read same balance | Use DB transactions with appropriate isolation level |
|
|
176
|
+
| File system operations | Two processes write the same file | Use file locks or atomic rename |
|
|
177
|
+
| Shared in-memory state | Two requests modify the same cache entry | Use atomic operations, lock, or queue |
|
|
178
|
+
| UI state | User double-clicks submit button | Disable button on first click, use idempotency key |
|
|
179
|
+
| Distributed systems | Two services process the same event | Idempotency keys, distributed locks (Redis SETNX) |
|
|
180
|
+
|
|
181
|
+
## Production Debugging Best Practices
|
|
182
|
+
|
|
183
|
+
| Rule | Guideline |
|
|
184
|
+
|------|-----------|
|
|
185
|
+
| **Never debug with code changes in production** | Use logging, feature flags, or diagnostic endpoints |
|
|
186
|
+
| **Structured logs are your best friend** | Request ID in every log line lets you trace a request end-to-end |
|
|
187
|
+
| **Reproduce in staging first** | If you can reproduce in staging, debug there — not in production |
|
|
188
|
+
| **Time-box production investigation** | Set a timer: 30 min to find root cause, then escalate if stuck |
|
|
189
|
+
| **Communicate status updates** | Every 30 min during an incident: what we know, what we are doing, ETA |
|
|
190
|
+
| **Post-incident review** | Within 48 hours: timeline, root cause, fix, preventive measures |
|
|
191
|
+
| **Avoid blame** | Focus on "how do we prevent this" not "who caused this" |
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agile-coach
|
|
3
|
+
description: Use this agent to oversee the entire Agile development process — coordinates all 10 role-based skills, ensures ceremonies happen, tracks team health, and drives continuous improvement across sprints.
|
|
4
|
+
tools: Glob, Grep, LS, Read, Edit, Write, WebFetch
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a Senior Agile Coach with 12+ years of experience leading Agile transformations in IT outsourcing companies. You oversee the entire development lifecycle and coordinate all team roles.
|
|
8
|
+
|
|
9
|
+
## Core Responsibilities
|
|
10
|
+
|
|
11
|
+
### 1. Sprint Management
|
|
12
|
+
- Activate `scrum-master` skill for ceremony facilitation
|
|
13
|
+
- Activate `project-manager` skill for planning and tracking
|
|
14
|
+
- Ensure sprint goals are clear and achievable
|
|
15
|
+
- Track velocity and burndown across sprints
|
|
16
|
+
|
|
17
|
+
### 2. Requirements & Design
|
|
18
|
+
- Activate `business-analyst` skill for story writing
|
|
19
|
+
- Activate `solution-architect` skill for technical decisions
|
|
20
|
+
- Ensure stories meet INVEST criteria before sprint commitment
|
|
21
|
+
- Validate architecture decisions align with project goals
|
|
22
|
+
|
|
23
|
+
### 3. Development Oversight
|
|
24
|
+
- Activate `tech-lead` skill for code quality
|
|
25
|
+
- Activate `developer` skill for implementation guidance
|
|
26
|
+
- Activate `team-lead` skill for team coordination
|
|
27
|
+
- Ensure Definition of Done is met
|
|
28
|
+
|
|
29
|
+
### 4. Quality Assurance
|
|
30
|
+
- Activate `qa-tester` skill for test strategy
|
|
31
|
+
- Activate `ui-ux-designer` skill for design review
|
|
32
|
+
- Ensure testing is thorough and not bypassed
|
|
33
|
+
- Validate accessibility compliance
|
|
34
|
+
|
|
35
|
+
### 5. Infrastructure & Delivery
|
|
36
|
+
- Activate `devops-engineer` skill for CI/CD and deployment
|
|
37
|
+
- Ensure environments are stable
|
|
38
|
+
- Monitor deployment success and rollback readiness
|
|
39
|
+
|
|
40
|
+
## Operational Guidelines
|
|
41
|
+
|
|
42
|
+
- Use role skills as needed — not all roles apply to every task
|
|
43
|
+
- Focus on removing impediments and enabling the team
|
|
44
|
+
- Track metrics without micromanaging
|
|
45
|
+
- Promote self-organization while ensuring accountability
|
|
46
|
+
|
|
47
|
+
## Error Recovery
|
|
48
|
+
|
|
49
|
+
Reference: `rules/development-rules.md` and `protocols/error-recovery.md`
|
|
50
|
+
|
|
51
|
+
### Retry Policy
|
|
52
|
+
- Max retries: from config.thresholds.maxRetries (default: 3)
|
|
53
|
+
- Between retries: analyze what went wrong, adjust approach
|
|
54
|
+
- After max retries: STOP, report with diagnostic context
|
|
55
|
+
|
|
56
|
+
### Escalation
|
|
57
|
+
| Failure | Action |
|
|
58
|
+
|---------|--------|
|
|
59
|
+
| Sprint goal unclear | Ask user/PO for clarification |
|
|
60
|
+
| Story too large to estimate | Recommend splitting, activate business-analyst skill |
|
|
61
|
+
| Blocker not resolvable by team | Escalate to user with context and suggested resolution |
|
|
62
|
+
| Test failures blocking sprint | Activate qa-tester skill for analysis, then developer skill for fix |
|
|
63
|
+
| Deployment failure | Activate devops-engineer skill, follow error-recovery protocol |
|
|
64
|
+
|
|
65
|
+
## Checkpoint Protocol
|
|
66
|
+
|
|
67
|
+
After completing each ceremony/milestone:
|
|
68
|
+
1. Update sprint status
|
|
69
|
+
2. Log: ceremony outcome, decisions made, action items
|
|
70
|
+
3. If interrupted: next session can resume from last completed ceremony
|
|
71
|
+
|
|
72
|
+
## Model Usage
|
|
73
|
+
- Ceremony facilitation: primary model
|
|
74
|
+
- Metrics calculation: lightweight model
|
|
75
|
+
- Research/background tasks: lightweight model
|
|
76
|
+
- Fall back per config if primary unavailable
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Agile Sprint Workflow
|
|
2
|
+
|
|
3
|
+
Complete sprint lifecycle from planning through retrospective.
|
|
4
|
+
|
|
5
|
+
## Phase 1: Sprint Planning
|
|
6
|
+
|
|
7
|
+
1. **Backlog Refinement**
|
|
8
|
+
- `agile-coach` activates `business-analyst` skill
|
|
9
|
+
- Review and refine backlog items
|
|
10
|
+
- Ensure stories have acceptance criteria
|
|
11
|
+
- Estimate using planning poker / t-shirt sizing
|
|
12
|
+
|
|
13
|
+
2. **Sprint Planning Meeting**
|
|
14
|
+
- `agile-coach` activates `scrum-master` skill
|
|
15
|
+
- Set sprint goal
|
|
16
|
+
- Team commits to stories based on capacity
|
|
17
|
+
- `agile-coach` activates `project-manager` for capacity check
|
|
18
|
+
- Break stories into tasks
|
|
19
|
+
|
|
20
|
+
3. **Technical Planning**
|
|
21
|
+
- `agile-coach` activates `solution-architect` skill for design decisions
|
|
22
|
+
- `agile-coach` activates `tech-lead` skill for standards review
|
|
23
|
+
- Identify technical spikes needed
|
|
24
|
+
|
|
25
|
+
## Phase 2: Sprint Execution
|
|
26
|
+
|
|
27
|
+
4. **Daily Development**
|
|
28
|
+
- `agile-coach` activates `developer` skill for implementation
|
|
29
|
+
- `agile-coach` activates `team-lead` for task coordination
|
|
30
|
+
- Daily standups via `scrum-master` skill
|
|
31
|
+
- Track progress on sprint board
|
|
32
|
+
|
|
33
|
+
5. **Continuous Quality**
|
|
34
|
+
- `agile-coach` activates `qa-tester` for test execution
|
|
35
|
+
- `agile-coach` activates `tech-lead` for code review
|
|
36
|
+
- `agile-coach` activates `ui-ux-designer` for design review
|
|
37
|
+
- Fix bugs within sprint when possible
|
|
38
|
+
|
|
39
|
+
6. **Infrastructure Support**
|
|
40
|
+
- `agile-coach` activates `devops-engineer` for deployment
|
|
41
|
+
- Maintain CI/CD pipeline
|
|
42
|
+
- Environment issue resolution
|
|
43
|
+
|
|
44
|
+
## Phase 3: Sprint Closure
|
|
45
|
+
|
|
46
|
+
7. **Sprint Review**
|
|
47
|
+
- `agile-coach` activates `scrum-master` for ceremony
|
|
48
|
+
- Demo completed work to stakeholders
|
|
49
|
+
- Collect feedback
|
|
50
|
+
- `agile-coach` activates `project-manager` for metrics
|
|
51
|
+
|
|
52
|
+
8. **Sprint Retrospective**
|
|
53
|
+
- `agile-coach` activates `scrum-master` for facilitation
|
|
54
|
+
- Identify improvements
|
|
55
|
+
- Create action items with owners
|
|
56
|
+
- Review previous retro actions
|
|
57
|
+
|
|
58
|
+
## Quality Gates
|
|
59
|
+
|
|
60
|
+
- **Before Sprint Start**: All committed stories refined and estimated
|
|
61
|
+
- **During Sprint**: Daily standup, blocker resolution < 24h
|
|
62
|
+
- **Before Review**: All committed stories meet DoD
|
|
63
|
+
- **After Retro**: At least 2 actionable improvement items
|
|
64
|
+
|
|
65
|
+
## Error Recovery
|
|
66
|
+
|
|
67
|
+
Reference: `protocols/error-recovery.md`
|
|
68
|
+
|
|
69
|
+
### Common Sprint Failures
|
|
70
|
+
| Failure | Recovery |
|
|
71
|
+
|---------|----------|
|
|
72
|
+
| Stories not refined before planning | Pause planning, run refinement first |
|
|
73
|
+
| Velocity drop > 20% | Analyze root cause (team changes? scope creep? technical debt?) |
|
|
74
|
+
| Sprint goal missed | Carry over incomplete stories, identify WHY at retro |
|
|
75
|
+
| Build/deploy failure mid-sprint | devops-engineer skill → diagnose → fix → resume |
|
|
76
|
+
| Critical bug in production | Stop sprint work, triage bug, hotfix, then resume |
|
|
77
|
+
|
|
78
|
+
### Retry Limits
|
|
79
|
+
- Ceremony facilitation: no retry needed (just adjust format)
|
|
80
|
+
- Technical tasks: max 3 retries per task
|
|
81
|
+
- After 3 failed retries: escalate to user, do not continue silently
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@skillstore/devflow-bootstrap",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"skills": ["project-scaffold", "cicd-setup", "env-configurator", "code-standards-init"],
|
|
5
|
+
"freeSkills": ["project-scaffold"],
|
|
6
|
+
"commands": ["bootstrap", "bootstrap/auto"],
|
|
7
|
+
"modes": ["plugin", "template"]
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Full automated Sprint 0 — scaffold + standards + environments + CI/CD in one run
|
|
3
|
+
argument-hint: [tech stack description]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Your Mission
|
|
7
|
+
|
|
8
|
+
<task>
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
</task>
|
|
11
|
+
|
|
12
|
+
## Automated Workflow
|
|
13
|
+
|
|
14
|
+
Execute the full bootstrap workflow sequentially:
|
|
15
|
+
|
|
16
|
+
1. **Tech Stack Confirmation** — Parse description, confirm with user
|
|
17
|
+
2. **Scaffold** — Activate `project-scaffold` skill → generate structure
|
|
18
|
+
3. **Standards + Environment** (parallel):
|
|
19
|
+
- Activate `code-standards-init` skill → linter, formatter, hooks
|
|
20
|
+
- Activate `env-configurator` skill → .env templates, Docker setup
|
|
21
|
+
4. **CI/CD** — Activate `cicd-setup` skill → pipeline files
|
|
22
|
+
5. **Verify** — Run lint, format check, validate YAML configs
|
|
23
|
+
6. **Report** — Present file tree, required secrets, getting-started steps
|
|
24
|
+
|
|
25
|
+
## Quality Gate
|
|
26
|
+
|
|
27
|
+
Before reporting success, verify:
|
|
28
|
+
- [ ] Linter runs with zero errors
|
|
29
|
+
- [ ] Formatter reports no changes needed
|
|
30
|
+
- [ ] CI workflow YAML is syntactically valid
|
|
31
|
+
- [ ] All environment templates have matching documentation
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Sprint 0 project setup — scaffold project, configure CI/CD, set up environments and code standards
|
|
3
|
+
argument-hint: [tech stack or task description]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Your Mission
|
|
7
|
+
|
|
8
|
+
<task>
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
</task>
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
Analyze the task and route to the appropriate bootstrap skill:
|
|
15
|
+
|
|
16
|
+
1. **Understand the request** — What setup activity is needed?
|
|
17
|
+
2. **Route to skill** — Based on the task:
|
|
18
|
+
- Project creation → Activate `project-scaffold` skill
|
|
19
|
+
- CI/CD pipeline → Activate `cicd-setup` skill
|
|
20
|
+
- Environment setup → Activate `env-configurator` skill
|
|
21
|
+
- Linting/formatting → Activate `code-standards-init` skill
|
|
22
|
+
3. **Orchestrate if needed** — For full Sprint 0 setup:
|
|
23
|
+
- Start with project-scaffold (foundation)
|
|
24
|
+
- Run code-standards-init + env-configurator (parallel)
|
|
25
|
+
- Finalize with cicd-setup (needs project structure)
|
|
26
|
+
|
|
27
|
+
## Sub-commands
|
|
28
|
+
|
|
29
|
+
- `/bootstrap:auto [tech-stack]` — Full automated Sprint 0 setup
|
|
30
|
+
- `/bootstrap:scaffold [tech-stack]` — Create project structure only
|
|
31
|
+
- `/bootstrap:cicd [platform]` — Generate CI/CD pipeline only
|
|
32
|
+
- `/bootstrap:standards` — Configure code quality tooling only
|
|
33
|
+
|
|
34
|
+
## Important
|
|
35
|
+
|
|
36
|
+
- Confirm tech stack before scaffolding
|
|
37
|
+
- Verify generated configs have valid syntax
|
|
38
|
+
- List all required secrets and env vars at the end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: DevFlow smart router — automatically routes to the right DevFlow package
|
|
3
|
+
argument-hint: [task description]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Smart Routing
|
|
7
|
+
|
|
8
|
+
<task>
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
</task>
|
|
11
|
+
|
|
12
|
+
Analyze the task and route to the appropriate DevFlow command:
|
|
13
|
+
|
|
14
|
+
| Keywords/Context | Route To |
|
|
15
|
+
|------------------|----------|
|
|
16
|
+
| scaffold, setup, init, Sprint 0, new project, CI/CD, environment | `/bootstrap` |
|
|
17
|
+
| presale, RFP, proposal, estimate, pricing | `/presale` |
|
|
18
|
+
| sprint, standup, agile, backlog, scrum | `/agile` |
|
|
19
|
+
| handover, maintenance, retrospective, post-project | `/postproject` |
|
|
20
|
+
| PDF, Excel, document, parse, generate report | `/docs` |
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Project Scaffold
|
|
2
|
+
|
|
3
|
+
Generate project structure for any tech stack: directories, config files, boilerplate code.
|
|
4
|
+
|
|
5
|
+
## Triggers
|
|
6
|
+
|
|
7
|
+
- New project setup
|
|
8
|
+
- Sprint 0 / project kickoff
|
|
9
|
+
- Tech stack decision made
|
|
10
|
+
- Need to create project from scratch
|
|
11
|
+
- Migrating to new framework
|
|
12
|
+
|
|
13
|
+
## Process
|
|
14
|
+
|
|
15
|
+
### 1. Tech Stack Identification
|
|
16
|
+
- Parse user description for framework, language, database
|
|
17
|
+
- If ambiguous, ask user to confirm
|
|
18
|
+
- Check for monorepo vs single-project
|
|
19
|
+
|
|
20
|
+
### 2. Template Selection
|
|
21
|
+
- Match tech stack to reference templates in `references/stack-templates.md`
|
|
22
|
+
- Combine multiple templates if needed (e.g., Next.js frontend + NestJS backend)
|
|
23
|
+
- Apply project-specific customizations
|
|
24
|
+
|
|
25
|
+
### 3. Structure Generation
|
|
26
|
+
- Create directory tree following template
|
|
27
|
+
- Generate boilerplate files (entry points, configs, types)
|
|
28
|
+
- Add placeholder README, .gitignore, .env.example
|
|
29
|
+
|
|
30
|
+
### 4. Config Setup
|
|
31
|
+
- Generate tsconfig.json / pyproject.toml / build.gradle as needed
|
|
32
|
+
- Setup package manager config (package.json, requirements.txt, go.mod)
|
|
33
|
+
- Configure path aliases, module resolution
|
|
34
|
+
|
|
35
|
+
### 5. Verification
|
|
36
|
+
- Verify all directories created
|
|
37
|
+
- Verify config files have valid syntax
|
|
38
|
+
- List generated files for user review
|
|
39
|
+
|
|
40
|
+
## Output Format
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Created project structure:
|
|
44
|
+
├── src/
|
|
45
|
+
│ ├── ...
|
|
46
|
+
├── config files...
|
|
47
|
+
├── .gitignore
|
|
48
|
+
├── .env.example
|
|
49
|
+
└── README.md
|
|
50
|
+
|
|
51
|
+
Total: X directories, Y files
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## References
|
|
55
|
+
- `references/stack-templates.md` — Project templates by tech stack
|
|
56
|
+
- `assets/sample-output.md` — Sample scaffold output
|