claude-code-plugin-ref…
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
Configures GitHub Actions CI/CD workflows for testing, linting, and deployment. Use when setting up automation for a Python, Rust, or TypeScript project.
$ npx -y skills add athola/claude-night-market --skill workflow-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/workflow-setupContext preview
The summary Claude sees to decide when to auto-load this skill.
Configures GitHub Actions CI/CD workflows for testing, linting, and deployment. Use when setting up automation for a Python, Rust, or TypeScript project.
name: workflow-setup description: Configures GitHub Actions CI/CD workflows for testing, linting, and deployment. Use when setting up automation for a Python, Rust, or TypeScript project. globs: "**/.github/workflows/*.yml" alwaysApply: false # Custom metadata (not used by Claude for matching): model: sonnet tools: [Read, Write, Bash] category: infrastructure tags: [github-actions, ci-cd, workflows, automation, testing] complexity: intermediate model_hint: standard estimated_tokens: 1500
Set up GitHub Actions workflows for continuous integration and deployment.
1. **test.yml** - Run pytest on push/PR 2. **lint.yml** - Run ruff linting 3. **typecheck.yml** - Run mypy type checking 4. **publish.yml** - Publish to PyPI on release
1. **ci.yml** - Combined test/lint/check workflow 2. **release.yml** - Build and publish releases
1. **test.yml** - Run Jest tests 2. **lint.yml** - Run ESLint 3. **build.yml** - Build for production 4. **deploy.yml** - Deploy to hosting (Vercel, Netlify, etc.)
ls -la .github/workflows/
**Verification:** Run the command with `--help` flag to verify availability.
from project_detector import ProjectDetector
detector = ProjectDetector(Path.cwd())
language = detector.detect_language()
required_workflows = {
"python": ["test.yml", "lint.yml", "typecheck.yml"],
"rust": ["ci.yml"],
"typescript": ["test.yml", "lint.yml", "build.yml"],
}
missing = detector.get_missing_configurations(language)**Verification:** Run `pytest -v` to verify tests pass.
workflows_dir = Path(".github/workflows")
workflows_dir.mkdir(parents=True, exist_ok=True)
for workflow in required_workflows[language]:
template = templates_dir / language / "workflows" / f"{workflow}.template"
output = workflows_dir / workflow
engine.render_file(template, output)
print(f"✓ Created: {output}")**Verification:** Run the command with `--help` flag to verify availability.
# Syntax check (requires act or gh CLI)
gh workflow list
# Or manually check YAML syntax
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/test.yml'))"**Verification:** Run `pytest -v` to verify tests pass.
# Good - pinned to major version - uses: actions/checkout@v4 - uses: actions/setup-python@v5 # Avoid - unpinned or outdated - uses: actions/checkout@v2 - uses: actions/setup-python@latest
**Verification:** Run `pytest -v` to verify tests pass.
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
os: [ubuntu-latest, macos-latest, windows-latest]**Verification:** Run `pytest -v` to verify tests pass.
- uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip' # Cache pip dependencies**Verification:** Run `python --version` to verify Python environment.
When writing inline shell scripts in workflows, ensure proper exit code handling:
# BAD - pipeline masks exit code
- run: |
make typecheck 2>&1 | grep -v "^make\["
echo "Typecheck passed" # Runs even if make failed!
# GOOD - use pipefail
- run: |
set -eo pipefail
make typecheck 2>&1 | grep -v "^make\["
# GOOD - capture exit code explicitly
- run: |
output=$(make typecheck 2>&1) || exit_code=$?
echo "$output" | grep -v "^make\[" || true
exit ${exit_code:-0}For complex wrapper scripts, run `/pensive:shell-review` before integrating.
To update workflows to latest versions:
/attune:upgrade-project --component workflows
**Verification:** Run the command with `--help` flag to verify availability.
(Python: test.yml + lint.yml + typecheck.yml; Rust: ci.yml; TypeScript: test.yml + lint.yml + build.yml) and contain valid YAML syntax verified by `python3 -c "import yaml; yaml.safe_load(open('...'))"`.
recognizes the workflow definitions.
capture; pipeline-masked failures (`cmd | grep`) without
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
States load-bearing decisions, invariants, and weak points. Use when judging a design change. Do not use for gating; use night-market-change-control.
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily commands; use night-market-operations.
Classify, gate, and review changes. Use when landing a PR, releasing, or amending rules. Do not use for failure triage; use night-market-debugging-playbook.
Search and record project memory (Discussions, journal, ADRs). Use before re-investigating anything. Do not use for settled battles; see failure-archaeology.
Bind loop 'done' to unfakeable gates. Use to harden egregore/herald loops or promote completion_integrity. Not for QA gates; use night-market-validation-and-qa.