home / skills / railwayapp / railway-skills / central-station
This skill helps you discover Central Station threads and discussions, surfacing relevant topics and recent questions from Railway community knowledge.
npx playbooks add skill railwayapp/railway-skills --skill central-stationReview the files below or copy the command above to add this skill to your agents.
---
name: central-station
description: This skill should be used when the user asks about Central Station threads, community discussions, support questions, feature requests, or wants to search Railway's community knowledge base. Use for queries like "search central station", "find threads about", "what are people asking about", "recent support threads", or "central station topics".
allowed-tools: Bash(curl:*), Bash(jq:*)
---
# Central Station
Search and browse Railway's Central Station - the community support platform for threads, discussions, and documentation.
## API Endpoints
| Endpoint | URL |
|----------|-----|
| GraphQL | `https://station-server.railway.com/gql` |
| Thread Markdown | `https://station-server.railway.com/api/threads/:slug` |
| LLM Data Export | `https://station-server.railway.com/api/llms-station` |
| Frontend | `https://station.railway.com` |
## When to Use
- User wants to search Central Station threads or docs
- User asks about community discussions or support questions
- User wants to find threads about a specific topic (deployments, databases, etc.)
- User asks "what are people asking about X"
- User wants to see recent threads or questions
- User mentions Central Station, community threads, or support discussions
- User wants to find existing solutions before creating a new thread
## When NOT to Use
- User wants Railway product documentation - use `railway-docs` skill
- User wants to check their project status - use `status` skill
- User wants to manage their Railway project - use appropriate skill (deploy, environment, etc.)
## Docs Search
For official Railway documentation, use the `railway-docs` skill which fetches from `https://docs.railway.com/api/llms-docs.md`.
Central Station's `unifiedSearch` can identify document types but has limited field access:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
--data-raw '{"query":"{ unifiedSearch(input: { query: \"volumes\", limit: 10 }) { results { document { __typename } } } }"}'
```
Document types returned: `EsThreadItem` (threads) and `DocSearchResult` (docs).
**Note**: For searching thread content, use the LLM Data Export endpoint instead (see below) which provides full thread data.
## Quick Actions
### Get Recent Threads
Fetch recent threads, optionally filtered by topic:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
-d '{"query": "{ threads(first: 10, sort: recent_activity) { edges { node { slug subject status topic { slug displayName } upvoteCount createdAt } } } }"}'
```
With topic filter:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
-d '{"query": "{ threads(first: 10, sort: recent_activity, topic: \"questions\") { edges { node { slug subject status topic { displayName } upvoteCount } } } }"}'
```
### Get Thread by Slug
Fetch a specific thread with its content:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
-d '{"query": "{ thread(slug: \"THREAD_SLUG\") { slug subject status content { data } topic { displayName } upvoteCount } }"}'
```
### Get Thread as Markdown
For a cleaner read, fetch the thread as markdown:
```bash
# Append .md to the frontend URL (requires topic slug)
curl -s 'https://station.railway.com/TOPIC_SLUG/THREAD_SLUG.md'
# Or use API with format query parameter
curl -s 'https://station-server.railway.com/api/threads/THREAD_SLUG?format=md'
# Or use API with Accept header
curl -s 'https://station-server.railway.com/api/threads/THREAD_SLUG' \
-H 'Accept: text/markdown'
```
### List Topics
Get all available topics:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
-d '{"query": "{ topics { slug displayName displayNamePlural } }"}'
```
Returns: questions, feedback, community, billing, bug-bounty, privacy, abuse, templates
### Get Trending Threads
Fetch currently trending threads:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
-d '{"query": "{ trendingThreads { slug subject status topic { displayName } upvoteCount } }"}'
```
### Get Pinned Threads
Fetch pinned/important threads:
```bash
curl -s 'https://station-server.railway.com/gql' \
-H 'content-type: application/json' \
-d '{"query": "{ pinnedThreads { slug subject topic { displayName } } }"}'
```
### Search via LLM Data Export
For searching thread content, fetch all threads and filter locally:
```bash
curl -s 'https://station-server.railway.com/api/llms-station' | jq '.items[] | select(.title | test("postgres"; "i")) | {title, topic: .topic.name, status: .metadata.status}'
```
This endpoint returns all public threads with full content, useful for searching by keywords.
## Thread Statuses
| Status | Description |
|--------|-------------|
| `OPEN` | Unresolved, accepting responses |
| `SOLVED` | Marked as resolved |
| `AWAITING_RAILWAY_RESPONSE` | Waiting for Railway team |
| `AWAITING_USER_RESPONSE` | Waiting for original poster |
| `CLOSED` | No longer accepting responses |
| `ARCHIVED` | Old thread, preserved for reference |
## Sort Options
For the `threads` query, use the `sort` parameter:
| Sort Value | Description |
|------------|-------------|
| `recent_activity` | Most recently active (default) |
| `newest` | Newest first |
| `highest_votes` | Most upvoted |
## Presenting Results
When showing threads:
1. **Thread title** - The subject
2. **Topic** - Category (questions, feedback, etc.)
3. **Status** - Open, solved, awaiting response
4. **Summary** - Brief preview from content
5. **Link** - `https://station.railway.com/{topic_slug}/{thread_slug}`
Format example:
```
Found 3 threads about "postgres":
1. "Connection timeout when connecting to Postgres"
Topic: questions | Status: SOLVED | Upvotes: 5
https://station.railway.com/questions/connection-timeout-postgres
2. "How to connect to Postgres from local development"
Topic: community | Status: OPEN | Upvotes: 12
https://station.railway.com/community/connect-postgres-local
3. "Postgres SSL certificate verification failed"
Topic: questions | Status: AWAITING_RAILWAY_RESPONSE
https://station.railway.com/questions/postgres-ssl-verification
```
## Common Search Patterns
| User Query | Filter/Search |
|------------|---------------|
| "Why is my deploy failing?" | topic: questions, search: "deploy" |
| "Can't connect to database" | topic: questions, search: "database" or "postgres" |
| "Domain not working" | topic: questions, search: "domain" |
| "Feature requests" | topic: feedback |
| "What are people building?" | topic: community |
## Composability
- **After finding a thread**: Summarize the solution or link to it
- **No results found**: Suggest using `railway-docs` skill or creating a new thread
- **Technical issue found**: Use relevant skill (deploy, environment, etc.) to help fix it
## Error Handling
### No Results Found
```
No threads found. Try:
- Different topic filter
- Checking Railway docs instead
- Creating a new thread at https://station.railway.com
```
### Invalid Topic
List available topics first:
```bash
curl -s 'https://station-server.railway.com/gql' -H 'content-type: application/json' -d '{"query": "{ topics { slug } }"}'
```
### Thread Not Found
```
Thread not found. It may have been deleted or marked private.
```
This skill lets you search and browse Railway's Central Station — the community platform for threads, discussions, and support questions. Use it to find existing threads, recent activity, trending or pinned discussions, and full thread content formatted as markdown. It helps surface community solutions and feature requests before creating a new thread.
The skill queries Central Station via provided GraphQL endpoints and an LLM data export that contains full thread content. It can fetch recent, trending, pinned, or topic-filtered threads, retrieve a thread by slug, and return thread markdown for clean reading. For deep content searches, it uses the LLM data export to filter thread bodies locally and present matching items with status, topic, and links.
Which endpoint returns full thread content for searching?
Use the LLM data export (/api/llms-station) to fetch all public threads with full content for local keyword filtering.
How do I get a thread as readable markdown?
Fetch the thread via the frontend URL with .md appended or call the API /api/threads/THREAD_SLUG with format=md or Accept: text/markdown.