Ulap is a provider-native Azure, AWS, and GCP architecture decision-engine skill for solution architects. Give it a messy client situation; it produces a source-backed, client-ready draft with a design review, explicit unknowns, API/security coverage, and auditable public-price evidence.
It is not a static template library, a compliance certification, a cloud deployment tool, or a final pricing quote.
Architecture proposals often look complete while quietly missing the decisions that matter: identity, security, API management, throttling, reliability, operational ownership, or the assumptions behind a cost figure. Ulap makes those omissions visible before a client receives the proposal.
Ulap favors decision quality over pretending every cloud is interchangeable.
| Available now | Deliberately not claimed |
|---|---|
| Azure, AWS, and GCP client-ready proposal/review workflows | Client-authorized contract pricing |
| Microsoft Learn MCP for Azure; official AWS/GCP documentation for their modules | Stored client data or credentials |
| Provider-native public-price evidence protocols | Infrastructure generation or live cloud changes |
| Hybrid/on-premises and cross-cloud analysis when network/commercial facts are complete | Compliance certification or a final pricing quote |
Use this repository as a Codex skill. Its Azure documentation dependency is declared in agents/openai.yaml and uses the Microsoft Learn MCP endpoint. AWS and GCP research uses their official documentation and price authorities defined in the provider references.
Then start with the client situation, not a cloud service name:
Use $ulap to turn this client brief into a provider-native, source-backed proposal and design review:
We need an internet-facing API for a confidential line-of-business application. We currently operate AWS,
but are also evaluating Azure and GCP; compare only if the operational and egress trade-offs are material.
It will be used by partner applications and our workforce. Target RTO is four hours, RPO is one hour.
We expect 2 million requests/month. Budget is in USD.
Ulap asks only for missing material facts. A fact is critical if it could change the provider, region, trust boundary, architecture pattern, availability design, or cost order of magnitude.
The proposal contract requires a recommendation, client context, assumptions and decisions, target architecture, identity/security, API controls, reliability/operations, cost evidence, design-review findings, source ledger, and delivery ownership.
For a public API, the draft must address authentication, authorization, API management, quotas, rate limits, throttling behavior, WAF/edge protection, TLS, abuse response, and incident ownership. A client-ready-draft has no unresolved blockers; it is never a signed-off design or implementation authorization.
Ulap never presents a naked monthly number. It uses the official source appropriate to the proposal’s provider: Azure Retail Prices API, AWS Price List, or Google Cloud Billing Catalog API. Azure has a current explicit allowlist: App Service plans, API Management tiers, Azure SQL Database, Storage Accounts, Log Analytics, and outbound bandwidth.
Every numeric public-price estimate records source, retrieval time, region, exact SKU/meter, usage formula, currency, low/likely/high scenarios, purchase basis, and exclusions. If evidence cannot be obtained, it says UNAVAILABLE and asks for the exact missing input. See Azure pricing, AWS pricing, and GCP pricing.
python -m unittest discover -s tests
python scripts/lint_proposal.py tests/fixtures/azure-public-api-proposal.md
python scripts/lint_proposal.py tests/fixtures/aws-public-api-proposal.md
python scripts/lint_proposal.py tests/fixtures/gcp-public-api-proposal.md
python scripts/check_public_artifacts.py .The sanitized Azure, AWS, and GCP golden fixtures show the common contract. They contain fixed synthetic figures solely to test structure; live work must retrieve the exact supported public-price evidence.
- Keep client names, domains, IDs, private network ranges, configuration exports, credentials, and client artifacts out of this repository.
- Never give Ulap a secret, key, certificate, billing-account ID, or raw client configuration. It is stateless by default; any public price cache belongs outside the repository and must not retain client data.
- AI-assistant
Co-authored-bytrailers are strictly prohibited. The local hook and GitHub Action enforce it. After cloning, runscripts/enable-local-hooks.ps1.
Read SKILL.md and the proposal contract before contributing. Do not map services by name: every provider claim must have provider-native official evidence.
Hybrid/on-premises work requires validated addressing, DNS, routing, firewall ownership, private connectivity, and failure-domain facts. Cross-cloud comparison is optional and requires a validated provider-native proposal for each candidate. Contract pricing requires a client-controlled, short-lived authorization design.
