@pikku/skills 0.12.1 → 0.12.2

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 (46) hide show
  1. package/dist/skills.gen.js +1 -1
  2. package/package.json +1 -1
  3. package/skills/pikku-addon/SKILL.md +1 -1
  4. package/skills/pikku-ai-agent/SKILL.md +1 -1
  5. package/skills/pikku-ai-vercel/SKILL.md +1 -1
  6. package/skills/pikku-ai-voice/SKILL.md +1 -1
  7. package/skills/pikku-aws/SKILL.md +1 -1
  8. package/skills/pikku-backblaze/SKILL.md +1 -1
  9. package/skills/pikku-cli/SKILL.md +1 -1
  10. package/skills/pikku-concepts/SKILL.md +1 -1
  11. package/skills/pikku-config/SKILL.md +1 -1
  12. package/skills/pikku-cron/SKILL.md +1 -1
  13. package/skills/pikku-deploy-azure/SKILL.md +1 -1
  14. package/skills/pikku-deploy-cloudflare/SKILL.md +1 -1
  15. package/skills/pikku-deploy-express/SKILL.md +1 -1
  16. package/skills/pikku-deploy-fastify/SKILL.md +1 -1
  17. package/skills/pikku-deploy-lambda/SKILL.md +1 -1
  18. package/skills/pikku-deploy-nextjs/SKILL.md +1 -1
  19. package/skills/pikku-deploy-uws/SKILL.md +1 -1
  20. package/skills/pikku-fabric/SKILL.md +3 -3
  21. package/skills/pikku-feature/SKILL.md +1 -1
  22. package/skills/pikku-gateway-slack/SKILL.md +1 -1
  23. package/skills/pikku-http/SKILL.md +1 -1
  24. package/skills/pikku-info/SKILL.md +1 -1
  25. package/skills/pikku-jose/SKILL.md +1 -1
  26. package/skills/pikku-knowledge/SKILL.md +207 -0
  27. package/skills/pikku-kysely/SKILL.md +1 -1
  28. package/skills/pikku-mcp/SKILL.md +1 -1
  29. package/skills/pikku-mongodb/SKILL.md +1 -1
  30. package/skills/pikku-pino/SKILL.md +1 -1
  31. package/skills/pikku-queue/SKILL.md +1 -1
  32. package/skills/pikku-react/SKILL.md +1 -1
  33. package/skills/pikku-react-query/SKILL.md +1 -1
  34. package/skills/pikku-realtime/SKILL.md +1 -1
  35. package/skills/pikku-redis/SKILL.md +1 -1
  36. package/skills/pikku-rpc/SKILL.md +1 -1
  37. package/skills/pikku-scenario/SKILL.md +4 -4
  38. package/skills/pikku-schedule/SKILL.md +1 -1
  39. package/skills/pikku-schema-ajv/SKILL.md +1 -1
  40. package/skills/pikku-schema-cfworker/SKILL.md +1 -1
  41. package/skills/pikku-services/SKILL.md +1 -1
  42. package/skills/pikku-trigger/SKILL.md +1 -1
  43. package/skills/pikku-versioning/SKILL.md +1 -1
  44. package/skills/pikku-websocket/SKILL.md +1 -1
  45. package/skills/pikku-workflows-client/SKILL.md +1 -1
  46. package/skills/pikku-ws/SKILL.md +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/skills",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "The Pikku agent skills — the instruction set coding agents read to build, wire and deploy Pikku projects",
5
5
  "author": "yasser.fadl@gmail.com",
6
6
  "license": "MIT",
@@ -16,7 +16,7 @@ installGroups: [core]
16
16
 
17
17
  Use this skill as an execution checklist, not reference material.
18
18
 
19
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
20
20
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
21
21
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
22
22
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -15,7 +15,7 @@ installGroups: [core]
15
15
 
16
16
  Use this skill as an execution checklist, not reference material.
17
17
 
18
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
19
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
20
20
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
21
21
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -15,7 +15,7 @@ installGroups: [core]
15
15
 
16
16
  Use this skill as an execution checklist, not reference material.
17
17
 
18
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
19
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
20
20
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
21
21
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -12,7 +12,7 @@ description: >-
12
12
 
13
13
  Use this skill as an execution checklist, not reference material.
14
14
 
15
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
15
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
16
16
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
17
17
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
18
18
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -15,7 +15,7 @@ installGroups: [core]
15
15
 
