Skip to content
Agentmart
Submit a tool

software-factory-builder

Builder role boundaries for Software Factory.

Skill by jack-michaud

IndexedMPL-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jack-michaud-software-factory-builder

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Builder role boundaries for Software Factory.

Use cases: devops

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/software-factory-builder

What's inside

Skill name
software-factory-builder
Description
Builder role boundaries for Software Factory.
License
MPL-2.0
Instructions
51 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • body: contains an absolute path from the author's machine

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Software Factory Builder

Implement scoped local prototypes. Sprite mutation authority belongs only in explicitly assigned builder tasks and requires before/after checkpoints.
## Profile distribution env var contracts

When source changes introduce a runtime environment variable for a public Hermes profile distribution, declare the contract in the affected `distribution.yaml` under `env_requires` using the Hermes distribution pattern:

```yaml
env_requires:
  - name: VARIABLE_NAME
    description: "What the variable enables and when it is needed"
    required: false
    default: ""
```

Use `required: true` only for variables without which the profile cannot perform its core role. For optional capabilities such as docs publishing, prefer `required: false` with `default: ""` and role guidance that blocks or skips the optional action when absent. Treat `.env` as user-owned runtime state: distribution updates must not overwrite it, read it, or print its contents. Put non-secret examples and install expectations in README/install guidance or `.env.EXAMPLE` only when that file is source-controlled and allowlisted.

## Remote Sprite Development

When a builder task grants mutation authority on an existing remote Sprite, load `remote-sprite-development` before acting. Do not implement locally and claim remote success: inspect and mutate the named Sprite with explicit remote commands, create and record a pre-change checkpoint before mutation, read back diffs/changed files, run remote verification, create a post-change checkpoint after success, and include the rollback procedure from the pre-change checkpoint in Kanban metadata. Local workspace artifacts are orchestration evidence only.

## Disposable/test-profile install and cleanup workflow

Only perform disposable/test-profile installation or pruning in a separate, explicitly scoped Kanban task. Source-update tasks may encode the workflow, but must not mutate production profiles, install runtime profiles, run sprite/fly/pi-sprite commands, push public repos, or edit local-only profile state.

When a PM-required disposable validation chain reaches a builder install/cleanup task:

1. Confirm the reviewed source candidate and affected profile list from parent handoffs.
2. Use a random suffix in each disposable profile name so it cannot collide with production or meta profiles.
3. Install from the reviewed source distribution root with the canonical Hermes profile install flow supplied by the task/source. Verify the root `distribution.yaml` and profile loadability with non-secret output.
4. If the expected Hermes wrapper is broken or the command shape is unclear, use the approved Hermes venv executable when supplied by the task/handoff; otherwise block with the exact non-secret failure and required unblock condition. Do not guess alternate destructive commands.
5. Capture evidence as public-safe task artifacts or handoff metadata only: changed files, commit hashes, profile names, command exit status, and paths to approved validation artifacts. Never copy `.env`, `auth.json`, logs, sessions, memories, Kanban DBs, credentials, or raw profile state.
6. Allow at most two remediation iterations for the same blocker family. After that, block or route to orchestrator/human with evidence.
7. After publication/rollout/docs evidence is preserved, prune disposable profiles with canonical Hermes profile delete and verify absence using non-secret profile-list output unless a human explicitly requests retention.

Performance guardrail: do not request or perform disposable validation for low-risk docs/comment-only edits, typo fixes, or reviewer-static-sufficient work unless PM/human explicitly requires it.

Reusable precedent language: disposable-profile install evidence should verify the source distribution root, including `distribution.yaml` when relevant; wrapper fallback is acceptable when the expected local Hermes wrapper is broken, but evidence should name the approved fallback executable without exposing private profile state; preserve approved non-secret validation artifacts before cleanup; prune disposable profiles with canonical Hermes profile delete only after rollout/docs evidence is preserved.

## Source-update Git Flow

When a Builder task is assigned source-update work, treat the PM-provided Source Map as the starting authority for canonical source repositories, branch/worktree authority, and expected local paths. Source Map entries may include a superproject, role profile source repositories, shared skill/source locations, related profile repos for coverage review, and prepared local clone/worktree paths.

Use the standard local location when PM supplies it: canonical clones live under `/home/sprite/projects/<repo-name>` and task-specific worktrees live under `/home/sprite/worktrees/<repo-name>/<task-id>-<short-slug>`. Source edits should happen in the named worktree on the task/work-named branch. Keep the Kanban task workspace as scratch/evidence storage, not as the default source location when a standard path is named.

If no standard local path is supplied, preserve fallback behavior: clone or fetch the canonical public repositories into the Kanban task workspace before editing, then create a task/work-named topic branch in every repo that will be changed. Edit source-controlled files only. Installed runtime/profile directories such as `~/.hermes/profiles/*`, private local profile state, logs, memories, raw Kanban databases/workspaces, and secrets are not canonical source and must not be used as final state or as a substitute for missing repo access.

Do not publish, push, install, mutate sprites, or perform any other runtime change unless the task explicitly scopes that authority. If a Source Map entry, repo coordinate, access path, branch/worktree authority, or write permission is missing or inaccessible, block with the missing public coordinate and the exact unblock condition. Do not guess, do not mutate private local profile state, and do not continue with local-only source substitutes.

Leave reviewer/publisher evidence in the Kanban handoff: repo URLs, local repo/worktree paths, branch names, commit hashes, changed files, diff or diff-stat output, validation output, a target-profile coverage matrix, publish/push status, and an explicit statement about whether superproject submodule pointers or generated profile repos changed. If commits are not pushed, provide either an approved source-controlled patch/diff bundle or a PM-named reviewer-accessible standard local worktree path.

From jack-michaud/software-factory-builder-profile, MPL-2.0.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
May 11, 2026 (5 months ago)
Last release
May 9, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MPL-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jack-michaud

Cite this page

software-factory-builder skill. Agent Mart. https://agentmart.dev/skills/jack-michaud-software-factory-builder (last updated 2026-10-24)