@adaptec/goat-saas
v1.0.1
Published
Setup tool for the goat-saas skill — installs the skill and connects to the MCP server
Downloads
194
Maintainers
Readme
@adaptec/goat-saas
Setup tool for the goat-saas skill — a software requirements engineer and architect for web/mobile SaaS applications, powered by Claude Code.
goat-saas transforms requirements conversations into a comprehensive 9-document package:
| # | Document | Description | |---|----------|-------------| | 1 | README | Project master index (generated last, presented first) | | 2 | Application Summary | Plain-English overview for non-technical stakeholders | | 3 | Feature Requirements | Detailed feature specs, workflows, and data entities | | 4 | rippl Requirements | Machine-readable user stories and test scenarios (.rpl) | | 5 | Prototype Specification | Screen inventory, mock data, click-flows, and client sign-off checklist | | 6 | Technical Architecture | Stack, patterns, API design, encryption, and environment setup | | 7 | Testing Framework | Multi-layer test strategy with phase-by-phase test mapping | | 8 | Security & Compliance | RBAC, encryption, OWASP Top 10, and full regulatory compliance table | | 9 | AI Dev Instructions | Platform-specific build guidance with example AI prompts per phase |
After all 9 documents are approved, a QA Review checks cross-document consistency and reports gaps before the package is declared complete. Optional Word (.docx) export is available for every document.
Prerequisites
Before running setup, make sure you have:
- Claude Code installed and authenticated — either the CLI or the VS Code extension
- Node.js 18+ — check with
node --version - A valid API key — provided by your instructor (educational use) or included with your subscription
Quick Start
npx @adaptec/goat-saas setupYou'll be prompted for your API key. The tool will verify it, install the skill, and configure the MCP server connection. After it completes:
- Restart Claude Code (close and reopen VS Code, or restart the CLI)
- Start a new conversation
- Type
/goat-saas
That's it — the skill takes over from there.
Commands
npx @adaptec/goat-saas setup
First-time installation. Installs the skill and connects to the MCP server.
What happens:
goat-saas Setup
Enter your API key: gs_your_key_here
Verifying connection to server...
[OK] API key verified
Fetching skill prompt from server...
[OK] Skill installed to ~/.claude/skills/goat-saas/SKILL.md
Configuring MCP server in Claude Code settings...
[OK] MCP server configured in ~/.claude/settings.json
Setup complete! Restart Claude Code, then use /goat-saas to start.Step by step:
- Prompts for your API key
- Connects to the goat-saas server and validates your key (checks expiry, permissions, and rate limit)
- Downloads the latest skill prompt from the server and saves it to
~/.claude/skills/goat-saas/SKILL.md - Adds the goat-saas MCP server entry to
~/.claude/settings.json, preserving all your existing settings and MCP servers
npx @adaptec/goat-saas update
Update the skill to the latest version from the server.
npx @adaptec/goat-saas updateWhat happens:
- Reads your existing API key from
~/.claude/settings.json(no need to re-enter it) - Downloads the latest skill prompt from the server
- Overwrites the local
~/.claude/skills/goat-saas/SKILL.mdwith the updated version
Run this when you're notified of a skill update. Restart Claude Code after updating.
npx @adaptec/goat-saas uninstall
Remove the skill and MCP server configuration.
npx @adaptec/goat-saas uninstallWhat happens:
- Deletes
~/.claude/skills/goat-saas/SKILL.md - Removes the
goat-saasentry frommcpServersin~/.claude/settings.json - Does not touch any other Claude Code settings, skills, or MCP servers
No arguments / npx @adaptec/goat-saas
Prints usage help:
goat-saas — SaaS Requirements Skill for Claude Code
Usage:
npx @adaptec/goat-saas setup Install skill and connect to MCP server
npx @adaptec/goat-saas update Update skill to latest version from server
npx @adaptec/goat-saas uninstall Remove skill and MCP server configHow It Works
goat-saas uses a hybrid architecture that combines a local skill prompt with a remote MCP server:
┌──────────────────────────────┐ ┌────────────────────────────────┐
│ Your Machine (Claude Code) │ HTTPS │ goat-saas MCP Server │
│ │────────>│ (goat-saas-mcp-server.replit.app)
│ Local: │ │ │
│ ~/.claude/skills/goat-saas/ │ │ Serves on demand: │
│ SKILL.md │<────────│ - Document templates │
│ (conversation workflow) │ │ - rippl v2 syntax spec │
│ │ │ - Scenario patterns │
│ Claude reads the skill, │ │ - Architecture patterns │
│ calls MCP tools as needed │ │ │
└──────────────────────────────┘ └────────────────────────────────┘SKILL.md (local) contains the full conversational workflow — the question framework, document generation order, approval flow, QA review, and all rules. This is what makes the skill interactive and sequential.
MCP server (remote) serves the proprietary document templates, the rippl v2 language spec, scenario patterns, and architecture patterns. When Claude needs a template to generate a document, it calls the server and receives the content. The templates are never stored as files on your machine.
Why this matters: You get the full interactive experience of the skill — the same conversational flow, the same document quality, the same QA review — without proprietary content being stored locally.
Using the Skill
After setup, start a new Claude Code conversation and type:
/goat-saasWhat the skill does
Phase 1 — Platform & Requirements Gathering:
- Asks which AI development platform you'll use (Replit or Claude Code)
- Walks you through structured questions covering 8 areas: What, Who, Why, Workflows, When, Data, Tech, and Auth
- If you say "ASSUME" or "generate now," it makes logical assumptions and labels them clearly
Phase 2 — Sequential Document Generation:
- Generates 9 documents one at a time, in this order:
Document 2: Application Summary
↓ [You approve]
Document 3: Feature Requirements
↓ [You approve]
Document 4: rippl Requirements (.rpl)
↓ [You approve]
Document 5: Prototype Specification
↓ [You approve]
Document 6: Technical Architecture
↓ [You approve]
Document 7: Testing Framework
↓ [You approve]
Document 8: Security & Compliance
↓ [You approve]
Document 9: AI Development Instructions
↓ [You approve]
Document 1: README (generated last, presented first)
↓ [You approve]
QA Review: Cross-document consistency check
↓ [Findings presented, fixes applied]
↓ [Complete — 9-document package delivered]- After each document, you can request changes before approving
- Optional Word (.docx) export is offered after each approval
Key features
- rippl v2 requirements files — machine-readable
.rplfiles with user stories, test scenarios, and data models - Prototype specification — screen-by-screen blueprint with mock data, click-flows, and a client sign-off checklist
- Per-phase testing — testing is continuous (written after every development phase), not deferred to the end
- Security & compliance — every standard (HIPAA, GDPR, CCPA, SOC 2, PCI-DSS, FERPA, ADA/WCAG) explicitly addressed or marked N/A
- Terms of Service & Privacy — ToS/Privacy pages and signup acceptance are standard in every generated app
- Mobile support — Expo wrapper (default for web+mobile), Capacitor (alternative), or Expo + React Native (mobile-only)
- QA Review — automated cross-document consistency and gap analysis before final delivery
Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| GOAT_SAAS_SERVER_URL | https://goat-saas-mcp-server.replit.app | Override the MCP server URL. Use this for development, testing, or connecting to a custom deployment. |
Example:
GOAT_SAAS_SERVER_URL=http://localhost:3001 npx @adaptec/goat-saas setupAPI Key
Your API key is:
| Property | Detail |
|----------|--------|
| Format | gs_<name>_<random> (e.g., gs_john_doe_a8f3c9e2d1b4) |
| Scope | Personal — tied to your identity |
| Expiry | Time-limited — expires at the end of your course or subscription period |
| Rate limit | Requests per hour (set by your administrator) |
| Storage | Stored locally in ~/.claude/settings.json under mcpServers.goat-saas.headers.Authorization |
| Transmission | Sent only to goat-saas-mcp-server.replit.app over HTTPS |
If your key expires or stops working:
- Check with your instructor or subscription provider for a replacement key
- Run
npx @adaptec/goat-saas setupwith the new key (it will overwrite the old configuration)
Files Modified
The setup tool creates or modifies exactly two files:
| File | What happens |
|------|-------------|
| ~/.claude/skills/goat-saas/SKILL.md | Created on setup. Overwritten on update. Deleted on uninstall. Contains the skill conversation workflow (no proprietary templates). |
| ~/.claude/settings.json | Modified — a goat-saas entry is added under mcpServers. All existing settings, permissions, and other MCP servers are preserved. On uninstall, only the goat-saas entry is removed. |
No other files are created, modified, or deleted. The setup tool does not install global packages, modify your shell profile, or create background processes.
Platform Compatibility
| Platform | Supported | Notes |
|----------|-----------|-------|
| macOS | Yes | ~/.claude/ is in your home directory |
| Linux | Yes | ~/.claude/ is in your home directory |
| Windows | Yes | ~/.claude/ resolves to C:\Users\<you>\.claude\ |
| WSL | Yes | Automatically detected — ~/.claude is symlinked to the Windows home directory so skills and settings are shared between WSL and Windows |
| Claude Code CLI | Yes | Full support |
| Claude Code VS Code extension | Yes | Full support — restart VS Code after setup |
Troubleshooting
"Could not verify API key"
- Double-check your API key for typos, extra spaces, or line breaks
- Your key may have expired — contact your instructor or subscription provider
- The server may be temporarily unavailable — wait a minute and retry
Skill not found (/goat-saas doesn't trigger)
- Restart Claude Code — close and reopen VS Code, or restart the CLI
- Verify the skill file exists:
You should see thecat ~/.claude/skills/goat-saas/SKILL.md | head -5---frontmatter andname: goat-saas - If the file is missing, run
npx @adaptec/goat-saas setupagain
"Connection failed" during setup
- Check your internet connection
- Verify the server is reachable:
You should seecurl https://goat-saas-mcp-server.replit.app/health{"status":"ok","server":"goat-saas-mcp","version":"1.0.0"} - The server may be cold-starting (Replit autoscale) — wait 30 seconds and retry
Templates not loading during document generation
- The MCP server connection may have dropped. Check it in Claude Code:
Look for/mcpgoat-saasin the server list and verify its status - Re-run setup to reconfigure:
npx @adaptec/goat-saas setup - Verify
~/.claude/settings.jsoncontains the MCP server entry:{ "mcpServers": { "goat-saas": { "type": "http", "url": "https://goat-saas-mcp-server.replit.app/mcp", "headers": { "Authorization": "Bearer gs_your_key_here" } } } }
Update command says "No goat-saas MCP server configured"
- The
updatecommand reads your API key from~/.claude/settings.json. If the config is missing, runsetupfirst:npx @adaptec/goat-saas setup
Claude generates documents but they're missing structure or feel generic
- The MCP server may not be responding. Check connection:
curl -H "Authorization: Bearer gs_your_key_here" \ https://goat-saas-mcp-server.replit.app/skill-prompt | head -5 - If that returns an error, your key may be expired or rate-limited
- Try generating again — Claude will retry MCP tool calls
WSL: skill not visible on Windows side
If you ran setup from WSL but Claude Code on Windows does not see the skill:
- The setup tool auto-detects WSL and creates a symlink from
~/.claudeto/mnt/c/Users/<you>/.claude. Check if the symlink exists:
You should see something likels -la ~/.claude~/.claude -> /mnt/c/Users/YourName/.claude - If it is a regular directory instead of a symlink, back it up and re-run setup:
mv ~/.claude ~/.claude.bak npx @adaptec/goat-saas setup - If auto-detection failed, create the symlink manually (see DISTRIBUTION.md for steps)
Windows-specific: path errors
- The setup tool uses
os.homedir()which resolves correctly on Windows - If you see path errors, verify Claude Code is installed and
%USERPROFILE%\.claude\exists
Frequently Asked Questions
Can I use the skill without the MCP server? No. The skill prompt (SKILL.md) contains the conversation workflow but not the document templates. The templates are served by the MCP server on demand. Without the server, Claude won't have the structure to generate documents correctly.
Can I use the skill on multiple machines?
Yes. Run npx @adaptec/goat-saas setup on each machine with the same API key. The key is not locked to a single device.
Does the skill work offline? No. The MCP server must be reachable over the internet for template retrieval during document generation.
What happens when my API key expires?
The skill will stop loading templates. You'll see errors during document generation. Get a new key from your instructor or subscription provider, then run setup again with the new key.
Can I see what data is sent to the server?
The only data sent to the server is your API key (in the Authorization header) and the MCP tool call name (e.g., get_document_template('app-summary')). Your project details, conversations, and generated documents are never sent to the goat-saas server — those stay between you and Claude.
How do I check which version of the skill I have?
head -5 ~/.claude/skills/goat-saas/SKILL.mdThe frontmatter will show the skill name and description. To get the latest version:
npx @adaptec/goat-saas updateLicense
See LICENSE.md for full terms. Summary:
- The goat-saas skill, document templates, and rippl v2 language are proprietary to Keno Mullings / Adaptec
- Documents you generate are yours — you own all deliverables and can use them without restriction
- The rippl copyright header (
rippl v2.0 (c) 2025 Keno Mullings) must be retained in all.rplfiles - API keys are personal, non-transferable, and time-limited
- Content served by the MCP server is licensed for real-time use only — do not extract, cache, or redistribute
Support
For setup issues, API key problems, subscription management, or skill questions:
Keno Mullings / Adaptec [email protected]
