@givolt/i3-composer-agent 0.0.0-stage → 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/.agents/plugins/marketplace.json +23 -0
- package/.claude/commands/build.md +44 -0
- package/.claude/commands/code-simplify.md +22 -0
- package/.claude/commands/constraints.md +32 -0
- package/.claude/commands/plan.md +18 -0
- package/.claude/commands/review.md +16 -0
- package/.claude/commands/ship.md +72 -0
- package/.claude/commands/spec.md +17 -0
- package/.claude/commands/test.md +19 -0
- package/.claude/commands/webperf.md +32 -0
- package/.claude-plugin/marketplace.json +27 -0
- package/.claude-plugin/plugin.json +19 -0
- package/.codex-plugin/plugin.json +28 -0
- package/.gemini/commands/build.toml +43 -0
- package/.gemini/commands/code-simplify.toml +22 -0
- package/.gemini/commands/constraints.toml +32 -0
- package/.gemini/commands/planning.toml +18 -0
- package/.gemini/commands/review.toml +16 -0
- package/.gemini/commands/ship.toml +72 -0
- package/.gemini/commands/spec.toml +17 -0
- package/.gemini/commands/test.toml +19 -0
- package/.gemini/commands/webperf.toml +32 -0
- package/CHANGELOG.md +23 -0
- package/LICENSE +21 -0
- package/NOTICE.md +9 -0
- package/README.md +117 -2
- package/agents/code-reviewer.md +102 -0
- package/agents/security-auditor.md +112 -0
- package/agents/test-engineer.md +95 -0
- package/agents/web-performance-auditor.md +184 -0
- package/bin/i3-composer-agent.cjs +122 -0
- package/commands/build.toml +43 -0
- package/commands/code-simplify.toml +22 -0
- package/commands/constraints.toml +32 -0
- package/commands/planning.toml +18 -0
- package/commands/review.toml +16 -0
- package/commands/ship.toml +72 -0
- package/commands/spec.toml +17 -0
- package/commands/test.toml +19 -0
- package/commands/webperf.toml +32 -0
- package/docs/adoption-guide.md +129 -0
- package/docs/advanced-per-agent-configuration.md +70 -0
- package/docs/agents.md +123 -0
- package/docs/antigravity-setup.md +128 -0
- package/docs/codebuddy-setup.md +41 -0
- package/docs/codex-setup.md +34 -0
- package/docs/commandcode-setup.md +69 -0
- package/docs/comparison.md +131 -0
- package/docs/copilot-cli-setup.md +64 -0
- package/docs/copilot-setup.md +162 -0
- package/docs/cursor-setup.md +225 -0
- package/docs/developer-onboarding.md +116 -0
- package/docs/gemini-cli-setup.md +133 -0
- package/docs/getting-started.md +208 -0
- package/docs/opencode-setup.md +259 -0
- package/docs/other-hosts.md +7 -0
- package/docs/skill-anatomy.md +203 -0
- package/docs/windsurf-setup.md +48 -0
- package/evals/README.md +101 -0
- package/evals/cases/api-and-interface-design.json +45 -0
- package/evals/cases/browser-testing-with-devtools.json +44 -0
- package/evals/cases/ci-cd-and-automation.json +45 -0
- package/evals/cases/code-review-and-quality.json +49 -0
- package/evals/cases/code-simplification.json +45 -0
- package/evals/cases/constraint-driven-development.json +79 -0
- package/evals/cases/context-engineering.json +44 -0
- package/evals/cases/debugging-and-error-recovery.json +58 -0
- package/evals/cases/deprecation-and-migration.json +52 -0
- package/evals/cases/documentation-and-adrs.json +44 -0
- package/evals/cases/doubt-driven-development.json +43 -0
- package/evals/cases/frontend-ui-engineering.json +52 -0
- package/evals/cases/git-workflow-and-versioning.json +47 -0
- package/evals/cases/idea-refine.json +43 -0
- package/evals/cases/incremental-implementation.json +57 -0
- package/evals/cases/interview-me.json +42 -0
- package/evals/cases/observability-and-instrumentation.json +44 -0
- package/evals/cases/performance-optimization.json +53 -0
- package/evals/cases/planning-and-task-breakdown.json +45 -0
- package/evals/cases/security-and-hardening.json +53 -0
- package/evals/cases/shipping-and-launch.json +56 -0
- package/evals/cases/source-driven-development.json +44 -0
- package/evals/cases/spec-driven-development.json +72 -0
- package/evals/cases/test-driven-development.json +73 -0
- package/evals/cases/using-agent-skills.json +44 -0
- package/evals/fixtures/api-and-interface-design/service-brief.md +19 -0
- package/evals/fixtures/browser-testing-with-devtools/README.md +5 -0
- package/evals/fixtures/browser-testing-with-devtools/index.html +24 -0
- package/evals/fixtures/browser-testing-with-devtools/server.js +15 -0
- package/evals/fixtures/ci-cd-and-automation/package.json +8 -0
- package/evals/fixtures/ci-cd-and-automation/src/slug.js +3 -0
- package/evals/fixtures/ci-cd-and-automation/test/slug.test.js +9 -0
- package/evals/fixtures/code-review-and-quality/user-search.diff +16 -0
- package/evals/fixtures/code-simplification/config-parser.js +46 -0
- package/evals/fixtures/code-simplification/config-parser.test.js +15 -0
- package/evals/fixtures/context-engineering/context-audit.md +15 -0
- package/evals/fixtures/debugging-and-error-recovery/pagination.js +8 -0
- package/evals/fixtures/debugging-and-error-recovery/pagination.test.js +9 -0
- package/evals/fixtures/debugging-and-error-recovery/time-pressure.md +6 -0
- package/evals/fixtures/deprecation-and-migration/api-inventory.md +9 -0
- package/evals/fixtures/documentation-and-adrs/decision-context.md +16 -0
- package/evals/fixtures/doubt-driven-development/migration-plan.md +19 -0
- package/evals/fixtures/frontend-ui-engineering/Button.tsx +7 -0
- package/evals/fixtures/frontend-ui-engineering/design-system.md +11 -0
- package/evals/fixtures/git-workflow-and-versioning/.eval/working-tree.patch +21 -0
- package/evals/fixtures/git-workflow-and-versioning/app.js +7 -0
- package/evals/fixtures/git-workflow-and-versioning/app.test.js +9 -0
- package/evals/fixtures/incremental-implementation/reports.js +7 -0
- package/evals/fixtures/incremental-implementation/reports.test.js +12 -0
- package/evals/fixtures/incremental-implementation/tasks/plan.md +8 -0
- package/evals/fixtures/incremental-implementation-pressure/draft-export.js +17 -0
- package/evals/fixtures/incremental-implementation-pressure/scenario.md +9 -0
- package/evals/fixtures/observability-and-instrumentation/operations.md +11 -0
- package/evals/fixtures/observability-and-instrumentation/payment-retry.js +14 -0
- package/evals/fixtures/performance-optimization/benchmark.js +15 -0
- package/evals/fixtures/performance-optimization/products.js +14 -0
- package/evals/fixtures/planning-and-task-breakdown/notifications-spec.md +18 -0
- package/evals/fixtures/security-and-hardening/webhook.js +11 -0
- package/evals/fixtures/security-and-hardening/webhook.test.js +13 -0
- package/evals/fixtures/shipping-and-launch/authority-pressure.md +6 -0
- package/evals/fixtures/shipping-and-launch/launch-status.md +11 -0
- package/evals/fixtures/source-driven-development/framework-task.md +10 -0
- package/evals/fixtures/spec-driven-development/billing-brief.md +16 -0
- package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +22 -0
- package/evals/fixtures/test-driven-development/BUG.md +10 -0
- package/evals/fixtures/test-driven-development/README.md +28 -0
- package/evals/fixtures/test-driven-development/package.json +9 -0
- package/evals/fixtures/test-driven-development/src/split.js +8 -0
- package/evals/fixtures/test-driven-development/test/split.test.js +13 -0
- package/evals/fixtures/test-driven-development-ecosystem/README.md +9 -0
- package/evals/fixtures/test-driven-development-ecosystem/ledger.py +15 -0
- package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +19 -0
- package/evals/fixtures/using-agent-skills/incident.md +6 -0
- package/evals/plugin/code-review-fires/graders/off-by-one.md +7 -0
- package/evals/plugin/code-review-fires/graders/severity-labels.md +4 -0
- package/evals/plugin/code-review-fires/graders/skill-fired.md +5 -0
- package/evals/plugin/code-review-fires/prompt.md +31 -0
- package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +6 -0
- package/evals/plugin/code-review-stays-quiet/prompt.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +25 -0
- package/evals/skill-impact.md +6 -0
- package/hooks/SDD-CACHE.md +167 -0
- package/hooks/SIMPLIFY-IGNORE.md +91 -0
- package/hooks/sdd-cache-post.sh +135 -0
- package/hooks/sdd-cache-pre.sh +106 -0
- package/hooks/sdd-cache-test.sh +246 -0
- package/hooks/session-start-test.sh +47 -0
- package/hooks/session-start.sh +33 -0
- package/hooks/simplify-ignore-test.sh +476 -0
- package/hooks/simplify-ignore.sh +352 -0
- package/package.json +89 -4
- package/plugin.json +7 -0
- package/rebrand/MAINTENANCE.md +112 -0
- package/rebrand/NOTICE.md +9 -0
- package/rebrand/PR-WORKFLOW.md +34 -0
- package/rebrand/UNIFICATION-SPEC.md +33 -0
- package/rebrand/VALIDATION.md +28 -0
- package/rebrand/VERSIONING.md +32 -0
- package/rebrand/apply.cjs +194 -0
- package/rebrand/brand.json +13 -0
- package/rebrand/catalog.cjs +56 -0
- package/rebrand/fork-patches.json +12 -0
- package/rebrand/overlay/.github/workflows/test-plugin-install.yml +177 -0
- package/rebrand/overlay/CHANGELOG.md +23 -0
- package/rebrand/overlay/bin/i3-composer-agent.cjs +122 -0
- package/rebrand/overlay/scripts/validate-brand.cjs +44 -0
- package/rebrand/overlay/tests/bundle.test.cjs +85 -0
- package/rebrand/package.template.json +82 -0
- package/rebrand/rebrand.sh +4 -0
- package/rebrand/record-upstream.cjs +37 -0
- package/rebrand/templates/README.md +86 -0
- package/rebrand/templates/codebuddy-setup.md +41 -0
- package/rebrand/templates/codex-setup.md +34 -0
- package/rebrand/tests/pipeline.test.cjs +185 -0
- package/rebrand/upstream.json +171 -0
- package/references/accessibility-checklist.md +160 -0
- package/references/definition-of-done.md +67 -0
- package/references/observability-checklist.md +92 -0
- package/references/orchestration-patterns.md +370 -0
- package/references/performance-checklist.md +236 -0
- package/references/security-checklist.md +248 -0
- package/references/testing-patterns.md +235 -0
- package/scripts/floor-guard-reference-test.js +291 -0
- package/scripts/lib/skill-lint-test.js +650 -0
- package/scripts/lib/skill-lint.js +584 -0
- package/scripts/run-evals-test.js +623 -0
- package/scripts/run-evals.js +638 -0
- package/scripts/validate-artifact-paths-test.js +179 -0
- package/scripts/validate-artifact-paths.js +128 -0
- package/scripts/validate-brand.cjs +44 -0
- package/scripts/validate-commands-test.js +216 -0
- package/scripts/validate-commands.js +222 -0
- package/scripts/validate-reference-links-test.js +495 -0
- package/scripts/validate-reference-links.js +187 -0
- package/scripts/validate-skills.js +69 -0
- package/scripts/validate-versions-test.js +32 -0
- package/scripts/validate-versions.js +35 -0
- package/skills/api-and-interface-design/SKILL.md +367 -0
- package/skills/browser-testing-with-devtools/SKILL.md +317 -0
- package/skills/ci-cd-and-automation/SKILL.md +390 -0
- package/skills/code-review-and-quality/SKILL.md +398 -0
- package/skills/code-simplification/SKILL.md +331 -0
- package/skills/constraint-driven-development/SKILL.md +311 -0
- package/skills/constraint-driven-development/references/floor-guard.md +182 -0
- package/skills/context-engineering/SKILL.md +353 -0
- package/skills/debugging-and-error-recovery/SKILL.md +300 -0
- package/skills/deprecation-and-migration/SKILL.md +247 -0
- package/skills/documentation-and-adrs/SKILL.md +288 -0
- package/skills/doubt-driven-development/SKILL.md +243 -0
- package/skills/frontend-ui-engineering/SKILL.md +340 -0
- package/skills/git-workflow-and-versioning/SKILL.md +355 -0
- package/skills/idea-refine/SKILL.md +178 -0
- package/skills/idea-refine/examples.md +238 -0
- package/skills/idea-refine/frameworks.md +99 -0
- package/skills/idea-refine/refinement-criteria.md +113 -0
- package/skills/idea-refine/scripts/idea-refine.sh +15 -0
- package/skills/incremental-implementation/SKILL.md +249 -0
- package/skills/interview-me/SKILL.md +235 -0
- package/skills/observability-and-instrumentation/SKILL.md +238 -0
- package/skills/performance-optimization/SKILL.md +267 -0
- package/skills/performance-optimization/references/optimization-patterns.md +250 -0
- package/skills/planning-and-task-breakdown/SKILL.md +257 -0
- package/skills/security-and-hardening/SKILL.md +216 -0
- package/skills/security-and-hardening/references/hardening-patterns.md +324 -0
- package/skills/shipping-and-launch/SKILL.md +330 -0
- package/skills/source-driven-development/SKILL.md +216 -0
- package/skills/spec-driven-development/SKILL.md +259 -0
- package/skills/test-driven-development/SKILL.md +398 -0
- package/skills/using-agent-skills/SKILL.md +192 -0
- package/tests/bundle.test.cjs +85 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
{
|
|
2
|
+
"upstreamCommit": "1401c8b8030e023baeebb31781a6653fe8e93026",
|
|
3
|
+
"upstreamVersion": "0.6.12",
|
|
4
|
+
"skills": [
|
|
5
|
+
"api-and-interface-design",
|
|
6
|
+
"browser-testing-with-devtools",
|
|
7
|
+
"ci-cd-and-automation",
|
|
8
|
+
"code-review-and-quality",
|
|
9
|
+
"code-simplification",
|
|
10
|
+
"constraint-driven-development",
|
|
11
|
+
"context-engineering",
|
|
12
|
+
"debugging-and-error-recovery",
|
|
13
|
+
"deprecation-and-migration",
|
|
14
|
+
"documentation-and-adrs",
|
|
15
|
+
"doubt-driven-development",
|
|
16
|
+
"frontend-ui-engineering",
|
|
17
|
+
"git-workflow-and-versioning",
|
|
18
|
+
"idea-refine",
|
|
19
|
+
"incremental-implementation",
|
|
20
|
+
"interview-me",
|
|
21
|
+
"observability-and-instrumentation",
|
|
22
|
+
"performance-optimization",
|
|
23
|
+
"planning-and-task-breakdown",
|
|
24
|
+
"security-and-hardening",
|
|
25
|
+
"shipping-and-launch",
|
|
26
|
+
"source-driven-development",
|
|
27
|
+
"spec-driven-development",
|
|
28
|
+
"test-driven-development",
|
|
29
|
+
"using-agent-skills"
|
|
30
|
+
],
|
|
31
|
+
"commands": [
|
|
32
|
+
"build",
|
|
33
|
+
"code-simplify",
|
|
34
|
+
"constraints",
|
|
35
|
+
"plan",
|
|
36
|
+
"review",
|
|
37
|
+
"ship",
|
|
38
|
+
"spec",
|
|
39
|
+
"test",
|
|
40
|
+
"webperf"
|
|
41
|
+
],
|
|
42
|
+
"personas": [
|
|
43
|
+
"code-reviewer",
|
|
44
|
+
"security-auditor",
|
|
45
|
+
"test-engineer",
|
|
46
|
+
"web-performance-auditor"
|
|
47
|
+
],
|
|
48
|
+
"references": [
|
|
49
|
+
"references/accessibility-checklist.md",
|
|
50
|
+
"references/definition-of-done.md",
|
|
51
|
+
"references/observability-checklist.md",
|
|
52
|
+
"references/orchestration-patterns.md",
|
|
53
|
+
"references/performance-checklist.md",
|
|
54
|
+
"references/security-checklist.md",
|
|
55
|
+
"references/testing-patterns.md"
|
|
56
|
+
],
|
|
57
|
+
"runtimeFiles": [
|
|
58
|
+
".agents/plugins/marketplace.json",
|
|
59
|
+
".claude-plugin/marketplace.json",
|
|
60
|
+
".claude-plugin/plugin.json",
|
|
61
|
+
".claude/commands/build.md",
|
|
62
|
+
".claude/commands/code-simplify.md",
|
|
63
|
+
".claude/commands/constraints.md",
|
|
64
|
+
".claude/commands/plan.md",
|
|
65
|
+
".claude/commands/review.md",
|
|
66
|
+
".claude/commands/ship.md",
|
|
67
|
+
".claude/commands/spec.md",
|
|
68
|
+
".claude/commands/test.md",
|
|
69
|
+
".claude/commands/webperf.md",
|
|
70
|
+
".codex-plugin/plugin.json",
|
|
71
|
+
".gemini/commands/build.toml",
|
|
72
|
+
".gemini/commands/code-simplify.toml",
|
|
73
|
+
".gemini/commands/constraints.toml",
|
|
74
|
+
".gemini/commands/planning.toml",
|
|
75
|
+
".gemini/commands/review.toml",
|
|
76
|
+
".gemini/commands/ship.toml",
|
|
77
|
+
".gemini/commands/spec.toml",
|
|
78
|
+
".gemini/commands/test.toml",
|
|
79
|
+
".gemini/commands/webperf.toml",
|
|
80
|
+
"LICENSE",
|
|
81
|
+
"agents/code-reviewer.md",
|
|
82
|
+
"agents/security-auditor.md",
|
|
83
|
+
"agents/test-engineer.md",
|
|
84
|
+
"agents/web-performance-auditor.md",
|
|
85
|
+
"commands/build.toml",
|
|
86
|
+
"commands/code-simplify.toml",
|
|
87
|
+
"commands/constraints.toml",
|
|
88
|
+
"commands/planning.toml",
|
|
89
|
+
"commands/review.toml",
|
|
90
|
+
"commands/ship.toml",
|
|
91
|
+
"commands/spec.toml",
|
|
92
|
+
"commands/test.toml",
|
|
93
|
+
"commands/webperf.toml",
|
|
94
|
+
"hooks/SDD-CACHE.md",
|
|
95
|
+
"hooks/SIMPLIFY-IGNORE.md",
|
|
96
|
+
"hooks/sdd-cache-post.sh",
|
|
97
|
+
"hooks/sdd-cache-pre.sh",
|
|
98
|
+
"hooks/sdd-cache-test.sh",
|
|
99
|
+
"hooks/session-start-test.sh",
|
|
100
|
+
"hooks/session-start.sh",
|
|
101
|
+
"hooks/simplify-ignore-test.sh",
|
|
102
|
+
"hooks/simplify-ignore.sh",
|
|
103
|
+
"plugin.json",
|
|
104
|
+
"references/accessibility-checklist.md",
|
|
105
|
+
"references/definition-of-done.md",
|
|
106
|
+
"references/observability-checklist.md",
|
|
107
|
+
"references/orchestration-patterns.md",
|
|
108
|
+
"references/performance-checklist.md",
|
|
109
|
+
"references/security-checklist.md",
|
|
110
|
+
"references/testing-patterns.md",
|
|
111
|
+
"skills/api-and-interface-design/SKILL.md",
|
|
112
|
+
"skills/browser-testing-with-devtools/SKILL.md",
|
|
113
|
+
"skills/ci-cd-and-automation/SKILL.md",
|
|
114
|
+
"skills/code-review-and-quality/SKILL.md",
|
|
115
|
+
"skills/code-simplification/SKILL.md",
|
|
116
|
+
"skills/constraint-driven-development/SKILL.md",
|
|
117
|
+
"skills/constraint-driven-development/references/floor-guard.md",
|
|
118
|
+
"skills/context-engineering/SKILL.md",
|
|
119
|
+
"skills/debugging-and-error-recovery/SKILL.md",
|
|
120
|
+
"skills/deprecation-and-migration/SKILL.md",
|
|
121
|
+
"skills/documentation-and-adrs/SKILL.md",
|
|
122
|
+
"skills/doubt-driven-development/SKILL.md",
|
|
123
|
+
"skills/frontend-ui-engineering/SKILL.md",
|
|
124
|
+
"skills/git-workflow-and-versioning/SKILL.md",
|
|
125
|
+
"skills/idea-refine/SKILL.md",
|
|
126
|
+
"skills/idea-refine/examples.md",
|
|
127
|
+
"skills/idea-refine/frameworks.md",
|
|
128
|
+
"skills/idea-refine/refinement-criteria.md",
|
|
129
|
+
"skills/idea-refine/scripts/idea-refine.sh",
|
|
130
|
+
"skills/incremental-implementation/SKILL.md",
|
|
131
|
+
"skills/interview-me/SKILL.md",
|
|
132
|
+
"skills/observability-and-instrumentation/SKILL.md",
|
|
133
|
+
"skills/performance-optimization/SKILL.md",
|
|
134
|
+
"skills/performance-optimization/references/optimization-patterns.md",
|
|
135
|
+
"skills/planning-and-task-breakdown/SKILL.md",
|
|
136
|
+
"skills/security-and-hardening/SKILL.md",
|
|
137
|
+
"skills/security-and-hardening/references/hardening-patterns.md",
|
|
138
|
+
"skills/shipping-and-launch/SKILL.md",
|
|
139
|
+
"skills/source-driven-development/SKILL.md",
|
|
140
|
+
"skills/spec-driven-development/SKILL.md",
|
|
141
|
+
"skills/test-driven-development/SKILL.md",
|
|
142
|
+
"skills/using-agent-skills/SKILL.md"
|
|
143
|
+
],
|
|
144
|
+
"skillFrontmatter": {
|
|
145
|
+
"api-and-interface-design": "44f904d462977e9514f439ac7c057b8691613ba8160360ad9d28b830d3a24001",
|
|
146
|
+
"browser-testing-with-devtools": "e235631718d18a0527d00eb718ecece2218bbf205d742632f8197b30c052e96b",
|
|
147
|
+
"ci-cd-and-automation": "dd73253ec445a9af27ebeab74404ee7a770919e40ec9db0b34af4fa9ec36bf7c",
|
|
148
|
+
"code-review-and-quality": "bf3dda5e08190fcf00175a5053f53550bca91ca32b0a06e4b97cd33e046e8eb7",
|
|
149
|
+
"code-simplification": "cee4dc87b4bc95d77fe646d4ab9e66c9a422dd081a833d657d618aaf2967b5a2",
|
|
150
|
+
"constraint-driven-development": "0da347bd34b155ab79cad1e0ee80238f3b4b91b1a17ca0fc2f68460c02224194",
|
|
151
|
+
"context-engineering": "f4f18514e5eeb162ef9f925dea85af2c72ba79f9b157783a06c39c0bde102d3f",
|
|
152
|
+
"debugging-and-error-recovery": "658d96f63d56946214a7ec87be0347c78d6024a18f6481dc9f7310638f403629",
|
|
153
|
+
"deprecation-and-migration": "388d5e7e549f1b728213f0f50d91e9ca96210e0cb23fd9fccd30755268dd01f9",
|
|
154
|
+
"documentation-and-adrs": "6b2a9d19ebbb81570022a89f09b4810eeb0643a48c698989ee27a224f90bc026",
|
|
155
|
+
"doubt-driven-development": "df8954091f08c14b0e91bf3bf330f43d5a8408c1efe697591b7b0e8448251c71",
|
|
156
|
+
"frontend-ui-engineering": "323624fe7ec44bdb4fad3c9488e55993119912625fffa20ee5787389da2b600d",
|
|
157
|
+
"git-workflow-and-versioning": "dd28469b0f294865dbd20d622a9fee5f05ef87ab1599e973fec6d15a16f76e15",
|
|
158
|
+
"idea-refine": "07eedcfcba98c6c8f6985917830c4b3d93d4e17af05a9b2ca1b8cb54226bc1b9",
|
|
159
|
+
"incremental-implementation": "d31e04a0d7b07fc7d01e0176aafbba5607f1cfe7a29a634498305d95c2b3bd3b",
|
|
160
|
+
"interview-me": "62700902b592a4fa28f6f71f2581d4e1dee412ff288eb156ed97fac3db8b4295",
|
|
161
|
+
"observability-and-instrumentation": "652b9724e431bd7cfd4481bbab31bb079eeab2b5f70ebc04cf66743e37028721",
|
|
162
|
+
"performance-optimization": "76befb0806caad12322de8fe372d2e984f6e07c393fd8d3658537c92c7e285cf",
|
|
163
|
+
"planning-and-task-breakdown": "c3bc139dfa7af82e2d11c7cf461bbf923add7d6494d669da98925f77a7671641",
|
|
164
|
+
"security-and-hardening": "981142e38769394e6e7760250f2dd599dff21a370040f3f141c42507f04ea540",
|
|
165
|
+
"shipping-and-launch": "02cc76557e581957cb4987a53e03a8d1aa04c72dc735390d52ae4eed3ddeddf9",
|
|
166
|
+
"source-driven-development": "233bf9f16f5fe0960c988a5feb2efc475b9b24f9e145d960f8c63e44f4f34fde",
|
|
167
|
+
"spec-driven-development": "e21f25e534ffa3e2de9ac08c40f8d1d90cef17ad55702f83301cbc2a297c2dcb",
|
|
168
|
+
"test-driven-development": "38f1489687eaa60761522a8e3efaa926b52786b0e1b3c57947a6050c0da340de",
|
|
169
|
+
"using-agent-skills": "df5d4f61855ac46da3371bad8c05edb8bc9375ba191acc82b0cca257cfec946c"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Accessibility Checklist
|
|
2
|
+
|
|
3
|
+
Quick reference for WCAG 2.1 AA compliance. Use alongside the `frontend-ui-engineering` skill.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Essential Checks](#essential-checks)
|
|
8
|
+
- [Common HTML Patterns](#common-html-patterns)
|
|
9
|
+
- [Testing Tools](#testing-tools)
|
|
10
|
+
- [Quick Reference: ARIA Live Regions](#quick-reference-aria-live-regions)
|
|
11
|
+
- [Common Anti-Patterns](#common-anti-patterns)
|
|
12
|
+
|
|
13
|
+
## Essential Checks
|
|
14
|
+
|
|
15
|
+
### Keyboard Navigation
|
|
16
|
+
- [ ] All interactive elements focusable via Tab key
|
|
17
|
+
- [ ] Focus order follows visual/logical order
|
|
18
|
+
- [ ] Focus is visible (outline/ring on focused elements)
|
|
19
|
+
- [ ] Custom widgets have keyboard support (Enter to activate, Escape to close)
|
|
20
|
+
- [ ] No keyboard traps (user can always Tab away from a component)
|
|
21
|
+
- [ ] Skip-to-content link at top of page - visible (at least) on keyboard focus
|
|
22
|
+
- [ ] Modals trap focus while open, return focus on close
|
|
23
|
+
|
|
24
|
+
### Screen Readers
|
|
25
|
+
- [ ] All images have `alt` text (or `alt=""` for decorative images)
|
|
26
|
+
- [ ] All form inputs have associated labels (`<label>` or `aria-label`)
|
|
27
|
+
- [ ] Buttons and links have descriptive text (not "Click here")
|
|
28
|
+
- [ ] Icon-only buttons have `aria-label`
|
|
29
|
+
- [ ] Page has one `<h1>` and headings don't skip levels
|
|
30
|
+
- [ ] Dynamic content changes announced (`aria-live` regions)
|
|
31
|
+
- [ ] Tables have `<th>` headers with scope
|
|
32
|
+
|
|
33
|
+
### Visual
|
|
34
|
+
- [ ] Text contrast ≥ 4.5:1 (normal text) or ≥ 3:1 (large text, 18px+)
|
|
35
|
+
- [ ] UI components contrast ≥ 3:1 against background
|
|
36
|
+
- [ ] Color is not the only way to convey information
|
|
37
|
+
- [ ] Text resizable to 200% without breaking layout
|
|
38
|
+
- [ ] No content that flashes more than 3 times per second
|
|
39
|
+
|
|
40
|
+
### Forms
|
|
41
|
+
- [ ] Every input has a visible label
|
|
42
|
+
- [ ] Required fields indicated (not by color alone)
|
|
43
|
+
- [ ] Error messages specific and associated with the field
|
|
44
|
+
- [ ] Error state visible by more than color (icon, text, border)
|
|
45
|
+
- [ ] Form submission errors summarized and focusable
|
|
46
|
+
- [ ] Known fields use autocomplete (for example `type="email" autocomplete="email"`)
|
|
47
|
+
|
|
48
|
+
### Content
|
|
49
|
+
- [ ] Language declared (`<html lang="en">`)
|
|
50
|
+
- [ ] Page has a descriptive `<title>`
|
|
51
|
+
- [ ] Links distinguish from surrounding text (not by color alone)
|
|
52
|
+
- [ ] Touch targets ≥ 44x44px on mobile
|
|
53
|
+
- [ ] Meaningful empty states (not blank screens)
|
|
54
|
+
|
|
55
|
+
## Common HTML Patterns
|
|
56
|
+
|
|
57
|
+
### Buttons vs. Links
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<!-- Use <button> for actions -->
|
|
61
|
+
<button onClick={handleDelete}>Delete Task</button>
|
|
62
|
+
|
|
63
|
+
<!-- Use <a> for navigation -->
|
|
64
|
+
<a href="/tasks/123">View Task</a>
|
|
65
|
+
|
|
66
|
+
<!-- NEVER use div/span as buttons -->
|
|
67
|
+
<div onClick={handleDelete}>Delete</div> <!-- BAD -->
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Form Labels
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<!-- Explicit label association -->
|
|
74
|
+
<label htmlFor="email">Email address</label>
|
|
75
|
+
<input id="email" type="email" required />
|
|
76
|
+
|
|
77
|
+
<!-- Implicit wrapping -->
|
|
78
|
+
<label>
|
|
79
|
+
Email address
|
|
80
|
+
<input type="email" required />
|
|
81
|
+
</label>
|
|
82
|
+
|
|
83
|
+
<!-- Hidden label (visible label preferred) -->
|
|
84
|
+
<input type="search" aria-label="Search tasks" />
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### ARIA Roles
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<!-- Navigation -->
|
|
91
|
+
<nav aria-label="Main navigation">...</nav>
|
|
92
|
+
<nav aria-label="Footer links">...</nav>
|
|
93
|
+
|
|
94
|
+
<!-- Status messages -->
|
|
95
|
+
<div role="status" aria-live="polite">Task saved</div>
|
|
96
|
+
|
|
97
|
+
<!-- Alert messages -->
|
|
98
|
+
<div role="alert">Error: Title is required</div>
|
|
99
|
+
|
|
100
|
+
<!-- Modal dialogs -->
|
|
101
|
+
<dialog aria-modal="true" aria-labelledby="dialog-title">
|
|
102
|
+
<h2 id="dialog-title">Confirm Delete</h2>
|
|
103
|
+
...
|
|
104
|
+
</dialog>
|
|
105
|
+
|
|
106
|
+
<!-- Loading states -->
|
|
107
|
+
<div aria-busy="true" aria-label="Loading tasks">
|
|
108
|
+
<Spinner />
|
|
109
|
+
</div>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Accessible Lists
|
|
113
|
+
|
|
114
|
+
```html
|
|
115
|
+
<ul role="list" aria-label="Tasks">
|
|
116
|
+
<li>
|
|
117
|
+
<input type="checkbox" id="task-1" aria-label="Complete: Buy groceries" />
|
|
118
|
+
<label htmlFor="task-1">Buy groceries</label>
|
|
119
|
+
</li>
|
|
120
|
+
</ul>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Testing Tools
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Automated audit
|
|
127
|
+
npx axe-core # Programmatic accessibility testing
|
|
128
|
+
npx pa11y # CLI accessibility checker
|
|
129
|
+
|
|
130
|
+
# In browser
|
|
131
|
+
# Chrome DevTools → Lighthouse → Accessibility
|
|
132
|
+
# Chrome DevTools → Elements → Accessibility tree
|
|
133
|
+
|
|
134
|
+
# Screen reader testing
|
|
135
|
+
# macOS: VoiceOver (Cmd + F5)
|
|
136
|
+
# Windows: NVDA (free) or JAWS
|
|
137
|
+
# Linux: Orca
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Quick Reference: ARIA Live Regions
|
|
141
|
+
|
|
142
|
+
| Value | Behavior | Use For |
|
|
143
|
+
|-------|----------|---------|
|
|
144
|
+
| `aria-live="polite"` | Announced at next pause | Status updates, saved confirmations |
|
|
145
|
+
| `aria-live="assertive"` | Announced immediately | Errors, time-sensitive alerts |
|
|
146
|
+
| `role="status"` | Same as `polite` | Status messages |
|
|
147
|
+
| `role="alert"` | Same as `assertive` | Error messages |
|
|
148
|
+
|
|
149
|
+
## Common Anti-Patterns
|
|
150
|
+
|
|
151
|
+
| Anti-Pattern | Problem | Fix |
|
|
152
|
+
|---|---|---|
|
|
153
|
+
| `div` as button | Not focusable, no keyboard support | Use `<button>` |
|
|
154
|
+
| Missing `alt` text | Images invisible to screen readers | Add descriptive `alt` |
|
|
155
|
+
| Color-only states | Invisible to color-blind users | Add icons, text, or patterns |
|
|
156
|
+
| Autoplaying media | Disorienting, can't be stopped | Add controls, don't autoplay |
|
|
157
|
+
| Custom dropdown with no ARIA | Unusable by keyboard/screen reader | Use native `<select>` or proper ARIA listbox |
|
|
158
|
+
| Removing focus outlines | Users can't see where they are | Style outlines, don't remove them |
|
|
159
|
+
| Empty links/buttons | "Link" announced with no description | Add text or `aria-label` |
|
|
160
|
+
| `tabindex > 0` | Breaks natural tab order | Use `tabindex="0"` or `-1` only |
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Definition of Done
|
|
2
|
+
|
|
3
|
+
A standing, project-wide bar that every change must clear before it counts as done. Unlike acceptance criteria, which vary per task and answer "did we build the right thing?", the Definition of Done is the same every time and answers "is this finished to our standard?". Use it as the final gate in `planning-and-task-breakdown`, `incremental-implementation`, and `shipping-and-launch`.
|
|
4
|
+
|
|
5
|
+
## Definition of Done vs. Acceptance Criteria
|
|
6
|
+
|
|
7
|
+
| | Acceptance Criteria | Definition of Done |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Scope | Specific to one task or spec | Applies to every increment |
|
|
10
|
+
| Changes | Different for each item | Fixed and reused |
|
|
11
|
+
| Answers | "Did we build *this thing*?" | "Is it *ready*?" |
|
|
12
|
+
| Owner | Defined when planning the task | Defined once for the project |
|
|
13
|
+
| Example | "User can reset password via email link" | "Tests pass, no regressions, docs updated" |
|
|
14
|
+
|
|
15
|
+
The two are complementary. A task is done only when **its** acceptance criteria are met **and** the standing Definition of Done is satisfied. Skipping either leaves work that looks finished but is not.
|
|
16
|
+
|
|
17
|
+
## The Standing Checklist
|
|
18
|
+
|
|
19
|
+
Apply this to every change before declaring it done.
|
|
20
|
+
|
|
21
|
+
### Correctness
|
|
22
|
+
- [ ] All acceptance criteria for the task are met
|
|
23
|
+
- [ ] Code runs and behaves as intended, verified at runtime, not just compiled or typechecked
|
|
24
|
+
- [ ] New behavior is covered by tests that fail without the change and pass with it
|
|
25
|
+
- [ ] Existing tests still pass; no regressions introduced
|
|
26
|
+
- [ ] Edge cases and error paths are handled, not just the happy path
|
|
27
|
+
|
|
28
|
+
### Quality
|
|
29
|
+
- [ ] Code reveals intent through naming and structure; no comments needed to explain *what* it does
|
|
30
|
+
- [ ] No duplicated business logic
|
|
31
|
+
- [ ] No dead code, debug output, or commented-out blocks left behind
|
|
32
|
+
- [ ] Changes are scoped to the task; no unrelated refactors snuck in
|
|
33
|
+
- [ ] Linting and formatting pass
|
|
34
|
+
|
|
35
|
+
The depth behind these items lives in `code-review-and-quality` (the five-axis review) and `code-simplification` (reducing complexity without changing behavior).
|
|
36
|
+
|
|
37
|
+
### Integration
|
|
38
|
+
- [ ] Change works with the rest of the system, not just in isolation
|
|
39
|
+
- [ ] Database migrations, config changes, and feature flags are accounted for
|
|
40
|
+
- [ ] Backward compatibility considered for any public interface or API change
|
|
41
|
+
|
|
42
|
+
### Documentation
|
|
43
|
+
- [ ] Public interfaces, APIs, and user-facing behavior are documented
|
|
44
|
+
- [ ] Architectural decisions worth preserving are recorded (see `documentation-and-adrs`)
|
|
45
|
+
- [ ] Documentation describes the current state in timeless language, not the change history
|
|
46
|
+
|
|
47
|
+
### Ship-readiness
|
|
48
|
+
- [ ] Security implications reviewed for any untrusted input, auth, or data handling (see `security-and-hardening`)
|
|
49
|
+
- [ ] Observability in place for new critical paths (logs, metrics, traces) (see `observability-and-instrumentation`)
|
|
50
|
+
- [ ] Rollback path exists for anything risky (see `shipping-and-launch`)
|
|
51
|
+
- [ ] The human has reviewed and approved before merge or deploy
|
|
52
|
+
|
|
53
|
+
## How to Apply
|
|
54
|
+
|
|
55
|
+
- **Per task**: confirm the Correctness and Quality sections before checking the task off.
|
|
56
|
+
- **Per feature**: confirm Integration and Documentation before considering the feature complete.
|
|
57
|
+
- **Per release**: the full checklist is the floor; `shipping-and-launch` adds the deploy-specific gates on top.
|
|
58
|
+
|
|
59
|
+
Tailor the list to the project once, then reuse it unchanged. A Definition of Done that is renegotiated every sprint is not a Definition of Done.
|
|
60
|
+
|
|
61
|
+
## Red Flags
|
|
62
|
+
|
|
63
|
+
- "It's done, I just haven't run it yet": unverified work is not done.
|
|
64
|
+
- "Tests pass" used as a synonym for done while docs, regressions, or runtime verification are skipped.
|
|
65
|
+
- A different bar applied depending on deadline pressure.
|
|
66
|
+
- Acceptance criteria treated as the whole bar, with no standing quality floor.
|
|
67
|
+
- "Done" declared before human review on changes that need it.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Observability Checklist
|
|
2
|
+
|
|
3
|
+
Quick reference for instrumenting production code. Use alongside the `observability-and-instrumentation` skill.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [On-Call Questions (Start Here)](#on-call-questions-start-here)
|
|
8
|
+
- [Structured Logging](#structured-logging)
|
|
9
|
+
- [Metrics](#metrics)
|
|
10
|
+
- [Distributed Tracing](#distributed-tracing)
|
|
11
|
+
- [Alerting](#alerting)
|
|
12
|
+
- [Dashboards](#dashboards)
|
|
13
|
+
- [Verify the Telemetry](#verify-the-telemetry)
|
|
14
|
+
- [Pre-Launch Gate](#pre-launch-gate)
|
|
15
|
+
|
|
16
|
+
## On-Call Questions (Start Here)
|
|
17
|
+
|
|
18
|
+
Telemetry without a question is noise. Before instrumenting anything:
|
|
19
|
+
|
|
20
|
+
- [ ] 2–4 questions an on-call engineer will ask about this feature are written down
|
|
21
|
+
- [ ] Every signal below maps to one of those questions
|
|
22
|
+
- [ ] Each question is matched to the right signal type: metrics say **that** something is wrong, traces say **where**, logs say **why**
|
|
23
|
+
|
|
24
|
+
## Structured Logging
|
|
25
|
+
|
|
26
|
+
- [ ] Logs are structured (JSON) with stable event names — not free-form strings
|
|
27
|
+
- [ ] Every log line carries a correlation/request ID, generated or accepted at the system boundary
|
|
28
|
+
- [ ] Correlation ID is propagated on every outbound call and async boundary (HTTP headers, queue metadata)
|
|
29
|
+
- [ ] Any log stream written by more than one entry point (scheduler, replay endpoint, manual run) carries an entry-point field, set where the run starts and propagated alongside the correlation ID
|
|
30
|
+
- [ ] Log levels are consistent: `error` = invariant broken, someone may act; `warn` = degraded but handled; `info` = significant business event; `debug` = off in production
|
|
31
|
+
- [ ] No secrets, tokens, passwords, or unredacted PII in any log line (hard rule from `security-and-hardening`)
|
|
32
|
+
- [ ] Fields are allowlisted — no whole request/response bodies, no auth headers
|
|
33
|
+
- [ ] External service calls logged with metadata only: endpoint, status, latency, attempt count, sanitized identifiers
|
|
34
|
+
- [ ] Actual log output spot-checked: structured fields, not `[object Object]`
|
|
35
|
+
|
|
36
|
+
## Metrics
|
|
37
|
+
|
|
38
|
+
- [ ] **RED** instrumented for every endpoint and every external dependency: Rate, Errors, Duration
|
|
39
|
+
- [ ] **USE** instrumented for every resource (queues, pools, hosts): Utilization, Saturation, Errors
|
|
40
|
+
- [ ] Latency is a histogram; p50/p95/p99 queryable — never an average
|
|
41
|
+
- [ ] All labels come from small, fixed sets (route template, status class, provider name)
|
|
42
|
+
- [ ] No unbounded label values: no user IDs, tenant IDs, emails, raw URLs, request IDs, or error message text
|
|
43
|
+
- [ ] Status codes grouped by class (`5xx`, not `503`)
|
|
44
|
+
- [ ] Queue depth and processing duration tracked for every worker/queue
|
|
45
|
+
|
|
46
|
+
## Distributed Tracing
|
|
47
|
+
|
|
48
|
+
- [ ] OpenTelemetry (or equivalent) initialized at service startup, before other imports
|
|
49
|
+
- [ ] Auto-instrumentation enabled for HTTP, gRPC, and DB clients
|
|
50
|
+
- [ ] Trace context propagated on every outbound call (W3C `traceparent`/`tracestate`) and extracted from every inbound request
|
|
51
|
+
- [ ] Context survives async boundaries — queue messages carry trace metadata
|
|
52
|
+
- [ ] Manual spans only around meaningful internal units of work, with the attributes on-call will filter by
|
|
53
|
+
- [ ] No secrets or PII as span attributes
|
|
54
|
+
- [ ] Head-based sampling at a low default rate; 100% of errors kept if tail sampling is available
|
|
55
|
+
|
|
56
|
+
## Alerting
|
|
57
|
+
|
|
58
|
+
- [ ] Every alert is symptom-based (error rate, p99 latency, queue age) — causes (CPU, disk, restarts) go to dashboards, not pagers
|
|
59
|
+
- [ ] Every alert is actionable; "ignore it, it self-heals" alerts are deleted
|
|
60
|
+
- [ ] Every alert links to a runbook — minimum three lines: what it means, first query to run, escalation path
|
|
61
|
+
- [ ] Thresholds and durations justified by an SLO or historical data, not guesses
|
|
62
|
+
- [ ] Two severities only: **page** (user-facing, act now) and **ticket** (degradation, act this week)
|
|
63
|
+
- [ ] Each new alert test-fired once: it reached the right channel and the runbook link works
|
|
64
|
+
- [ ] No alerts that fire daily and get acknowledged without action
|
|
65
|
+
|
|
66
|
+
## Dashboards
|
|
67
|
+
|
|
68
|
+
- [ ] Service health dashboard exists: error rate, latency p99, traffic, saturation
|
|
69
|
+
- [ ] Dependency health panel shows per-service error rates and latency
|
|
70
|
+
- [ ] Dashboard answers the on-call questions from the top of this checklist — not "everything except the answer"
|
|
71
|
+
- [ ] Default time range is sensible (1h–6h, not 30d)
|
|
72
|
+
|
|
73
|
+
## Verify the Telemetry
|
|
74
|
+
|
|
75
|
+
Instrumentation is code; it can be wrong:
|
|
76
|
+
|
|
77
|
+
- [ ] Forced an error in staging → found it in the logs by correlation ID
|
|
78
|
+
- [ ] Sent test traffic → metric series appear with expected labels and sane values
|
|
79
|
+
- [ ] Followed one request end-to-end in the tracing UI → no broken spans
|
|
80
|
+
- [ ] An induced failure was diagnosed from telemetry alone, without reading the source
|
|
81
|
+
|
|
82
|
+
## Pre-Launch Gate
|
|
83
|
+
|
|
84
|
+
Before a feature ships to production, all of the following are true:
|
|
85
|
+
|
|
86
|
+
- [ ] Structured logs flowing to the log aggregator
|
|
87
|
+
- [ ] RED metrics visible in dashboards for every new endpoint and dependency
|
|
88
|
+
- [ ] At least one symptom-based alert configured, with runbook, test-fired
|
|
89
|
+
- [ ] A request can be traced across every service it touches
|
|
90
|
+
- [ ] On-call knows where the runbooks are
|
|
91
|
+
|
|
92
|
+
For launch-day monitoring sequence and rollback triggers, see the `shipping-and-launch` skill.
|