@forwardimpact/pathway 0.3.0 → 0.4.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/app/commands/agent.js +1 -1
- package/app/commands/index.js +4 -3
- package/app/commands/skill.js +56 -2
- package/app/commands/tool.js +112 -0
- package/app/components/checklist.js +6 -4
- package/app/components/markdown-textarea.js +132 -0
- package/app/css/components/forms.css +45 -0
- package/app/css/components/layout.css +12 -0
- package/app/css/components/surfaces.css +22 -0
- package/app/css/pages/detail.css +50 -0
- package/app/css/pages/job-builder.css +0 -42
- package/app/formatters/agent/profile.js +61 -9
- package/app/formatters/agent/skill.js +48 -6
- package/app/formatters/job/description.js +21 -16
- package/app/formatters/job/dom.js +9 -70
- package/app/formatters/shared.js +58 -0
- package/app/formatters/skill/dom.js +57 -2
- package/app/formatters/skill/markdown.js +18 -0
- package/app/formatters/skill/shared.js +12 -4
- package/app/formatters/stage/microdata.js +1 -1
- package/app/formatters/stage/shared.js +1 -1
- package/app/formatters/tool/shared.js +72 -0
- package/app/handout-main.js +7 -7
- package/app/index.html +10 -3
- package/app/lib/card-mappers.js +64 -17
- package/app/lib/render.js +4 -0
- package/app/lib/yaml-loader.js +12 -1
- package/app/main.js +4 -0
- package/app/model/agent.js +26 -18
- package/app/model/derivation.js +3 -3
- package/app/model/levels.js +2 -0
- package/app/model/loader.js +12 -1
- package/app/model/validation.js +74 -8
- package/app/pages/agent-builder.js +2 -2
- package/app/pages/landing.js +34 -14
- package/app/pages/self-assessment.js +7 -5
- package/app/pages/skill.js +5 -17
- package/app/pages/stage.js +10 -6
- package/app/pages/tool.js +50 -0
- package/app/slides/index.js +25 -25
- package/bin/pathway.js +31 -16
- package/examples/capabilities/business.yaml +17 -17
- package/examples/capabilities/delivery.yaml +51 -36
- package/examples/capabilities/reliability.yaml +127 -114
- package/examples/capabilities/scale.yaml +38 -36
- package/examples/disciplines/engineering_management.yaml +1 -1
- package/examples/framework.yaml +12 -0
- package/examples/grades.yaml +5 -7
- package/examples/self-assessments.yaml +1 -1
- package/package.json +1 -1
- package/templates/skill.template.md +31 -12
|
@@ -72,9 +72,11 @@ skills:
|
|
|
72
72
|
agent:
|
|
73
73
|
name: devops-cicd
|
|
74
74
|
description: |
|
|
75
|
-
Guide for building CI/CD pipelines, managing infrastructure as code,
|
|
76
|
-
implementing deployment best practices.
|
|
77
|
-
|
|
75
|
+
Guide for building CI/CD pipelines, managing infrastructure as code,
|
|
76
|
+
and implementing deployment best practices.
|
|
77
|
+
useWhen: |
|
|
78
|
+
Setting up pipelines, containerizing applications, or configuring
|
|
79
|
+
infrastructure.
|
|
78
80
|
stages:
|
|
79
81
|
specify:
|
|
80
82
|
focus: |
|
|
@@ -153,64 +155,73 @@ skills:
|
|
|
153
155
|
- Workflows tested in production
|
|
154
156
|
- Monitoring confirms healthy operation
|
|
155
157
|
- First deployment through pipeline succeeded
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
toolReferences:
|
|
159
|
+
- name: Terraform
|
|
160
|
+
url: https://developer.hashicorp.com/terraform/docs
|
|
161
|
+
description: Infrastructure as code tool
|
|
162
|
+
useWhen: Provisioning and managing cloud infrastructure
|
|
163
|
+
- name: Docker
|
|
164
|
+
url: https://docs.docker.com/
|
|
165
|
+
description: Container platform
|
|
166
|
+
useWhen: Containerizing applications or managing container environments
|
|
167
|
+
implementationReference: |
|
|
168
|
+
## CI/CD Pipeline Stages
|
|
158
169
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
170
|
+
### Build
|
|
171
|
+
- Install dependencies
|
|
172
|
+
- Compile/transpile code
|
|
173
|
+
- Generate artifacts
|
|
174
|
+
- Cache dependencies for speed
|
|
164
175
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
176
|
+
### Test
|
|
177
|
+
- Run unit tests
|
|
178
|
+
- Run integration tests
|
|
179
|
+
- Static analysis and linting
|
|
180
|
+
- Security scanning
|
|
170
181
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
182
|
+
### Deploy
|
|
183
|
+
- Deploy to staging environment
|
|
184
|
+
- Run smoke tests
|
|
185
|
+
- Deploy to production
|
|
186
|
+
- Verify deployment health
|
|
176
187
|
|
|
177
|
-
|
|
188
|
+
## Infrastructure as Code
|
|
178
189
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
190
|
+
### Terraform
|
|
191
|
+
```hcl
|
|
192
|
+
# Define resources declaratively
|
|
193
|
+
resource "aws_instance" "example" {
|
|
194
|
+
ami = "ami-0c55b159cbfafe1f0"
|
|
195
|
+
instance_type = "t2.micro"
|
|
196
|
+
}
|
|
197
|
+
```
|
|
187
198
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
199
|
+
### Docker
|
|
200
|
+
```dockerfile
|
|
201
|
+
FROM node:18-alpine
|
|
202
|
+
WORKDIR /app
|
|
203
|
+
COPY package*.json ./
|
|
204
|
+
RUN npm ci --only=production
|
|
205
|
+
COPY . .
|
|
206
|
+
CMD ["node", "server.js"]
|
|
207
|
+
```
|
|
197
208
|
|
|
198
|
-
|
|
209
|
+
## Deployment Strategies
|
|
199
210
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
211
|
+
### Rolling Deployment
|
|
212
|
+
- Gradual replacement of instances
|
|
213
|
+
- Zero downtime
|
|
214
|
+
- Easy rollback
|
|
204
215
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
216
|
+
### Blue-Green Deployment
|
|
217
|
+
- Two identical environments
|
|
218
|
+
- Switch traffic atomically
|
|
219
|
+
- Fast rollback
|
|
209
220
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
221
|
+
### Canary Deployment
|
|
222
|
+
- Route small percentage to new version
|
|
223
|
+
- Monitor for issues
|
|
224
|
+
- Gradually increase traffic
|
|
214
225
|
- id: sre_practices
|
|
215
226
|
name: Site Reliability Engineering
|
|
216
227
|
human:
|
|
@@ -241,8 +252,10 @@ skills:
|
|
|
241
252
|
name: sre-practices
|
|
242
253
|
description: |
|
|
243
254
|
Guide for ensuring system reliability through observability, incident
|
|
244
|
-
response, and capacity planning.
|
|
245
|
-
|
|
255
|
+
response, and capacity planning.
|
|
256
|
+
useWhen: |
|
|
257
|
+
Designing monitoring, handling incidents, setting SLOs, or improving
|
|
258
|
+
system resilience.
|
|
246
259
|
stages:
|
|
247
260
|
specify:
|
|
248
261
|
focus: |
|
|
@@ -322,78 +335,78 @@ skills:
|
|
|
322
335
|
- Alerts fire correctly for SLO breaches
|
|
323
336
|
- On-call team is trained and ready
|
|
324
337
|
- Production readiness review is complete
|
|
325
|
-
|
|
326
|
-
|
|
338
|
+
implementationReference: |
|
|
339
|
+
## Service Level Concepts
|
|
327
340
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
341
|
+
### SLI (Service Level Indicator)
|
|
342
|
+
Quantitative measure of service behavior:
|
|
343
|
+
- Request latency (p50, p95, p99)
|
|
344
|
+
- Error rate (% of failed requests)
|
|
345
|
+
- Availability (% of successful requests)
|
|
346
|
+
- Throughput (requests per second)
|
|
334
347
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
348
|
+
### SLO (Service Level Objective)
|
|
349
|
+
Target value for an SLI:
|
|
350
|
+
- "99.9% of requests complete in < 200ms"
|
|
351
|
+
- "Error rate < 0.1% over 30 days"
|
|
352
|
+
- "99.95% availability monthly"
|
|
340
353
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
354
|
+
### Error Budget
|
|
355
|
+
Allowed unreliability: 100% - SLO
|
|
356
|
+
- 99.9% SLO = 0.1% error budget
|
|
357
|
+
- ~43 minutes downtime per month
|
|
358
|
+
- Spend on features or reliability
|
|
346
359
|
|
|
347
|
-
|
|
360
|
+
## Observability
|
|
348
361
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
362
|
+
### Three Pillars
|
|
363
|
+
- **Metrics**: Aggregated numeric data (counters, gauges, histograms)
|
|
364
|
+
- **Logs**: Discrete event records with context
|
|
365
|
+
- **Traces**: Request flow across services
|
|
353
366
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
367
|
+
### Alerting Principles
|
|
368
|
+
- Alert on symptoms, not causes
|
|
369
|
+
- Every alert should be actionable
|
|
370
|
+
- Reduce noise ruthlessly
|
|
371
|
+
- Page only for user-impacting issues
|
|
372
|
+
- Use severity levels appropriately
|
|
360
373
|
|
|
361
|
-
|
|
374
|
+
## Incident Response
|
|
362
375
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
376
|
+
### Incident Lifecycle
|
|
377
|
+
1. **Detection**: Automated alerts or user reports
|
|
378
|
+
2. **Triage**: Assess severity and impact
|
|
379
|
+
3. **Mitigation**: Stop the bleeding first
|
|
380
|
+
4. **Resolution**: Fix the underlying issue
|
|
381
|
+
5. **Post-mortem**: Learn and improve
|
|
369
382
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
383
|
+
### During an Incident
|
|
384
|
+
- Communicate early and often
|
|
385
|
+
- Focus on mitigation before root cause
|
|
386
|
+
- Document actions in real-time
|
|
387
|
+
- Escalate when needed
|
|
388
|
+
- Update stakeholders regularly
|
|
376
389
|
|
|
377
|
-
|
|
390
|
+
## Post-Mortem Process
|
|
378
391
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
392
|
+
### Blameless Culture
|
|
393
|
+
- Focus on systems, not individuals
|
|
394
|
+
- Assume good intentions
|
|
395
|
+
- Ask "how did the system allow this?"
|
|
396
|
+
- Share findings openly
|
|
384
397
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
398
|
+
### Post-Mortem Template
|
|
399
|
+
1. Incident summary
|
|
400
|
+
2. Timeline of events
|
|
401
|
+
3. Root cause analysis
|
|
402
|
+
4. What went well
|
|
403
|
+
5. What could be improved
|
|
404
|
+
6. Action items with owners
|
|
392
405
|
|
|
393
|
-
|
|
406
|
+
## Resilience Patterns
|
|
394
407
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
408
|
+
- **Timeouts**: Don't wait forever
|
|
409
|
+
- **Retries**: With exponential backoff
|
|
410
|
+
- **Circuit breakers**: Fail fast when downstream is unhealthy
|
|
411
|
+
- **Bulkheads**: Isolate failures
|
|
412
|
+
- **Graceful degradation**: Partial functionality over total failure
|
|
@@ -71,10 +71,10 @@ skills:
|
|
|
71
71
|
recognized as an authority on cloud architecture.
|
|
72
72
|
agent:
|
|
73
73
|
name: cloud-platforms
|
|
74
|
-
description:
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
or solving cloud-specific challenges.
|
|
74
|
+
description: Guide for working with cloud infrastructure and services.
|
|
75
|
+
useWhen: |
|
|
76
|
+
Deploying to cloud, selecting cloud services, configuring
|
|
77
|
+
infrastructure, or solving cloud-specific challenges.
|
|
78
78
|
stages:
|
|
79
79
|
specify:
|
|
80
80
|
focus: |
|
|
@@ -141,21 +141,21 @@ skills:
|
|
|
141
141
|
- Failover tested in production
|
|
142
142
|
- Monitoring is operational
|
|
143
143
|
- Cost tracking is active
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
implementationReference: |
|
|
145
|
+
## Service Categories
|
|
146
146
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
147
|
+
| Category | Services | Use Case |
|
|
148
|
+
|----------|----------|----------|
|
|
149
|
+
| Compute | EC2, ECS, Lambda | VMs, Containers, Serverless |
|
|
150
|
+
| Storage | S3, EBS, EFS | Objects, Blocks, Files |
|
|
151
|
+
| Database | RDS, DynamoDB | SQL, NoSQL |
|
|
152
|
+
| Messaging | SQS, SNS, Kinesis | Queues, Pub/Sub, Streaming |
|
|
153
153
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
## Cloud-Native Principles
|
|
155
|
+
- Design for failure
|
|
156
|
+
- Use managed services
|
|
157
|
+
- Automate everything
|
|
158
|
+
- Monitor and alert
|
|
159
159
|
- id: code_quality
|
|
160
160
|
name: Code Quality & Review
|
|
161
161
|
human:
|
|
@@ -188,9 +188,9 @@ skills:
|
|
|
188
188
|
engineering.
|
|
189
189
|
agent:
|
|
190
190
|
name: code-quality-review
|
|
191
|
-
description:
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
description: Guide for writing quality code and conducting code reviews.
|
|
192
|
+
useWhen: |
|
|
193
|
+
Reviewing code, checking for best practices, or verifying AI-generated
|
|
194
194
|
code before committing.
|
|
195
195
|
stages:
|
|
196
196
|
specify:
|
|
@@ -258,13 +258,13 @@ skills:
|
|
|
258
258
|
- CI pipeline passes all checks
|
|
259
259
|
- No regressions detected
|
|
260
260
|
- Deployment verified
|
|
261
|
-
|
|
262
|
-
|
|
261
|
+
implementationReference: |
|
|
262
|
+
## Review Checklist
|
|
263
263
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
264
|
+
1. **Correctness**: Does it work as intended?
|
|
265
|
+
2. **Tests**: Is it properly tested?
|
|
266
|
+
3. **Maintainability**: Will it be easy to change?
|
|
267
|
+
4. **Style**: Does it follow conventions?
|
|
268
268
|
- id: data_modeling
|
|
269
269
|
name: Data Modeling
|
|
270
270
|
human:
|
|
@@ -297,8 +297,10 @@ skills:
|
|
|
297
297
|
name: data-modeling
|
|
298
298
|
description: |
|
|
299
299
|
Guide for designing database schemas, data structures, and data
|
|
300
|
-
architectures.
|
|
301
|
-
|
|
300
|
+
architectures.
|
|
301
|
+
useWhen: |
|
|
302
|
+
Designing tables, optimizing queries, or making decisions about data
|
|
303
|
+
storage technologies.
|
|
302
304
|
stages:
|
|
303
305
|
specify:
|
|
304
306
|
focus: |
|
|
@@ -365,12 +367,12 @@ skills:
|
|
|
365
367
|
- Data integrity verified
|
|
366
368
|
- Performance meets requirements
|
|
367
369
|
- Rollback procedure tested
|
|
368
|
-
|
|
369
|
-
|
|
370
|
+
implementationReference: |
|
|
371
|
+
## Storage Selection Guide
|
|
370
372
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
373
|
+
| Type | Use When | Examples |
|
|
374
|
+
|------|----------|----------|
|
|
375
|
+
| Relational | ACID needed, complex queries | PostgreSQL, MySQL |
|
|
376
|
+
| Document | Flexible schema, hierarchical | MongoDB, Firestore |
|
|
377
|
+
| Key-Value | Simple lookups, caching | Redis, DynamoDB |
|
|
378
|
+
| Time Series | Temporal data, metrics | InfluxDB, TimescaleDB |
|
package/examples/framework.yaml
CHANGED
|
@@ -55,3 +55,15 @@ entityDefinitions:
|
|
|
55
55
|
emoji: "🤖"
|
|
56
56
|
description: |
|
|
57
57
|
AI coding agent configurations generated from the same disciplines, tracks, and skills that define human roles. Agent profiles and skills follow the GitHub Copilot specification, ensuring AI assistants understand context, constraints, and working styles aligned with human engineering expectations.
|
|
58
|
+
|
|
59
|
+
stage:
|
|
60
|
+
title: Stages
|
|
61
|
+
emoji: "🔄"
|
|
62
|
+
description: |
|
|
63
|
+
Defined phases of the engineering lifecycle that structure work from planning through delivery and review. Stages provide context for AI agents and define entry criteria, exit criteria, and appropriate handoffs between phases.
|
|
64
|
+
|
|
65
|
+
tool:
|
|
66
|
+
title: Tools
|
|
67
|
+
emoji: "🔧"
|
|
68
|
+
description: |
|
|
69
|
+
Recommended tools and utilities referenced by skills for effective engineering workflows. Tools are linked to specific skills with guidance on when and how to use them, surfacing best practices directly in skill definitions.
|
package/examples/grades.yaml
CHANGED
|
@@ -82,10 +82,10 @@
|
|
|
82
82
|
breadthCriteria:
|
|
83
83
|
practitioner: 4
|
|
84
84
|
expectations:
|
|
85
|
-
impactScope: Multi-team initiatives with
|
|
85
|
+
impactScope: Multi-team initiatives with area-wide impact
|
|
86
86
|
autonomyExpectation: Set own direction within broader strategic goals
|
|
87
87
|
influenceScope:
|
|
88
|
-
Influence
|
|
88
|
+
Influence teams in your area and be recognized as a domain expert
|
|
89
89
|
complexityHandled:
|
|
90
90
|
Very high complexity driving through ambiguity to deliver results
|
|
91
91
|
|
|
@@ -107,11 +107,9 @@
|
|
|
107
107
|
practitioner: 5
|
|
108
108
|
expert: 2
|
|
109
109
|
expectations:
|
|
110
|
-
impactScope:
|
|
111
|
-
Organization-wide technical strategy and architectural direction
|
|
110
|
+
impactScope: Business unit technical strategy and architectural direction
|
|
112
111
|
autonomyExpectation:
|
|
113
112
|
Define strategic direction and be accountable for outcomes
|
|
114
113
|
influenceScope:
|
|
115
|
-
Shape
|
|
116
|
-
complexityHandled:
|
|
117
|
-
Organizational-scale complexity creating clarity from chaos
|
|
114
|
+
Shape practices across the business unit and maintain external visibility
|
|
115
|
+
complexityHandled: Business unit complexity creating clarity from ambiguity
|
package/package.json
CHANGED
|
@@ -1,27 +1,46 @@
|
|
|
1
1
|
---
|
|
2
2
|
|
|
3
|
-
name: {{name}}
|
|
4
|
-
|
|
3
|
+
name: {{name}}
|
|
4
|
+
description: |
|
|
5
|
+
{{#descriptionLines}} {{{.}}}
|
|
6
|
+
{{/descriptionLines}}
|
|
7
|
+
|
|
8
|
+
{{#useWhenLines.length}} **Use When:** {{#useWhenLines}}{{{.}}}
|
|
9
|
+
{{/useWhenLines}}{{/useWhenLines.length}}---
|
|
5
10
|
|
|
6
11
|
# {{{title}}}
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
{{#useWhenLines.length}}
|
|
14
|
+
**Use This Skill When:** {{#useWhenLines}}{{{.}}}
|
|
15
|
+
{{/useWhenLines}}{{/useWhenLines.length}}
|
|
9
16
|
|
|
17
|
+
## Stage Guidance
|
|
10
18
|
{{#stages}}
|
|
11
19
|
|
|
12
20
|
### {{stageName}} Stage
|
|
13
21
|
|
|
14
22
|
**Focus:** {{{focus}}}
|
|
15
23
|
|
|
16
|
-
**Activities:**
|
|
17
|
-
|
|
18
|
-
- {{{.}}}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{{/
|
|
24
|
+
**Activities:**
|
|
25
|
+
{{#activities}}
|
|
26
|
+
- {{{.}}}
|
|
27
|
+
{{/activities}}
|
|
28
|
+
|
|
29
|
+
**Ready for {{nextStageName}} when:**
|
|
30
|
+
{{#ready}}
|
|
31
|
+
- [ ] {{{.}}}
|
|
32
|
+
{{/ready}}
|
|
33
|
+
{{/stages}}
|
|
34
|
+
{{#toolReferences.length}}
|
|
35
|
+
|
|
36
|
+
## Recommended Tools
|
|
37
|
+
|
|
38
|
+
| Tool | Use When |
|
|
39
|
+
|------|----------|
|
|
40
|
+
{{#toolReferences}}
|
|
41
|
+
| {{#url}}[{{{name}}}]({{{url}}}){{/url}}{{^url}}{{{name}}}{{/url}} | {{{useWhen}}} |
|
|
42
|
+
{{/toolReferences}}
|
|
43
|
+
{{/toolReferences.length}} {{#reference}}
|
|
25
44
|
|
|
26
45
|
## Reference
|
|
27
46
|
|