← All skills
create-app
82 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By SethGammon/Citadel (GitHub) · coding · 929 stars · scanned at commit 3c317a0
End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature addition to existing codebase. Routes through PRD, architecture, and Archon campaign with verification at every step.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 86 places.
Show 17 more
- core/runtime/detect-runtime.js, line 7
const { execFileSync: defaultExecFileSync } = require('child_process'); - core/runtime/detect-runtime.js, line 83
parentInfo = execFileSync( - core/runtime/detect-runtime.js, line 89
parentInfo = execFileSync( - core/runtime/detect-runtime.js, line 96
parentInfo = execFileSync( - core/runtime/install-contract.js, line 265
"const { spawnSync } = require('child_process');", - core/runtime/install-contract.js, line 270
"const result = spawnSync(process.execPath, [real, ...process.argv.slice(2)], { stdio: 'inherit', env: process.env });", - core/worktree/create.js, line 14
const { execFileSync } = require('child_process'); - core/worktree/create.js, line 19
return execFileSync('git', args, { - hooks_src/harness-health-util.js, line 407
require('child_process').execFileSync('mypy', ['--version'], { stdio: 'pipe' }); - hooks_src/harness-health-util.js, line 411
require('child_process').execFileSync('pyright', ['--version'], { stdio: 'pipe' }); - hooks_src/init-project.js, line 179
"const { spawnSync } = require('child_process');\n" + - hooks_src/init-project.js, line 184
"const r = spawnSync(process.execPath, [real, ...process.argv.slice(2)], { stdio: 'inherit', env: process.env });\n" + - hooks_src/init-project.js, line 219
require('child_process').spawnSync('node', [script, 'sweep'], { - hooks_src/post-edit.js, line 25
const { execFileSync, spawnSync } = require('child_process'); - hooks_src/post-edit.js, line 442
result = spawnSync(cmd, args, { - hooks_src/post-edit.js, line 603
execFileSync(cmd, [...cmdArgs, filePath], { - hooks_src/post-edit.js, line 626
execFileSync('go', ['vet', './...'], {
and 66 more places
Downloads and installs other software
The author does not mention this.
Found in 1 place.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'create-app' ] || [ -L ~/.agents/skills/'create-app' ]; then echo 'A skill folder named create-app already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/SethGammon/Citadel' "$d" && git -C "$d" checkout --quiet '3c317a0bf13f147efaa695db7c24117349119d07' -- 'skills/create-app' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/create-app' ~/.agents/skills/'create-app' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'create-app' ~/.claude/skills/'create-app' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for SethGammon/Citadel shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/SethGammon/Citadel/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | 3c317a0 | 82 |
| 2026-11-07 | 3c317a0 | 72 |