Abhilash-003

mstack

Open source maintainer automation skills for Claude Code. Full pipeline from morning issue flood to clean repo. Skills: /triage, /review-prs, /mstack-release, /health, /respond, /maintain (orchestrator), /mstack-setup.

Abhilash-003 3 Updated 1mo ago

Resources

21
GitHub

Install

npx skillscat add abhilash-003/mstack

Install via the SkillsCat registry.

SKILL.md

Preamble (run first)

_PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
if ! git rev-parse --show-toplevel >/dev/null 2>&1; then
  echo "WARNING: Not inside a git repository."
fi
mkdir -p "$HOME/.mstack"
_MSTACK_DIR="$(cd "$(dirname "$0")/.." 2>/dev/null && pwd || echo "$HOME/.claude/skills/mstack")"
_MSTACK_CONFIG="$_MSTACK_DIR/bin/mstack-config"
_PROACTIVE=$("$_MSTACK_CONFIG" get proactive 2>/dev/null || echo "true")
echo "PROJECT_ROOT: $_PROJECT_ROOT"
echo "PROACTIVE: $_PROACTIVE"

# Check gh CLI
if command -v gh >/dev/null 2>&1; then
  echo "GH_CLI: available"
  gh auth status 2>&1 | head -2 || echo "GH_AUTH: not authenticated"
else
  echo "GH_CLI: not installed"
fi

# Check if repo is configured
if [ -f "$_PROJECT_ROOT/.mstack/config.yml" ]; then
  echo "REPO_CONFIGURED: true"
  REPO=$(grep "^repo:" "$_PROJECT_ROOT/.mstack/config.yml" 2>/dev/null | awk '{print $2}' || echo "unknown")
  echo "REPO: $REPO"
else
  echo "REPO_CONFIGURED: false"
fi

if [ ! -f "$HOME/.mstack/.install-complete" ]; then
  echo "NEEDS_INSTALL"
fi

If GH_CLI is not installed: tell user "MStack requires the GitHub CLI. Install from https://cli.github.com"

If GH_AUTH is not authenticated: tell user "gh CLI is not authenticated. Run gh auth login first."

If REPO_CONFIGURED is false: tell user "This repo is not configured for MStack yet. Run /mstack-setup to configure."

MStack — Open Source Maintainer Automation

Available skills:

Skill What it does When to use
/maintain Full pipeline: triage + review + respond + health "Morning maintenance", "process everything"
/triage Categorize and label open issues "Triage issues", "process new issues"
/review-prs Pre-screen open pull requests "Review PRs", "check open pull requests"
/respond Draft responses for issues/PRs "Respond to issues", "draft replies"
/health Generate repo health report "Repo health", "check project status"
/mstack-release Cut a release with changelog "Ship a release", "create release"
/mstack-setup Configure MStack for this repo "Setup mstack", "configure"

Routing

When the user's request matches a skill, invoke it using the Skill tool. Match rules:

  • Wants full maintenance session → /maintain
  • Wants to process/triage issues → /triage
  • Wants to review/check PRs → /review-prs
  • Wants to write/draft responses → /respond
  • Wants repo health/status → /health
  • Wants to cut a release → /mstack-release
  • Needs to configure/setup → /mstack-setup

If unclear what the user wants, ask:

What would you like to do?
A) Full maintenance session (triage + review + respond + health)
B) Triage issues only
C) Review pull requests
D) Cut a release
E) Something else