@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.
Files changed (227) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +104 -0
  3. package/app/commands/agent.js +430 -0
  4. package/app/commands/behaviour.js +61 -0
  5. package/app/commands/command-factory.js +211 -0
  6. package/app/commands/discipline.js +58 -0
  7. package/app/commands/driver.js +94 -0
  8. package/app/commands/grade.js +60 -0
  9. package/app/commands/index.js +20 -0
  10. package/app/commands/init.js +67 -0
  11. package/app/commands/interview.js +68 -0
  12. package/app/commands/job.js +157 -0
  13. package/app/commands/progress.js +77 -0
  14. package/app/commands/questions.js +179 -0
  15. package/app/commands/serve.js +143 -0
  16. package/app/commands/site.js +121 -0
  17. package/app/commands/skill.js +76 -0
  18. package/app/commands/stage.js +129 -0
  19. package/app/commands/track.js +70 -0
  20. package/app/components/action-buttons.js +66 -0
  21. package/app/components/behaviour-profile.js +53 -0
  22. package/app/components/builder.js +341 -0
  23. package/app/components/card.js +98 -0
  24. package/app/components/checklist.js +145 -0
  25. package/app/components/comparison-radar.js +237 -0
  26. package/app/components/detail.js +230 -0
  27. package/app/components/error-page.js +72 -0
  28. package/app/components/grid.js +109 -0
  29. package/app/components/list.js +120 -0
  30. package/app/components/modifier-table.js +142 -0
  31. package/app/components/nav.js +64 -0
  32. package/app/components/progression-table.js +320 -0
  33. package/app/components/radar-chart.js +102 -0
  34. package/app/components/skill-matrix.js +97 -0
  35. package/app/css/base.css +56 -0
  36. package/app/css/bundles/app.css +40 -0
  37. package/app/css/bundles/handout.css +43 -0
  38. package/app/css/bundles/slides.css +40 -0
  39. package/app/css/components/badges.css +215 -0
  40. package/app/css/components/buttons.css +101 -0
  41. package/app/css/components/forms.css +105 -0
  42. package/app/css/components/layout.css +209 -0
  43. package/app/css/components/nav.css +166 -0
  44. package/app/css/components/progress.css +166 -0
  45. package/app/css/components/states.css +82 -0
  46. package/app/css/components/surfaces.css +243 -0
  47. package/app/css/components/tables.css +362 -0
  48. package/app/css/components/typography.css +122 -0
  49. package/app/css/components/utilities.css +41 -0
  50. package/app/css/pages/agent-builder.css +391 -0
  51. package/app/css/pages/assessment-results.css +453 -0
  52. package/app/css/pages/detail.css +59 -0
  53. package/app/css/pages/interview-builder.css +148 -0
  54. package/app/css/pages/job-builder.css +134 -0
  55. package/app/css/pages/landing.css +92 -0
  56. package/app/css/pages/lifecycle.css +118 -0
  57. package/app/css/pages/progress-builder.css +274 -0
  58. package/app/css/pages/self-assessment.css +502 -0
  59. package/app/css/reset.css +50 -0
  60. package/app/css/tokens.css +153 -0
  61. package/app/css/views/handout.css +30 -0
  62. package/app/css/views/print.css +608 -0
  63. package/app/css/views/slide-animations.css +113 -0
  64. package/app/css/views/slide-base.css +330 -0
  65. package/app/css/views/slide-sections.css +597 -0
  66. package/app/css/views/slide-tables.css +275 -0
  67. package/app/formatters/agent/dom.js +540 -0
  68. package/app/formatters/agent/profile.js +133 -0
  69. package/app/formatters/agent/skill.js +58 -0
  70. package/app/formatters/behaviour/dom.js +91 -0
  71. package/app/formatters/behaviour/markdown.js +54 -0
  72. package/app/formatters/behaviour/shared.js +64 -0
  73. package/app/formatters/discipline/dom.js +187 -0
  74. package/app/formatters/discipline/markdown.js +87 -0
  75. package/app/formatters/discipline/shared.js +131 -0
  76. package/app/formatters/driver/dom.js +103 -0
  77. package/app/formatters/driver/shared.js +92 -0
  78. package/app/formatters/grade/dom.js +208 -0
  79. package/app/formatters/grade/markdown.js +94 -0
  80. package/app/formatters/grade/shared.js +86 -0
  81. package/app/formatters/index.js +50 -0
  82. package/app/formatters/interview/dom.js +97 -0
  83. package/app/formatters/interview/markdown.js +66 -0
  84. package/app/formatters/interview/shared.js +332 -0
  85. package/app/formatters/job/description.js +176 -0
  86. package/app/formatters/job/dom.js +411 -0
  87. package/app/formatters/job/markdown.js +102 -0
  88. package/app/formatters/progress/dom.js +135 -0
  89. package/app/formatters/progress/markdown.js +86 -0
  90. package/app/formatters/progress/shared.js +339 -0
  91. package/app/formatters/questions/json.js +43 -0
  92. package/app/formatters/questions/markdown.js +303 -0
  93. package/app/formatters/questions/shared.js +274 -0
  94. package/app/formatters/questions/yaml.js +76 -0
  95. package/app/formatters/shared.js +71 -0
  96. package/app/formatters/skill/dom.js +168 -0
  97. package/app/formatters/skill/markdown.js +109 -0
  98. package/app/formatters/skill/shared.js +125 -0
  99. package/app/formatters/stage/dom.js +135 -0
  100. package/app/formatters/stage/index.js +12 -0
  101. package/app/formatters/stage/shared.js +111 -0
  102. package/app/formatters/track/dom.js +128 -0
  103. package/app/formatters/track/markdown.js +105 -0
  104. package/app/formatters/track/shared.js +181 -0
  105. package/app/handout-main.js +421 -0
  106. package/app/handout.html +21 -0
  107. package/app/index.html +59 -0
  108. package/app/lib/card-mappers.js +173 -0
  109. package/app/lib/cli-output.js +270 -0
  110. package/app/lib/error-boundary.js +70 -0
  111. package/app/lib/errors.js +49 -0
  112. package/app/lib/form-controls.js +47 -0
  113. package/app/lib/job-cache.js +86 -0
  114. package/app/lib/markdown.js +114 -0
  115. package/app/lib/radar.js +866 -0
  116. package/app/lib/reactive.js +77 -0
  117. package/app/lib/render.js +212 -0
  118. package/app/lib/router-core.js +160 -0
  119. package/app/lib/router-pages.js +16 -0
  120. package/app/lib/router-slides.js +202 -0
  121. package/app/lib/state.js +148 -0
  122. package/app/lib/utils.js +14 -0
  123. package/app/lib/yaml-loader.js +327 -0
  124. package/app/main.js +213 -0
  125. package/app/model/agent.js +702 -0
  126. package/app/model/checklist.js +137 -0
  127. package/app/model/derivation.js +699 -0
  128. package/app/model/index-generator.js +71 -0
  129. package/app/model/interview.js +539 -0
  130. package/app/model/job.js +222 -0
  131. package/app/model/levels.js +591 -0
  132. package/app/model/loader.js +564 -0
  133. package/app/model/matching.js +858 -0
  134. package/app/model/modifiers.js +158 -0
  135. package/app/model/profile.js +266 -0
  136. package/app/model/progression.js +507 -0
  137. package/app/model/validation.js +1385 -0
  138. package/app/pages/agent-builder.js +823 -0
  139. package/app/pages/assessment-results.js +507 -0
  140. package/app/pages/behaviour.js +70 -0
  141. package/app/pages/discipline.js +71 -0
  142. package/app/pages/driver.js +106 -0
  143. package/app/pages/grade.js +117 -0
  144. package/app/pages/interview-builder.js +50 -0
  145. package/app/pages/interview.js +304 -0
  146. package/app/pages/job-builder.js +50 -0
  147. package/app/pages/job.js +58 -0
  148. package/app/pages/landing.js +305 -0
  149. package/app/pages/progress-builder.js +58 -0
  150. package/app/pages/progress.js +495 -0
  151. package/app/pages/self-assessment.js +729 -0
  152. package/app/pages/skill.js +113 -0
  153. package/app/pages/stage.js +231 -0
  154. package/app/pages/track.js +69 -0
  155. package/app/slide-main.js +360 -0
  156. package/app/slides/behaviour.js +38 -0
  157. package/app/slides/chapter.js +82 -0
  158. package/app/slides/discipline.js +40 -0
  159. package/app/slides/driver.js +39 -0
  160. package/app/slides/grade.js +32 -0
  161. package/app/slides/index.js +198 -0
  162. package/app/slides/interview.js +58 -0
  163. package/app/slides/job.js +55 -0
  164. package/app/slides/overview.js +126 -0
  165. package/app/slides/progress.js +83 -0
  166. package/app/slides/skill.js +40 -0
  167. package/app/slides/track.js +39 -0
  168. package/app/slides.html +56 -0
  169. package/app/types.js +147 -0
  170. package/bin/pathway.js +489 -0
  171. package/examples/agents/.claude/skills/architecture-design/SKILL.md +88 -0
  172. package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +90 -0
  173. package/examples/agents/.claude/skills/code-quality-review/SKILL.md +67 -0
  174. package/examples/agents/.claude/skills/data-modeling/SKILL.md +99 -0
  175. package/examples/agents/.claude/skills/developer-experience/SKILL.md +99 -0
  176. package/examples/agents/.claude/skills/devops-cicd/SKILL.md +96 -0
  177. package/examples/agents/.claude/skills/full-stack-development/SKILL.md +90 -0
  178. package/examples/agents/.claude/skills/knowledge-management/SKILL.md +100 -0
  179. package/examples/agents/.claude/skills/pattern-generalization/SKILL.md +102 -0
  180. package/examples/agents/.claude/skills/sre-practices/SKILL.md +117 -0
  181. package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +123 -0
  182. package/examples/agents/.claude/skills/technical-writing/SKILL.md +129 -0
  183. package/examples/agents/.github/agents/se-platform-code.agent.md +181 -0
  184. package/examples/agents/.github/agents/se-platform-plan.agent.md +178 -0
  185. package/examples/agents/.github/agents/se-platform-review.agent.md +113 -0
  186. package/examples/agents/.vscode/settings.json +8 -0
  187. package/examples/behaviours/_index.yaml +8 -0
  188. package/examples/behaviours/outcome_ownership.yaml +44 -0
  189. package/examples/behaviours/polymathic_knowledge.yaml +42 -0
  190. package/examples/behaviours/precise_communication.yaml +40 -0
  191. package/examples/behaviours/relentless_curiosity.yaml +38 -0
  192. package/examples/behaviours/systems_thinking.yaml +41 -0
  193. package/examples/capabilities/_index.yaml +8 -0
  194. package/examples/capabilities/business.yaml +251 -0
  195. package/examples/capabilities/delivery.yaml +352 -0
  196. package/examples/capabilities/people.yaml +100 -0
  197. package/examples/capabilities/reliability.yaml +318 -0
  198. package/examples/capabilities/scale.yaml +394 -0
  199. package/examples/disciplines/_index.yaml +5 -0
  200. package/examples/disciplines/data_engineering.yaml +76 -0
  201. package/examples/disciplines/software_engineering.yaml +76 -0
  202. package/examples/drivers.yaml +205 -0
  203. package/examples/framework.yaml +58 -0
  204. package/examples/grades.yaml +118 -0
  205. package/examples/questions/behaviours/outcome_ownership.yaml +52 -0
  206. package/examples/questions/behaviours/polymathic_knowledge.yaml +48 -0
  207. package/examples/questions/behaviours/precise_communication.yaml +55 -0
  208. package/examples/questions/behaviours/relentless_curiosity.yaml +51 -0
  209. package/examples/questions/behaviours/systems_thinking.yaml +53 -0
  210. package/examples/questions/skills/architecture_design.yaml +54 -0
  211. package/examples/questions/skills/cloud_platforms.yaml +48 -0
  212. package/examples/questions/skills/code_quality.yaml +49 -0
  213. package/examples/questions/skills/data_modeling.yaml +46 -0
  214. package/examples/questions/skills/devops.yaml +47 -0
  215. package/examples/questions/skills/full_stack_development.yaml +48 -0
  216. package/examples/questions/skills/sre_practices.yaml +44 -0
  217. package/examples/questions/skills/stakeholder_management.yaml +49 -0
  218. package/examples/questions/skills/team_collaboration.yaml +43 -0
  219. package/examples/questions/skills/technical_writing.yaml +43 -0
  220. package/examples/self-assessments.yaml +66 -0
  221. package/examples/stages.yaml +76 -0
  222. package/examples/tracks/_index.yaml +6 -0
  223. package/examples/tracks/manager.yaml +53 -0
  224. package/examples/tracks/platform.yaml +54 -0
  225. package/examples/tracks/sre.yaml +58 -0
  226. package/examples/vscode-settings.yaml +22 -0
  227. 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