software-factory-publisher
Publisher role boundaries for Software Factory generated public profile repositories.
Skill by jack-michaud
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-publisher
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.
About
Use cases: devops
Reviews
Write a reviewNo 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-publisher
What's inside
- Skill name
software-factory-publisher- Description
- Publisher role boundaries for Software Factory generated public profile repositories.
- License
- MPL-2.0
- Instructions
- 42 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Software Factory Publisher Default authority is validate/generate/diff. Publishing requires explicit human approval and is limited to the public Software Factory repositories listed in `role-capability-manifest.yaml`. The role must never use sprite, sprite-env, fly, pi-sprite, private notes, or credentials outside the approved publication scope. After approved public profile repositories are pushed, update the `jack-michaud/software-factory` monorepo profile submodule pointers to the pushed public repo HEADs, validate the monorepo state, and publish that public-safe pointer update unless the task explicitly scopes it out or credentials/authority block it. ## Commit authorship for Software Factory automation Every Software Factory automation-created git commit must use author `Jack Michaud <jack@lomz.me>` and include a commit-message trailer naming the active profile display name with Jack's email, for example: ```text Co-authored-by: Software Factory Publisher <jack@lomz.me> ``` When the `jack-michaud/software-factory` monorepo is available, use `publisher/scripts/software_factory_commit.py` for commits or mirror its policy exactly: pass `--author="Jack Michaud <jack@lomz.me>"`, set `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`, and `GIT_COMMITTER_EMAIL` only for that git invocation, and append one active-profile `Co-authored-by:` trailer. Do not set global git config for this policy; non-Software-Factory commits must keep their existing behavior. Dry-run check: ```bash HERMES_PROFILE=softwarefactorypublisher \ python3 publisher/scripts/software_factory_commit.py \ --repo . \ --message "chore: verify software factory authorship" \ --dry-run ``` ## Dependency-Gated Waiting Do not use `blocked` as the normal waiting state when a publisher or release task is waiting on another concrete Kanban task. If publication is waiting on remediation, reviewer gates, approval, install/update, docs, or any other durable Kanban work, create or identify that concrete task, link it as a parent dependency of the waiting publisher/release task, and return the publisher task to todo/ready so dependency completion re-dispatches it automatically. Approval/decision gates for already-blocked seeds must not be children of those blocked seeds; create them as unparented siblings or as parent/unblockers for future execution work, then record the decision on the seed before unblocking/re-dispatching it or routing PM graph creation. Reserve `blocked` for external/manual blockers where no concrete Kanban task exists yet: missing or unusable credentials, unknown authority, missing human approval, unavailable repository/distribution, or other conditions that cannot yet be modeled as a Kanban task. If the manual blocker can be represented as an unblocker Kanban task, create or link that unblocker task and avoid stranding downstream publication work. Preserve role boundaries while doing this handoff. Publisher handles authorized publication only; builder tasks own source edits; reviewer tasks own gates; installer/profile-mutation tasks own installs and runtime profile updates; docs tasks own release notes and documentation updates. Before blocking on GitHub auth, check the profile capability manifest and use the sanctioned non-secret procedure: 1. Confirm `~/.hermes/profiles/softwarefactorypublisher/.env` exists with mode `600`. 2. Confirm it defines the variable name `GITHUB_TOKEN` without printing the value. 3. Load/export that variable only for GitHub CLI/git operations. 4. Verify with non-secret commands such as `gh auth status`, `gh repo view jack-michaud/software-factory-publisher-profile`, or `git push --dry-run origin HEAD:main`, redacting token-bearing output if needed. 5. If any check fails, block with the non-secret failing condition.
From jack-michaud/software-factory-publisher-profile, MPL-2.0.
More from jack-michaud/software-factory-publisher-profile
- 0.462score
kanban-profile-workflow
jack-michaud
Public multi-profile Kanban workflow conventions.
SkillCFreshness: CClaude Code +9 - 0.461score
software-factory
jack-michaud
Public Software Factory profile workflow context.
SkillCFreshness: CClaude Code +9 - 0.457score
kanban-worker
jack-michaud
Public Kanban worker lifecycle and handoff conventions.
SkillCFreshness: CClaude Code +9 - 0.439score
hermes-agent
jack-michaud
Public Hermes Agent profile distribution install/update reference.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 10, 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
- Source
- GitHubgithub-graphql
More from jack-michaud
- 0.474score
remote-sprite-development
jack-michaud
Use when a Software Factory worker task must mutate or verify an existing remote Fly.io Sprite while preserving locality, checkpoint, evidence, rollback, and…
SkillCFreshness: CClaude Code +9 - 0.471score
software-factory-kanban-workflow
jack-michaud
Single-profile Software Factory Kanban workflow with durable task context, reminder propagation, bounded remediation retries, escalation, and shortcut…
SkillCFreshness: CClaude Code +9 - 0.470score
remote-sprite-development
jack-michaud
Use when Software Factory production PM, builder, or reviewer tasks need to mutate or verify an existing remote Fly.io Sprite via explicit remote commands…
SkillCFreshness: CClaude Code +9 - 0.469score
software-factory-evidence-report
jack-michaud
Generate Software Factory PM evidence HTML/JSON reports from public Kanban task surfaces.
SkillCFreshness: CClaude Code +9 - 0.466score
software-factory-pm
jack-michaud
PM role boundaries for Software Factory.
SkillCFreshness: CClaude Code +9 - 0.462score
kanban-profile-workflow
jack-michaud
Public multi-profile Kanban workflow conventions.
SkillCFreshness: CClaude Code +9
Cite this page
software-factory-publisher skill. Agent Mart. https://agentmart.dev/skills/jack-michaud-software-factory-publisher (last updated 2026-10-24)