guild-cli 0.18.0__tar.gz → 0.18.3__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.18.0 → guild_cli-0.18.3}/.claude/skills/recall/scripts/recall.sh +35 -13
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/remember/scripts/remember.sh +39 -13
- {guild_cli-0.18.0 → guild_cli-0.18.3}/CHANGELOG.md +57 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/CLAUDE.md +28 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/PKG-INFO +1 -1
- {guild_cli-0.18.0 → guild_cli-0.18.3}/docs/skill-sources.md +12 -12
- {guild_cli-0.18.0 → guild_cli-0.18.3}/pyproject.toml +1 -1
- {guild_cli-0.18.0 → guild_cli-0.18.3}/uv.lock +1 -1
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/agent-config/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/agent-config/data/backend-fingerprints.yaml +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/agent-config/scripts/show.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/ask-colleague/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/ask-colleague/prompts/review.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/ask-colleague/prompts/write.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/cicd/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/scripts/templates/skill-new-brief.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/guild/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/guild/scripts/configure-repo.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/guild/scripts/create.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/guild/scripts/overview.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/onboard/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/onboard/scripts/onboard.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/outsource/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/outsource/prompts/explore.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/outsource/prompts/review.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/outsource/prompts/write.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/outsource/scripts/outsource.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/pypi-maintainer/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/pypi-maintainer/scripts/switch-source.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/recall/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/remember/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/run-tests/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/sonarclaude/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/spec-to-plan/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/teach/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/teach/scripts/teach.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/think/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/think/scripts/think.sh +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/version-bump/SKILL.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/version-bump/scripts/bump.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills.local.yaml.example +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.devague/frames/guildmaster-ships-teach-and-onboard-two-agent-firs.json +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.devague/plans/guildmaster-ships-teach-and-onboard-two-agent-firs.json +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.flake8 +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.github/workflows/publish.yml +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.github/workflows/tests.yml +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.gitignore +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/.markdownlint-cli2.yaml +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/LICENSE +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/README.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/culture.yaml +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/docs/cutover.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/docs/onboarding/reachy-mini-mcp.json +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/docs/plans/2026-05-24-guildmaster-ships-teach-and-onboard-two-agent-firs.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/docs/specs/2026-05-24-guildmaster-ships-teach-and-onboard-two-agent-firs.md +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/__init__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/__main__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/__init__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/__init__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/_broadcast.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/_provision_template.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/create.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/explain.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/learn.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/onboard.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/overview.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/show.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/teach.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_commands/whoami.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_errors.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_output.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/cli/_repo.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/scaffold/__init__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/scaffold/instantiate.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/skills/__init__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/skills/identity.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/skills/ledger.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/skills/render.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/guild/skills/sources.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/sonar-project.properties +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/__init__.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_broadcast_post.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_create.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_explain.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_learn.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_onboard.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_overview.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_show.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_teach.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_cli_whoami.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_scaffold_instantiate.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_skills_convention.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_skills_identity.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_skills_ledger.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_skills_render.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_skills_sources.py +0 -0
- {guild_cli-0.18.0 → guild_cli-0.18.3}/tests/test_version_fallback.py +0 -0
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
# forwards every flag verbatim — so `recall.sh "<query>" --mode hybrid --json`
|
|
7
7
|
# is exactly `eidetic recall "<query>" --mode hybrid --json`.
|
|
8
8
|
#
|
|
9
|
-
# The store is the files backend
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
9
|
+
# The store is the files backend. Default location resolves per-operation:
|
|
10
|
+
# PUBLIC records inside a git repo → <repo-root>/.eidetic/memory (committed,
|
|
11
|
+
# team-shared); PRIVATE records, or any record outside a git repo →
|
|
12
|
+
# $HOME/.eidetic/memory (never committed). Recall reads both stores and merges.
|
|
13
|
+
# An explicit EIDETIC_DATA_DIR wins and short-circuits to that single dir.
|
|
13
14
|
|
|
14
15
|
set -euo pipefail
|
|
15
16
|
|
|
@@ -34,12 +35,10 @@ resolve_eidetic() {
|
|
|
34
35
|
fi
|
|
35
36
|
dir=$(dirname "$dir")
|
|
36
37
|
done
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
The console script is `eidetic` (dist name: eidetic-cli).
|
|
42
|
-
EOF
|
|
38
|
+
# In a vendored copy there is no eidetic-cli checkout to fall back to, so the
|
|
39
|
+
# only honest remedy is to install the CLI. One `error:` + one `hint:` line.
|
|
40
|
+
printf 'error: eidetic CLI not found.\n' >&2
|
|
41
|
+
printf 'hint: install it with: uv tool install eidetic-cli (or pipx install eidetic-cli); the console script is eidetic.\n' >&2
|
|
43
42
|
return 1
|
|
44
43
|
}
|
|
45
44
|
|
|
@@ -65,10 +64,17 @@ EOF
|
|
|
65
64
|
}
|
|
66
65
|
|
|
67
66
|
case "${1:-}" in
|
|
68
|
-
-h | --help
|
|
67
|
+
-h | --help)
|
|
69
68
|
usage
|
|
70
69
|
exit 0
|
|
71
70
|
;;
|
|
71
|
+
"")
|
|
72
|
+
# A missing query is a usage error, not success. The bareword `help` is
|
|
73
|
+
# a legitimate search term, so it is intentionally NOT a usage alias.
|
|
74
|
+
printf 'error: no query given.\n' >&2
|
|
75
|
+
printf 'hint: recall.sh "<query>" [--mode ...] [--json]; run recall.sh --help for usage.\n' >&2
|
|
76
|
+
exit 1
|
|
77
|
+
;;
|
|
72
78
|
esac
|
|
73
79
|
|
|
74
80
|
resolve_eidetic || exit 2
|
|
@@ -100,9 +106,12 @@ resolve_scope() {
|
|
|
100
106
|
# inline `# comment` or trailing space can't bleed into the scope),
|
|
101
107
|
# then strip surrounding quotes only — matching the canonical parser
|
|
102
108
|
# in .claude/skills/cicd/scripts/_resolve-nick.sh.
|
|
109
|
+
# `|| true`: under `set -o pipefail`, `head -n1` closing the pipe
|
|
110
|
+
# early can SIGPIPE `sed`, making the substitution non-zero and
|
|
111
|
+
# aborting the script. An empty parse must yield "" here, not exit.
|
|
103
112
|
suffix=$(sed -n \
|
|
104
113
|
's/^[[:space:]]*-\{0,1\}[[:space:]]*suffix:[[:space:]]*\([^[:space:]]*\).*/\1/p' \
|
|
105
|
-
"$dir/culture.yaml" | head -n1 | tr -d "\"'")
|
|
114
|
+
"$dir/culture.yaml" | head -n1 | tr -d "\"'" || true)
|
|
106
115
|
break
|
|
107
116
|
fi
|
|
108
117
|
dir=$(dirname "$dir")
|
|
@@ -127,7 +136,20 @@ if ! has_flag --scope "$@"; then
|
|
|
127
136
|
EIDETIC_SCOPE=$(resolve_scope)
|
|
128
137
|
if [ -n "$EIDETIC_SCOPE" ]; then
|
|
129
138
|
SCOPE_ARGS+=(--scope "$EIDETIC_SCOPE")
|
|
130
|
-
|
|
139
|
+
# rollout-cli eidetic-memory recipe POLICY OVERRIDE (not eidetic's
|
|
140
|
+
# upstream private default): default to PUBLIC, so a plain recall queries
|
|
141
|
+
# the in-repo public pool (<repo>/.eidetic/memory) this repo writes to.
|
|
142
|
+
# Pass --visibility private to also surface this agent's private ($HOME)
|
|
143
|
+
# notes. The two-store read model reads both dirs regardless.
|
|
144
|
+
has_flag --visibility "$@" || SCOPE_ARGS+=(--visibility public)
|
|
145
|
+
elif ! has_flag --visibility "$@"; then
|
|
146
|
+
# No suffix AND no explicit --visibility: the query runs against
|
|
147
|
+
# eidetic's own default (scope=default, visibility=public), not this
|
|
148
|
+
# agent's private personal scope — so an empty result isn't silently
|
|
149
|
+
# misread. Warn on stderr (stdout stays clean for --json). Warn ONLY
|
|
150
|
+
# here: an explicit --scope (outer guard) or --visibility (this guard) is
|
|
151
|
+
# a deliberate choice, honored verbatim, so either flag silences this.
|
|
152
|
+
printf 'warning: no culture.yaml suffix resolved; querying the public default scope rather than a private personal scope. Pass --scope or --visibility to target deliberately.\n' >&2
|
|
131
153
|
fi
|
|
132
154
|
fi
|
|
133
155
|
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
# Upsert is idempotent by id (and dedups by content hash): re-remembering the
|
|
13
13
|
# same record updates it in place, never duplicates.
|
|
14
14
|
#
|
|
15
|
-
# The store is the files backend
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
15
|
+
# The store is the files backend. Default location resolves per-operation:
|
|
16
|
+
# PUBLIC records inside a git repo → <repo-root>/.eidetic/memory (committed,
|
|
17
|
+
# team-shared); PRIVATE records, or any record outside a git repo →
|
|
18
|
+
# $HOME/.eidetic/memory (never committed). An explicit EIDETIC_DATA_DIR still
|
|
19
|
+
# wins and short-circuits to that single dir. Use --backend mongo|neo4j (with
|
|
19
20
|
# EIDETIC_MONGO_URI / NEO4J_URI) for a server-backed shared store.
|
|
20
21
|
|
|
21
22
|
set -euo pipefail
|
|
@@ -40,12 +41,10 @@ resolve_eidetic() {
|
|
|
40
41
|
fi
|
|
41
42
|
dir=$(dirname "$dir")
|
|
42
43
|
done
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
The console script is `eidetic` (dist name: eidetic-cli).
|
|
48
|
-
EOF
|
|
44
|
+
# In a vendored copy there is no eidetic-cli checkout to fall back to, so the
|
|
45
|
+
# only honest remedy is to install the CLI. One `error:` + one `hint:` line.
|
|
46
|
+
printf 'error: eidetic CLI not found.\n' >&2
|
|
47
|
+
printf 'hint: install it with: uv tool install eidetic-cli (or pipx install eidetic-cli); the console script is eidetic.\n' >&2
|
|
49
48
|
return 1
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -60,7 +59,9 @@ Usage:
|
|
|
60
59
|
|
|
61
60
|
A record needs `id`, `text`, and `type`; `hash` and `metadata` are recommended
|
|
62
61
|
(hash is derived from text when omitted). Upsert is idempotent by id.
|
|
63
|
-
|
|
62
|
+
Records default to this agent's PRIVATE personal scope (--scope from the
|
|
63
|
+
culture.yaml suffix); pass --visibility public to contribute to the shared
|
|
64
|
+
public pool. Every flag is forwarded verbatim to `eidetic remember`.
|
|
64
65
|
See `eidetic explain remember`.
|
|
65
66
|
EOF
|
|
66
67
|
}
|
|
@@ -72,6 +73,16 @@ case "${1:-}" in
|
|
|
72
73
|
;;
|
|
73
74
|
esac
|
|
74
75
|
|
|
76
|
+
# No record argument AND stdin is an interactive terminal → `eidetic remember`
|
|
77
|
+
# would block forever waiting for NDJSON. Show usage instead of hanging. A piped
|
|
78
|
+
# or redirected stdin (`cat records.ndjson | remember.sh`) is not a TTY and
|
|
79
|
+
# proceeds to the batch path normally.
|
|
80
|
+
if [ "$#" -eq 0 ] && [ -t 0 ]; then
|
|
81
|
+
usage >&2
|
|
82
|
+
printf 'hint: pass a JSON record as an argument, or pipe NDJSON on stdin.\n' >&2
|
|
83
|
+
exit 1
|
|
84
|
+
fi
|
|
85
|
+
|
|
75
86
|
resolve_eidetic || exit 2
|
|
76
87
|
|
|
77
88
|
# ── default to this agent's PERSONAL, PRIVATE scope (culture.yaml `suffix`) ──
|
|
@@ -100,9 +111,12 @@ resolve_scope() {
|
|
|
100
111
|
# inline `# comment` or trailing space can't bleed into the scope),
|
|
101
112
|
# then strip surrounding quotes only — matching the canonical parser
|
|
102
113
|
# in .claude/skills/cicd/scripts/_resolve-nick.sh.
|
|
114
|
+
# `|| true`: under `set -o pipefail`, `head -n1` closing the pipe
|
|
115
|
+
# early can SIGPIPE `sed`, making the substitution non-zero and
|
|
116
|
+
# aborting the script. An empty parse must yield "" here, not exit.
|
|
103
117
|
suffix=$(sed -n \
|
|
104
118
|
's/^[[:space:]]*-\{0,1\}[[:space:]]*suffix:[[:space:]]*\([^[:space:]]*\).*/\1/p' \
|
|
105
|
-
"$dir/culture.yaml" | head -n1 | tr -d "\"'")
|
|
119
|
+
"$dir/culture.yaml" | head -n1 | tr -d "\"'" || true)
|
|
106
120
|
break
|
|
107
121
|
fi
|
|
108
122
|
dir=$(dirname "$dir")
|
|
@@ -127,7 +141,19 @@ if ! has_flag --scope "$@"; then
|
|
|
127
141
|
EIDETIC_SCOPE=$(resolve_scope)
|
|
128
142
|
if [ -n "$EIDETIC_SCOPE" ]; then
|
|
129
143
|
SCOPE_ARGS+=(--scope "$EIDETIC_SCOPE")
|
|
130
|
-
|
|
144
|
+
# rollout-cli eidetic-memory recipe POLICY OVERRIDE (not eidetic's
|
|
145
|
+
# upstream private default): default to PUBLIC so a plain remember lands
|
|
146
|
+
# in <repo>/.eidetic/memory — committed, team- and mesh-shared. Pass
|
|
147
|
+
# --visibility private to keep a record in $HOME (uncommitted).
|
|
148
|
+
has_flag --visibility "$@" || SCOPE_ARGS+=(--visibility public)
|
|
149
|
+
elif ! has_flag --visibility "$@"; then
|
|
150
|
+
# No suffix AND no explicit --visibility: the record falls back to
|
|
151
|
+
# eidetic's own default (scope=default, visibility=public). Don't let an
|
|
152
|
+
# expected-private record go public silently — warn on stderr (stdout
|
|
153
|
+
# stays clean for --json). Warn ONLY here: an explicit --scope (outer
|
|
154
|
+
# guard) or --visibility (this guard) means the caller chose deliberately
|
|
155
|
+
# and is honored verbatim, so either flag silences this.
|
|
156
|
+
printf 'warning: no culture.yaml suffix resolved; this record falls back to the public default scope. Pass --scope or --visibility to place it deliberately.\n' >&2
|
|
131
157
|
fi
|
|
132
158
|
fi
|
|
133
159
|
|
|
@@ -5,6 +5,63 @@ 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.18.3] - 2026-07-07
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Provisioned `league-of-agents` as a downstream consumer (public)** via
|
|
13
|
+
`guild create --agent agentculture/league-of-agents --command league --public`.
|
|
14
|
+
A cooperative/competitive strategy arena where agent teams complete missions,
|
|
15
|
+
control objectives, manage resources, and out-coordinate opposing teams. Repo
|
|
16
|
+
token / dist `league-of-agents`, console command + import package `league`,
|
|
17
|
+
`backend: claude`. The template was instantiated, identifiers renamed, the
|
|
18
|
+
GitHub repo configured, and the genesis commit pushed. Registers the new agent
|
|
19
|
+
in every canonical + relayed skill's Downstream column in
|
|
20
|
+
`docs/skill-sources.md` (full kit).
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
## [0.18.2] - 2026-07-07
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- **Memory-discipline "Conventions and workflow" section in `CLAUDE.md`** — a
|
|
31
|
+
per-task *recall-before / remember-after* convention (scope localized to this
|
|
32
|
+
repo's nick) so the vendored `remember` / `recall` skills are actually used,
|
|
33
|
+
not just present: `/recall` before non-trivial work to build on prior
|
|
34
|
+
decisions instead of re-deriving them, and `/remember` when a non-obvious
|
|
35
|
+
decision, constraint, fix-and-why, or hard-won gotcha surfaces. The section
|
|
36
|
+
documents this repo's memory as **in-repo and public** — records resolve to
|
|
37
|
+
`<repo-root>/.eidetic/memory` (committed, team- and mesh-shared). Inserted
|
|
38
|
+
idempotently (skipped if already present), slotted under an existing
|
|
39
|
+
"Conventions and workflow" heading when one exists, else appended.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- **Refreshed the `remember` + `recall` wrappers from eidetic-cli 0.10.0**
|
|
44
|
+
(cite-don't-import) — picks up eidetic's **project-local store default**: the
|
|
45
|
+
files backend now resolves per record by visibility — PUBLIC records inside a
|
|
46
|
+
git repo go to `<repo-root>/.eidetic/memory` (committed, team-shared), PRIVATE
|
|
47
|
+
records (or any record outside a repo) go to `$HOME/.eidetic/memory` (never
|
|
48
|
+
committed), an explicit `EIDETIC_DATA_DIR` still wins, and recall reads both
|
|
49
|
+
stores and merges. Also carries the 0.9.3 hardening (interactive-stdin guard,
|
|
50
|
+
`help` as a search term, SIGPIPE-safe suffix parsing). **Recipe policy
|
|
51
|
+
override (the wrappers here are NOT byte-verbatim):** the injected default
|
|
52
|
+
visibility is flipped from eidetic's `private` to **`public`**, so a plain
|
|
53
|
+
`/remember` lands the note in `./.eidetic/memory` in this repo, kept as part
|
|
54
|
+
of the repo — pass `--visibility private` to route a record to `$HOME`
|
|
55
|
+
instead. `remember` drives `eidetic remember` (idempotent upsert of one JSON
|
|
56
|
+
record or an NDJSON batch on stdin); `recall` drives `eidetic recall` with
|
|
57
|
+
four search modes (exact / approximate / keyword / hybrid). Each `SKILL.md` is
|
|
58
|
+
localized only in the illustrative `--scope <nick>` examples (Provenance keeps
|
|
59
|
+
"First-party to eidetic-cli"). Runtime dep: the `eidetic` CLI on PATH (else a
|
|
60
|
+
local eidetic-cli checkout with `uv`) — **`eidetic >= 0.10.0`** for the
|
|
61
|
+
in-repo routing; on an older CLI the public records still work but are stored
|
|
62
|
+
in `$HOME/.eidetic/memory` instead of in-repo. Propagated by rollout-cli's
|
|
63
|
+
`eidetic-memory` recipe.
|
|
64
|
+
|
|
8
65
|
## [0.18.0] - 2026-06-29
|
|
9
66
|
|
|
10
67
|
### Added
|
|
@@ -213,3 +213,31 @@ run from a steward checkout (`../steward` under the workspace layout; otherwise
|
|
|
213
213
|
clone <https://github.com/agentculture/steward> or use an installed `steward`
|
|
214
214
|
CLI). steward runs its own vendored portability check against the target, so
|
|
215
215
|
guildmaster doesn't need to vendor it first.
|
|
216
|
+
|
|
217
|
+
## Conventions and workflow
|
|
218
|
+
|
|
219
|
+
**Memory discipline — recall before, remember after.** This repo keeps its
|
|
220
|
+
eidetic memory **in-repo and public**: records resolve to
|
|
221
|
+
`<repo-root>/.eidetic/memory` — committed, and shared with the team and mesh
|
|
222
|
+
peers (the `claude` and `colleague` backends both read the same
|
|
223
|
+
`guildmaster` scope), so memory travels with the repo, not a private
|
|
224
|
+
home-dir store. Make it a per-task habit:
|
|
225
|
+
|
|
226
|
+
- **`/recall` before you start.** Search the store for the area you're about
|
|
227
|
+
to touch — prior decisions, gotchas, "have we done this before?" — so you
|
|
228
|
+
build on what's already known instead of re-deriving it. Do this before
|
|
229
|
+
non-trivial tasks, not just when asked.
|
|
230
|
+
- **`/remember` when something worth keeping surfaces.** A non-obvious
|
|
231
|
+
decision and its rationale, a constraint, a fix and *why* it was needed, a
|
|
232
|
+
gotcha that cost time, a fact the next session would otherwise re-learn.
|
|
233
|
+
Capture it as it happens, not at the end when it's faded.
|
|
234
|
+
|
|
235
|
+
A plain `/remember` lands the note in `./.eidetic/memory` in this repo — no
|
|
236
|
+
flag needed (the wrappers here default to `--visibility public`; in-repo
|
|
237
|
+
routing needs `eidetic >= 0.10.0`, older CLIs keep records in `$HOME`). Keep
|
|
238
|
+
something out of the committed store only by passing `--visibility private`
|
|
239
|
+
(routes to `$HOME/.eidetic/memory`, never committed); `/recall` reads both
|
|
240
|
+
stores and merges. Don't store what the repo already records (code structure,
|
|
241
|
+
git history, what's already in this file or `CHANGELOG.md`) — store what you'd
|
|
242
|
+
have to re-derive. These are the `recall`/`remember` skills (`.claude/skills/`),
|
|
243
|
+
backed by the `eidetic` store.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: guild-cli
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.3
|
|
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
|
|
@@ -32,14 +32,14 @@ current by `guild overview --scope mesh`.
|
|
|
32
32
|
|
|
33
33
|
| Skill | Upstream | Downstream copies (known) | Notes |
|
|
34
34
|
|-------|----------|---------------------------|-------|
|
|
35
|
-
| `agent-config` | `guildmaster` (`.claude/skills/agent-config/`) | `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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. |
|
|
36
|
-
| `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`, `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` | 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. |
|
|
37
|
-
| `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`, `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` | 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`). |
|
|
38
|
-
| `doc-test-alignment` | `guildmaster` (`.claude/skills/doc-test-alignment/`) | `devague`, `lecodeur`, `lepenseur`, `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | Stub; real implementation TBD. `scripts/check.sh` exits not-yet-implemented today. |
|
|
39
|
-
| `pypi-maintainer` | `guildmaster` (`.claude/skills/pypi-maintainer/`) | `agtag`, `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | Switches a PyPI package install between pypi / test-pypi / local. Generalised from the original culture-specific `change-package`. |
|
|
40
|
-
| `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`, `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` | Coverage source resolves from `[tool.coverage.run]` in `pyproject.toml`, so the script is portable across siblings without modification. |
|
|
41
|
-
| `sonarclaude` | `guildmaster` (`.claude/skills/sonarclaude/`) | `antoine`, `appsec`, `code-lens-cli`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | SonarCloud API client. Project key resolves from `$SONAR_PROJECT` or `--project KEY`. |
|
|
42
|
-
| `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`, `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` | Pure Python, prepends a Keep-a-Changelog entry; no per-repo customization needed. |
|
|
35
|
+
| `agent-config` | `guildmaster` (`.claude/skills/agent-config/`) | `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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. |
|
|
36
|
+
| `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`, `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` | 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. |
|
|
37
|
+
| `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`, `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` | 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`). |
|
|
38
|
+
| `doc-test-alignment` | `guildmaster` (`.claude/skills/doc-test-alignment/`) | `devague`, `lecodeur`, `lepenseur`, `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | Stub; real implementation TBD. `scripts/check.sh` exits not-yet-implemented today. |
|
|
39
|
+
| `pypi-maintainer` | `guildmaster` (`.claude/skills/pypi-maintainer/`) | `agtag`, `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | Switches a PyPI package install between pypi / test-pypi / local. Generalised from the original culture-specific `change-package`. |
|
|
40
|
+
| `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`, `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` | Coverage source resolves from `[tool.coverage.run]` in `pyproject.toml`, so the script is portable across siblings without modification. |
|
|
41
|
+
| `sonarclaude` | `guildmaster` (`.claude/skills/sonarclaude/`) | `antoine`, `appsec`, `code-lens-cli`, `devague`, `lecodeur`, `lepenseur`, `seer-cli`, `telek`, `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | SonarCloud API client. Project key resolves from `$SONAR_PROJECT` or `--project KEY`. |
|
|
42
|
+
| `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`, `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` | Pure Python, prepends a Keep-a-Changelog entry; no per-repo customization needed. |
|
|
43
43
|
|
|
44
44
|
> **How the downstream column is maintained.** The "Downstream copies (known)"
|
|
45
45
|
> entries are kept in sync with guildmaster's own drift detector:
|
|
@@ -86,9 +86,9 @@ harmless on `claude-code`. This is the only divergence from upstream.
|
|
|
86
86
|
|
|
87
87
|
| Skill | Origin | Downstream copies (known) | Notes |
|
|
88
88
|
|-------|--------|---------------------------|-------|
|
|
89
|
-
| `think` | `devague` (`agentculture/devague`, `../devague/.claude/skills/think/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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:** `type: command` added. Runtime dep: `uv tool install devague`. |
|
|
90
|
-
| `spec-to-plan` | `devague` (`agentculture/devague`, `../devague/.claude/skills/spec-to-plan/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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:** `type: command` added. Runtime dep: `uv tool install devague`. |
|
|
91
|
-
| `assign-to-workforce` | `devague` (`agentculture/devague`, `../devague/.claude/skills/assign-to-workforce/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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:** `type: command` added. Runtime deps: `uv tool install devague`, `git worktree`, the vendored `cicd` skill (for gate-3 `devex pr open`). |
|
|
89
|
+
| `think` | `devague` (`agentculture/devague`, `../devague/.claude/skills/think/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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:** `type: command` added. Runtime dep: `uv tool install devague`. |
|
|
90
|
+
| `spec-to-plan` | `devague` (`agentculture/devague`, `../devague/.claude/skills/spec-to-plan/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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:** `type: command` added. Runtime dep: `uv tool install devague`. |
|
|
91
|
+
| `assign-to-workforce` | `devague` (`agentculture/devague`, `../devague/.claude/skills/assign-to-workforce/`) | — (broadcast pending), `agenda`, `dominion-breaker`, `colleague`, `jetson`, `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` | 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:** `type: command` added. Runtime deps: `uv tool install devague`, `git worktree`, the vendored `cicd` skill (for gate-3 `devex pr open`). |
|
|
92
92
|
|
|
93
93
|
Downstream is empty by design: these are still being introduced to the mesh.
|
|
94
94
|
`guild teach --new --skill <name> --to <repos>` frames them as *new* skills to
|
|
@@ -136,7 +136,7 @@ the CLI, the wrapper exits with a clear install hint rather than crashing.
|
|
|
136
136
|
|
|
137
137
|
| Skill | Origin | Downstream copies (known) | Notes |
|
|
138
138
|
|-------|--------|---------------------------|-------|
|
|
139
|
-
| `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` | 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. |
|
|
139
|
+
| `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` | 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. |
|
|
140
140
|
|
|
141
141
|
Downstream is empty by design — guildmaster is the first holder outside
|
|
142
142
|
colleague. `guild teach --new --skill outsource --to <repos>` frames it as a
|
|
File without changes
|
{guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/agent-config/data/backend-fingerprints.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{guild_cli-0.18.0 → guild_cli-0.18.3}/.claude/skills/pypi-maintainer/scripts/switch-source.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|