guild-cli 0.26.23__tar.gz → 0.27.1__tar.gz
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.
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/version-bump/SKILL.md +14 -7
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/version-bump/scripts/bump.py +156 -63
- {guild_cli-0.26.23 → guild_cli-0.27.1}/CHANGELOG.md +26 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/PKG-INFO +1 -1
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/skill-sources.md +17 -17
- {guild_cli-0.26.23 → guild_cli-0.27.1}/pyproject.toml +1 -1
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_version_bump_script.py +122 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/uv.lock +1 -1
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/agent-config/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/agent-config/data/backend-fingerprints.yaml +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/agent-config/scripts/show.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/ask-colleague/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/ask-colleague/prompts/review.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/ask-colleague/prompts/write.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/challenge/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/challenge/scripts/challenge.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/cicd/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/scripts/templates/skill-new-brief.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/deviate/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/deviate/scripts/deviate.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/guild/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/guild/scripts/configure-repo.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/guild/scripts/create.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/guild/scripts/overview.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/onboard/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/onboard/scripts/onboard.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/outsource/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/outsource/prompts/explore.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/outsource/prompts/review.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/outsource/prompts/write.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/outsource/scripts/outsource.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/pypi-maintainer/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/pypi-maintainer/scripts/switch-source.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/recall/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/recall/scripts/recall.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/remember/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/remember/scripts/remember.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/run-tests/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/scope/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/scope/scripts/scope.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/sonarclaude/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/spec-to-plan/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/summarize-delivery/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/summarize-delivery/scripts/summarize-delivery.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/teach/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/teach/scripts/teach.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/think/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/think/scripts/think.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/validate-delivery/SKILL.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills/validate-delivery/scripts/validate-delivery.sh +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.claude/skills.local.yaml.example +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/current +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/current_plan +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/deliveries/template-supports-four-harnesses.json +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/frames/guildmaster-ships-teach-and-onboard-two-agent-firs.json +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/frames/template-supports-four-harnesses.json +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/plans/guildmaster-ships-teach-and-onboard-two-agent-firs.json +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.devague/plans/template-supports-four-harnesses.json +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.eidetic/memory/culture-agent-template__public.jsonl +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.eidetic/memory/default__public.jsonl +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.eidetic/memory/guildmaster__public.jsonl +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.flake8 +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.github/workflows/publish.yml +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.github/workflows/tests.yml +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.gitignore +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/.markdownlint-cli2.yaml +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/AGENTS.override.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/CLAUDE.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/LICENSE +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/QWEN.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/README.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/culture.yaml +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/cutover.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/deliveries/2026-09-05-template-supports-four-harnesses.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/onboarding/reachy-mini-mcp.json +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/plans/2026-05-24-guildmaster-ships-teach-and-onboard-two-agent-firs.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/plans/2026-09-05-template-supports-four-harnesses-split.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/plans/2026-09-05-template-supports-four-harnesses.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/specs/2026-05-24-guildmaster-ships-teach-and-onboard-two-agent-firs.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/docs/specs/2026-09-05-template-supports-four-harnesses.md +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/__init__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/__main__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/__init__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/__init__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/_broadcast.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/_provision_template.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/create.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/explain.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/harness.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/learn.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/onboard.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/overview.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/show.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/teach.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_commands/whoami.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_errors.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_output.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/cli/_repo.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/scaffold/__init__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/scaffold/harness.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/scaffold/harness_use.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/scaffold/instantiate.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/skills/__init__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/skills/identity.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/skills/ledger.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/skills/render.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/guild/skills/sources.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/sonar-project.properties +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/__init__.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_broadcast_post.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_create.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_explain.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_harness.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_learn.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_onboard.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_overview.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_show.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_teach.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_cli_whoami.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_configure_repo_sonar.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_create_gate.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_scaffold_harness.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_scaffold_harness_use.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_scaffold_instantiate.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_skills_convention.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_skills_identity.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_skills_ledger.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_skills_render.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_skills_sources.py +0 -0
- {guild_cli-0.26.23 → guild_cli-0.27.1}/tests/test_version_fallback.py +0 -0
|
@@ -45,12 +45,17 @@ python3 .claude/skills/version-bump/scripts/bump.py show
|
|
|
45
45
|
## Changelog JSON Format
|
|
46
46
|
|
|
47
47
|
Pass via stdin. All fields are optional — only non-empty sections are rendered.
|
|
48
|
+
The only keys are `added`, `changed` and `fixed`, each a list of strings.
|
|
48
49
|
|
|
49
|
-
Stdin is read until it closes
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
Stdin is read until it closes. Any pause longer than `BUMP_STDIN_IDLE_SECONDS`
|
|
51
|
+
(default 5), **including before the first byte**, stops the bump with an
|
|
52
|
+
error; raise it for a slow producer (an LLM call, a cold `git log`).
|
|
53
|
+
`--no-stdin` (or `BUMP_NO_STDIN=1`) skips stdin and writes the empty stub.
|
|
54
|
+
|
|
55
|
+
Invalid JSON, an unknown key (e.g. `removed`), a value that isn't a list of
|
|
56
|
+
strings, or bytes that don't decode are errors too, never a silent empty
|
|
57
|
+
stub. Every check runs before any file is written, so a failed bump changes
|
|
58
|
+
nothing; fix the input and run it again.
|
|
54
59
|
|
|
55
60
|
```json
|
|
56
61
|
{
|
|
@@ -68,8 +73,10 @@ stub.
|
|
|
68
73
|
- `CHANGELOG.md` — inserts a new `## [x.y.z] - YYYY-MM-DD` entry above the
|
|
69
74
|
first `## [` release heading (headings inside fenced code blocks don't
|
|
70
75
|
count). A leading `## [Unreleased]` section stays on top, untouched; its
|
|
71
|
-
content is never moved into the release for you. A CHANGELOG with no
|
|
72
|
-
heading yet gets the entry
|
|
76
|
+
content is never moved into the release for you. A CHANGELOG with no `##`
|
|
77
|
+
heading yet gets the entry at the end, or after an Unreleased-only section.
|
|
78
|
+
One whose `##` headings aren't `## [...]` release headings (e.g. `## 1.2.3`)
|
|
79
|
+
stops the bump with an error.
|
|
73
80
|
|
|
74
81
|
The script does the rest. Pick a bump type from the diff (patch for fixes,
|
|
75
82
|
minor for new features, major for breaking changes), summarize the diff into
|
|
@@ -21,22 +21,28 @@ Changelog entries are passed via stdin as a JSON object:
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
If stdin is a terminal or empty, or --no-stdin (or BUMP_NO_STDIN=1) is given,
|
|
24
|
-
an empty stub is inserted.
|
|
25
|
-
|
|
26
|
-
an error
|
|
24
|
+
an empty stub is inserted. Otherwise stdin is read until it closes. Any pause
|
|
25
|
+
longer than BUMP_STDIN_IDLE_SECONDS (default 5), including before the first
|
|
26
|
+
byte, stops the bump with an error; raise it for a slow producer. Stdin that
|
|
27
|
+
isn't valid JSON in the shape above (an object whose keys are added / changed /
|
|
28
|
+
fixed, each a list of strings) is an error too. Every check runs before any
|
|
29
|
+
file is written, so a failed bump changes nothing.
|
|
27
30
|
|
|
28
31
|
The new section goes above the first ``## [`` release heading, ignoring
|
|
29
32
|
headings inside fenced code blocks. A leading ``## [Unreleased]`` section stays
|
|
30
|
-
on top, untouched
|
|
31
|
-
after
|
|
33
|
+
on top, untouched. A CHANGELOG with no ``##`` heading yet gets the section at
|
|
34
|
+
the end, or after an Unreleased-only section; one whose ``##`` headings aren't
|
|
35
|
+
``## [...]`` release headings (e.g. ``## 1.2.3``) is an error.
|
|
32
36
|
"""
|
|
33
37
|
|
|
38
|
+
import argparse
|
|
34
39
|
import json
|
|
35
40
|
import math
|
|
36
41
|
import os
|
|
42
|
+
import queue
|
|
37
43
|
import re
|
|
38
|
-
import select
|
|
39
44
|
import sys
|
|
45
|
+
import threading
|
|
40
46
|
from datetime import date
|
|
41
47
|
from pathlib import Path
|
|
42
48
|
|
|
@@ -91,6 +97,7 @@ def write_version(path: Path, old: str, new: str) -> None:
|
|
|
91
97
|
|
|
92
98
|
|
|
93
99
|
STDIN_IDLE_SECONDS_DEFAULT = 5.0
|
|
100
|
+
SECTIONS = ("added", "changed", "fixed")
|
|
94
101
|
|
|
95
102
|
|
|
96
103
|
def _env_flag(name: str) -> bool:
|
|
@@ -114,21 +121,85 @@ def _stdin_idle_seconds() -> float:
|
|
|
114
121
|
return value
|
|
115
122
|
|
|
116
123
|
|
|
117
|
-
def
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
124
|
+
def _fail(message: str) -> None:
|
|
125
|
+
print(f"ERROR: {message}; nothing was changed.", file=sys.stderr)
|
|
126
|
+
sys.exit(1)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def _stdin_encoding() -> str:
|
|
130
|
+
return getattr(sys.stdin, "encoding", None) or "utf-8"
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def _pump_stdin(out: queue.Queue) -> None:
|
|
134
|
+
"""Thread body: put stdin's chunks (b"" at EOF) or the read error on ``out``.
|
|
135
|
+
|
|
136
|
+
Reads the raw fd with os.read, not the buffered sys.stdin, so a thread
|
|
137
|
+
still blocked in a read at exit can't hold the stdin buffer's lock during
|
|
138
|
+
interpreter shutdown.
|
|
139
|
+
"""
|
|
140
|
+
try:
|
|
141
|
+
fd = sys.stdin.fileno()
|
|
142
|
+
except (OSError, ValueError): # a text-only stdin, e.g. io.StringIO
|
|
143
|
+
encoding = _stdin_encoding()
|
|
144
|
+
|
|
145
|
+
def read() -> bytes:
|
|
146
|
+
return sys.stdin.read(65536).encode(encoding)
|
|
147
|
+
|
|
148
|
+
else:
|
|
149
|
+
|
|
150
|
+
def read() -> bytes:
|
|
151
|
+
return os.read(fd, 65536)
|
|
152
|
+
|
|
153
|
+
try:
|
|
154
|
+
while True:
|
|
155
|
+
chunk = read()
|
|
156
|
+
out.put(chunk)
|
|
157
|
+
if not chunk:
|
|
158
|
+
return
|
|
159
|
+
except (OSError, ValueError) as exc:
|
|
160
|
+
out.put(exc)
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def _read_stdin_until_eof(idle: float) -> bytes | None:
|
|
164
|
+
"""Read stdin to EOF; None if no new input arrives within ``idle`` s."""
|
|
165
|
+
chunks: queue.Queue = queue.Queue()
|
|
166
|
+
threading.Thread(target=_pump_stdin, args=(chunks,), daemon=True).start()
|
|
167
|
+
data = []
|
|
121
168
|
while True:
|
|
122
169
|
try:
|
|
123
|
-
|
|
124
|
-
except
|
|
125
|
-
return sys.stdin.read() # select() can't poll this stdin (e.g. Windows): read as before
|
|
126
|
-
if not ready:
|
|
170
|
+
chunk = chunks.get(timeout=idle)
|
|
171
|
+
except queue.Empty:
|
|
127
172
|
return None
|
|
128
|
-
|
|
173
|
+
if isinstance(chunk, Exception):
|
|
174
|
+
_fail(f"could not read stdin ({chunk})")
|
|
129
175
|
if not chunk:
|
|
130
|
-
return b"".join(
|
|
131
|
-
|
|
176
|
+
return b"".join(data)
|
|
177
|
+
data.append(chunk)
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
def _parse_entries(raw: bytes) -> dict:
|
|
181
|
+
"""Decode and validate changelog JSON; an error rather than a dropped entry."""
|
|
182
|
+
try:
|
|
183
|
+
text = raw.decode(_stdin_encoding()).strip()
|
|
184
|
+
except (UnicodeDecodeError, LookupError) as exc:
|
|
185
|
+
_fail(f"could not decode stdin as {_stdin_encoding()} ({exc})")
|
|
186
|
+
if not text:
|
|
187
|
+
return {}
|
|
188
|
+
try:
|
|
189
|
+
entries = json.loads(text)
|
|
190
|
+
except json.JSONDecodeError as exc:
|
|
191
|
+
_fail(f"stdin is not valid changelog JSON ({exc})")
|
|
192
|
+
if not isinstance(entries, dict):
|
|
193
|
+
_fail('changelog JSON must be an object like {"fixed": ["..."]}')
|
|
194
|
+
unknown = sorted(set(entries) - set(SECTIONS))
|
|
195
|
+
if unknown:
|
|
196
|
+
_fail(
|
|
197
|
+
f"unknown changelog key(s) {', '.join(map(repr, unknown))}; use {', '.join(SECTIONS)}"
|
|
198
|
+
)
|
|
199
|
+
for key, items in entries.items():
|
|
200
|
+
if not isinstance(items, list) or not all(isinstance(i, str) for i in items):
|
|
201
|
+
_fail(f"changelog key {key!r} must be a list of strings")
|
|
202
|
+
return entries
|
|
132
203
|
|
|
133
204
|
|
|
134
205
|
def read_changelog_entries(no_stdin: bool = False) -> dict:
|
|
@@ -138,23 +209,13 @@ def read_changelog_entries(no_stdin: bool = False) -> dict:
|
|
|
138
209
|
idle = _stdin_idle_seconds()
|
|
139
210
|
raw = _read_stdin_until_eof(idle)
|
|
140
211
|
if raw is None:
|
|
141
|
-
|
|
142
|
-
f"
|
|
143
|
-
"
|
|
144
|
-
"--no-stdin (or set BUMP_NO_STDIN=1) for an
|
|
145
|
-
|
|
146
|
-
)
|
|
147
|
-
sys.exit(1)
|
|
148
|
-
raw = raw.strip()
|
|
149
|
-
if not raw:
|
|
150
|
-
return {}
|
|
151
|
-
try:
|
|
152
|
-
return json.loads(raw)
|
|
153
|
-
except (json.JSONDecodeError, ValueError):
|
|
154
|
-
print(
|
|
155
|
-
"WARNING: could not parse changelog JSON from stdin, using empty stub", file=sys.stderr
|
|
212
|
+
_fail(
|
|
213
|
+
f"stdin stayed open with no input for {idle:g}s and never closed. Pipe the "
|
|
214
|
+
"changelog JSON (echo '{...}' | bump.py patch), raise BUMP_STDIN_IDLE_SECONDS "
|
|
215
|
+
"for a slow producer, or pass --no-stdin (or set BUMP_NO_STDIN=1) for an "
|
|
216
|
+
"empty stub"
|
|
156
217
|
)
|
|
157
|
-
|
|
218
|
+
return _parse_entries(raw)
|
|
158
219
|
|
|
159
220
|
|
|
160
221
|
def format_changelog_section(new: str, entries: dict) -> str:
|
|
@@ -167,35 +228,50 @@ def format_changelog_section(new: str, entries: dict) -> str:
|
|
|
167
228
|
today = date.today().isoformat()
|
|
168
229
|
chunks = [f"## [{new}] - {today}\n"]
|
|
169
230
|
|
|
170
|
-
for section in
|
|
231
|
+
for section in SECTIONS:
|
|
171
232
|
items = entries.get(section, [])
|
|
172
233
|
if items:
|
|
173
234
|
chunks.append(f"\n### {section.capitalize()}\n\n")
|
|
174
235
|
chunks.extend(f"- {item}\n" for item in items)
|
|
175
236
|
|
|
176
237
|
# If no entries at all, emit empty section stubs.
|
|
177
|
-
if not any(entries.get(s) for s in
|
|
238
|
+
if not any(entries.get(s) for s in SECTIONS):
|
|
178
239
|
chunks.append("\n### Added\n\n### Changed\n\n### Fixed\n")
|
|
179
240
|
|
|
180
241
|
chunks.append("\n") # blank line before the next existing entry
|
|
181
242
|
return "".join(chunks)
|
|
182
243
|
|
|
183
244
|
|
|
245
|
+
_FENCE = re.compile(r"^ {0,3}(`{3,}|~{3,})(.*)$")
|
|
246
|
+
|
|
247
|
+
|
|
184
248
|
def _section_headings(lines: list[str]) -> list[tuple[int, str]]:
|
|
185
|
-
"""``## `` headings outside fenced code blocks, as (line index, line).
|
|
186
|
-
|
|
249
|
+
"""``## `` headings outside fenced code blocks, as (line index, line).
|
|
250
|
+
|
|
251
|
+
A fence opens with 3+ backticks or tildes (a backtick fence's info string
|
|
252
|
+
can't contain a backtick, so ```` ```x``` text ```` is inline code, not a
|
|
253
|
+
fence) and closes only on a line of the same character, at least as long,
|
|
254
|
+
with nothing after it.
|
|
255
|
+
"""
|
|
256
|
+
headings, fence = [], None
|
|
187
257
|
for i, line in enumerate(lines):
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
258
|
+
match = _FENCE.match(line.rstrip("\r\n"))
|
|
259
|
+
if fence:
|
|
260
|
+
marker, info = match.groups() if match else ("", "x")
|
|
261
|
+
if marker[:1] == fence[0] and len(marker) >= len(fence) and not info.strip():
|
|
262
|
+
fence = None
|
|
263
|
+
elif match and not (match.group(1)[0] == "`" and "`" in match.group(2)):
|
|
264
|
+
fence = match.group(1)
|
|
265
|
+
elif line.startswith("## "):
|
|
191
266
|
headings.append((i, line))
|
|
192
267
|
return headings
|
|
193
268
|
|
|
194
269
|
|
|
195
|
-
def _insertion_index(lines: list[str]) -> int:
|
|
270
|
+
def _insertion_index(lines: list[str]) -> int | None:
|
|
196
271
|
"""Line index for the new section: above the first ``## [`` release heading
|
|
197
272
|
that isn't Unreleased, so a leading Unreleased section stays on top; after
|
|
198
|
-
an Unreleased-only section, or at the end of a file with
|
|
273
|
+
an Unreleased-only section, or at the end of a file with no ``##`` heading.
|
|
274
|
+
None for ``##`` headings this script doesn't recognise (e.g. ``## 1.2.3``)."""
|
|
199
275
|
headings = _section_headings(lines)
|
|
200
276
|
unreleased = re.compile(r"^## \[Unreleased\]", re.IGNORECASE)
|
|
201
277
|
releases = [i for i, line in headings if line.startswith("## [") and not unreleased.match(line)]
|
|
@@ -204,46 +280,60 @@ def _insertion_index(lines: list[str]) -> int:
|
|
|
204
280
|
after = [i for i, line in headings if unreleased.match(line)]
|
|
205
281
|
if after:
|
|
206
282
|
return next((i for i, _ in headings if i > after[0]), len(lines))
|
|
207
|
-
return len(lines)
|
|
283
|
+
return None if headings else len(lines)
|
|
208
284
|
|
|
209
285
|
|
|
210
|
-
def
|
|
211
|
-
"""
|
|
286
|
+
def plan_changelog(project_root: Path, new: str, entries: dict) -> tuple[Path, str] | None:
|
|
287
|
+
"""The CHANGELOG path and its new text, without writing; None if there is none."""
|
|
212
288
|
changelog = project_root / "CHANGELOG.md"
|
|
213
289
|
if not changelog.exists():
|
|
214
|
-
|
|
215
|
-
return
|
|
216
|
-
|
|
290
|
+
return None
|
|
217
291
|
lines = changelog.read_text().splitlines(keepends=True)
|
|
218
292
|
idx = _insertion_index(lines)
|
|
293
|
+
if idx is None:
|
|
294
|
+
_fail(
|
|
295
|
+
"CHANGELOG.md has ## headings but no '## [x.y.z]' release heading to insert "
|
|
296
|
+
"above (Keep a Changelog format)"
|
|
297
|
+
)
|
|
219
298
|
before, after = "".join(lines[:idx]), "".join(lines[idx:])
|
|
220
299
|
new_entry = format_changelog_section(new, entries)
|
|
221
300
|
if not after: # appending at the end of the file
|
|
222
301
|
before = before.rstrip("\n") + "\n\n" if before.strip() else ""
|
|
223
302
|
new_entry = new_entry.rstrip("\n") + "\n"
|
|
224
|
-
changelog
|
|
225
|
-
|
|
303
|
+
return changelog, before + new_entry + after
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
def _parse_args(argv: list[str]) -> argparse.Namespace:
|
|
307
|
+
parser = argparse.ArgumentParser(
|
|
308
|
+
prog="bump.py",
|
|
309
|
+
description=__doc__,
|
|
310
|
+
allow_abbrev=False,
|
|
311
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
312
|
+
)
|
|
313
|
+
parser.add_argument("part", type=str.lower, choices=("major", "minor", "patch", "show"))
|
|
314
|
+
parser.add_argument(
|
|
315
|
+
"--no-stdin", action="store_true", help="don't read stdin; insert the empty stub"
|
|
316
|
+
)
|
|
317
|
+
if not argv:
|
|
318
|
+
parser.print_help()
|
|
319
|
+
sys.exit(0)
|
|
320
|
+
return parser.parse_args(argv)
|
|
226
321
|
|
|
227
322
|
|
|
228
323
|
def main():
|
|
229
|
-
args =
|
|
230
|
-
no_stdin = len(args) < len(sys.argv) - 1 or _env_flag("BUMP_NO_STDIN")
|
|
231
|
-
if not args or args[0] in ("-h", "--help"):
|
|
232
|
-
print(__doc__.strip())
|
|
233
|
-
sys.exit(0)
|
|
234
|
-
|
|
235
|
-
part = args[0].lower()
|
|
324
|
+
args = _parse_args(sys.argv[1:])
|
|
236
325
|
path = find_pyproject()
|
|
237
326
|
current = read_version(path)
|
|
238
327
|
|
|
239
|
-
if part == "show":
|
|
328
|
+
if args.part == "show":
|
|
240
329
|
print(current)
|
|
241
330
|
sys.exit(0)
|
|
242
331
|
|
|
243
|
-
#
|
|
244
|
-
|
|
332
|
+
# Every check runs before any write, so a failed bump changes nothing.
|
|
333
|
+
new = bump(current, args.part)
|
|
334
|
+
entries = read_changelog_entries(args.no_stdin or _env_flag("BUMP_NO_STDIN"))
|
|
335
|
+
changelog = plan_changelog(path.parent, new, entries)
|
|
245
336
|
|
|
246
|
-
new = bump(current, part)
|
|
247
337
|
write_version(path, current, new)
|
|
248
338
|
|
|
249
339
|
# Also update __init__.py if it has __version__
|
|
@@ -262,8 +352,11 @@ def main():
|
|
|
262
352
|
)
|
|
263
353
|
print(f"Updated {init.relative_to(path.parent)}")
|
|
264
354
|
|
|
265
|
-
|
|
266
|
-
|
|
355
|
+
if changelog is None:
|
|
356
|
+
print("No CHANGELOG.md found — skipping")
|
|
357
|
+
else:
|
|
358
|
+
changelog[0].write_text(changelog[1])
|
|
359
|
+
print(f"Updated CHANGELOG.md with [{new}]")
|
|
267
360
|
|
|
268
361
|
print(f"{current} -> {new}")
|
|
269
362
|
|
|
@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/). This project
|
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.27.1] - 2026-11-08
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Registered `nfc-cli` as a downstream consumer in `docs/skill-sources.md` for
|
|
13
|
+
the ledgered skills its clone vendors. `agentculture/nfc-cli` was provisioned
|
|
14
|
+
**public** with `guild create --agent agentculture/nfc-cli --public` as a
|
|
15
|
+
plain rename: command `nfc-cli`, import package `nfc_cli`, PyPI distribution
|
|
16
|
+
`nfc-cli`. It controls NFC reader-writers over USB. The #122 black collapse
|
|
17
|
+
hit the genesis gate, so black, the remaining gate, the genesis commit,
|
|
18
|
+
configure-repo and ledger registration were finished by hand.
|
|
19
|
+
|
|
20
|
+
## [0.27.0] - 2026-10-30
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- `version-bump`: every check runs before any file is written, so a failed bump changes nothing. That covers the bump type, stdin, the changelog JSON and where the new CHANGELOG section goes. A mistyped bump type now fails at once with argparse's "invalid choice" instead of first waiting on stdin, and unknown options such as `--nostdin` or abbreviations such as `--no` are rejected.
|
|
25
|
+
- `version-bump`: invalid changelog JSON, a non-object, an unknown key (e.g. `removed`), a value that isn't a list of strings, and stdin bytes that don't decode now stop the bump with an error instead of a warning plus an empty stub, so entries are never dropped silently.
|
|
26
|
+
- `version-bump`: SKILL.md now says plainly that a pause longer than `BUMP_STDIN_IDLE_SECONDS`, including before the first byte, is an error, and to raise it for a slow producer.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- `version-bump`: fenced code blocks are recognised properly. A line like ```` ```bash``` one-liner ```` no longer opens a fence, a different or shorter fence marker no longer closes one, and the new section can no longer end up appended below the oldest release (regression in 0.26.23).
|
|
31
|
+
- `version-bump`: a CHANGELOG whose `##` headings aren't `## [...]` release headings (e.g. `## 1.2.3`) stops the bump with an error before `pyproject.toml` is touched. 0.26.23 appended the section at the end of the file; before that, the script warned but still bumped `pyproject.toml`.
|
|
32
|
+
- `version-bump`: stdin is read by a background thread with the same idle timeout instead of `select()`, so the no-hang behaviour also holds on Windows and for a text-only stdin such as `io.StringIO`, which used to crash on `fileno()`.
|
|
33
|
+
|
|
8
34
|
## [0.26.23] - 2026-10-30
|
|
9
35
|
|
|
10
36
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: guild-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.27.1
|
|
4
4
|
Summary: guildmaster — an agent and CLI that manages skills for the AgentCulture mesh.
|
|
5
5
|
Project-URL: Homepage, https://github.com/agentculture/guildmaster
|
|
6
6
|
Project-URL: Issues, https://github.com/agentculture/guildmaster/issues
|
|
@@ -41,14 +41,14 @@ current by `guild overview --scope mesh`.
|
|
|
41
41
|
|
|
42
42
|
| Skill | Upstream | Downstream copies (known) | Notes |
|
|
43
43
|
|-------|----------|---------------------------|-------|
|
|
44
|
-
| `agent-config` | `guildmaster` (`.claude/skills/agent-config/`) | `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Inventory variant backing `guild show` ([#12](https://github.com/agentculture/guildmaster/issues/12)); `show.sh` + `data/backend-fingerprints.yaml` vendored verbatim from steward, SKILL.md reframed from alignment-judgment to inventory + `type: command` added. **Forked from steward:** steward retains its own alignment-focused `agent-config` variant; the inventory variant is guildmaster's to supply. |
|
|
45
|
-
| `cicd` | `guildmaster` (`.claude/skills/cicd/`) — layered on `devex pr` (in `agentculture/devex`) | `afi-cli`, `devex` (adapted-thin delegate — owns `devex pr`; see [devex#53](https://github.com/agentculture/devex/pull/53)), `agtag`, `antoine`, `appsec`, `auntiepypi`, `cfafi` (still named `pr-review`), `code-lens-cli`, `culture` (still named `pr-review`), `devague`, `katvan`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `grant` (still named `pr-review`), `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Thin delegate to `devex pr` for lint / open / read / reply / delta, plus guildmaster's `status` (SonarCloud quality gate + hotspots + unresolved-thread tally) and `await` (composes `devex pr read --wait` with `status`, non-zero exit on Sonar ERROR / unresolved threads) extensions. **Inverted case:** devex, as the `devex pr` upstream, vendors the skill adapted-thin — a `workflow.sh`-only pure delegate ([devex#53](https://github.com/agentculture/devex/pull/53)). Renamed from `pr-review` in steward 0.7.0; downstream copies may keep the old name on their own cadence. |
|
|
46
|
-
| `communicate` | `guildmaster` (`.claude/skills/communicate/`) | `afi-cli`, `devex` (identifier-only — vendored steward 0.11.0; scripts current as of 0.18.0), `agtag`, `antoine`, `appsec`, `auntiepypi`, `code-lens-cli`, `culture` (still named `coordinate`), `devague`, `katvan`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Cross-repo + mesh communication: file issues / hand off briefs to sibling-repo agents (auto-signed), comment on existing issues, fetch issues to inline state into briefs, and send live messages to Culture mesh channels (unsigned — nick is the speaker). Renamed from `coordinate` in steward 0.8.0; absorbed `gh-issues` (as `fetch-issues.sh`) in 0.9.1. Issue I/O backed by `agtag` (>=0.1) since steward 0.11.0 — signature resolves from local `culture.yaml` (override via `--as`). |
|
|
47
|
-
| `doc-test-alignment` | `guildmaster` (`.claude/skills/doc-test-alignment/`) | `devague`, `lecodeur`, `lepenseur`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Stub; real implementation TBD. `scripts/check.sh` exits not-yet-implemented today. |
|
|
48
|
-
| `pypi-maintainer` | `guildmaster` (`.claude/skills/pypi-maintainer/`) | `agtag`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Switches a PyPI package install between pypi / test-pypi / local. Generalised from the original culture-specific `change-package`. `org` and `mjolnir-agent` are intentionally not consumers — neither ships a PyPI distribution (`org` is a site repo; `mjolnir-agent` maintains `thor-arena/mjolnir` and runs repo-local). |
|
|
49
|
-
| `run-tests` | `guildmaster` (`.claude/skills/run-tests/`) | `agtag`, `antoine`, `appsec`, `code-lens-cli`, `culture`, `culture-sonar-cli`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `grant`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Coverage source resolves from `[tool.coverage.run]` in `pyproject.toml`, so the script is portable across siblings without modification. |
|
|
50
|
-
| `sonarclaude` | `guildmaster` (`.claude/skills/sonarclaude/`) | `antoine`, `appsec`, `code-lens-cli`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | SonarCloud API client. Project key resolves from `$SONAR_PROJECT` or `--project KEY`. |
|
|
51
|
-
| `version-bump` | `guildmaster` (`.claude/skills/version-bump/`) | `afi-cli`, `agtag`, `antoine`, `appsec`, `auntiepypi`, `cfafi`, `code-lens-cli`, `culture`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `grant`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Pure Python, prepends a Keep-a-Changelog entry; no per-repo customization needed. |
|
|
44
|
+
| `agent-config` | `guildmaster` (`.claude/skills/agent-config/`) | `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Inventory variant backing `guild show` ([#12](https://github.com/agentculture/guildmaster/issues/12)); `show.sh` + `data/backend-fingerprints.yaml` vendored verbatim from steward, SKILL.md reframed from alignment-judgment to inventory + `type: command` added. **Forked from steward:** steward retains its own alignment-focused `agent-config` variant; the inventory variant is guildmaster's to supply. |
|
|
45
|
+
| `cicd` | `guildmaster` (`.claude/skills/cicd/`) — layered on `devex pr` (in `agentculture/devex`) | `afi-cli`, `devex` (adapted-thin delegate — owns `devex pr`; see [devex#53](https://github.com/agentculture/devex/pull/53)), `agtag`, `antoine`, `appsec`, `auntiepypi`, `cfafi` (still named `pr-review`), `code-lens-cli`, `culture` (still named `pr-review`), `devague`, `katvan`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `grant` (still named `pr-review`), `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Thin delegate to `devex pr` for lint / open / read / reply / delta, plus guildmaster's `status` (SonarCloud quality gate + hotspots + unresolved-thread tally) and `await` (composes `devex pr read --wait` with `status`, non-zero exit on Sonar ERROR / unresolved threads) extensions. **Inverted case:** devex, as the `devex pr` upstream, vendors the skill adapted-thin — a `workflow.sh`-only pure delegate ([devex#53](https://github.com/agentculture/devex/pull/53)). Renamed from `pr-review` in steward 0.7.0; downstream copies may keep the old name on their own cadence. |
|
|
46
|
+
| `communicate` | `guildmaster` (`.claude/skills/communicate/`) | `afi-cli`, `devex` (identifier-only — vendored steward 0.11.0; scripts current as of 0.18.0), `agtag`, `antoine`, `appsec`, `auntiepypi`, `code-lens-cli`, `culture` (still named `coordinate`), `devague`, `katvan`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Cross-repo + mesh communication: file issues / hand off briefs to sibling-repo agents (auto-signed), comment on existing issues, fetch issues to inline state into briefs, and send live messages to Culture mesh channels (unsigned — nick is the speaker). Renamed from `coordinate` in steward 0.8.0; absorbed `gh-issues` (as `fetch-issues.sh`) in 0.9.1. Issue I/O backed by `agtag` (>=0.1) since steward 0.11.0 — signature resolves from local `culture.yaml` (override via `--as`). |
|
|
47
|
+
| `doc-test-alignment` | `guildmaster` (`.claude/skills/doc-test-alignment/`) | `devague`, `lecodeur`, `lepenseur`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Stub; real implementation TBD. `scripts/check.sh` exits not-yet-implemented today. |
|
|
48
|
+
| `pypi-maintainer` | `guildmaster` (`.claude/skills/pypi-maintainer/`) | `agtag`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Switches a PyPI package install between pypi / test-pypi / local. Generalised from the original culture-specific `change-package`. `org` and `mjolnir-agent` are intentionally not consumers — neither ships a PyPI distribution (`org` is a site repo; `mjolnir-agent` maintains `thor-arena/mjolnir` and runs repo-local). |
|
|
49
|
+
| `run-tests` | `guildmaster` (`.claude/skills/run-tests/`) | `agtag`, `antoine`, `appsec`, `code-lens-cli`, `culture`, `culture-sonar-cli`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `grant`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Coverage source resolves from `[tool.coverage.run]` in `pyproject.toml`, so the script is portable across siblings without modification. |
|
|
50
|
+
| `sonarclaude` | `guildmaster` (`.claude/skills/sonarclaude/`) | `antoine`, `appsec`, `code-lens-cli`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | SonarCloud API client. Project key resolves from `$SONAR_PROJECT` or `--project KEY`. |
|
|
51
|
+
| `version-bump` | `guildmaster` (`.claude/skills/version-bump/`) | `afi-cli`, `agtag`, `antoine`, `appsec`, `auntiepypi`, `cfafi`, `code-lens-cli`, `culture`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `grant`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Pure Python, prepends a Keep-a-Changelog entry; no per-repo customization needed. |
|
|
52
52
|
|
|
53
53
|
> **How the downstream column is maintained.** The "Downstream copies (known)"
|
|
54
54
|
> entries are kept in sync with guildmaster's own drift detector:
|
|
@@ -125,14 +125,14 @@ five wrapper scripts are additions, not edits.
|
|
|
125
125
|
|
|
126
126
|
| Skill | Origin | Downstream copies (known) | Notes |
|
|
127
127
|
|-------|--------|---------------------------|-------|
|
|
128
|
-
| `think` | `devague` (`agentculture/devague`, `../devague/.claude/skills/think/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the **idea→spec** leg (announcement frame → capture/classify claims → interrogate with honesty conditions → park open vagueness → `export` once the frame converges). Renamed from `devague` in devague 0.4.0. **Divergence:** none — verbatim from upstream. Runtime dep: `uv tool install devague`. |
|
|
129
|
-
| `spec-to-plan` | `devague` (`agentculture/devague`, `../devague/.claude/skills/spec-to-plan/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the **spec→plan** leg (`devague plan ...`): seed from a converged frame, cover every coverage target with acceptance-gated, acyclically-ordered tasks, park unknowns as risks, `export` once the plan converges. New in devague 0.4.0. **Divergence:** none — verbatim from upstream. Runtime dep: `uv tool install devague`. |
|
|
130
|
-
| `assign-to-workforce` | `devague` (`agentculture/devague`, `../devague/.claude/skills/assign-to-workforce/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the **implementation** leg: reads `devague plan waves` (read-only) and fans out independent tasks to one agent per task per wave in isolated git worktrees, with main-agent TDD-gated merges. Three human gates: spec / split plan / final PR. The CLI stays non-orchestrating ([devague#20](https://github.com/agentculture/devague/issues/20)). New in devague 0.10.0. **Divergence:** none — verbatim from upstream. Runtime deps: `uv tool install devague`, `git worktree`, the vendored `cicd` skill (for gate-3 `devex pr open`). |
|
|
131
|
-
| `scope` | `devague` (`agentculture/devague`, `../devague/.claude/skills/scope/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the optional **idea→scope** leg that precedes /think: survey the surfaces an idea touches (code, docs, skills, CI, sibling repos) and seed the coming Announcement Frame with boundary / non-goal / assumption claims that cite what was actually explored. Fans out to read-only exploration subagents at 5+ candidate surfaces; subagents explore and report, only the main agent runs a `devague` move. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/scope.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
132
|
-
| `challenge` | `devague` (`agentculture/devague`, `../devague/.claude/skills/challenge/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the risk-scaled **blind-spot pass** between /think and /spec-to-plan: pressure-test a converged, exported frame through structured lenses and route every finding back through the existing deterministic moves as proposed-only content the human adjudicates. A clean pass records the lenses/surfaces examined and residual uncertainty — never a claim that no unknown unknowns remain. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/challenge.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
133
|
-
| `deviate` | `devague` (`agentculture/devague`, `../devague/.claude/skills/deviate/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for **in-flight plan divergence**: stop an assign-to-workforce run the moment execution must diverge from the confirmed plan, get explicit human approval, and record it as a first-class, append-only deviation record (`devague deviate`) before resuming — never fold a deviation silently into drift after the fact. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/deviate.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
134
|
-
| `validate-delivery` | `devague` (`agentculture/devague`, `../devague/.claude/skills/validate-delivery/`) | `colleague`, `jetson-ai-lab-cli`, `discord-bot-cli`, `sensibo-cli`, `culture-nodes`, `microduck-cli`, `associate`, `devague`, `lobes-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the **validation** leg, between /assign-to-workforce and /summarize-delivery: the agent runs the confirmed plan's behavioral tests itself, then files obligations, evidence, and behavioral deltas (`devague oblige` / `evidence` / `delta` / `summary`). **Record-only** — the CLI never runs a test ([devague#20](https://github.com/agentculture/devague/issues/20)) and a failing or partial outcome is never suppressed. New to guildmaster in this re-sync; nine downstream copies already ran ahead of it. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/validate-delivery.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
135
|
-
| `summarize-delivery` | `devague` (`agentculture/devague`, `../devague/.claude/skills/summarize-delivery/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Operator for the **closeout** leg: turn what actually happened into an accountability artifact — planned vs. actual delivery, mid-work decisions, plan drift, evidence-backed delivery claims, and remaining work. Runs on complete, partial, **and failed** runs; failure is reported faithfully, never smoothed over. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/summarize-delivery.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
128
|
+
| `think` | `devague` (`agentculture/devague`, `../devague/.claude/skills/think/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the **idea→spec** leg (announcement frame → capture/classify claims → interrogate with honesty conditions → park open vagueness → `export` once the frame converges). Renamed from `devague` in devague 0.4.0. **Divergence:** none — verbatim from upstream. Runtime dep: `uv tool install devague`. |
|
|
129
|
+
| `spec-to-plan` | `devague` (`agentculture/devague`, `../devague/.claude/skills/spec-to-plan/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the **spec→plan** leg (`devague plan ...`): seed from a converged frame, cover every coverage target with acceptance-gated, acyclically-ordered tasks, park unknowns as risks, `export` once the plan converges. New in devague 0.4.0. **Divergence:** none — verbatim from upstream. Runtime dep: `uv tool install devague`. |
|
|
130
|
+
| `assign-to-workforce` | `devague` (`agentculture/devague`, `../devague/.claude/skills/assign-to-workforce/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson-cli`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `dgx-spark-cli`, `unsloth-cli`, `discord-bot-cli`, `arxivist`, `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the **implementation** leg: reads `devague plan waves` (read-only) and fans out independent tasks to one agent per task per wave in isolated git worktrees, with main-agent TDD-gated merges. Three human gates: spec / split plan / final PR. The CLI stays non-orchestrating ([devague#20](https://github.com/agentculture/devague/issues/20)). New in devague 0.10.0. **Divergence:** none — verbatim from upstream. Runtime deps: `uv tool install devague`, `git worktree`, the vendored `cicd` skill (for gate-3 `devex pr open`). |
|
|
131
|
+
| `scope` | `devague` (`agentculture/devague`, `../devague/.claude/skills/scope/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the optional **idea→scope** leg that precedes /think: survey the surfaces an idea touches (code, docs, skills, CI, sibling repos) and seed the coming Announcement Frame with boundary / non-goal / assumption claims that cite what was actually explored. Fans out to read-only exploration subagents at 5+ candidate surfaces; subagents explore and report, only the main agent runs a `devague` move. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/scope.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
132
|
+
| `challenge` | `devague` (`agentculture/devague`, `../devague/.claude/skills/challenge/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the risk-scaled **blind-spot pass** between /think and /spec-to-plan: pressure-test a converged, exported frame through structured lenses and route every finding back through the existing deterministic moves as proposed-only content the human adjudicates. A clean pass records the lenses/surfaces examined and residual uncertainty — never a claim that no unknown unknowns remain. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/challenge.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
133
|
+
| `deviate` | `devague` (`agentculture/devague`, `../devague/.claude/skills/deviate/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for **in-flight plan divergence**: stop an assign-to-workforce run the moment execution must diverge from the confirmed plan, get explicit human approval, and record it as a first-class, append-only deviation record (`devague deviate`) before resuming — never fold a deviation silently into drift after the fact. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/deviate.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
134
|
+
| `validate-delivery` | `devague` (`agentculture/devague`, `../devague/.claude/skills/validate-delivery/`) | `colleague`, `jetson-ai-lab-cli`, `discord-bot-cli`, `sensibo-cli`, `culture-nodes`, `microduck-cli`, `associate`, `devague`, `lobes-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the **validation** leg, between /assign-to-workforce and /summarize-delivery: the agent runs the confirmed plan's behavioral tests itself, then files obligations, evidence, and behavioral deltas (`devague oblige` / `evidence` / `delta` / `summary`). **Record-only** — the CLI never runs a test ([devague#20](https://github.com/agentculture/devague/issues/20)) and a failing or partial outcome is never suppressed. New to guildmaster in this re-sync; nine downstream copies already ran ahead of it. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/validate-delivery.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
135
|
+
| `summarize-delivery` | `devague` (`agentculture/devague`, `../devague/.claude/skills/summarize-delivery/`) | `colleague`, `reachy-mini-cli`, `jetson-ai-lab-cli`, `discord-bot-cli`, `eidetic-cli`, `prove-cli`, `rollout-cli`, `data-refinery-cli`, `webglass-cli`, `org`, `sensibo-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `culture-agent-template`, `devague`, `lobes-cli`, `reachy_nova`, `reterminal-cli`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Operator for the **closeout** leg: turn what actually happened into an accountability artifact — planned vs. actual delivery, mid-work decisions, plan drift, evidence-backed delivery claims, and remaining work. Runs on complete, partial, **and failed** runs; failure is reported faithfully, never smoothed over. **Divergence:** none in `SKILL.md` (verbatim); guildmaster adds `scripts/summarize-delivery.sh`, a wrapper upstream does not ship (see above). Runtime dep: `uv tool install devague`. |
|
|
136
136
|
|
|
137
137
|
The `think` / `spec-to-plan` / `assign-to-workforce` trio was registered here
|
|
138
138
|
first; the other five were vendored into guildmaster without ledger rows and are
|
|
@@ -204,7 +204,7 @@ the CLI, the wrappers exit with a clear install hint rather than crashing.
|
|
|
204
204
|
|
|
205
205
|
| Skill | Origin | Downstream copies (known) | Notes |
|
|
206
206
|
|-------|--------|---------------------------|-------|
|
|
207
|
-
| `ask-colleague` | `colleague` (`agentculture/colleague`, `../colleague/.claude/skills/ask-colleague/`) | `agentculture-cli`, `agentfront`, `agentirc`, `agent-lifecycle`, `amazing-hand-cli`, `arm101-cli`, `callsmith`, `climate-cli`, `cloudai-cli`, `coherence-cli`, `culture`, `culture-agent-template`, `culture-core`, `culture-guide`, `culture-nodes`, `culture-tools`, `data-refinery-cli`, `devex`, `dgx-spark-cli`, `discord-bot-cli`, `drone-cli`, `ec2bedrock-cli`, `ec2-cli`, `eidetic-cli`, `embeddings-cli`, `embodiment`, `events-cli`, `evidence-cli`, `face-cli`, `face-recognition-cli`, `fleet-cli`, `french-cli`, `harmonics-cli`, `headspace-cli`, `intern-cli`, `jetson-ai-lab-cli`, `jetson-arena`, `jetson-orin-cli`, `jetson-thor-cli`, `knowledgebase-cli`, `league-of-agents`, `league-of-agents-platform`, `learn-cli`, `lobes-cli`, `media-cli`, `model-gear`, `mysight-cli`, `operator-cli`, `org`, `prove-cli`, `qodo-cli`, `reachy-lobes`, `reachy-mini-cli`, `reduce-cli`, `refactor-cli`, `refactoring-cli`, `reterminal-cli`, `rigor-cli`, `rollout-cli`, `sensibo-cli`, `shell-cli`, `spanish-cli`, `steward`, `storybook-cli`, `tensor-cli`, `webcam-cli`, `webglass-cli`, `workledger-cli`, `zehut`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library` | Successor to `outsource`; the one to broadcast to new consumers. Verbs `explore` / `review` / `write` / `feedback` / `plan` / `resume` / `monitor` / `guide` / `stop` / `clean`. **Divergence: none — vendored byte-verbatim** (all 5 files match upstream @ 1.63.1). Also ships in `culture-agent-template`, so template clones get it at genesis. Runtime dep: `uv tool install colleague-cli` + a reachable engine. Downstream column surveyed off local workspace checkouts, so it reflects what is vendored locally, not a live GitHub poll. |
|
|
207
|
+
| `ask-colleague` | `colleague` (`agentculture/colleague`, `../colleague/.claude/skills/ask-colleague/`) | `agentculture-cli`, `agentfront`, `agentirc`, `agent-lifecycle`, `amazing-hand-cli`, `arm101-cli`, `callsmith`, `climate-cli`, `cloudai-cli`, `coherence-cli`, `culture`, `culture-agent-template`, `culture-core`, `culture-guide`, `culture-nodes`, `culture-tools`, `data-refinery-cli`, `devex`, `dgx-spark-cli`, `discord-bot-cli`, `drone-cli`, `ec2bedrock-cli`, `ec2-cli`, `eidetic-cli`, `embeddings-cli`, `embodiment`, `events-cli`, `evidence-cli`, `face-cli`, `face-recognition-cli`, `fleet-cli`, `french-cli`, `harmonics-cli`, `headspace-cli`, `intern-cli`, `jetson-ai-lab-cli`, `jetson-arena`, `jetson-orin-cli`, `jetson-thor-cli`, `knowledgebase-cli`, `league-of-agents`, `league-of-agents-platform`, `learn-cli`, `lobes-cli`, `media-cli`, `model-gear`, `mysight-cli`, `operator-cli`, `org`, `prove-cli`, `qodo-cli`, `reachy-lobes`, `reachy-mini-cli`, `reduce-cli`, `refactor-cli`, `refactoring-cli`, `reterminal-cli`, `rigor-cli`, `rollout-cli`, `sensibo-cli`, `shell-cli`, `spanish-cli`, `steward`, `storybook-cli`, `tensor-cli`, `webcam-cli`, `webglass-cli`, `workledger-cli`, `zehut`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `substack-cli`, `xitter`, `nvsh`, `innereye`, `shabbos-goy`, `jev-factory`, `jetson-containers-agent`, `jetsonrun`, `culture-rules`, `xteink`, `ebooks-cli`, `culture-rules-tester`, `pocketsync`, `mjolnir-agent`, `govee-cli`, `cultureos`, `culture-chat`, `heat-governor`, `culture-library`, `nfc-cli` | Successor to `outsource`; the one to broadcast to new consumers. Verbs `explore` / `review` / `write` / `feedback` / `plan` / `resume` / `monitor` / `guide` / `stop` / `clean`. **Divergence: none — vendored byte-verbatim** (all 5 files match upstream @ 1.63.1). Also ships in `culture-agent-template`, so template clones get it at genesis. Runtime dep: `uv tool install colleague-cli` + a reachable engine. Downstream column surveyed off local workspace checkouts, so it reflects what is vendored locally, not a live GitHub poll. |
|
|
208
208
|
| `outsource` | `colleague` (`agentculture/colleague`, `../colleague/.claude/skills/outsource/`) | — (broadcast pending; [`culture-agent-template#8`](https://github.com/agentculture/culture-agent-template/issues/8) proposes adding it to the clone template), `rtx-spark-cli`, `reachy-mini-mcp`, `tensor-cli`, `climate-cli`, `eidetic-cli`, `prove-cli`, `reduce-cli`, `refactor-cli`, `rollout-cli`, `coherence-cli`, `agent-lifecycle`, `reterminal`, `operator-cli`, `culture-core`, `ec2-cli`, `qodo-cli`, `knowledgebase-cli`, `cloudai-cli`, `ec2bedrock-cli`, `arm101-cli`, `amazing-hand-cli`, `agentculture-cli`, `data-refinery-cli`, `culture-tools`, `webglass-cli`, `jetson-orin-cli`, `jetson-thor-cli`, `drone-cli`, `fleet-cli`, `league-of-agents`, `harmonics-cli`, `french-cli`, `spanish-cli`, `league-of-agents-platform`, `org`, `learn-cli`, `jetson-arena`, `sensibo-cli`, `intern-cli`, `reachy-lobes`, `storybook-cli`, `shell-cli`, `embeddings-cli`, `evidence-cli`, `callsmith`, `events-cli`, `webcam-cli`, `media-cli`, `face-cli`, `face-recognition-cli`, `headspace-cli`, `embodiment`, `refactoring-cli`, `rigor-cli`, `workledger-cli`, `culture-nodes`, `protocols-cli`, `edge-ai-lab`, `neurosymbolic-system`, `microduck-cli`, `notion-agent`, `associate`, `jetson`, `agentsgit`, `microphone-cli`, `embeddings-lens`, `culture-rules-tester` | **Legacy — superseded by `ask-colleague`** (retirement pending). First-party colleague skill: hand a scoped task to a *different* engine/mind. Verbs `explore` / `review` / `write`. **Divergence:** Provenance paragraph reframed for re-broadcast (above); `type: command` already present upstream. Runtime dep: `uv tool install colleague-cli` + a reachable engine. |
|
|
209
209
|
|
|
210
210
|
`guild teach --new --skill ask-colleague --to <repos>` frames `ask-colleague` as
|