Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .buildkite/ml_server_pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
steps:
- label: ":test_tube: Skills Smoke"
command:
- bash ./skills/smoke/run.sh
agents:
queue: "java_build_queue"

- label: ":mag: Selector Skill Smoke"
command:
- bash ./skills/maps-selector-rule-engineer/scripts/run_selector_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":round_pushpin: Geospatial Skill Smoke"
command:
- bash ./skills/maps-geospatial-routing-builder/scripts/run_geospatial_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":robot_face: ML Lifecycle Skill Smoke"
command:
- bash ./skills/maps-ml-model-lifecycle-playbook/scripts/run_ml_lifecycle_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":test_tube: Skill Combo Smoke (Optional)"
command:
- |
if [ -n "${SKILL_COMBO:-}" ]; then
cmd=(bash ./skills/smoke/run_skill_combination.sh --skills "${SKILL_COMBO}")
if [ "${SKILL_COMBO_DEEP:-0}" = "1" ]; then
cmd+=(--deep)
fi
if [ "${SKILL_COMBO_BOOTSTRAP:-0}" = "1" ]; then
cmd+=(--bootstrap-fixtures)
fi
"${cmd[@]}"
else
echo "SKILL_COMBO not set, skipping optional combo smoke."
fi
agents:
queue: "java_build_queue"

- label: ":maven: Build and release to github"
command:
- export NVD_API_KEY=$(buildkite-agent secret get nvd_api_key)
Expand Down
42 changes: 42 additions & 0 deletions .buildkite/ml_server_release_pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
steps:
- label: ":test_tube: Skills Smoke"
command:
- bash ./skills/smoke/run.sh
agents:
queue: "java_build_queue"

- label: ":mag: Selector Skill Smoke"
command:
- bash ./skills/maps-selector-rule-engineer/scripts/run_selector_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":round_pushpin: Geospatial Skill Smoke"
command:
- bash ./skills/maps-geospatial-routing-builder/scripts/run_geospatial_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":robot_face: ML Lifecycle Skill Smoke"
command:
- bash ./skills/maps-ml-model-lifecycle-playbook/scripts/run_ml_lifecycle_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":test_tube: Skill Combo Smoke (Optional)"
command:
- |
if [ -n "${SKILL_COMBO:-}" ]; then
cmd=(bash ./skills/smoke/run_skill_combination.sh --skills "${SKILL_COMBO}")
if [ "${SKILL_COMBO_DEEP:-0}" = "1" ]; then
cmd+=(--deep)
fi
if [ "${SKILL_COMBO_BOOTSTRAP:-0}" = "1" ]; then
cmd+=(--bootstrap-fixtures)
fi
"${cmd[@]}"
else
echo "SKILL_COMBO not set, skipping optional combo smoke."
fi
agents:
queue: "java_build_queue"

- label: ":maven: Build and release to github"
command:
- export NVD_API_KEY=$(buildkite-agent secret get nvd_api_key)
Expand Down
43 changes: 42 additions & 1 deletion .buildkite/server_pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
steps:
- label: ":test_tube: Skills Smoke"
command:
- bash ./skills/smoke/run.sh
agents:
queue: "java_build_queue"

- label: ":mag: Selector Skill Smoke"
command:
- bash ./skills/maps-selector-rule-engineer/scripts/run_selector_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":round_pushpin: Geospatial Skill Smoke"
command:
- bash ./skills/maps-geospatial-routing-builder/scripts/run_geospatial_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":robot_face: ML Lifecycle Skill Smoke"
command:
- bash ./skills/maps-ml-model-lifecycle-playbook/scripts/run_ml_lifecycle_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":test_tube: Skill Combo Smoke (Optional)"
command:
- |
if [ -n "${SKILL_COMBO:-}" ]; then
cmd=(bash ./skills/smoke/run_skill_combination.sh --skills "${SKILL_COMBO}")
if [ "${SKILL_COMBO_DEEP:-0}" = "1" ]; then
cmd+=(--deep)
fi
if [ "${SKILL_COMBO_BOOTSTRAP:-0}" = "1" ]; then
cmd+=(--bootstrap-fixtures)
fi
"${cmd[@]}"
else
echo "SKILL_COMBO not set, skipping optional combo smoke."
fi
agents:
queue: "java_build_queue"

