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:
parent
ca65185ba2
commit
228ca98423
7 changed files with 152 additions and 0 deletions
13
signal-ui/public/.well-known/agent-skills/index.json
Normal file
13
signal-ui/public/.well-known/agent-skills/index.json
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -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.
|
||||
17
signal-ui/public/.well-known/api-catalog
Normal file
17
signal-ui/public/.well-known/api-catalog
Normal 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
19
signal-ui/public/auth.md
Normal 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
17
signal-ui/public/llms.txt
Normal 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.
|
||||
29
signal-ui/public/robots.txt
Normal file
29
signal-ui/public/robots.txt
Normal 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
|
||||
30
signal-ui/public/webmcp.js
Normal file
30
signal-ui/public/webmcp.js
Normal 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." };
|
||||
}
|
||||
}
|
||||
]);
|
||||
})();
|
||||
Loading…
Reference in a new issue