بنقرة واحدة
template-onboard
Interview the adopter and emit a context file for their organization
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Interview the adopter and emit a context file for their organization
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Recurring 23-domain enterprise/ISO repository audit — governance, traceability, security, supply chain, reproducibility, observability, architecture, technical debt, DX — produces a findings report with file:line evidence and risk ratings, and preserves the audit bar via anti-patterns Q-01…Q-08
Recurring 23-domain enterprise/ISO repository audit — governance, traceability, security, supply chain, reproducibility, observability, architecture, technical debt, DX — produces a findings report with file:line evidence and risk ratings, and preserves the audit bar via anti-patterns Q-01…Q-08 (Mode: AUTO — AGENTS.md Agent Behavior Protocol applies.)
Review cloud costs against budget and identify optimization opportunities
Debug ML inference issues — latency spikes, wrong predictions, event loop blocking
Scan a service for edge-protection coverage (WAF, DDoS mitigation, rate limiting) against ADR-042/D-38 — produces a PASS/FAIL report with file:line evidence
Scan a service for edge-protection coverage (WAF, DDoS mitigation, rate limiting) against ADR-042/D-38 — produces a PASS/FAIL report with file:line evidence (Mode: AUTO — AGENTS.md Agent Behavior Protocol applies.)
| name | template-onboard |
| description | Interview the adopter and emit a context file for their organization |
| allowed-tools | ["Read","Grep","Glob","Bash(python3:*)","Bash(cat:*)","Bash(test:*)"] |
| when_to_use | Use when a new adopter needs to generate a *_context.local.yaml file that captures their organization's specific configuration (cloud provider, registry, MLflow URL, etc.) without writing secrets. Examples: 'onboard my org', 'generate context file', 'set up adoption context'. |
| argument-hint | [service-path] |
| arguments | ["service-path"] |
| authorization_mode | {"generate_context":"AUTO","validate_context":"AUTO","escalation_triggers":[{"secret_in_context":"STOP"},{"invalid_schema":"STOP"}]} |
When a new adopter needs to create a *_context.local.yaml file that
captures their organization's configuration without writing secrets.
This is the first step after scaffolding a service.
copier copy (or new-service.sh).*_context.local.yaml is in .gitignore (verified by the
scaffolder).adopter_context.schema.json exists in the service config/
directory. This is a distinct schema from context.schema.json
(ADR-023's company/project risk-context, consumed by
risk_context.py) — the adopter context captures infrastructure
wiring (cloud provider, registry, tracking URIs), not risk/compliance
posture, and validating this file against context.schema.json
would always fail (additionalProperties: false on an unrelated shape).cd "$service-path"
test -f config/adopter_context.schema.json # schema must exist
grep -q "_context.local.yaml" .gitignore # must be gitignored
If either check fails → STOP with a clear message.
Ask the following questions. Each answer is written to
<service_slug>_context.local.yaml. If the adopter declines to answer,
the field is left as null (never guessed).
Questions:
gcp, aws, or local?gcr.io/my-org/, 123456.dkr.ecr.us-east-1.amazonaws.com/). Leave null if using local profile.file://./mlruns for local.gs://my-bucket/dvc/, s3://my-bucket/dvc/, or null for local.null for local.DEBUG, INFO, WARNING, ERROR (default: INFO).Write the answers to <service_slug>_context.local.yaml:
# Generated by /onboard — NEVER commit this file (gitignored).
# This file contains organizational configuration, NOT secrets.
# Secrets go in AWS Secrets Manager / GCP Secret Manager (D-17/D-18).
cloud_provider: gcp # or aws, local
container_registry: gcr.io/my-org/
mlflow_tracking_uri: file://./mlruns
dvc_remote: null
github_org: my-org
monitoring_endpoint: null
log_level: INFO
profile: local # matches active_profile.yaml
python3 -c "
import json, yaml, jsonschema
schema = json.load(open('config/adopter_context.schema.json'))
data = yaml.safe_load(open('${service_slug}_context.local.yaml'))
jsonschema.validate(data, schema)
print('Context file valid')
"
If validation fails → STOP with the schema error.
# D-17: no credentials in any file
grep -rEI "AKIA[0-9A-Z]{16}|AIza[0-9A-Za-z_-]{35}|ghp_[A-Za-z0-9]{36}" \
"${service_slug}_context.local.yaml"
If any pattern matches → STOP. Chain to /secret-breach.
Print a summary:
active_profile.yaml)active_profile.yaml — use /stack-switch for that.context.schema.json (checked in Step 4).null.