scaffold-app
Scaffold a new application ready for Heroku deployment.
Skill by herokuOfficial
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/heroku-scaffold-app
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/scaffold-app
Tools it pre-approves 5
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash,Read,Write,Edit,Task
What's inside
- Skill name
scaffold-app- Description
- Scaffold a new application ready for Heroku deployment. Use when the user wants to create, build, or generate a new app — phrases like "build me an app", "create a new app", "scaffold a project", "make a SaaS app", or similar. Supports Node.js (Express), Python (FastAPI, Django, Flask), Ruby on Rails, and Go.
- License
- Apache-2.0
- Allowed tools
- Bash,, Read,, Write,, Edit,, Task
- Instructions
- 159 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
# Scaffold App
Read `${CLAUDE_PLUGIN_ROOT}/references/heroku/build-standards.md` before starting.
The ALWAYS rules defined there apply to this entire skill without exception.
## Step 1 — Confirm requirements
Before writing a single line of code, confirm the following with the user:
1. **Stack** — one of: `node`, `python`, `rails`, `go`, `website`.
- If no preference given, present the supported options and ask
- If an unsupported stack is requested (e.g. Elixir, Java), surface the supported list and ask for a preference
- If the user mentions a front-end framework (Vue, Svelte, Ember, React, etc.), clarify: is this a front-end only, browser app, or the front-end for a full-stack, server-side app?
- Map languages to stacks: Python → `python`, Node/JS → `node`, Ruby/Rails → `rails`, Go/Golang → `go`, Front-end Web → `website`
- Python: ask FastAPI, Django, or Flask? Default: FastAPI
2. **What is being built** — confirm the feature scope explicitly:
- What does this app do?
- What are the minimum features needed for a working app?
- What is explicitly out of scope for this build?
3. **Addons** — infer from description, confirm before adding:
- Database / store / persist → suggest `postgres`
- Cache / queue / jobs → suggest `redis`
4. **App name** — kebab-case. Suggest one based on description if not provided.
5. **Target directory** — default: current directory / app-name
Present a summary and get explicit confirmation before proceeding:
```
Here's what I'm going to build:
App: <app-name>
Stack: <stack> (<variant if python>)
Addons: <addons or "none">
Scope: <bullet list of confirmed features>
Out of scope: <bullet list>
Shall I proceed?
```
Do not proceed until the user confirms.
## Step 2 — Read references
Read these files before writing any code:
```
${CLAUDE_PLUGIN_ROOT}/references/stacks/<stack>.md
${CLAUDE_PLUGIN_ROOT}/references/heroku/deploy-contract.md
${CLAUDE_PLUGIN_ROOT}/references/standards/<language>.md
```
Where `<language>` maps to: python → `python.md`, node → `node.md`, rails → `ruby.md`, go → `go.md`, website → `website.md`
## Step 3 — Run preflight
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/preflight.py --quick --json
```
Gate on `git: true`. If docker is missing, note that local run/test will be unavailable but continue.
## Step 4 — Run scaffolder
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/scaffold.py \
--name <app-name> \
--stack <stack> \
[--variant <variant>] \
[--addons <postgres,redis>] \
[--dir <target-dir>] \
[--with-docker]
```
Parse the JSON summary from stdout. On non-zero exit, relay the stderr error message verbatim and stop.
## Step 5 — Build features using TDD
For each confirmed feature, follow the TDD cycle strictly:
1. **Write a failing test** that describes the expected behavior
2. **Run it** — confirm it fails for the right reason
3. **Implement** the minimum code to make it pass
4. **Run tests** — confirm it passes, no regressions
5. Move to the next feature
Reference `${CLAUDE_PLUGIN_ROOT}/references/standards/<language>.md` for testing patterns,
test structure, and framework-specific test clients.
Never write implementation code without a corresponding test.
## Step 6 — Run pre-commit checklist
Before committing, work through every item in:
`${CLAUDE_PLUGIN_ROOT}/references/heroku/pre-commit-checklist.md`
All items must pass:
- Tests pass at 90%+ coverage
- No lint errors
- Code formatted
- Security scan clean
- No unnecessary code (no dead code, no empty implementations, no debug statements)
- All tests are meaningful
- No secrets in staged files
Do not commit until every item passes.
## Step 7 — Git init and commit
```bash
cd <target_dir>
git init
git add -A
git commit -m "Initial Heroku scaffold — <stack> app"
```From heroku/heroku-claude-plugin, Apache-2.0.
More from heroku/heroku-claude-plugin
- 0.649score
deploy-anonymous
herokuOfficial
Deploy an app to Heroku.
SkillAFreshness: AClaude Code +9 - 0.649score
check-deploy-status
herokuOfficial
Check Heroku deployment status and verify the app is running.
SkillAFreshness: AClaude Code +9 - 0.603score
preflight
herokuOfficial
Run Heroku plugin preflight checks.
SkillBFreshness: BClaude Code +9 - 0.603score
teardown
herokuOfficial
Destroy a Heroku app and clean up local session state.
SkillBFreshness: BClaude Code +9 - 0.603score
claim-app
herokuOfficial
Transfer an anonymously deployed Heroku app to a permanent user account.
SkillBFreshness: BClaude Code +9 - 0.603score
build-and-deploy
herokuOfficial
Complete end-to-end workflow: scaffold a new app and deploy it to Heroku.
SkillBFreshness: BClaude Code +9 - 0.603score
generate-access-code
herokuOfficial
Generate a shareable access code for an anonymously deployed Heroku app preview.
SkillBFreshness: BClaude Code +9 - 0.603score
go-live
herokuOfficial
Open or share a deployed Heroku app.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 28, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/heroku/heroku-claude-plugin
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from heroku
- 0.649score
deploy-anonymous
herokuOfficial
Deploy an app to Heroku.
SkillAFreshness: AClaude Code +9 - 0.649score
check-deploy-status
herokuOfficial
Check Heroku deployment status and verify the app is running.
SkillAFreshness: AClaude Code +9 - 0.603score
preflight
herokuOfficial
Run Heroku plugin preflight checks.
SkillBFreshness: BClaude Code +9 - 0.603score
teardown
herokuOfficial
Destroy a Heroku app and clean up local session state.
SkillBFreshness: BClaude Code +9 - 0.603score
claim-app
herokuOfficial
Transfer an anonymously deployed Heroku app to a permanent user account.
SkillBFreshness: BClaude Code +9 - 0.603score
build-and-deploy
herokuOfficial
Complete end-to-end workflow: scaffold a new app and deploy it to Heroku.
SkillBFreshness: BClaude Code +9
Cite this page
scaffold-app skill. Agent Mart. https://agentmart.dev/skills/heroku-scaffold-app (last updated 2026-10-24)