16
16
  Use this skill as an execution checklist, not reference material.
17
17
 
18
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
19
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
20
20
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
21
21
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -17,7 +17,7 @@ installGroups: [core]
17
17
 
18
18
  Use this skill as an execution checklist, not reference material.
19
19
 
20
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
20
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
21
21
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
22
22
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
23
23
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -16,7 +16,7 @@ installGroups: [core]
16
16
 
17
17
  Use this skill as an execution checklist, not reference material.
18
18
 
19
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
20
20
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
21
21
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
22
22
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -13,7 +13,7 @@ description: >-
13
13
 
14
14
  Use this skill as an execution checklist, not reference material.
15
15
 
16
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
16
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
17
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
18
18
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
19
19
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ installGroups: [fabric]
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -13,7 +13,7 @@ description: >-
13
13
 
14
14
  Use this skill as an execution checklist, not reference material.
15
15
 
16
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
16
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
17
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
18
18
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
19
19
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -15,7 +15,7 @@ Use this skill as an execution checklist, not reference material.
15
15
  pikku fabric validate --json
16
16
  ```
17
17
  This prints every missing file, misconfigured field, and dependency gap with a `fixHint`. Address all `error` findings before proceeding — they block deploy. Resolve `warn` findings before testing — they cause runtime failures. `info` findings are best-practice gaps that are safe to defer.
18
- 2. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
+ 2. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
19
  3. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
20
20
  4. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
21
21
  5. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -31,7 +31,7 @@ Always run project discovery first:
31
31
  yarn pikku meta context --json
32
32
  ```
33
33
 
34
- In OpenCode, call the `pikku-meta` tool before grepping or editing a Fabric app.
34
+ Call the `pikku-meta` tool before grepping or editing a Fabric app.
35
35
 
36
36
  - Use `section: "context"` for the project map: functions, wires, workflows, capabilities, and source files.
37
37
  - Use `section: "clients"` before frontend/RPC work.
@@ -40,7 +40,7 @@ In OpenCode, call the `pikku-meta` tool before grepping or editing a Fabric app.
40
40
 
41
41
  Do not load every schema body by default; that wastes context and usually makes the model worse.
42
42
 
43
- For database work in OpenCode:
43
+ For database work:
44
44
 
45
45
  - Use `pikku-db` for the actual attached Fabric database state: tables, columns, foreign keys, and applied migrations.
46
46
  - Use `pikku-meta` `section: "schemas"` for code-level JSON Schema contracts, not database introspection.
@@ -12,7 +12,7 @@ argument-hint: '<feature description>'
12
12
 
13
13
  Use this skill as an execution checklist, not reference material.
14
14
 
15
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
15
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
16
16
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
17
17
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
18
18
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -16,7 +16,7 @@ installGroups: [core]
16
16
 
17
17
  Use this skill as an execution checklist, not reference material.
18
18
 
19
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
20
20
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
21
21
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
22
22
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -19,7 +19,7 @@ argument-hint: '[functions|tags|middleware|permissions] [--verbose] [--limit N]'
19
19
 
20
20
  Use this skill as an execution checklist, not reference material.
21
21
 
