@pikku/skills 0.12.22 → 0.12.25

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 (101) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/dist/skills.gen.js +1 -1
  3. package/package.json +1 -1
  4. package/skills/pikku-addon/SKILL.md +2 -2
  5. package/skills/pikku-agent/SKILL.md +67 -316
  6. package/skills/pikku-agent/references/agents.md +299 -0
  7. package/skills/{pikku-ai-vercel/SKILL.md → pikku-agent/references/runner-vercel.md} +2 -24
  8. package/skills/{pikku-ai-voice/SKILL.md → pikku-agent/references/voice.md} +1 -22
  9. package/skills/pikku-architect/SKILL.md +264 -0
  10. package/skills/pikku-auth/SKILL.md +89 -0
  11. package/skills/{pikku-better-auth/SKILL.md → pikku-auth/references/better-auth.md} +1 -27
  12. package/skills/{pikku-jose/SKILL.md → pikku-auth/references/jose.md} +1 -23
  13. package/skills/{pikku-machine-auth/SKILL.md → pikku-auth/references/machine-auth.md} +0 -23
  14. package/skills/{pikku-permissions/SKILL.md → pikku-auth/references/permissions.md} +1 -20
  15. package/skills/{pikku-security/SKILL.md → pikku-auth/references/sessions.md} +0 -20
  16. package/skills/pikku-build/SKILL.md +87 -0
  17. package/skills/{pikku-build-app/SKILL.md → pikku-build/references/app.md} +75 -23
  18. package/skills/{pikku-feature/SKILL.md → pikku-build/references/feature.md} +1 -8
  19. package/skills/{pikku-build-app → pikku-build}/references/multi-app.md +1 -1
  20. package/skills/{pikku-build-platform/SKILL.md → pikku-build/references/platform.md} +22 -37
  21. package/skills/{pikku-template-clone/SKILL.md → pikku-build/references/post-clone.md} +0 -6
  22. package/skills/{pikku-build-quick/SKILL.md → pikku-build/references/quick.md} +4 -20
  23. package/skills/{pikku-build-app → pikku-build}/references/ship.md +7 -1
  24. package/skills/pikku-concepts/SKILL.md +72 -7
  25. package/skills/pikku-concepts/references/concept-mapping.md +8 -8
  26. package/skills/pikku-deploy/SKILL.md +158 -0
  27. package/skills/{pikku-deploy-azure/SKILL.md → pikku-deploy/references/azure.md} +18 -50
  28. package/skills/pikku-deploy/references/cloudflare.md +104 -0
  29. package/skills/pikku-deploy/references/express.md +92 -0
  30. package/skills/{pikku-deploy-fastify/SKILL.md → pikku-deploy/references/fastify.md} +8 -32
  31. package/skills/{pikku-deploy-lambda/SKILL.md → pikku-deploy/references/lambda.md} +6 -27
  32. package/skills/{pikku-deploy-nextjs/SKILL.md → pikku-deploy/references/nextjs.md} +9 -33
  33. package/skills/pikku-deploy/references/uws.md +72 -0
  34. package/skills/pikku-deploy/references/ws.md +75 -0
  35. package/skills/pikku-emails/SKILL.md +3 -2
  36. package/skills/pikku-fabric/SKILL.md +12 -2
  37. package/skills/{pikku-fabric-debug/SKILL.md → pikku-fabric/references/debugging.md} +0 -6
  38. package/skills/pikku-i18n/SKILL.md +60 -207
  39. package/skills/{pikku-paraglide/SKILL.md → pikku-i18n/references/enum-labels.md} +0 -6
  40. package/skills/pikku-i18n/references/messages.md +218 -0
  41. package/skills/{pikku-rtl/SKILL.md → pikku-i18n/references/rtl.md} +3 -9
  42. package/skills/pikku-knowledge/SKILL.md +14 -0
  43. package/skills/pikku-kysely/SKILL.md +13 -13
  44. package/skills/pikku-meta/SKILL.md +58 -130
  45. package/skills/{pikku-deps/SKILL.md → pikku-meta/references/audit.md} +1 -17
  46. package/skills/pikku-meta/references/meta.md +114 -0
  47. package/skills/{pikku-versioning/SKILL.md → pikku-meta/references/versioning.md} +0 -26
  48. package/skills/pikku-middleware/SKILL.md +5 -5
  49. package/skills/pikku-n8n-import/SKILL.md +0 -1
  50. package/skills/pikku-react/SKILL.md +50 -298
  51. package/skills/pikku-react/references/client.md +293 -0
  52. package/skills/{pikku-react-query/SKILL.md → pikku-react/references/react-query.md} +2 -22
  53. package/skills/{pikku-workflows-client/SKILL.md → pikku-react/references/workflows.md} +1 -22
  54. package/skills/pikku-scenario/SKILL.md +60 -45
  55. package/skills/pikku-scenario/references/persona-run.md +148 -0
  56. package/skills/pikku-service-backends/SKILL.md +154 -0
  57. package/skills/pikku-service-backends/references/aws.md +106 -0
  58. package/skills/pikku-service-backends/references/backblaze.md +57 -0
  59. package/skills/pikku-service-backends/references/mongodb.md +90 -0
  60. package/skills/pikku-service-backends/references/redis.md +75 -0
  61. package/skills/pikku-service-backends/references/schema.md +63 -0
  62. package/skills/pikku-services/SKILL.md +68 -291
  63. package/skills/{pikku-audit/SKILL.md → pikku-services/references/audit.md} +0 -22
  64. package/skills/{pikku-config/SKILL.md → pikku-services/references/config.md} +1 -25
  65. package/skills/{pikku-pino/SKILL.md → pikku-services/references/pino.md} +0 -20
  66. package/skills/pikku-services/references/services.md +272 -0
  67. package/skills/pikku-software-archaeology/README.md +5 -1
  68. package/skills/pikku-software-archaeology/SKILL.md +15 -2
  69. package/skills/{pikku-product-second-opinion/example/sample-report.md → pikku-software-archaeology/example/second-opinion-sample-report.md} +1 -1
  70. package/skills/pikku-software-archaeology/references/blueprint.schema.json +1 -1
  71. package/skills/pikku-software-archaeology/references/pikku-mapping.md +3 -3
  72. package/skills/{pikku-product-second-opinion/SKILL.md → pikku-software-archaeology/references/second-opinion.md} +4 -9
  73. package/skills/pikku-webhook/SKILL.md +199 -0
  74. package/skills/pikku-wiring/SKILL.md +180 -0
  75. package/skills/{pikku-websocket/SKILL.md → pikku-wiring/references/channel.md} +2 -35
  76. package/skills/{pikku-cli/SKILL.md → pikku-wiring/references/cli.md} +1 -33
  77. package/skills/{pikku-gateway-slack/SKILL.md → pikku-wiring/references/gateway-slack.md} +0 -23
  78. package/skills/{pikku-http/SKILL.md → pikku-wiring/references/http.md} +3 -39
  79. package/skills/{pikku-mcp/SKILL.md → pikku-wiring/references/mcp.md} +0 -33
  80. package/skills/{pikku-queue/SKILL.md → pikku-wiring/references/queue.md} +1 -33
  81. package/skills/{pikku-realtime/SKILL.md → pikku-wiring/references/realtime.md} +2 -25
  82. package/skills/{pikku-rpc/SKILL.md → pikku-wiring/references/rpc.md} +0 -32
  83. package/skills/{pikku-schedule/SKILL.md → pikku-wiring/references/scheduler.md} +1 -35
  84. package/skills/{pikku-trigger/SKILL.md → pikku-wiring/references/trigger.md} +0 -43
  85. package/skills/pikku-workflow/SKILL.md +2 -2
  86. package/skills/pikku-aws/SKILL.md +0 -161
  87. package/skills/pikku-backblaze/SKILL.md +0 -104
  88. package/skills/pikku-deploy-cloudflare/SKILL.md +0 -123
  89. package/skills/pikku-deploy-express/SKILL.md +0 -122
  90. package/skills/pikku-deploy-uws/SKILL.md +0 -144
  91. package/skills/pikku-mongodb/SKILL.md +0 -113
  92. package/skills/pikku-product-second-opinion/README.md +0 -43
  93. package/skills/pikku-redis/SKILL.md +0 -99
  94. package/skills/pikku-schema-ajv/SKILL.md +0 -83
  95. package/skills/pikku-schema-cfworker/SKILL.md +0 -82
  96. package/skills/pikku-ws/SKILL.md +0 -87
  97. /package/skills/{pikku-build-app → pikku-build}/references/theming.md +0 -0
  98. /package/skills/{pikku-product-second-opinion/references/report-template.md → pikku-software-archaeology/references/second-opinion-report-template.md} +0 -0
  99. /package/skills/{pikku-cli/references/complete-example.md → pikku-wiring/references/cli-complete-example.md} +0 -0
  100. /package/skills/{pikku-http → pikku-wiring}/references/http-options.md +0 -0
  101. /package/skills/{pikku-realtime/references/other-routes.md → pikku-wiring/references/realtime-other-routes.md} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,106 @@
