Assembler
Sets a repository up for the Factorio workflow kit or refreshes its envelope by reading the repo and generating the repo-local envelope every other kit skill binds to, plus the harness wiring and repo-specific skills and agents. Use when setting up a repo for the kit or refreshing its tracker team/project/label map, domain glossary, build/test/lint commands, PR/issue/doc templates, or repo-specific skills and agents.From its SKILL.md
npx -y skills add dylanmccavitt/loom --skill assemblerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.9 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Assembler
The assembling machine that builds the machines: it lays out the per-repo factory the rest of the kit runs on. assembler reads a repo and stamps the repo-local envelope, wires the harness to it, and scaffolds the repo-specific tooling the kit needs there. It replaces the retired bootstrap trio — repo-workflow-bootstrap, workflow-kit, and setup-matt-pocock-skills — folding their machinery into one Factorio-framed, tracker-aware skill.
This skill writes only envelope, wiring, and scaffold files. It never creates tracker objects, branches, or PRs (prospect and blueprint (issue-decomposition lens) create planning objects; roboports writes code), and it asks the user only for facts no tool can supply.
The envelope
Canonical source: .agents/envelope/ in the target repo. It contains four human-authored Markdown bindings:
linear-map.md— which tracker team, project(s), labels, and workflow states map to this repo (including the triage roles → state/label map read byblueprint's triage lens), plus the bridge convention: the branch carries the tracked issue id; the PR auto-links and auto-closes the issue on merge.domain.md— the repo's domain glossary: nouns, bounded contexts, and the words specs and issues must use.commands.md— the real build / test / lint / run commands and the default branch.templates/— repo-local PR / issue / doc templates, stamped fromblueprint's canonicaltemplates/.
This Markdown envelope is the single binding point. .agents/envelope/ is the repo-local contract every kit skill reads instead of hardcoding a tracker; there is no runtime mirror or second source to edit. See ENVELOPE.md for the full shape of each binding.
Repo wiring
Once the envelope exists, wire the harness to it: add or update an ## Agent skills block in the repo's AGENTS.md (or CLAUDE.md if that is the one present — never create the other when one already exists) pointing the kit at .agents/envelope/.
Repo-specific skills and agents
Synthesize the tooling the envelope implies but the generic kit cannot carry — a <repo>-<capability> skill for a recurring domain workflow, or a reviewer agent scoped to the repo's real risk areas. Generate them under the repo's own .agents/skills/ and .agents/agents/, one level deep, each with a concrete Use when trigger and no harness prefix. See SCAFFOLD.md.
Workflow
- Read the repo. Detect stack, default branch, build/test/lint/run commands, existing docs/ADRs,
AGENTS.md/CLAUDE.md, and any prior.agents/envelope/. Uselist_teams,list_projects,list_issue_labels, andlist_issue_statusesto discover the tracker mapping. - Ask only for the gaps. Confirm the team/project and the label-to-state mapping the tools cannot infer. Never ask for anything the repo or the tracker already answers.
- Generate, create-missing-only. Write each envelope file that is absent; never clobber one that exists. Stamp
templates/fromblueprint's canonicaltemplates/, substituting the repo's real names; never copy placeholders verbatim. Wire the## Agent skillsblock. Scaffold the repo-specific skills/agents the envelope implies. - Verify. Cross-check the Markdown bindings agree and the envelope is complete before declaring the repo ready; see VERIFY.md. A refresh proposes a diff and asks before overwriting.
Invariants
- Never writes secrets. No tokens, keys, or credentialed URLs ever land in the envelope — record where a secret lives (the env var name), never its value.
- Create-missing-only. Generation never overwrites an existing envelope file; a refresh is an explicit, confirmed diff.
- Single binding point.
.agents/envelope/is the author-owned Markdown-only source for repo facts; there is no generated runtime mirror or second source. - Minimal diff. Stamp the least that makes the kit work and cite
biters' minimal-diff lens — never scaffold a file, skill, or agent no workflow reads.
Routing
- Setting up / refreshing repo facts, harness wiring, or repo-specific tooling lands here.
- "Create an issue" / "make tickets" →
blueprint(issue-decomposition lens). Assembler maps the tracker; it never opens issues. - Spec or template content →
blueprint(it owns the canonical templates assembler stamps). - A brand-new idea →
prospect.
What ships with it: 4 files
8.7 KB alongside SKILL.md
evals/
- evals.json2.9 KB
- ENVELOPE.md2.4 KB
- SCAFFOLD.md1.9 KB
- VERIFY.md1.5 KB