feat(signal-ui): migrate agent-readiness files to Vercel, add graphify to gitignore

Moves llms.txt, robots.txt, auth.md, .well-known/api-catalog, agent-skills,
webmcp.js from VPS /var/www/signal-demo to signal-ui/public/ so they are
served from the Vercel deployment at signal.sttilsolutions.com.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kisa 2026-06-16 15:19:18 -04:00
parent ca65185ba2
commit 228ca98423
7 changed files with 152 additions and 0 deletions

View file

@ -0,0 +1,13 @@
{
"$schema": "https://agentskills.dev/schema/v0.2.0/index.json",
"version": "0.2.0",
"updated": "2026-06-06",
"skills": [
{
"name": "request_pilot",
"description": "Submit a pilot interest form to join Signal's limited early access program for DMEPOS suppliers.",
"url": "https://signal.sttilsolutions.com/.well-known/agent-skills/request-pilot/SKILL.md",
"sha256": "sha256:7625f9f124599b4a9678203b7c02568391836ad8c511dccd01f7abc4b33383d3"
}
]
}

View file

@ -0,0 +1,27 @@
# Request Signal Pilot Access
Submit an interest form to join Signal's limited pilot program for DMEPOS suppliers.
## Input required
- name: full name of the contact
- email: work email address
- company: organization name
- role: your role (e.g. "Billing Manager", "Owner", "RCM Director")
## What happens next
STTIL Solutions reviews the submission and responds within 2 business days. Pilot is limited to 3 DMEPOS suppliers or billing companies actively billing CGM.
## How to submit
POST to https://n8n.sttilsolutions.com/webhook/signal-cgm-lead with JSON body:
```json
{
"name": "<name>",
"email": "<email>",
"company": "<company>",
"role": "<role>"
}
```
## Eligibility
DMEPOS suppliers, billing companies, or RCM firms with active CGM patients.

View file

@ -0,0 +1,17 @@
{
"$schema": "https://www.iana.org/assignments/linkset/linkset-1.0.schema.json",
"linkset": [
{
"anchor": "https://signal.sttilsolutions.com",
"describedby": [
{ "href": "https://signal.sttilsolutions.com/llms.txt", "type": "text/markdown" }
],
"agent-skills": [
{ "href": "https://signal.sttilsolutions.com/.well-known/agent-skills/index.json", "type": "application/json" }
],
"author": [
{ "href": "https://signal.sttilsolutions.com/auth.md", "type": "text/markdown" }
]
}
]
}

19
signal-ui/public/auth.md Normal file
View file

@ -0,0 +1,19 @@
# Agent registration & contact — Signal
## Authentication posture
This site is **public**. All content and discovery endpoints are anonymous and read-only. The pilot request form submits to a secure webhook — no API key required to submit.
## How an agent should identify itself
Send a descriptive `User-Agent` header. Respect `robots.txt`. One pilot request per organization please.
## Contact
- Signal pilot: https://signal.sttilsolutions.com/#contact
- STTIL Solutions: https://sttilsolutions.com
## Capabilities
See the [Agent Skills index](/.well-known/agent-skills/index.json).
## Not applicable
- No OAuth/OIDC (no protected API)
- No MCP server card (no MCP endpoint on this marketing site)
- No commerce protocols

17
signal-ui/public/llms.txt Normal file
View file

@ -0,0 +1,17 @@
# Signal — Powered by STTIL Solutions
> Documentation readiness tracker for DMEPOS suppliers — stops CGM claim denials before they happen.
## What it does
- [Signal overview](https://signal.sttilsolutions.com/): per-patient stoplight report from CSV upload, flagging SWO gaps, expired qualifying visits, PA requirements, and PECOS issues before submission.
## Request pilot access
- [Pilot request form](https://signal.sttilsolutions.com/#contact): limited to 3 organizations. DMEPOS suppliers, billing companies, RCM firms.
## For agents
- [Agent skills index](https://signal.sttilsolutions.com/.well-known/agent-skills/index.json): what an agent can do here.
- [API catalog](https://signal.sttilsolutions.com/.well-known/api-catalog): machine-readable resource index.
- [Auth / contact](https://signal.sttilsolutions.com/auth.md): how to identify yourself and reach us.
## Parent company
- [STTIL Solutions](https://sttilsolutions.com/llms.txt): full portfolio context.

View file

@ -0,0 +1,29 @@
User-agent: *
Allow: /
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: GPTBot
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: OAI-SearchBot
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: ChatGPT-User
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: ClaudeBot
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: Claude-User
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: PerplexityBot
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: Google-Extended
Content-Signal: search=yes, ai-input=yes, ai-train=no
User-agent: Amazonbot
Content-Signal: search=yes, ai-input=yes, ai-train=no
Sitemap: https://signal.sttilsolutions.com/sitemap.xml

View file

@ -0,0 +1,30 @@
// WebMCP — progressive enhancement. Silent no-op in all browsers until navigator.modelContext ships.
(function () {
if (!navigator.modelContext) return;
navigator.modelContext.registerTools([
{
name: "request_pilot",
description: "Submit a Signal pilot interest form for a DMEPOS supplier or billing company.",
parameters: {
type: "object",
properties: {
name: { type: "string", description: "Full name of the contact" },
email: { type: "string", description: "Work email address" },
company: { type: "string", description: "Organization name" },
role: { type: "string", description: "Role, e.g. Billing Manager, Owner, RCM Director" }
},
required: ["name", "email", "company", "role"]
},
execute: async function ({ name, email, company, role }) {
const res = await fetch("https://n8n.sttilsolutions.com/webhook/signal-cgm-lead", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ name, email, company, role })
});
if (!res.ok) throw new Error("Submission failed");
return { success: true, message: "Pilot request submitted. STTIL Solutions will respond within 2 business days." };
}
}
]);
})();