wire-feature
Scaffold and wire a full-stack feature across server, shared types, and client.
Skill by twlines
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/twlines-wire-feature
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/wire-feature
What's inside
- Skill name
wire-feature- Description
- Scaffold and wire a full-stack feature across server, shared types, and client. Use when adding a new API endpoint, WebSocket message type, or feature that touches multiple layers. Invoke with /wire-feature <feature-name> [--rest] [--ws] [--both].
- License
- MIT
- Instructions
- 119 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Full-Stack Feature Wiring
When a feature touches server + shared types + client, there are 4-6 files that need coordinated changes. This skill identifies all touch points and scaffolds the changes so nothing gets missed.
## The Maslow Stack
Every feature flows through these layers:
```
Client (apps/mobile/)
├── app/(tabs)/*.tsx — UI components
└── services/api.ts — API client + WS handlers
↓
Shared (packages/shared/)
└── src/types/index.ts — WS message types, shared interfaces
↓
Server (src/services/)
├── AppServer.ts — HTTP routes + WS handlers
├── <Service>.ts — Business logic (Kanban, ThinkingPartner, etc.)
└── AppPersistence.ts — Database queries
```
## Workflow
1. **Parse the feature** — name, transport (REST, WS, or both)
2. **Read current files** — AppServer.ts routes, shared types, api.ts client
3. **Identify all touch points** — list every file and section that needs changes
4. **Generate scaffolding** — for each touch point, produce the code needed
5. **Apply changes** — edit files in dependency order (shared → server → client)
6. **Verify** — run type-check to confirm everything compiles
## Touch Point Checklist
For a **REST endpoint**:
| Layer | File | Change |
|-------|------|--------|
| Server | `src/services/AppServer.ts` | Add route handler (GET/POST/PUT/DELETE) |
| Server | `src/services/<Service>.ts` | Add business logic method |
| Server | `src/services/AppPersistence.ts` | Add DB query (if data is persisted) |
| Shared | `packages/shared/src/types/index.ts` | Add request/response types (if needed) |
| Client | `apps/mobile/services/api.ts` | Add API method |
| Client | `apps/mobile/app/(tabs)/*.tsx` | Wire into UI |
For a **WebSocket message**:
| Layer | File | Change |
|-------|------|--------|
| Shared | `packages/shared/src/types/index.ts` | Add to `WSClientMessage` or `WSServerMessage` union |
| Server | `src/services/AppServer.ts` | Add WS message handler (client→server) or emitter (server→client) |
| Client | `apps/mobile/services/api.ts` | Add to `onmessage` switch (server→client) or add send method (client→server) |
| Client | `apps/mobile/app/(tabs)/*.tsx` | Wire into UI callback |
## Scaffolding Templates
### REST Route (AppServer.ts)
```typescript
// GET /api/<resource>
app.get("/api/<resource>", async (req, res) => {
try {
const result = yield* service.getResource()
res.json({ ok: true, data: result })
} catch (err) {
res.status(500).json({ ok: false, error: "Failed to get resource" })
}
})
```
### WS Message Type (shared types)
```typescript
// In WSClientMessage union:
| { type: "<feature.action>"; /* payload fields */ }
// In WSServerMessage union:
| { type: "<feature.result>"; /* payload fields */ }
```
### API Client Method
```typescript
// REST method
async getResource(): Promise<unknown> {
const res = await fetch(`${this.baseUrl}/api/resource`, {
headers: this.headers(),
})
const json = await res.json()
return json.data
}
```
### WS Handler (api.ts onmessage)
```typescript
case "<feature.result>":
callbacks.onFeatureResult?.(msg.data)
break
```
## Style Rules
Match the existing codebase exactly:
- No semicolons
- Double quotes
- 2-space indent
- REST responses: `{ ok: true, data: ... }` or `{ ok: false, error: "..." }`
- WS message types use dot notation: `"feature.action"`, `"workspace.action"`
- Error handling: try/catch in route handlers, Effect error channel in services
## Verification
After making all changes, run:
1. `npx tsc --noEmit` — type-check passes
2. `npx eslint .` — no new errors introduced
If either fails, fix the issues before reporting success.From twlines/maslow, MIT.
More from twlines/maslow
- 0.409score
effect-service
twlines
Scaffold a new Effect-TS service following Maslow's Context.Tag + Layer pattern.
SkillDFreshness: DClaude Code +9 - 0.409score
document
twlines
Generate structured code documentation for files, services, or modules.
SkillDFreshness: DClaude Code +9 - 0.409score
maslow-audit
twlines
Run architecture, security, and code quality audits on the Maslow codebase.
SkillDFreshness: DClaude Code +9 - 0.404score
conversation-context
twlines
How to use prior decisions and daily logs before starting work
SkillDFreshness: DClaude Code +9 - 0.404score
refactor-patterns
twlines
Safe refactoring patterns for moves, renames, and extractions
SkillDFreshness: DClaude Code +9 - 0.401score
sql-migration
twlines
SQLite schema and migration patterns for Maslow
SkillDFreshness: DClaude Code +9 - 0.401score
api-endpoint
twlines
REST API route patterns for AppServer
SkillDFreshness: DClaude Code +9 - 0.401score
code-review
twlines
Self-review checklist before committing changes
SkillDFreshness: DClaude Code +9 - 0.401score
security-check
twlines
Security checklist for code changes
SkillDFreshness: DClaude Code +9 - 0.401score
effect-conventions
twlines
Effect-TS patterns and anti-patterns for Maslow codebase
SkillDFreshness: DClaude Code +9 - 0.401score
pr-preparation
twlines
Commit and PR preparation standards for agent output
SkillDFreshness: DClaude Code +9 - 0.401score
schema-to-service
twlines
End-to-end pipeline for adding a new entity to Maslow
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Feb 13, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/twlines/maslow
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from twlines
- 0.409score
effect-service
twlines
Scaffold a new Effect-TS service following Maslow's Context.Tag + Layer pattern.
SkillDFreshness: DClaude Code +9 - 0.409score
document
twlines
Generate structured code documentation for files, services, or modules.
SkillDFreshness: DClaude Code +9 - 0.409score
maslow-audit
twlines
Run architecture, security, and code quality audits on the Maslow codebase.
SkillDFreshness: DClaude Code +9 - 0.404score
refactor-patterns
twlines
Safe refactoring patterns for moves, renames, and extractions
SkillDFreshness: DClaude Code +9 - 0.404score
conversation-context
twlines
How to use prior decisions and daily logs before starting work
SkillDFreshness: DClaude Code +9 - 0.401score
security-check
twlines
Security checklist for code changes
SkillDFreshness: DClaude Code +9
Cite this page
wire-feature skill. Agent Mart. https://agentmart.dev/skills/twlines-wire-feature (last updated 2026-10-24)