22
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
22
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
23
23
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
24
24
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
25
25
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -0,0 +1,207 @@
1
+ ---
2
+ name: pikku-knowledge
3
+ description: >-
4
+ Use when writing, reading, reorganising or validating a project's knowledge/ directory — the
5
+ notes that say what the app is, in the language its users use. Covers the Open Knowledge Format
6
+ note (path-as-identity markdown, YAML frontmatter, only `type` required), the sections of the
7
+ app-project profile (slices, entities, decisions, questions, wishlist) and the one question each
8
+ answers, slice status/entities/gherkin rules, the `resource:` URI scheme that ties a note to the
9
+ code it is about, the shapes that are NOT a knowledge base, and the `pikku knowledge
10
+ validate|index` commands. TRIGGER when: user asks to write down a decision, a requirement, an
11
+ entity or an open question; asks what the app does or is; asks about knowledge/, notes, slices,
12
+ or an index.md; or hands over a product brief to record. DO NOT TRIGGER when: user asks what
13
+ functions, routes, tables or permissions exist (that is `pikku meta` / `pikku info`, never a
14
+ note), or asks to write a scenario test (use pikku-scenario).
15
+ installGroups: [core]
16
+ ---
17
+
18
+ # Pikku Knowledge
19
+
20
+ The knowledge base is `knowledge/` at the repo root: markdown notes about **what the app is**, written for whoever picks the project up next — human or agent.
21
+
22
+ Not to be confused with `.knowledge/` — the dot-prefixed JSON blueprint that `pikku-software-archaeology` extracts from a legacy repo. Different directory, different format, different purpose.
23
+
24
+ ## Agent Operating Procedure
25
+
26
+ 1. **Read `knowledge/index.md` first**, then the section index for whatever you are about to touch. It is the cheapest way to learn what the app already claims about itself.
27
+ 2. Before writing a note, ask whether `pikku meta` already answers it. If it does, do not write the note — see _What never goes in a note_.
28
+ 3. Write the note in the section that answers its question. Create the section's `index.md` in the same turn you create the section.
29
+ 4. Add a `resource:` only if you can name a real id. A wrong one is worse than none.
30
+ 5. Run `pikku knowledge validate`. Fix what it reports.
31
+ 6. Run `pikku knowledge index` so each section lists what is actually in it.
32
+
33
+ ## The governing rule
34
+
35
+ **Record only what pikku cannot tell you.**
36
+
37
+ Pikku already knows every function, route, schema, table, column, queue, cron, channel and permission — `pikku meta` prints them, and the generated meta is the truth. A note that lists tables or routes is a copy that starts drifting the moment somebody edits the code, and it drifts _while looking authoritative_, which is worse than silence.
38
+
39
+ What a note is for is the part no generator can derive: what a thing means, why a rule was chosen, what it rules out, who asked for it, and what is still unanswered.
40
+
41
+ ## The note
42
+
43
+ A note is a markdown file whose **path is its identity** — moving it renames it. It carries YAML frontmatter and a body:
44
+
45
+ ```markdown
46
+ ---
47
+ type: decision
48
+ title: Revocation ends a grant
49
+ description: A revoked grant stops working immediately, everywhere.
50
+ resource: func:revokeGrant, table:grant
51
+ tags: [sharing, access]
52
+ ---
53
+
54
+ # Revocation ends a grant
55
+
56
+ When an owner revokes a grant, the person loses access on their next request — no
57
+ grace period and no scheduled cleanup.
58
+
59
+ This rules out a "revoked but valid until midnight" state, which we considered
60
+ for shared days and rejected: two people disagreeing about who can see today is
61
+ worse than one of them losing access mid-session.
62
+ ```
63
+
64
+ Frontmatter fields:
65
+
66
+ | Field | Meaning |
67
+ | ------------- | ----------------------------------------------------------------------------------------------------------------------- |
68
+ | `type` | **The only required field.** `slice`, `entity`, `decision`, `note`, `overview`. Lowercase — gates compare it literally. |
69
+ | `title` | What to call the note in a listing. Falls back to the first heading, then the filename. |
70
+ | `description` | One line, used as the note's subtitle in a section index. |
71
+ | `resource` | Comma-separated `<kind>:<id>` URIs — the code this note is about. See below. |
72
+ | `tags` | Flow list (`[a, b]`) or a `- item` block; both are read. |
73
+ | `timestamp` | When it was written, if it matters. |
74
+
75
+ `index.md` and `log.md` are **reserved**: an `index.md` maps a directory, a `log.md` is an append-only record. Neither is ever listed as a note by an index.
76
+
77
+ Plain markdown links between notes — `[revocation](../decisions/revocation-ends-a-grant.md)` — are what make the base a graph. A link to a note that does not exist yet is legal: it marks something worth writing, not an error.
78
+
79
+ ## The layout
80
+
81
+ ```
82
+ knowledge/
83
+ index.md # type: overview — the map
84
+ slices/
85
+ index.md
86
+ 01-the-daily-entry.md # type: slice
87
+ entities/
88
+ index.md
89
+ entry.md # type: entity
90
+ decisions/
91
+ index.md
92
+ revocation-ends-a-grant.md # type: decision
93
+ security/
94
+ index.md
95
+ one-account-one-person.md
96
+ questions/
97
+ index.md
98
+ who-owns-a-shared-day.md # type: note
99
+ wishlist/
100
+ index.md
101
+ export-to-a-calendar.md # type: note
102
+ ```
103
+
104
+ Each section answers exactly one question, which is what lets a reader find a note without an index of indexes:
105
+
106
+ | Section | The question it answers |
107
+ | --------------------- | ------------------------------------------------------------------ |
108
+ | `slices/` | What is one buildable piece of this app, and what proves it works? |
109
+ | `entities/` | What is this thing, in the words users use for it? |
110
+ | `decisions/` | What was chosen, and what does that rule out? |
111
+ | `decisions/security/` | Who may do what? |
112
+ | `questions/` | What has been asked and not yet answered? |
113
+ | `wishlist/` | What does somebody want that nobody has asked to be built? |
114
+
115
+ **Create a section the turn you have a note for it** — never a scaffold of empty directories, and never a section without its own `index.md`. A section index says in one line what belongs in it; that sentence is the reason the file exists, so `pikku knowledge index` writes only the note listing and leaves your prose alone.
116
+
117
+ ## Slices
118
+
119
+ A slice is the one note type that is a piece of _work_ rather than a fact, so it alone carries state and size:
120
+
121
+ ````markdown
122
+ ---
123
+ type: slice
124
+ title: The daily entry
125
+ description: An owner writes one entry per day, and sees it on the day.
126
+ status: proposed
127
+ entities: entry, day
128
+ resource: func:createEntry
129
+ ---
130
+
131
+ # The daily entry
132
+
133
+ An owner writes at most one entry per day. Writing again replaces it.
134
+
135
+ ```gherkin
136
+ Given 'owner' has no entry for today
137
+ When 'owner' writes one
138
+ Then it appears on today's day
139
+ And writing again replaces it rather than adding a second
140
+ ```
141
+ ````
142
+
143
+ - **`status`** is `proposed` → `dispatched` → `built`. Nothing else. Every gate compares it literally.
144
+ - **`entities`** lists what the slice touches, **at most three**. Past three it is not one buildable piece — split it.
145
+ - **The scenario is a fenced `gherkin` block, in the third person.** `Given 'owner' has no entry` — never `Given I have no entry`. A quoted word _means a persona_, which is what lets a reader (and a test) tell who is acting. First person hides that, so it is rejected.
146
+
147
+ ## `resource:` — tying a note to the code
148
+
149
+ `resource:` names the code a note is about, as one or more `<kind>:<id>` URIs, comma-separated.
150
+
151
+ **Every kind resolves.** That is the whole design: a kind that cannot be checked lets notes accumulate references nothing validates, and the graph rots into fiction exactly where it looks most authoritative.
152
+
153
+ | Kind | An id is | Where it resolves |
154
+ | ----------- | -------------------------------------------------- | --------------------------------------------------------------------------------- |
155
+ | `func:` | a function id | generated function meta |
156
+ | `workflow:` | a workflow name | generated workflow meta |
157
+ | `schema:` | a schema name | generated schemas |
158
+ | `http:` | a route, `method:route`, or the function behind it | generated http wirings |
159
+ | `queue:` | a queue name | generated queue wirings |
160
+ | `cron:` | a scheduled task name | generated scheduler wirings |
161
+ | `channel:` | a channel name | generated channel meta |
162
+ | `table:` | a table name | the generated db schema |
163
+ | `addon:` | `@pikku/addon-x` or bare `x` | the manifests that declare the dependency |
164
+ | `scope:` | a scope name | the `scopes:` a function gates itself with, plus the grants in `scenarios.actors` |
165
+ | `persona:` | a persona name | `scenarios.personas` in `pikku.config.json` |
166
+
167
+ Ids are case-sensitive: `createEntry` is not `createentry`.
168
+
169
+ The check **fails closed on drift and open on ignorance**. An id missing from a kind that resolved is an error — the code was renamed or deleted under the note. A kind with no generated meta at all is skipped, so a project without queues is never told its queue references are broken.
170
+
171
+ There is no kind for a service, a middleware or a component. Say it in prose instead.
172
+
173
+ ## What never goes in a note
174
+
175
+ These are all things that exist somewhere better, so a note is always the copy that drifts:
176
+
177
+ | Do not write | Because it lives in |
178
+ | ----------------------------------- | ---------------------------------------------------------- |
179
+ | a `personas/` section | `scenarios.personas` in `pikku.config.json` |
180
+ | a `scenarios/` section | the gherkin block inside the slice it belongs to |
181
+ | a `permissions/` section | a decision note under `decisions/security/` |
182
+ | a list of tables, columns or routes | `pikku meta` — the generated schema _is_ the schema |
183
+ | a changelog | `CHANGELOG.md` at the repo root |
184
+ | **secrets or credentials** | a secrets service. Never here — `knowledge/` is committed. |
185
+
186
+ And two shapes that look like a knowledge base but are not:
187
+
188
+ - **A flat `product.md` / `glossary.md` / `technology.md` at the root of `knowledge/`.** That is one long document: nothing can link into part of it, and no gate can read it. Split it into notes in the sections that answer its questions.
189
+ - **A directory tree with no notes in it.** Sections exist because there is something to put in them.
190
+
191
+ ## The commands
192
+
193
+ ```bash
194
+ pikku knowledge validate # check the base against this profile
195
+ pikku knowledge index # refresh every index.md
196
+ pikku knowledge index --check # report stale indexes without writing (CI gate)
197
+ ```
198
+
199
+ `validate` reports: notes with no `type`, a missing `knowledge/index.md`, a section with no `index.md`, notes flat at the root, sections that duplicate what the project already declares, slices with a bad or missing `status`, slices over three entities, slices with no gherkin block or a first-person one, and every `resource:` that no longer resolves. Errors fail the command; warnings do not.
200
+
201
+ `index` rewrites only the block between `<!-- pikku:knowledge-index -->` markers, creating a scaffolded `index.md` for a section that has none. It is idempotent — running it twice changes nothing.
202
+
203
+ ## Profiles built on this one
204
+
205
+ OKF permits frontmatter fields a reader does not know, and the parser ignores them rather than failing. That is the extension point: a tool layered on Pikku can add its own sections and fields on top of everything above without forking the format.
206
+
207
+ Fabric is the one that exists. It adds `decisions/design/` — rules about how the app looks and behaves — and a `design:` field on a slice pointing at the design options it was built from. Both are Fabric's to validate; `pikku knowledge validate` passes them through untouched. Everything else in this skill is the same in both.
@@ -20,7 +20,7 @@ installGroups: [core]
20
20
 