- label: ":maven: Build and release to github"
command:
- export SONAR_TOKEN=$(buildkite-agent secret get SONAR_TOKEN)
Expand All @@ -22,4 +64,3 @@ steps:

agents:
queue: "java_build_queue"

43 changes: 42 additions & 1 deletion .buildkite/server_release_pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
steps:
- label: ":test_tube: Skills Smoke"
command:
- bash ./skills/smoke/run.sh
agents:
queue: "java_build_queue"

- label: ":mag: Selector Skill Smoke"
command:
- bash ./skills/maps-selector-rule-engineer/scripts/run_selector_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":round_pushpin: Geospatial Skill Smoke"
command:
- bash ./skills/maps-geospatial-routing-builder/scripts/run_geospatial_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":robot_face: ML Lifecycle Skill Smoke"
command:
- bash ./skills/maps-ml-model-lifecycle-playbook/scripts/run_ml_lifecycle_skill_smoke.sh
agents:
queue: "java_build_queue"

- label: ":test_tube: Skill Combo Smoke (Optional)"
command:
- |
if [ -n "${SKILL_COMBO:-}" ]; then
cmd=(bash ./skills/smoke/run_skill_combination.sh --skills "${SKILL_COMBO}")
if [ "${SKILL_COMBO_DEEP:-0}" = "1" ]; then
cmd+=(--deep)
fi
if [ "${SKILL_COMBO_BOOTSTRAP:-0}" = "1" ]; then
cmd+=(--bootstrap-fixtures)
fi
"${cmd[@]}"
else
echo "SKILL_COMBO not set, skipping optional combo smoke."
fi
agents:
queue: "java_build_queue"

- label: ":maven: Build and release to github"
command:
- wget https://github.com/Maps-Messaging/web-admin-client/releases/download/maps_web_client_1.0.1/webAdminClient.tgz
Expand All @@ -16,4 +58,3 @@ steps:

agents:
queue: "java_build_queue"

51 changes: 51 additions & 0 deletions .buildkite/skills_combo_usage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Skill Combo Smoke Usage

Optional Buildkite step: `:test_tube: Skill Combo Smoke (Optional)`

This step runs only when `SKILL_COMBO` is set.

## Environment Variables

- `SKILL_COMBO`
- Required to activate combo smoke.
- Comma-separated skill names.
- Example:
- `maps-selector-rule-engineer,maps-geospatial-routing-builder,maps-ml-model-lifecycle-playbook`

- `SKILL_COMBO_DEEP`
- Optional.
- `1` to run per-skill deep smoke scripts when available.
- `0` or unset for contract-only combination smoke.

- `SKILL_COMBO_BOOTSTRAP`
- Optional.
- `1` to regenerate fixtures before combo smoke.
- `0` or unset to use existing fixtures.

## Common Examples

Contract-only combo smoke:

```bash
SKILL_COMBO="maps-deployment-packager,maps-selector-rule-engineer,maps-geospatial-routing-builder"
```

Deep combo smoke:

```bash
SKILL_COMBO="maps-selector-rule-engineer,maps-geospatial-routing-builder,maps-ml-model-lifecycle-playbook,maps-scenario-composer"
SKILL_COMBO_DEEP=1
```

Deep combo smoke with fixture refresh:

