Skip to content

infiquetra/mission-control

v2.21.5MIT

SDLC management for Operations, Asgard, and CAMPPS: prepared issue drafts, live schema sync, board schemas, labels, project fields, metrics, and card validation.

mission-control portable package

Portable Agent Plugins 1.0 package for SDLC management on Infiquetra's active boards — Operations, Asgard, and CAMPPS (upstream plugin version 2.21.0). This tree is authored in this repository from the import of infiquetra-claude-plugins at acc99fe7. The package version is 2.21.1. It does not ship PROVENANCE.json; the pin is the changelog entry above the 2.21.0 history.

The shared CLI is scripts/sdlc_manager.py. Eight Agent Skills document slices of it. Claude-only files live under com.infiquetra.claude/.

/issue [type] is the Claude command for issue creation. The script verbs are issue prepare and issue create-prepared.

What is in the package

PathWhat it is
plugin.jsonAgent Plugins 1.0 manifest
CHANGELOG.mdVersion history, including the import pin
fleet-bundle.jsonFleet Core modules this package loads
scripts/sdlc_manager.pyThe shared CLI
scripts/board_census.pyBoard-schema census
scripts/check_pagination.pyPagination check for gh api list calls
scripts/sync_template_docs.pyRegenerates the issue-template reference from infiquetra-sdlc
scripts/executor_profile_lint.pyExecutor-profile lint over the bundled tier palette
scripts/triage_suggest.pyAdvisory triage judgments; imported by the CLI, not a second entrypoint
skills/The eight skills below
config/Vendored board and workflow configuration
com.infiquetra.claude/Claude adapter: manifest, four commands, sdlc-operator agent
tests/This package's pytest suite

Skills

SkillActivates when...
boardBoard review, item movement, WIP analysis, standup prep
flowProject field assignment, sub-issue link and unlink, label verification, and card validation
issuesIssue creation, the five issue types, and prepared drafts
labelsLabel deployment, audit, and auto-label rules
metricsCycle time, throughput, and WIP age
milestonesObjective milestones: create, list, progress, and linking
rolloutRollout status, gap analysis, and SDLC deployment
triageRecommend a type label and place an existing issue on a board

How a harness runs it

From this package root, the directory that contains scripts/ and skills/:

python3 scripts/sdlc_manager.py --help

A skill-scoped harness (OpenCode, Gemini CLI, Muse, Hermes) installs a skill directory and follows that skill's commands. Those commands use the same package-root invocation.

Claude Code installs the package root. The root .claude-plugin/plugin.json points at com.infiquetra.claude/ for commands and the agent, and at skills/ for the skills. Adapter commands set:

SCRIPT="$CLAUDE_PLUGIN_ROOT/scripts/sdlc_manager.py"

scripts/ stays at the package root, so that variable still names the CLI. The catalog requires python>=3.12.

Read-only and GitHub-mutating subcommands

Every GitHub access goes through the gh CLI. The split recorded in ports/mission-control.json:

GroupRead-only against GitHubMutates GitHub
boardview, wip, standup, discover-fieldsadd, move, archive
issueprepare, intent-envelope, invalidate-bogus-objectivescreate, create-prepared, approve, close, reopen, comment, label-add, label-remove
labelsauditdeploy, auto-label, sync-fields
fieldsdiscover, create-optionset-options
metricscycle-time, throughput, wip-age, column-time—
milestoneslist, progresscreate, link
rolloutstatus, gap-analysisdeploy-labels, deploy-templates, deploy-all
flowfield-options, discover-project, validate-cardset-field, assign-mimir, link-sub-issue, unlink-sub-issue, verify-label, repair-window
configshow, show-defaults, init-defaults—

issue prepare writes a local draft. config init-defaults writes a local defaults file. issue invalidate-bogus-objectives appends to the local verdict log. flow repair-window adds or removes the repair-window label and posts a comment. When issue create-prepared meets an unmapped repository it opens a mapping pull request (_open_mapping_pr in the descriptor): real git worktree add, commit, and push, plus gh pr create.

Authentication and environment

  • gh must be installed and authenticated. The scripts do not read a token themselves. gh honors GH_TOKEN, GITHUB_TOKEN, and GH_HOST.
  • INFIQUETRA_SDLC_PATH names an infiquetra-sdlc checkout. The script documents the path it uses when the variable is unset.
  • TYPESAFE_API_KEY is required only for --suggest. When it is unset, the advisory path reports that and does not fail the command.
  • sync_template_docs.py imports PyYAML at module scope. sdlc_manager.py imports PyYAML inside Team Mimir coverage validation and names PyYAML in the error if the import fails.

Configuration resolution

  • Workflow schema (config/sdlc-schema.json) — the gh API read of infiquetra-sdlc on main first, then the vendored file, then a local checkout.
  • Project mappings — the INFIQUETRA_SDLC_PATH checkout, then the vendored file, then the gh API.
  • Board schema — vendored config/board-schema.json. board_census.py --check reports drift; --write regenerates the file.

Fleet Core bundle

The CLI loads intent_envelope, plugin_resolution, typesafe_client, and jev_log. Those modules load tier_resolver, tier_palette, retry_backoff, and staffing.json. executor_profile_lint.py loads tier_palette. fleet-bundle.json declares that set. scripts/bundle_fleet_module.py writes scripts/_bundled/. This package does not ship fleet_commons_shim.

The Fleet Core source is plugins/fleet-core/.

Validation

From the repository root. The probes below parse arguments and do not call GitHub.

python3 scripts/bundle_fleet_module.py --check
python3 scripts/check_repo.py
python3 plugins/mission-control/scripts/sdlc_manager.py --help
python3 plugins/mission-control/scripts/board_census.py --help
python3 plugins/mission-control/scripts/check_pagination.py --help
python3 plugins/mission-control/scripts/sync_template_docs.py --help
python3 plugins/mission-control/scripts/executor_profile_lint.py --help
python3 -m pytest plugins/mission-control/tests -q

Further reading