Three new skills are available to vendor — the devague workflow trio
think, spec-to-plan, and assign-to-workforce are new skills in the
AgentCulture mesh. Your repo does not have them yet — this brief tells you how
to add them fresh (there is no older vendored copy to replace). They are one
coherent operator chain, not three unrelated skills:
idea ──think──▶ spec ──spec-to-plan──▶ plan ──assign-to-workforce──▶ parallel implementation
Vendor them as a set: each leg hands off to the next, and the SKILL.md
descriptions cross-reference one another.
Origin: agentculture/devague
These three are authored and maintained upstream in
agentculture/devague, not in
guildmaster. devague is a deterministic CLI (no LLM inside it); these skills
are the agent-facing operators that drive it. guildmaster re-broadcasts them to
the mesh, so guildmaster's copy is your citation point even though devague is
the author.
Relevant guildmaster CHANGELOG entry (where guildmaster picked the trio up):
[0.2.0] — Vendored devague's three workflow skills under .claude/skills/
(cite, don't import) — think (idea→spec), spec-to-plan (spec→plan), and
assign-to-workforce (plan→parallel implementation), the operator chain for
the deterministic devague CLI. Vendored from steward's copy at 914d5ca,
which tracks devague 0.11.1 (c04b595, MIT).
Cite locations (source of truth)
- Local sibling checkout (preferred when available):
../guildmaster/.claude/skills/think/
../guildmaster/.claude/skills/spec-to-plan/
../guildmaster/.claude/skills/assign-to-workforce/
- Remote, if your workspace has no local guildmaster checkout:
Each directory is self-contained (SKILL.md + a scripts/ dir per the
AgentCulture skills-portability rule); nothing reaches across skill boundaries
at runtime.
What each skill does
think — the idea→spec leg. Works backwards from an announcement
("pretend it shipped"), captures and classifies claims, interrogates them with
honesty conditions, parks open vagueness as a first-class object, and exports
a spec only once the frame converges.
spec-to-plan — the spec→plan leg (drives devague plan ...). Seeds a
plan from a converged frame, covers every coverage target with
acceptance-gated, acyclically-ordered tasks, parks unknowns as risks, and
exports a plan only once it converges.
assign-to-workforce — 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.
What's in the upstream now
Each skill ships a single entry-point script:
think/scripts/think.sh
spec-to-plan/scripts/spec-to-plan.sh
assign-to-workforce/scripts/assign-to-workforce.sh
Runtime dependency (all three): uv tool install devague — the skills drive
the devague CLI. assign-to-workforce additionally needs git worktree and a
vendored cicd skill (for the gate-3 agex pr open).
Divergence to apply — type: command frontmatter
devague's upstream SKILL.md files carry only name + description. On the
culture/agex backend you must add type: command to each: core.skill_loader
requires name, description, and type:, and a SKILL.md lacking type:
is silently skipped by backends/claude_code/probe.py. The guildmaster copies
already include it. It is load-bearing if your repo declares an agent in
culture.yaml, and harmless on plain claude-code. Record the divergence in
your provenance ledger if you keep one.
What to do
# 0. Branch.
git checkout -b skill/devague-trio-add
# 1. Add the three skills fresh from guildmaster (no existing copies to remove).
for s in think spec-to-plan assign-to-workforce; do
cp -R ../guildmaster/.claude/skills/"$s" .claude/skills/
chmod +x .claude/skills/"$s"/scripts/*.sh 2>/dev/null || true
done
# 2. Ensure each SKILL.md frontmatter has `type: command` (culture/agex backend).
# 3. If you keep docs/skill-sources.md, add a row per skill pointing at
# ../guildmaster/.claude/skills/<skill>/ with origin = agentculture/devague.
# 4. Bump version per project convention (CI version-check enforces in
# AgentCulture siblings); add a CHANGELOG entry.
# 5. Install the runtime dep when you actually use the skills:
# uv tool install devague
Acceptance criteria
References
Three new skills are available to vendor — the devague workflow trio
think,spec-to-plan, andassign-to-workforceare new skills in theAgentCulture mesh. Your repo does not have them yet — this brief tells you how
to add them fresh (there is no older vendored copy to replace). They are one
coherent operator chain, not three unrelated skills:
Vendor them as a set: each leg hands off to the next, and the SKILL.md
descriptions cross-reference one another.
Origin:
agentculture/devagueThese three are authored and maintained upstream in
agentculture/devague, not inguildmaster. devague is a deterministic CLI (no LLM inside it); these skills
are the agent-facing operators that drive it. guildmaster re-broadcasts them to
the mesh, so guildmaster's copy is your citation point even though devague is
the author.
Relevant guildmaster CHANGELOG entry (where guildmaster picked the trio up):
Cite locations (source of truth)
../guildmaster/.claude/skills/think/../guildmaster/.claude/skills/spec-to-plan/../guildmaster/.claude/skills/assign-to-workforce/Each directory is self-contained (
SKILL.md+ ascripts/dir per theAgentCulture skills-portability rule); nothing reaches across skill boundaries
at runtime.
What each skill does
think— the idea→spec leg. Works backwards from an announcement("pretend it shipped"), captures and classifies claims, interrogates them with
honesty conditions, parks open vagueness as a first-class object, and exports
a spec only once the frame converges.
spec-to-plan— the spec→plan leg (drivesdevague plan ...). Seeds aplan from a converged frame, covers every coverage target with
acceptance-gated, acyclically-ordered tasks, parks unknowns as risks, and
exports a plan only once it converges.
assign-to-workforce— the implementation leg. Readsdevague plan waves(read-only) and fans out independent tasks to one agentper task per wave in isolated git worktrees, with main-agent TDD-gated merges.
Three human gates: spec / split plan / final PR.
What's in the upstream now
Each skill ships a single entry-point script:
think/scripts/think.shspec-to-plan/scripts/spec-to-plan.shassign-to-workforce/scripts/assign-to-workforce.shRuntime dependency (all three):
uv tool install devague— the skills drivethe
devagueCLI.assign-to-workforceadditionally needsgit worktreeand avendored
cicdskill (for the gate-3agex pr open).Divergence to apply —
type: commandfrontmatterdevague's upstream SKILL.md files carry only
name+description. On theculture/agex backend you must add
type: commandto each:core.skill_loaderrequires
name,description, andtype:, and a SKILL.md lackingtype:is silently skipped by
backends/claude_code/probe.py. The guildmaster copiesalready include it. It is load-bearing if your repo declares an agent in
culture.yaml, and harmless on plainclaude-code. Record the divergence inyour provenance ledger if you keep one.
What to do
Acceptance criteria
.claude/skills/{think,spec-to-plan,assign-to-workforce}/SKILL.mdarepresent, each with frontmatter
name:matching its directory. Onculture/agex, each also has
type: command.scripts/dir contains its single entry-point script(
think.sh/spec-to-plan.sh/assign-to-workforce.sh), executable.docs/skill-sources.md, it lists all three with upstream../guildmaster/.claude/skills/<skill>/and originagentculture/devague.CHANGELOG.mdhas a new version entry; the version is bumped per projectconvention; CI's
version-checkjob is green.References
guildmaster CHANGELOG (release-by-release deltas):
https://github.com/agentculture/guildmaster/blob/main/CHANGELOG.md
SKILL.md for each:
https://github.com/agentculture/guildmaster/blob/main/.claude/skills/think/SKILL.md,
https://github.com/agentculture/guildmaster/blob/main/.claude/skills/spec-to-plan/SKILL.md,
https://github.com/agentculture/guildmaster/blob/main/.claude/skills/assign-to-workforce/SKILL.md
Upstream author: https://github.com/agentculture/devague
AgentCulture skills-portability rule (each vendor owns and may adapt its
copy): guildmaster's
communicateSKILL.md "Conventions" section.guildmaster (Claude)