21
21
  Use this skill as an execution checklist, not reference material.
22
22
 
23
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
23
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
24
24
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
25
25
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
26
26
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -16,7 +16,7 @@ installGroups: [core]
16
16
 
17
17
  Use this skill as an execution checklist, not reference material.
18
18
 
19
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
20
20
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
21
21
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
22
22
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -13,7 +13,7 @@ description: >-
13
13
 
14
14
  Use this skill as an execution checklist, not reference material.
15
15
 
16
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
16
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
17
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
18
18
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
19
19
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -15,7 +15,7 @@ installGroups: [core]
15
15
 
16
16
  Use this skill as an execution checklist, not reference material.
17
17
 
18
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
19
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
20
20
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
21
21
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -10,7 +10,7 @@ installGroups: [core]
10
10
 
11
11
  Use this skill as an execution checklist, not reference material.
12
12
 
13
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
13
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
14
14
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
15
15
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
16
16
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -10,7 +10,7 @@ installGroups: [core]
10
10
 
11
11
  Use this skill as an execution checklist, not reference material.
12
12
 
13
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
13
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
14
14
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
15
15
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
16
16
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -10,7 +10,7 @@ installGroups: [core]
10
10
 
11
11
  Use this skill as an execution checklist, not reference material.
12
12
 
13
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
13
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
14
14
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
15
15
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
16
16
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  Use this skill as an execution checklist, not reference material.
16
16
 
17
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
17
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
18
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
19
19
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
20
20
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.
@@ -15,7 +15,7 @@ installGroups: [core]
15
15
 
16
16
  Use this skill as an execution checklist, not reference material.
17
17
 
18
- 1. Discover before editing. Prefer OpenCode tools such as `pikku-meta` when available; otherwise run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
18
+ 1. Discover before editing. Run the relevant `pikku meta ... --json` command and inspect only the focused output you need.
19
19
  2. Identify the source files that own the behavior. Do not start by reading generated output, `.pikku`, `node_modules`, vendored packages, or broad build artifacts.
20
20
  3. Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
21
21
  4. Validate with the narrowest relevant command first, then run `pikku-verify` or `pikku all` when functions, wirings, schemas, or generated clients may have changed.