```bash
SKILL_COMBO="mapsmessaging-config-builder,maps-runtime-diagnostics,maps-protocol-bridge-tester,maps-satellite-gateway-config,maps-schema-pipeline-builder,maps-transform-chain-designer,maps-aggregator-config-engineer,maps-canbus-ingestion-builder,maps-deployment-packager,maps-release-readiness-checker,maps-ml-stream-configurator,maps-artifact-execution-smoke-harness,maps-selector-rule-engineer,maps-geospatial-routing-builder,maps-ml-model-lifecycle-playbook,maps-scenario-composer,maps-skill-suite-orchestrator"
SKILL_COMBO_DEEP=1
SKILL_COMBO_BOOTSTRAP=1
```

## Notes

- The combo step is optional and does not replace the per-skill required smoke gates.
- Skill names must match folder names under `/Users/krital/dev/starsense/mapsmessaging_server/skills`.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ buildNumber.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
.idea

# Python cache artifacts (skill helper scripts)
__pycache__/
*.py[cod]
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,16 @@ For full license terms, see the [LICENSE](LICENSE) file in the repository.


[![Mutable.ai Auto Wiki](https://img.shields.io/badge/Auto_Wiki-Mutable.ai-blue)](https://wiki.mutable.ai/Maps-Messaging/mapsmessaging_server)

## Buildkite Skill Combo Smoke

This repository includes an optional Buildkite combo smoke step (`:test_tube: Skill Combo Smoke (Optional)`) that can run any combination of skills.

Set these environment variables on the pipeline/build:
- `SKILL_COMBO` (required to activate): comma-separated skill names
- `SKILL_COMBO_DEEP` (optional): `1` to run deep per-skill smoke scripts
- `SKILL_COMBO_BOOTSTRAP` (optional): `1` to regenerate fixtures before combo smoke

Usage reference:
- `.buildkite/skills_combo_usage.md`
- `docs/skills-install.md`
82 changes: 82 additions & 0 deletions docs/skills-install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Skills Install Guide

This guide explains how to package and install MAPS skills into Codex, Claude, and other agent runtimes.

## What to distribute

Distribute skill folders from `skills/` (each folder should include `SKILL.md`, `references/`, and `scripts/` as needed).

Examples:
- `skills/mapsmessaging-config-builder`
- `skills/maps-runtime-diagnostics`
- `skills/maps-aggregator-config-engineer`

To generate one zip per skill folder:

```bash
python3 skills/package-skills.py
```

## Install into Codex

Codex reads skills from `$CODEX_HOME/skills` (often `~/.codex/skills`).

Install selected skills:

```bash
mkdir -p ~/.codex/skills
cp -R skills/mapsmessaging-config-builder ~/.codex/skills/
cp -R skills/maps-runtime-diagnostics ~/.codex/skills/
```

Install all skills:

```bash
mkdir -p ~/.codex/skills
cp -R skills/* ~/.codex/skills/
```

Open a new Codex session and invoke by name, for example:
- `$mapsmessaging-config-builder`
- `$maps-runtime-diagnostics`

## Install into Claude

For Claude project agents:

1. Copy skill folders into your project (for example under `skills/` or `.claude/skills/`).
2. Register them in `AGENTS.md` with:
- skill name
- short description
- path to the skill `SKILL.md`
3. Trigger by explicit skill mention or task intent.

## Install into other LLM agents

If the platform has no native skill system, use one of these patterns:

1. Prompt-pack pattern:
- load `SKILL.md` plus required reference files into system/developer context.

2. Tool wrapper pattern:
- expose `scripts/` as callable tools for the agent.

3. Retrieval pattern:
- index `skills/` content and inject relevant snippets into runtime context.

## Runtime prerequisites (for MAPS smoke/runtime scripts)

- Docker
- `bash`
- `mosquitto_pub` and `mosquitto_sub`
- `python3` (optional helper scripts may also need `PyYAML`)
- `rg` (recommended)

## Packaging recommendation

For internal distribution:

1. Publish the repo branch/tag containing skill updates.
2. Keep skill docs and scripts versioned with source.
3. Prefer repo-relative paths in docs and references.
4. Include a short changelog entry for added/updated skills.
Loading