1
1
  # @pikku/skills
2
2
 
3
+ ## 0.12.25
4
+
5
+ ### Patch Changes
6
+
7
+ - 498662a: Measure a finished milestone against its plan, with `pikku knowledge plan progress`.
8
+
9
+ The reconciliation itself already existed — `planShortfall` reads pikku's generated meta under `.pikku/` and answers "was this planned function written, this route wired, this `pikkuScenario` exported" by set membership. Nothing in the CLI could run it, so the only thing closing a milestone was the build agent's own account of what it had done.
10
+
11
+ `pikku knowledge plan progress <milestone>` prints what the milestone still owes, separating what BLOCKS (the first pass) from what a later pass picks up, and exits non-zero while anything blocks. Its problems include the two checks no meta covers: a browser scenario that opens a page and asserts it is still on it, and an `on delete cascade` the plan promised that no migration declares.
12
+
13
+ Two skills follow it. The new `pikku-architect` writes the plan against the milestone note through `pikku knowledge plan set`, as a seat separate from the build — a builder who writes its own plan can build a fraction, plan only that fraction, and certify itself complete. `pikku-build` now plans each milestone before building it (§5a) and closes it on `plan progress` rather than on memory (§6a), with `pikku knowledge plan defer` as the only way an unbuilt item leaves the first pass.
14
+
15
+ Two things `plan set` needed before an architect could actually satisfy it: it now refuses a `covers` entry naming a note that does not exist, or carrying a hash that is not that note's current one — and names the correct hash, which is also the only way to obtain one. Unchecked, a placeholder hash was accepted and the note it claimed read as edited-since from the moment the milestone shipped, dropping silently back into a backlog nobody had planned. The plan's build rendering no longer names a runtime-specific command for creating a frontend, since two builds read it and each creates one a different way.
16
+
17
+ - e0bf0ce: Add a `pikku-webhook` skill covering the outgoing webhook primitive — `WebhookService` / `QueueWebhookService`, the `pikku-outgoing-webhooks` queue worker, `scaffold.webhook`, `config.webhook` (signing secret, header, retries, SSRF allowlist), receiver-side verification, and `KyselyWebhookService`'s delivery/attempt history. The corpus previously mentioned it in one table row, so agents hand-rolled `fetch` + HMAC instead of using it.
18
+
19
+ ## 0.12.24
20
+
21
+ ### Patch Changes
22
+
23
+ - 202cb72: Refuse a scenario step whose prose opens with its own actor (PKU681). The
24
+ reporter already renders the actor as the sentence's subject, so a step
25
+ authored as `'sam' creates the client` and run as `{ actor: actors.sam }`
26
+ reads "Given sam 'sam' creates the client" — and the hardcoded name desyncs
27
+ the moment the call site changes actor. Only the subject position is refused:
28
+ naming someone else mid-sentence, or an actor keyed after a role noun used as
29
+ a noun ("creates the admin client"), is left alone.
30
+
31
+ ## 0.12.23
32
+
33
+ ### Patch Changes
34
+
35
+ - f4e2e89: Add file attachments to `EmailService`.
36
+
37
+ `BaseSendEmailInput` gains an optional `attachments: EmailAttachment[]`, so it is
38
+ available on all three input variants — text, HTML and template. The new
39
+ `EmailAttachment` type is exported from `@pikku/core/services` alongside the
40
+ input types, and is shaped so that mapping it onto Resend, SendGrid, Nodemailer
41
+ or SES v2 is a straight field rename rather than a translation.
42
+
43
+ `content` is `Uint8Array | string`, where a string is always read as base64.
44
+ Both forms are accepted because both are what callers already hold: bytes come
45
+ out of a fetch or a file read, and base64 comes out of a database column or a
46
+ provider API. `Buffer` is deliberately absent from the type — it is a subclass
47
+ of `Uint8Array`, so Node callers can still pass one, while the type stays usable
48
+ in Cloudflare Workers, where `Buffer` does not exist.
49
+
50
+ `LocalEmailService` now logs attachment metadata — filename, content type,
51
+ content id, disposition and content length — instead of dropping the field
52
+ silently. The content itself is deliberately not logged.
53
+
54
+ The template-rendering wrapper documented in the emails skill rebuilt its
55
+ delegate payload field by field and therefore dropped `attachments`; it now
56
+ forwards them.
57
+
58
+ - 9022169: Cover `pikku persona run`, and give the corpus a CLI command inventory.
59
+
60
+ `pikku doc` computes the `#pikku/*` API surface and lists no CLI commands, so
61
+ for anything invoked as `pikku <cmd>` the skills corpus is the only place it
62
+ exists. Two things were missing from it.
63
+
64
+ `pikku-scenario` covered declaring personas but not running one. Its new
65
+ `references/persona-run.md` covers the virtual-user run: the seven dispositions
66
+ and what each one is for, the three credentials and which wins, the budget and
67
+ `--seed` replay, why production takes only `accountable` and why that rule is
68
+ checked at build time and again at sign-in, the role check that happens before
69
+ the first step, and `sync` / `list` / `secret`.
70
+
71
+ `pikku-concepts` gains a one-line-per-command inventory of the CLI, grouped by
72
+ what you are doing and pointing at the skill that teaches each one. A dash means
73
+ no skill covers it beyond that line, which is a reason to read `--help` rather
74
+ than assume the command does what its name suggests.
75
+
76
+ - acca415: Consolidate the skills corpus from 63 skills to 21.
77
+
78
+ The corpus had grown one skill per package and one per transport, so an agent's
79
+ first decision was a routing problem — which of ten wiring skills, which of five
80
+ auth skills — before it could reach anything that helped. Most of what those
81
+ skills carried was signatures and option keys, which `pikku doc` computes from
82
+ the compiler and cannot go stale.
83
+
84
+ Each family collapses to one chooser skill plus per-topic `references/*.md`. The
85
+ chooser answers the question the compiler cannot: which thing to pick, what
86
+ differs between the options, and what goes wrong silently. The families:
87
+
88
+ - `pikku-deploy` — eight runtime skills
89
+ - `pikku-service-backends` — six adapter skills, organised by the core interface
90
+ they implement rather than by vendor
91
+ - `pikku-wiring` — ten transport skills
92
+ - `pikku-auth` — five skills that all answered "who is this and may they",
93
+ fronted by the authentication-versus-authorization distinction
94
+ - `pikku-services` — services, config, audit and logging
95
+ - `pikku-agent` — the agent, its runner and the voice middlewares
96
+ - `pikku-react` and `pikku-i18n` — the client and localisation families
97
+ - `pikku-meta` — project metadata, contract versioning and the dependency audit
98
+ - `pikku-build` — the three build modes, feature work and post-clone cleanup
99
+ - `pikku-software-archaeology` and `pikku-fabric` — each gains its second phase
100
+
101
+ The doc-surface routing table (`LEAF_EDITORIAL`) points at the merged skills, and
102
+ the fabric install group is back to what it names: skills about Fabric.
103
+
3
104
  ## 0.12.22
4
105
 
5
106
  ### Patch Changes