@celsoft/coordinator 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +107 -0
  3. package/THIRD_PARTY_NOTICES.md +2005 -0
  4. package/agents/console.md +20 -0
  5. package/agents/free.md +110 -0
  6. package/build/0-JP6XL6LB.js +17 -0
  7. package/build/1-A52YZWNS.js +17 -0
  8. package/build/2-CLH2NM6F.js +32 -0
  9. package/build/3-4N467IB6.js +45 -0
  10. package/build/4-WL5H4LUW.js +29 -0
  11. package/build/_layout.svelte-KPUSX7LQ.js +27 -0
  12. package/build/_page.svelte-22H56UR6.js +7972 -0
  13. package/build/_page.svelte-CVWUNRQC.js +135 -0
  14. package/build/_page.svelte-LTZXBHMT.js +57 -0
  15. package/build/_server.ts-3KVBYN6P.js +20 -0
  16. package/build/_server.ts-3POPKVEM.js +47 -0
  17. package/build/_server.ts-5735T2V5.js +31 -0
  18. package/build/_server.ts-5VXGNWV2.js +38 -0
  19. package/build/_server.ts-645KP7WP.js +42 -0
  20. package/build/_server.ts-A3AA24Z2.js +28 -0
  21. package/build/_server.ts-CITUOEM6.js +58 -0
  22. package/build/_server.ts-I7HMTPOA.js +25 -0
  23. package/build/_server.ts-M5BQ4LLX.js +30 -0
  24. package/build/_server.ts-OB4O27HF.js +683 -0
  25. package/build/_server.ts-OJT7HE7M.js +15 -0
  26. package/build/_server.ts-OYGWVLZM.js +12 -0
  27. package/build/_server.ts-T75UVMQP.js +38 -0
  28. package/build/_server.ts-WYZYNHUZ.js +28 -0
  29. package/build/_server.ts-Z26EB47B.js +486 -0
  30. package/build/chunk-4CIG53L5.js +33 -0
  31. package/build/chunk-BJTJS3XY.js +338 -0
  32. package/build/chunk-F2CNWJZM.js +14 -0
  33. package/build/chunk-HGYE3UTU.js +416 -0
  34. package/build/chunk-KAYW2W7H.js +1311 -0
  35. package/build/chunk-LFP3UPCM.js +10 -0
  36. package/build/chunk-M44JEFEH.js +62 -0
  37. package/build/chunk-MC5AGLMY.js +39 -0
  38. package/build/chunk-NCZ77J5E.js +19798 -0
  39. package/build/chunk-NVNLDPUJ.js +2122 -0
  40. package/build/chunk-PDCON4KS.js +494 -0
  41. package/build/chunk-Q4OQNY5M.js +25 -0
  42. package/build/chunk-QCUOR2U5.js +75 -0
  43. package/build/chunk-R6RYZZWA.js +46 -0
  44. package/build/chunk-SOJTASZC.js +51 -0
  45. package/build/chunk-SU26PJVX.js +410 -0
  46. package/build/chunk-U5BSBG4R.js +506 -0
  47. package/build/chunk-UEKOZGRO.js +37 -0
  48. package/build/chunk-W6EFUWJ2.js +9 -0
  49. package/build/chunk-WOPREK6Q.js +117 -0
  50. package/build/chunk-WWJ3F4QS.js +127 -0
  51. package/build/chunk-ZGZJEEE3.js +1091 -0
  52. package/build/client/_app/immutable/assets/0.BGa5ZNDM.css +1 -0
  53. package/build/client/_app/immutable/chunks/BUrrLYDt.js +2 -0
  54. package/build/client/_app/immutable/chunks/BgFr_EyZ.js +4 -0
  55. package/build/client/_app/immutable/chunks/Bjy-W4x2.js +82 -0
  56. package/build/client/_app/immutable/chunks/C8qZab0y.js +56 -0
  57. package/build/client/_app/immutable/chunks/C90fLsA5.js +4 -0
  58. package/build/client/_app/immutable/chunks/CRzLMJPS.js +1 -0
  59. package/build/client/_app/immutable/chunks/DLT1iIlz.js +2 -0
  60. package/build/client/_app/immutable/chunks/pIrVVOVY.js +2 -0
  61. package/build/client/_app/immutable/entry/app.0DERehLW.js +3 -0
  62. package/build/client/_app/immutable/entry/payload.DSmR2FwN.js +2 -0
  63. package/build/client/_app/immutable/entry/start.B7srFiqh.js +3 -0
  64. package/build/client/_app/immutable/nodes/0.aD9vJoxR.js +2 -0
  65. package/build/client/_app/immutable/nodes/1.Br4FL91i.js +2 -0
  66. package/build/client/_app/immutable/nodes/2.vl6OYfu3.js +8 -0
  67. package/build/client/_app/immutable/nodes/3.VYqJOLAF.js +2 -0
  68. package/build/client/_app/immutable/nodes/4.jF9UVlFN.js +2 -0
  69. package/build/client/_app/version.json +1 -0
  70. package/build/client/apple-touch-icon.png +0 -0
  71. package/build/client/favicon.ico +0 -0
  72. package/build/client/favicon.svg +48 -0
  73. package/build/client/icon-192.png +0 -0
  74. package/build/client/icon-512.png +0 -0
  75. package/build/client/icon-maskable-512.png +0 -0
  76. package/build/client/icon.svg +44 -0
  77. package/build/client/manifest.webmanifest +15 -0
  78. package/build/error.svelte-JXZDY65F.js +51 -0
  79. package/build/handler.js +716 -0
  80. package/build/hooks.server-34IMHRKC.js +43 -0
  81. package/build/instance-NP3FJIWW.js +2967 -0
  82. package/client/client.mjs +28 -0
  83. package/client/hooks.mjs +7 -0
  84. package/client/register.mjs +5 -0
  85. package/dist/cli.js +62826 -0
  86. package/dist/port.js +36691 -0
  87. package/package.json +20 -1
  88. package/skills/agents/.claude-plugin/plugin.json +5 -0
  89. package/skills/agents/hooks/hooks.json +1 -0
  90. package/skills/agents/hooks/register.ts +57 -0
  91. package/skills/agents/skills/bus-work/SKILL.md +66 -0
  92. package/skills/agents/skills/plan/SKILL.md +98 -0
  93. package/skills/console/.claude-plugin/plugin.json +5 -0
  94. package/skills/console/hooks/hooks.json +1 -0
  95. package/skills/console/hooks/register.ts +10 -0
  96. package/skills/console/skills/bus/SKILL.md +61 -0
  97. package/skills/default/.claude-plugin/plugin.json +5 -0
  98. package/skills/default/skills/git-workflow/SKILL.md +294 -0
  99. package/skills/default/skills/git-workflow/mise-tasks/_lib.sh +107 -0
  100. package/skills/default/skills/git-workflow/mise-tasks/clone +36 -0
  101. package/skills/default/skills/git-workflow/mise-tasks/repo-list +8 -0
  102. package/skills/default/skills/git-workflow/mise-tasks/unpushed +26 -0
  103. package/skills/default/skills/git-workflow/mise-tasks/worktree-add +60 -0
  104. package/skills/default/skills/github/SKILL.md +208 -0
  105. package/skills/default/skills/github/scripts/gh-org +196 -0
  106. package/skills/default/skills/plan-page/SKILL.md +300 -0
  107. package/skills/default/skills/plan-page/assets/index.html +854 -0
  108. package/skills/default/skills/plan-page/scripts/inline +46 -0
  109. package/skills/default/skills/plan-page/scripts/stage +26 -0
  110. package/skills/default/skills/secrets/SKILL.md +134 -0
  111. package/skills/default/skills/secrets/scripts/secrets-check +87 -0
  112. package/skills/default/skills/writing-style/SKILL.md +45 -0
  113. package/skills/extra/.claude-plugin/plugin.json +5 -0
  114. package/skills/extra/skills/artifacts/SKILL.md +52 -0
  115. package/skills/extra/skills/github-actions/SKILL.md +78 -0
  116. package/skills/extra/skills/github-actions/scan +32 -0
  117. package/skills/extra/skills/markdown-review/SKILL.md +70 -0
  118. package/skills/extra/skills/markdown-review/assets/index.html +201 -0
  119. package/skills/extra/skills/markdown-review/scripts/stage +36 -0
  120. package/skills/extra/skills/mise-usage/SKILL.md +155 -0
  121. package/skills/extra/skills/plugin-authoring/SKILL.md +317 -0
  122. package/skills/extra/skills/project-conventions/SKILL.md +64 -0
  123. package/skills/extra/skills/questions/SKILL.md +156 -0
  124. package/skills/extra/skills/questions/assets/index.html +376 -0
  125. package/skills/extra/skills/questions/scripts/stage +26 -0
  126. package/skills/extra/skills/serve/SKILL.md +165 -0
  127. package/skills/extra/skills/serve/scripts/serve +268 -0
  128. package/skills/extra/skills/serve/scripts/server.py +345 -0
  129. package/skills/extra/skills/skill-dependencies/SKILL.md +65 -0
  130. package/skills/extra/skills/skill-maintenance/SKILL.md +101 -0
  131. package/skills/extra/skills/ticketing/SKILL.md +125 -0
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: skill-maintenance
3
+ description: "How to create and maintain agent skills, both project-local and shared: invoke when a workflow changes, a skill is missing or outdated, or something documented in a skill is found to be wrong."
4
+ verified: 2026-10-31
5
+ ---
6
+
7
+ # Skill Maintenance
8
+
9
+ > Scope: this skill owns an individual `SKILL.md`: its format, frontmatter, and lifecycle.
10
+ > For the structure around it (collection layout, naming, bundled scripts, local
11
+ > development, and the Claude Code plugin/marketplace variant), read **`plugin-authoring`**.
12
+
13
+ Skills are the authoritative documentation for how Claude does work in a repo. Keep them current.
14
+
15
+ ## When to act
16
+
17
+ - A workflow, command, or process changed → update the relevant skill
18
+ - A skill is wrong or misleading → fix it immediately, then continue
19
+ - No skill covers something Claude just did or learned → create one
20
+ - A tool, dependency, or task was added or removed → update the relevant skill
21
+
22
+ Never leave a known-wrong skill in place. Fix it in the same session it's discovered, and every fix ends with [After every change](#after-every-change).
23
+
24
+ ## Where skills live
25
+
26
+ Two kinds, and the difference decides what you must do after editing:
27
+
28
+ - **Project-local:** `.claude/skills/<name>/SKILL.md` in the repo being worked on. Loads from the working copy.
29
+ - **Shared:** a skill in a collection or plugin repo of its own, installed into `~/.claude/skills`, a plugin, or wherever that collection says. It loads from where it was installed, not from the copy you edit.
30
+
31
+ Editing a shared skill changes nothing until the change reaches where it is installed. See [After every change](#after-every-change): that step is mandatory.
32
+
33
+ ## Skill file format
34
+
35
+ Each skill is a **directory** containing a `SKILL.md`:
36
+
37
+ ```
38
+ .claude/skills/<name>/SKILL.md
39
+ ```
40
+
41
+ The directory name is the skill name. A flat `<name>.md` is not picked up: it must be `<name>/SKILL.md`.
42
+
43
+ ```markdown
44
+ ---
45
+ name: kebab-case-name
46
+ description: One-line summary: what it does and when to use it
47
+ verified: YYYY-MM-DD
48
+ ---
49
+
50
+ # Skill Title
51
+
52
+ ...content...
53
+ ```
54
+
55
+ Set `verified:` to today's date whenever you create or update a skill.
56
+
57
+ ### Frontmatter must be strict YAML
58
+
59
+ Claude Code parses frontmatter leniently. Every other agent uses a strict YAML parser and
60
+ **silently skips a skill it cannot parse:** no error, the skill simply never appears.
61
+
62
+ **Quote the description whenever it contains `: ` (colon-space), `#`, or starts with
63
+ `"`, `'`, `[`, or `{`.** A plain scalar like this is invalid and will be dropped:
64
+
65
+ ```yaml
66
+ description: Owns every decision: the entry point, the approval flow # BROKEN
67
+ description: "Owns every decision: the entry point, the approval flow" # correct
68
+ ```
69
+
70
+ Verify before committing: run the collection's own tests where it has them, and check every
71
+ `SKILL.md` strictly (frontmatter present, `name` equal to its directory, and no plain value a
72
+ strict YAML reader would reject).
73
+
74
+ ### Optional frontmatter
75
+
76
+ - `disable-model-invocation: true`: keep the skill invocable via `/<name>` but prevent Claude from auto-loading it. Use for manual-only skills.
77
+ - `allowed-tools: Bash(...)`: grant specific tool permissions while this skill is active, scoped to the skill's lifetime only.
78
+
79
+ ## Writing good skills
80
+
81
+ - Write direct instructions, not background or commentary
82
+ - Document the *why* only when it's non-obvious
83
+ - Cover edge cases and failure modes, not just the happy path
84
+ - A skill that needs a task describes *how to call it*: the task itself is the implementation
85
+
86
+ ## After every change
87
+
88
+ Any edit to a shared skill (new skill, reworded description, one-word typo fix) is not live until it is released and installed. Do all three steps, every time, without being asked:
89
+
90
+ 1. **Commit it.** Never end a skill edit with the work sitting uncommitted:
91
+ - Stage the edited skill files: specific paths only, never `git add .`.
92
+ - Follow the repo's `CLAUDE.md` and the `git-workflow` skill for the rest: conventional message, committed without asking.
93
+ - Commit even a one-line fix, and even if the user didn't mention git.
94
+
95
+ 2. **Install it.** Once the change is released the way its collection releases (merged to its default branch, a new plugin version), update the installed copy the way it was installed (`npx skills update`, `claude plugin update`, the collection's own install), never by hand-copying into `~/.claude/skills` or `~/.agents/skills`.
96
+
97
+ 3. **Tell the user to restart Claude Code.** Say it explicitly as the last thing in the response, e.g. *"Restart Claude Code to load the change."* Do not restart it yourself, and do not claim the change is in effect before the restart: the running session still holds the old copy.
98
+
99
+ Order matters: commit as soon as the edits are written, install next, restart reminder last.
100
+
101
+ Project-local skills in `.claude/skills/` need no install (they load from the working copy at session start), but they still get a commit and a restart reminder.
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: ticketing
3
+ verified: 2026-10-02
4
+ description: "MUST READ whenever the user asks to log, file, open, or create a bug, feature request, issue, or ticket (e.g. \"let's log a bug\", \"make a feature request\", \"file an issue for that\", \"ticket this\"), and before committing or opening a pull request for work that an issue tracks, so the tracker links and closes it. Default tracker is GitHub Issues on the current repo; a repo can override it (e.g. Jira) in its CLAUDE.md or AGENTS.md."
5
+ ---
6
+
7
+ # Ticketing
8
+
9
+ This skill owns the issue lifecycle: filing a ticket, then tying every commit and pull
10
+ request for it back to the ticket so the tracker links the work and closes the ticket.
11
+
12
+ When the user asks to log a bug or feature, create the ticket straight away. Do not ask
13
+ where it goes, and do not ask for approval of the draft: the user wants it filed, not
14
+ discussed.
15
+
16
+ ## Pick the tracker
17
+
18
+ 1. **Explicit in the request.** "Log it in Jira", "file it on `org/other-repo`": use that.
19
+ 2. **Repo override.** Read the current repo's `CLAUDE.md` and `AGENTS.md` for an
20
+ `## Issue tracking` section (format below). Use what it names.
21
+ 3. **Default: GitHub Issues on the current repo**, parsed from the `origin` remote.
22
+
23
+ If none of these resolve (not in a git repo, `origin` is not on GitHub, or the named tracker
24
+ is unreachable), stop and ask. Never fall back to a different tracker on your own.
25
+
26
+ ### Override format
27
+
28
+ A repo that does not use GitHub Issues for its own repo declares it once:
29
+
30
+ ```markdown
31
+ ## Issue tracking
32
+
33
+ - **Tracker:** Jira, project `ABC`
34
+ ```
35
+
36
+ Other valid values:
37
+
38
+ ```markdown
39
+ - **Tracker:** GitHub, repo `org/other-repo`
40
+ - **Tracker:** Jira, project `ABC`, bug type `Defect`, feature type `Task`
41
+ ```
42
+
43
+ The first files on a different GitHub repo. The second is for a Jira project whose issue
44
+ type names differ from `Bug` / `Story`.
45
+
46
+ When the user says "we use Jira for this repo" (or similar), add this section to the repo's
47
+ `CLAUDE.md` so every later session knows.
48
+
49
+ ## Write the ticket
50
+
51
+ Draw the content from the conversation: what broke, what was being built, what was said.
52
+ Follow the `writing-style` skill. Ask only if there is genuinely nothing to go on.
53
+
54
+ - **Title.** A plain statement of the problem or the capability, under about 70 characters.
55
+ - **Bug body.** What happens, what should happen, steps to reproduce, and any error text
56
+ verbatim in a code block.
57
+ - **Feature body.** The problem or need, then the proposed behavior.
58
+ - **Code references.** Link files with repo-relative paths and line numbers where known.
59
+
60
+ Leave out sections you have nothing for rather than filling them with placeholders.
61
+
62
+ ## File it on GitHub
63
+
64
+ Route every `gh` call through the `github` skill's `scripts/gh-org` wrapper, so
65
+ it runs as the account with access to the org.
66
+
67
+ 1. **Label.** Check which of the repo's labels exist, and use `bug` or `enhancement` only
68
+ if present. `gh issue create --label` fails on an unknown label; never create labels.
69
+
70
+ ```bash
71
+ <github-skill>/scripts/gh-org run -- gh label list --json name --jq '.[].name'
72
+ ```
73
+
74
+ 2. **Create.** Pass the body through a file so quoting cannot mangle it:
75
+
76
+ ```bash
77
+ <github-skill>/scripts/gh-org run -- gh issue create \
78
+ --title "<title>" --body-file <scratch-file> [--label bug]
79
+ ```
80
+
81
+ Add `--repo <org>/<repo>` (and the org before `--`) when filing somewhere other than the
82
+ current repo.
83
+
84
+ 3. **Report** the issue URL `gh` prints, and the account `gh-org` says it ran as.
85
+
86
+ ## File it on Jira
87
+
88
+ Use the Atlassian connector (claude.ai's Atlassian MCP connector, enabled for the account).
89
+
90
+ 1. `createJiraIssue` with the project key from the override, issue type `Bug` for bugs and
91
+ `Story` for features unless the override names others.
92
+ 2. If the issue type is rejected, read the project's types with
93
+ `getJiraProjectIssueTypesMetadata`, pick the matching one, and add it to the override
94
+ so the next ticket gets it right first time.
95
+ 3. Report the issue key and its URL.
96
+
97
+ ## Link the work to the issue
98
+
99
+ Every commit and pull request for tracked work names its issue, so the issue's timeline
100
+ shows the work and the issue closes itself when the work lands. Never close an issue by
101
+ hand when a commit or PR can close it.
102
+
103
+ ### On GitHub
104
+
105
+ - **Which issue.** The one the user named, the one filed or discussed this session, or
106
+ `gh issue list` when the work clearly matches an open one. Unsure: ask.
107
+ - **Partial work.** End the commit body with `Refs #N`; GitHub links the commit and leaves
108
+ the issue open.
109
+ - **Finishing work.** The commit that completes the issue ends its body with `Closes #N`
110
+ (`Fixes #N` for a bug); GitHub closes it when the commit reaches the default branch.
111
+ - **One line per issue.** A commit finishing two issues carries `Closes #12` and
112
+ `Closes #13` on separate lines; `Closes #12, #13` closes only the first.
113
+ - **Pull requests.** Put `Closes #N` in the PR description too; the issue closes when the
114
+ PR merges into the default branch, and a PR into any other branch closes nothing.
115
+ - **Another repo.** Write `org/repo#N`; a bare `#N` always means the current repo.
116
+ - **Subject line.** Keep the reference out of it; the subject says what changed.
117
+ - **Missed references.** Work already landed with no reference: close the issue with a
118
+ comment listing the commits that delivered it, short hash and subject each.
119
+
120
+ ### On Jira
121
+
122
+ - **Key in the message.** Put the issue key, e.g. `ABC-123`, on the last line of the commit
123
+ body and in the PR title; the Jira GitHub integration links commits and PRs by key.
124
+ - **Closing.** A key alone never moves the issue; transition it with
125
+ `transitionJiraIssue` once the work lands on the default branch.