@forwardimpact/pathway 0.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/LICENSE +201 -0
- package/README.md +104 -0
- package/app/commands/agent.js +430 -0
- package/app/commands/behaviour.js +61 -0
- package/app/commands/command-factory.js +211 -0
- package/app/commands/discipline.js +58 -0
- package/app/commands/driver.js +94 -0
- package/app/commands/grade.js +60 -0
- package/app/commands/index.js +20 -0
- package/app/commands/init.js +67 -0
- package/app/commands/interview.js +68 -0
- package/app/commands/job.js +157 -0
- package/app/commands/progress.js +77 -0
- package/app/commands/questions.js +179 -0
- package/app/commands/serve.js +143 -0
- package/app/commands/site.js +121 -0
- package/app/commands/skill.js +76 -0
- package/app/commands/stage.js +129 -0
- package/app/commands/track.js +70 -0
- package/app/components/action-buttons.js +66 -0
- package/app/components/behaviour-profile.js +53 -0
- package/app/components/builder.js +341 -0
- package/app/components/card.js +98 -0
- package/app/components/checklist.js +145 -0
- package/app/components/comparison-radar.js +237 -0
- package/app/components/detail.js +230 -0
- package/app/components/error-page.js +72 -0
- package/app/components/grid.js +109 -0
- package/app/components/list.js +120 -0
- package/app/components/modifier-table.js +142 -0
- package/app/components/nav.js +64 -0
- package/app/components/progression-table.js +320 -0
- package/app/components/radar-chart.js +102 -0
- package/app/components/skill-matrix.js +97 -0
- package/app/css/base.css +56 -0
- package/app/css/bundles/app.css +40 -0
- package/app/css/bundles/handout.css +43 -0
- package/app/css/bundles/slides.css +40 -0
- package/app/css/components/badges.css +215 -0
- package/app/css/components/buttons.css +101 -0
- package/app/css/components/forms.css +105 -0
- package/app/css/components/layout.css +209 -0
- package/app/css/components/nav.css +166 -0
- package/app/css/components/progress.css +166 -0
- package/app/css/components/states.css +82 -0
- package/app/css/components/surfaces.css +243 -0
- package/app/css/components/tables.css +362 -0
- package/app/css/components/typography.css +122 -0
- package/app/css/components/utilities.css +41 -0
- package/app/css/pages/agent-builder.css +391 -0
- package/app/css/pages/assessment-results.css +453 -0
- package/app/css/pages/detail.css +59 -0
- package/app/css/pages/interview-builder.css +148 -0
- package/app/css/pages/job-builder.css +134 -0
- package/app/css/pages/landing.css +92 -0
- package/app/css/pages/lifecycle.css +118 -0
- package/app/css/pages/progress-builder.css +274 -0
- package/app/css/pages/self-assessment.css +502 -0
- package/app/css/reset.css +50 -0
- package/app/css/tokens.css +153 -0
- package/app/css/views/handout.css +30 -0
- package/app/css/views/print.css +608 -0
- package/app/css/views/slide-animations.css +113 -0
- package/app/css/views/slide-base.css +330 -0
- package/app/css/views/slide-sections.css +597 -0
- package/app/css/views/slide-tables.css +275 -0
- package/app/formatters/agent/dom.js +540 -0
- package/app/formatters/agent/profile.js +133 -0
- package/app/formatters/agent/skill.js +58 -0
- package/app/formatters/behaviour/dom.js +91 -0
- package/app/formatters/behaviour/markdown.js +54 -0
- package/app/formatters/behaviour/shared.js +64 -0
- package/app/formatters/discipline/dom.js +187 -0
- package/app/formatters/discipline/markdown.js +87 -0
- package/app/formatters/discipline/shared.js +131 -0
- package/app/formatters/driver/dom.js +103 -0
- package/app/formatters/driver/shared.js +92 -0
- package/app/formatters/grade/dom.js +208 -0
- package/app/formatters/grade/markdown.js +94 -0
- package/app/formatters/grade/shared.js +86 -0
- package/app/formatters/index.js +50 -0
- package/app/formatters/interview/dom.js +97 -0
- package/app/formatters/interview/markdown.js +66 -0
- package/app/formatters/interview/shared.js +332 -0
- package/app/formatters/job/description.js +176 -0
- package/app/formatters/job/dom.js +411 -0
- package/app/formatters/job/markdown.js +102 -0
- package/app/formatters/progress/dom.js +135 -0
- package/app/formatters/progress/markdown.js +86 -0
- package/app/formatters/progress/shared.js +339 -0
- package/app/formatters/questions/json.js +43 -0
- package/app/formatters/questions/markdown.js +303 -0
- package/app/formatters/questions/shared.js +274 -0
- package/app/formatters/questions/yaml.js +76 -0
- package/app/formatters/shared.js +71 -0
- package/app/formatters/skill/dom.js +168 -0
- package/app/formatters/skill/markdown.js +109 -0
- package/app/formatters/skill/shared.js +125 -0
- package/app/formatters/stage/dom.js +135 -0
- package/app/formatters/stage/index.js +12 -0
- package/app/formatters/stage/shared.js +111 -0
- package/app/formatters/track/dom.js +128 -0
- package/app/formatters/track/markdown.js +105 -0
- package/app/formatters/track/shared.js +181 -0
- package/app/handout-main.js +421 -0
- package/app/handout.html +21 -0
- package/app/index.html +59 -0
- package/app/lib/card-mappers.js +173 -0
- package/app/lib/cli-output.js +270 -0
- package/app/lib/error-boundary.js +70 -0
- package/app/lib/errors.js +49 -0
- package/app/lib/form-controls.js +47 -0
- package/app/lib/job-cache.js +86 -0
- package/app/lib/markdown.js +114 -0
- package/app/lib/radar.js +866 -0
- package/app/lib/reactive.js +77 -0
- package/app/lib/render.js +212 -0
- package/app/lib/router-core.js +160 -0
- package/app/lib/router-pages.js +16 -0
- package/app/lib/router-slides.js +202 -0
- package/app/lib/state.js +148 -0
- package/app/lib/utils.js +14 -0
- package/app/lib/yaml-loader.js +327 -0
- package/app/main.js +213 -0
- package/app/model/agent.js +702 -0
- package/app/model/checklist.js +137 -0
- package/app/model/derivation.js +699 -0
- package/app/model/index-generator.js +71 -0
- package/app/model/interview.js +539 -0
- package/app/model/job.js +222 -0
- package/app/model/levels.js +591 -0
- package/app/model/loader.js +564 -0
- package/app/model/matching.js +858 -0
- package/app/model/modifiers.js +158 -0
- package/app/model/profile.js +266 -0
- package/app/model/progression.js +507 -0
- package/app/model/validation.js +1385 -0
- package/app/pages/agent-builder.js +823 -0
- package/app/pages/assessment-results.js +507 -0
- package/app/pages/behaviour.js +70 -0
- package/app/pages/discipline.js +71 -0
- package/app/pages/driver.js +106 -0
- package/app/pages/grade.js +117 -0
- package/app/pages/interview-builder.js +50 -0
- package/app/pages/interview.js +304 -0
- package/app/pages/job-builder.js +50 -0
- package/app/pages/job.js +58 -0
- package/app/pages/landing.js +305 -0
- package/app/pages/progress-builder.js +58 -0
- package/app/pages/progress.js +495 -0
- package/app/pages/self-assessment.js +729 -0
- package/app/pages/skill.js +113 -0
- package/app/pages/stage.js +231 -0
- package/app/pages/track.js +69 -0
- package/app/slide-main.js +360 -0
- package/app/slides/behaviour.js +38 -0
- package/app/slides/chapter.js +82 -0
- package/app/slides/discipline.js +40 -0
- package/app/slides/driver.js +39 -0
- package/app/slides/grade.js +32 -0
- package/app/slides/index.js +198 -0
- package/app/slides/interview.js +58 -0
- package/app/slides/job.js +55 -0
- package/app/slides/overview.js +126 -0
- package/app/slides/progress.js +83 -0
- package/app/slides/skill.js +40 -0
- package/app/slides/track.js +39 -0
- package/app/slides.html +56 -0
- package/app/types.js +147 -0
- package/bin/pathway.js +489 -0
- package/examples/agents/.claude/skills/architecture-design/SKILL.md +88 -0
- package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +90 -0
- package/examples/agents/.claude/skills/code-quality-review/SKILL.md +67 -0
- package/examples/agents/.claude/skills/data-modeling/SKILL.md +99 -0
- package/examples/agents/.claude/skills/developer-experience/SKILL.md +99 -0
- package/examples/agents/.claude/skills/devops-cicd/SKILL.md +96 -0
- package/examples/agents/.claude/skills/full-stack-development/SKILL.md +90 -0
- package/examples/agents/.claude/skills/knowledge-management/SKILL.md +100 -0
- package/examples/agents/.claude/skills/pattern-generalization/SKILL.md +102 -0
- package/examples/agents/.claude/skills/sre-practices/SKILL.md +117 -0
- package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +123 -0
- package/examples/agents/.claude/skills/technical-writing/SKILL.md +129 -0
- package/examples/agents/.github/agents/se-platform-code.agent.md +181 -0
- package/examples/agents/.github/agents/se-platform-plan.agent.md +178 -0
- package/examples/agents/.github/agents/se-platform-review.agent.md +113 -0
- package/examples/agents/.vscode/settings.json +8 -0
- package/examples/behaviours/_index.yaml +8 -0
- package/examples/behaviours/outcome_ownership.yaml +44 -0
- package/examples/behaviours/polymathic_knowledge.yaml +42 -0
- package/examples/behaviours/precise_communication.yaml +40 -0
- package/examples/behaviours/relentless_curiosity.yaml +38 -0
- package/examples/behaviours/systems_thinking.yaml +41 -0
- package/examples/capabilities/_index.yaml +8 -0
- package/examples/capabilities/business.yaml +251 -0
- package/examples/capabilities/delivery.yaml +352 -0
- package/examples/capabilities/people.yaml +100 -0
- package/examples/capabilities/reliability.yaml +318 -0
- package/examples/capabilities/scale.yaml +394 -0
- package/examples/disciplines/_index.yaml +5 -0
- package/examples/disciplines/data_engineering.yaml +76 -0
- package/examples/disciplines/software_engineering.yaml +76 -0
- package/examples/drivers.yaml +205 -0
- package/examples/framework.yaml +58 -0
- package/examples/grades.yaml +118 -0
- package/examples/questions/behaviours/outcome_ownership.yaml +52 -0
- package/examples/questions/behaviours/polymathic_knowledge.yaml +48 -0
- package/examples/questions/behaviours/precise_communication.yaml +55 -0
- package/examples/questions/behaviours/relentless_curiosity.yaml +51 -0
- package/examples/questions/behaviours/systems_thinking.yaml +53 -0
- package/examples/questions/skills/architecture_design.yaml +54 -0
- package/examples/questions/skills/cloud_platforms.yaml +48 -0
- package/examples/questions/skills/code_quality.yaml +49 -0
- package/examples/questions/skills/data_modeling.yaml +46 -0
- package/examples/questions/skills/devops.yaml +47 -0
- package/examples/questions/skills/full_stack_development.yaml +48 -0
- package/examples/questions/skills/sre_practices.yaml +44 -0
- package/examples/questions/skills/stakeholder_management.yaml +49 -0
- package/examples/questions/skills/team_collaboration.yaml +43 -0
- package/examples/questions/skills/technical_writing.yaml +43 -0
- package/examples/self-assessments.yaml +66 -0
- package/examples/stages.yaml +76 -0
- package/examples/tracks/_index.yaml +6 -0
- package/examples/tracks/manager.yaml +53 -0
- package/examples/tracks/platform.yaml +54 -0
- package/examples/tracks/sre.yaml +58 -0
- package/examples/vscode-settings.yaml +22 -0
- package/package.json +68 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: knowledge-management
|
|
3
|
+
description: |
|
|
4
|
+
Guide for capturing, organizing, and sharing organizational knowledge.
|
|
5
|
+
Use when creating knowledge bases, organizing documentation, reducing
|
|
6
|
+
knowledge silos, or establishing knowledge sharing practices.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Knowledge Management
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Creating or organizing knowledge bases
|
|
16
|
+
- Documenting institutional knowledge
|
|
17
|
+
- Reducing single-person dependencies
|
|
18
|
+
- Establishing knowledge sharing practices
|
|
19
|
+
- Making information discoverable
|
|
20
|
+
|
|
21
|
+
## Knowledge Capture
|
|
22
|
+
|
|
23
|
+
### What to Document
|
|
24
|
+
|
|
25
|
+
- **Decisions**: Why we chose X over Y
|
|
26
|
+
- **Context**: What we knew when we decided
|
|
27
|
+
- **Procedures**: How to do recurring tasks
|
|
28
|
+
- **Troubleshooting**: Common problems and solutions
|
|
29
|
+
- **Architecture**: How systems work and why
|
|
30
|
+
|
|
31
|
+
### When to Capture
|
|
32
|
+
|
|
33
|
+
- After making significant decisions
|
|
34
|
+
- After solving novel problems
|
|
35
|
+
- Before someone leaves or changes roles
|
|
36
|
+
- When you explain something more than twice
|
|
37
|
+
- During incident post-mortems
|
|
38
|
+
|
|
39
|
+
## Knowledge Organization
|
|
40
|
+
|
|
41
|
+
### Structure Principles
|
|
42
|
+
|
|
43
|
+
- Organize by task, not by team
|
|
44
|
+
- Use consistent naming conventions
|
|
45
|
+
- Create clear navigation paths
|
|
46
|
+
- Link related content together
|
|
47
|
+
- Maintain a clear hierarchy
|
|
48
|
+
|
|
49
|
+
### Discoverability
|
|
50
|
+
|
|
51
|
+
- Searchable titles and headings
|
|
52
|
+
- Keywords and tags for filtering
|
|
53
|
+
- Landing pages for major topics
|
|
54
|
+
- Recently updated sections visible
|
|
55
|
+
- Cross-linking between related docs
|
|
56
|
+
|
|
57
|
+
## Knowledge Maintenance
|
|
58
|
+
|
|
59
|
+
### Keep Current
|
|
60
|
+
|
|
61
|
+
- Review docs when code changes
|
|
62
|
+
- Date-stamp time-sensitive content
|
|
63
|
+
- Archive rather than delete outdated info
|
|
64
|
+
- Assign ownership for key documents
|
|
65
|
+
- Schedule periodic review cycles
|
|
66
|
+
|
|
67
|
+
### Quality Standards
|
|
68
|
+
|
|
69
|
+
- Clear ownership for each document
|
|
70
|
+
- Last-updated dates visible
|
|
71
|
+
- Contact for questions listed
|
|
72
|
+
- Review schedule defined
|
|
73
|
+
- Deprecation process documented
|
|
74
|
+
|
|
75
|
+
## Reducing Knowledge Silos
|
|
76
|
+
|
|
77
|
+
### Identify Risks
|
|
78
|
+
|
|
79
|
+
- Single points of knowledge failure
|
|
80
|
+
- Undocumented tribal knowledge
|
|
81
|
+
- Expertise concentrated in individuals
|
|
82
|
+
- Critical processes in one person's head
|
|
83
|
+
|
|
84
|
+
### Mitigation Strategies
|
|
85
|
+
|
|
86
|
+
- Pair programming and shadowing
|
|
87
|
+
- Recorded walkthroughs for complex systems
|
|
88
|
+
- Cross-training sessions
|
|
89
|
+
- Written runbooks for critical processes
|
|
90
|
+
- Regular knowledge sharing meetings
|
|
91
|
+
|
|
92
|
+
## Knowledge Management Checklist
|
|
93
|
+
|
|
94
|
+
- [ ] Key decisions are documented with rationale
|
|
95
|
+
- [ ] Procedures are written and discoverable
|
|
96
|
+
- [ ] No critical single-person dependencies
|
|
97
|
+
- [ ] Documentation ownership is clear
|
|
98
|
+
- [ ] Content is regularly reviewed and updated
|
|
99
|
+
- [ ] New team members can self-serve information
|
|
100
|
+
- [ ] Search finds relevant content quickly
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pattern-generalization
|
|
3
|
+
description: |
|
|
4
|
+
Guide for extracting reusable patterns from specific solutions. Use when
|
|
5
|
+
identifying candidates for generalization, designing abstractions, or
|
|
6
|
+
building platform capabilities from field-validated solutions.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Pattern Generalization
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Identifying solutions that could benefit other teams
|
|
16
|
+
- Extracting reusable components from custom code
|
|
17
|
+
- Designing abstractions for common patterns
|
|
18
|
+
- Building platform capabilities from field solutions
|
|
19
|
+
- Deciding when to generalize vs keep custom
|
|
20
|
+
|
|
21
|
+
## Generalization Criteria
|
|
22
|
+
|
|
23
|
+
### When to Generalize
|
|
24
|
+
|
|
25
|
+
- Pattern appears in 3+ implementations
|
|
26
|
+
- Solution has been validated in production
|
|
27
|
+
- Multiple teams would benefit
|
|
28
|
+
- Core logic is stable and understood
|
|
29
|
+
- Customization needs are well-defined
|
|
30
|
+
|
|
31
|
+
### When to Keep Custom
|
|
32
|
+
|
|
33
|
+
- Only one team needs it
|
|
34
|
+
- Requirements are still evolving
|
|
35
|
+
- Context is highly specific
|
|
36
|
+
- Generalization cost exceeds benefit
|
|
37
|
+
- Speed to market is critical
|
|
38
|
+
|
|
39
|
+
## Abstraction Design
|
|
40
|
+
|
|
41
|
+
### Principles
|
|
42
|
+
|
|
43
|
+
- Solve the common case simply
|
|
44
|
+
- Allow escape hatches for edge cases
|
|
45
|
+
- Make the right thing easy, wrong thing possible
|
|
46
|
+
- Prefer composition over configuration
|
|
47
|
+
- Hide complexity, expose simplicity
|
|
48
|
+
|
|
49
|
+
### Trade-offs
|
|
50
|
+
|
|
51
|
+
- **Flexibility vs Simplicity**: More options = more complexity
|
|
52
|
+
- **Generality vs Performance**: Generic solutions may be slower
|
|
53
|
+
- **Reusability vs Fit**: Shared code may not fit any use case perfectly
|
|
54
|
+
- **Maintainability vs Features**: More features = more maintenance
|
|
55
|
+
|
|
56
|
+
## Extraction Process
|
|
57
|
+
|
|
58
|
+
### 1. Identify the Pattern
|
|
59
|
+
|
|
60
|
+
- What's common across implementations?
|
|
61
|
+
- What varies between uses?
|
|
62
|
+
- What are the extension points?
|
|
63
|
+
- What are the invariants?
|
|
64
|
+
|
|
65
|
+
### 2. Design the Interface
|
|
66
|
+
|
|
67
|
+
- Start with the simplest API that works
|
|
68
|
+
- Make common cases one-liners
|
|
69
|
+
- Provide sensible defaults
|
|
70
|
+
- Document customization options
|
|
71
|
+
|
|
72
|
+
### 3. Validate in New Context
|
|
73
|
+
|
|
74
|
+
- Test with a different team/use case
|
|
75
|
+
- Gather feedback on API usability
|
|
76
|
+
- Identify missing flexibility
|
|
77
|
+
- Refine based on real usage
|
|
78
|
+
|
|
79
|
+
### 4. Document and Publish
|
|
80
|
+
|
|
81
|
+
- Clear getting-started guide
|
|
82
|
+
- Examples for common patterns
|
|
83
|
+
- Migration guide from custom solutions
|
|
84
|
+
- Support and contribution process
|
|
85
|
+
|
|
86
|
+
## Generalization Anti-patterns
|
|
87
|
+
|
|
88
|
+
- **Premature generalization**: Abstracting before understanding
|
|
89
|
+
- **Kitchen sink**: Adding every possible feature
|
|
90
|
+
- **Leaky abstraction**: Implementation details exposed
|
|
91
|
+
- **Configuration overload**: Too many options to understand
|
|
92
|
+
- **Orphaned abstraction**: No clear owner or support
|
|
93
|
+
|
|
94
|
+
## Pattern Generalization Checklist
|
|
95
|
+
|
|
96
|
+
- [ ] Pattern validated in multiple contexts
|
|
97
|
+
- [ ] Clear benefit over custom solutions
|
|
98
|
+
- [ ] Simple API for common cases
|
|
99
|
+
- [ ] Extension points for customization
|
|
100
|
+
- [ ] Documentation and examples ready
|
|
101
|
+
- [ ] Migration path from existing solutions
|
|
102
|
+
- [ ] Ownership and support defined
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sre-practices
|
|
3
|
+
description: |
|
|
4
|
+
Guide for ensuring system reliability through observability, incident
|
|
5
|
+
response, and capacity planning. Use when designing monitoring, handling
|
|
6
|
+
incidents, setting SLOs, or improving system resilience.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Site Reliability Engineering
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Designing monitoring and alerting
|
|
16
|
+
- Defining SLIs, SLOs, and error budgets
|
|
17
|
+
- Handling or preparing for incidents
|
|
18
|
+
- Conducting post-mortems
|
|
19
|
+
- Planning for capacity and resilience
|
|
20
|
+
|
|
21
|
+
## Service Level Concepts
|
|
22
|
+
|
|
23
|
+
### SLI (Service Level Indicator)
|
|
24
|
+
|
|
25
|
+
Quantitative measure of service behavior:
|
|
26
|
+
|
|
27
|
+
- Request latency (p50, p95, p99)
|
|
28
|
+
- Error rate (% of failed requests)
|
|
29
|
+
- Availability (% of successful requests)
|
|
30
|
+
- Throughput (requests per second)
|
|
31
|
+
|
|
32
|
+
### SLO (Service Level Objective)
|
|
33
|
+
|
|
34
|
+
Target value for an SLI:
|
|
35
|
+
|
|
36
|
+
- "99.9% of requests complete in < 200ms"
|
|
37
|
+
- "Error rate < 0.1% over 30 days"
|
|
38
|
+
- "99.95% availability monthly"
|
|
39
|
+
|
|
40
|
+
### Error Budget
|
|
41
|
+
|
|
42
|
+
Allowed unreliability: 100% - SLO
|
|
43
|
+
|
|
44
|
+
- 99.9% SLO = 0.1% error budget
|
|
45
|
+
- ~43 minutes downtime per month
|
|
46
|
+
- Spend on features or reliability
|
|
47
|
+
|
|
48
|
+
## Observability
|
|
49
|
+
|
|
50
|
+
### Three Pillars
|
|
51
|
+
|
|
52
|
+
- **Metrics**: Aggregated numeric data (counters, gauges, histograms)
|
|
53
|
+
- **Logs**: Discrete event records with context
|
|
54
|
+
- **Traces**: Request flow across services
|
|
55
|
+
|
|
56
|
+
### Alerting Principles
|
|
57
|
+
|
|
58
|
+
- Alert on symptoms, not causes
|
|
59
|
+
- Every alert should be actionable
|
|
60
|
+
- Reduce noise ruthlessly
|
|
61
|
+
- Page only for user-impacting issues
|
|
62
|
+
- Use severity levels appropriately
|
|
63
|
+
|
|
64
|
+
## Incident Response
|
|
65
|
+
|
|
66
|
+
### Incident Lifecycle
|
|
67
|
+
|
|
68
|
+
1. **Detection**: Automated alerts or user reports
|
|
69
|
+
2. **Triage**: Assess severity and impact
|
|
70
|
+
3. **Mitigation**: Stop the bleeding first
|
|
71
|
+
4. **Resolution**: Fix the underlying issue
|
|
72
|
+
5. **Post-mortem**: Learn and improve
|
|
73
|
+
|
|
74
|
+
### During an Incident
|
|
75
|
+
|
|
76
|
+
- Communicate early and often
|
|
77
|
+
- Focus on mitigation before root cause
|
|
78
|
+
- Document actions in real-time
|
|
79
|
+
- Escalate when needed
|
|
80
|
+
- Update stakeholders regularly
|
|
81
|
+
|
|
82
|
+
## Post-Mortem Process
|
|
83
|
+
|
|
84
|
+
### Blameless Culture
|
|
85
|
+
|
|
86
|
+
- Focus on systems, not individuals
|
|
87
|
+
- Assume good intentions
|
|
88
|
+
- Ask "how did the system allow this?"
|
|
89
|
+
- Share findings openly
|
|
90
|
+
|
|
91
|
+
### Post-Mortem Template
|
|
92
|
+
|
|
93
|
+
1. Incident summary
|
|
94
|
+
2. Timeline of events
|
|
95
|
+
3. Root cause analysis
|
|
96
|
+
4. What went well
|
|
97
|
+
5. What could be improved
|
|
98
|
+
6. Action items with owners
|
|
99
|
+
|
|
100
|
+
## Resilience Patterns
|
|
101
|
+
|
|
102
|
+
- **Timeouts**: Don't wait forever
|
|
103
|
+
- **Retries**: With exponential backoff
|
|
104
|
+
- **Circuit breakers**: Fail fast when downstream is unhealthy
|
|
105
|
+
- **Bulkheads**: Isolate failures
|
|
106
|
+
- **Graceful degradation**: Partial functionality over total failure
|
|
107
|
+
|
|
108
|
+
## SRE Checklist
|
|
109
|
+
|
|
110
|
+
- [ ] SLIs defined for key user journeys
|
|
111
|
+
- [ ] SLOs set with stakeholder agreement
|
|
112
|
+
- [ ] Error budget tracking in place
|
|
113
|
+
- [ ] Alerts are actionable and low-noise
|
|
114
|
+
- [ ] Runbooks exist for common issues
|
|
115
|
+
- [ ] Incident response process documented
|
|
116
|
+
- [ ] Post-mortem culture established
|
|
117
|
+
- [ ] Resilience patterns implemented
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-debt-management
|
|
3
|
+
description: |
|
|
4
|
+
Guide for identifying, prioritizing, and addressing technical debt. Use
|
|
5
|
+
when assessing code quality issues, planning refactoring work, or making
|
|
6
|
+
build vs fix decisions.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Technical Debt Management
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Identifying technical debt in codebases
|
|
16
|
+
- Prioritizing debt for remediation
|
|
17
|
+
- Deciding whether to take on new debt
|
|
18
|
+
- Planning refactoring initiatives
|
|
19
|
+
- Balancing debt work with feature delivery
|
|
20
|
+
|
|
21
|
+
## Types of Technical Debt
|
|
22
|
+
|
|
23
|
+
### Code Debt
|
|
24
|
+
|
|
25
|
+
- Duplicated code (DRY violations)
|
|
26
|
+
- Complex, hard-to-understand code
|
|
27
|
+
- Missing or inadequate tests
|
|
28
|
+
- Inconsistent coding patterns
|
|
29
|
+
- Dead or unused code
|
|
30
|
+
|
|
31
|
+
### Architecture Debt
|
|
32
|
+
|
|
33
|
+
- Tight coupling between components
|
|
34
|
+
- Missing abstractions
|
|
35
|
+
- Inappropriate technology choices
|
|
36
|
+
- Scalability limitations
|
|
37
|
+
- Security vulnerabilities
|
|
38
|
+
|
|
39
|
+
### Dependency Debt
|
|
40
|
+
|
|
41
|
+
- Outdated libraries and frameworks
|
|
42
|
+
- Unsupported dependencies
|
|
43
|
+
- Version conflicts
|
|
44
|
+
- License compliance issues
|
|
45
|
+
|
|
46
|
+
### Documentation Debt
|
|
47
|
+
|
|
48
|
+
- Missing or outdated docs
|
|
49
|
+
- Undocumented APIs
|
|
50
|
+
- Tribal knowledge not captured
|
|
51
|
+
- Stale comments in code
|
|
52
|
+
|
|
53
|
+
## Debt Assessment
|
|
54
|
+
|
|
55
|
+
### Impact Dimensions
|
|
56
|
+
|
|
57
|
+
- **Velocity**: How much does it slow development?
|
|
58
|
+
- **Risk**: What could go wrong?
|
|
59
|
+
- **Scope**: How much code is affected?
|
|
60
|
+
- **Effort**: How hard is it to fix?
|
|
61
|
+
|
|
62
|
+
### Prioritization Matrix
|
|
63
|
+
|
|
64
|
+
| Impact | Effort | Priority |
|
|
65
|
+
| ------ | ------ | -------------- |
|
|
66
|
+
| High | Low | Do first |
|
|
67
|
+
| High | High | Plan carefully |
|
|
68
|
+
| Low | Low | Quick wins |
|
|
69
|
+
| Low | High | Defer |
|
|
70
|
+
|
|
71
|
+
## Strategic Debt Decisions
|
|
72
|
+
|
|
73
|
+
### When to Accept Debt
|
|
74
|
+
|
|
75
|
+
- Time-to-market is critical
|
|
76
|
+
- Requirements are uncertain
|
|
77
|
+
- Short-lived code (prototypes, experiments)
|
|
78
|
+
- Clear plan to address later
|
|
79
|
+
- Business value justifies risk
|
|
80
|
+
|
|
81
|
+
### When to Avoid Debt
|
|
82
|
+
|
|
83
|
+
- Core system components
|
|
84
|
+
- Security-sensitive code
|
|
85
|
+
- High-change-frequency areas
|
|
86
|
+
- No plan to address later
|
|
87
|
+
- Debt compounds existing issues
|
|
88
|
+
|
|
89
|
+
## Debt Reduction Strategies
|
|
90
|
+
|
|
91
|
+
### Incremental Improvement
|
|
92
|
+
|
|
93
|
+
- Boy Scout Rule: Leave code better than you found it
|
|
94
|
+
- Refactor while adding features
|
|
95
|
+
- Small, continuous improvements
|
|
96
|
+
- Low risk, steady progress
|
|
97
|
+
|
|
98
|
+
### Dedicated Investment
|
|
99
|
+
|
|
100
|
+
- Scheduled refactoring sprints
|
|
101
|
+
- Tech debt percentage in each sprint
|
|
102
|
+
- Major rewrites when justified
|
|
103
|
+
- Higher risk, larger improvements
|
|
104
|
+
|
|
105
|
+
## Documentation Template
|
|
106
|
+
|
|
107
|
+
For each debt item:
|
|
108
|
+
|
|
109
|
+
- **Description**: What is the debt?
|
|
110
|
+
- **Impact**: How does it affect us?
|
|
111
|
+
- **Effort**: How hard to fix (T-shirt size)?
|
|
112
|
+
- **Owner**: Who can address it?
|
|
113
|
+
- **Plan**: When/how will it be fixed?
|
|
114
|
+
|
|
115
|
+
## Technical Debt Checklist
|
|
116
|
+
|
|
117
|
+
- [ ] Debt is documented with context
|
|
118
|
+
- [ ] Impact and effort are assessed
|
|
119
|
+
- [ ] Prioritization criteria are clear
|
|
120
|
+
- [ ] Debt work is visible in planning
|
|
121
|
+
- [ ] New debt is intentional and documented
|
|
122
|
+
- [ ] Regular reviews of debt backlog
|
|
123
|
+
- [ ] Metrics track debt trends
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-writing
|
|
3
|
+
description: |
|
|
4
|
+
Guide for creating clear technical documentation. Use when writing READMEs,
|
|
5
|
+
API docs, specifications, or any technical content that needs to be clear
|
|
6
|
+
and accurate.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Technical Writing
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Writing README files
|
|
16
|
+
- Creating API documentation
|
|
17
|
+
- Writing technical specifications
|
|
18
|
+
- Documenting code and systems
|
|
19
|
+
- Creating guides and tutorials
|
|
20
|
+
|
|
21
|
+
## Writing Principles
|
|
22
|
+
|
|
23
|
+
### Clarity First
|
|
24
|
+
|
|
25
|
+
- Use simple, direct language
|
|
26
|
+
- One idea per sentence
|
|
27
|
+
- Active voice over passive
|
|
28
|
+
- Avoid jargon unless defined
|
|
29
|
+
- Be specific, not vague
|
|
30
|
+
|
|
31
|
+
### Know Your Audience
|
|
32
|
+
|
|
33
|
+
- What do they already know?
|
|
34
|
+
- What do they need to accomplish?
|
|
35
|
+
- What's their skill level?
|
|
36
|
+
- What questions will they have?
|
|
37
|
+
|
|
38
|
+
### Structure for Scanning
|
|
39
|
+
|
|
40
|
+
- Lead with the most important information
|
|
41
|
+
- Use headings and subheadings
|
|
42
|
+
- Keep paragraphs short
|
|
43
|
+
- Use lists for multiple items
|
|
44
|
+
- Highlight key terms
|
|
45
|
+
|
|
46
|
+
## Document Types
|
|
47
|
+
|
|
48
|
+
### README
|
|
49
|
+
|
|
50
|
+
- What is this project?
|
|
51
|
+
- How do I get started?
|
|
52
|
+
- How do I use it?
|
|
53
|
+
- Where do I get help?
|
|
54
|
+
|
|
55
|
+
### API Documentation
|
|
56
|
+
|
|
57
|
+
- Endpoint description
|
|
58
|
+
- Parameters and types
|
|
59
|
+
- Request/response examples
|
|
60
|
+
- Error codes and handling
|
|
61
|
+
|
|
62
|
+
### Technical Specification
|
|
63
|
+
|
|
64
|
+
- Problem statement
|
|
65
|
+
- Proposed solution
|
|
66
|
+
- Alternatives considered
|
|
67
|
+
- Implementation plan
|
|
68
|
+
|
|
69
|
+
### Tutorial
|
|
70
|
+
|
|
71
|
+
- Clear learning objective
|
|
72
|
+
- Prerequisites listed
|
|
73
|
+
- Step-by-step instructions
|
|
74
|
+
- Expected outcomes shown
|
|
75
|
+
|
|
76
|
+
## README Template
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
# Project Name
|
|
80
|
+
|
|
81
|
+
Brief description of what this project does.
|
|
82
|
+
|
|
83
|
+
## Getting Started
|
|
84
|
+
|
|
85
|
+
### Prerequisites
|
|
86
|
+
|
|
87
|
+
- Required software and versions
|
|
88
|
+
|
|
89
|
+
### Installation
|
|
90
|
+
|
|
91
|
+
Step-by-step installation instructions.
|
|
92
|
+
|
|
93
|
+
### Quick Start
|
|
94
|
+
|
|
95
|
+
Minimal example to get running.
|
|
96
|
+
|
|
97
|
+
## Usage
|
|
98
|
+
|
|
99
|
+
Common use cases with examples.
|
|
100
|
+
|
|
101
|
+
## Contributing
|
|
102
|
+
|
|
103
|
+
How to contribute to the project.
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
License information.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Code Examples
|
|
111
|
+
|
|
112
|
+
Good examples are:
|
|
113
|
+
|
|
114
|
+
- Complete and runnable
|
|
115
|
+
- Minimal but realistic
|
|
116
|
+
- Copy-pasteable
|
|
117
|
+
- Annotated with comments
|
|
118
|
+
- Tested and verified
|
|
119
|
+
|
|
120
|
+
## Technical Writing Checklist
|
|
121
|
+
|
|
122
|
+
- [ ] Purpose is clear in first paragraph
|
|
123
|
+
- [ ] Audience is identified
|
|
124
|
+
- [ ] Prerequisites are listed
|
|
125
|
+
- [ ] Examples are tested and work
|
|
126
|
+
- [ ] Technical terms are defined
|
|
127
|
+
- [ ] Structure supports scanning
|
|
128
|
+
- [ ] No ambiguous pronouns
|
|
129
|
+
- [ ] Updated when code changes
|