Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Project-aware file generation. An agent skill from SethGammon/Citadel.
$ npx skills add SethGammon/Citadel --skill scaffold -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SethGammon/Citadel scaffold --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scaffold .claude/skills/scaffold && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scaffold" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/scaffold into .claude/skills/scaffold/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/SethGammon/Citadel/tree/main/skills/scaffoldType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add SethGammon/Citadel --skill scaffold -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SethGammon/Citadel scaffold --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/scaffold .agents/skills/scaffold && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scaffold" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/scaffold into .agents/skills/scaffold/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SethGammon/Citadel --skill scaffold -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SethGammon/Citadel scaffold --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/scaffold .cursor/skills/scaffold && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scaffold" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/scaffold into .cursor/skills/scaffold/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/SethGammon/Citadel.git --path skills/scaffold--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add SethGammon/Citadel --skill scaffold -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SethGammon/Citadel scaffold --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/scaffold .gemini/skills/scaffold && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scaffold" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/scaffold into .gemini/skills/scaffold/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install SethGammon/Citadel scaffoldInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add SethGammon/Citadel --skill scaffold -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/scaffold .github/skills/scaffold && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scaffold" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/scaffold into .github/skills/scaffold/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SethGammon/Citadel --skill scaffold -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SethGammon/Citadel scaffold --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/scaffold .opencode/skills/scaffold && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scaffold" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/scaffold into .opencode/skills/scaffold/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scaffoldProject-aware file generation. An agent skill from SethGammon/Citadel.
Scaffold is an agent skill from SethGammon/Citadel. Project-aware file generation. Reads existing codebase conventions (naming, structure, imports, exports, test patterns) then generates new files that match exactly. Wires generated files into the project's registration points.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `__benchmarks__/component-from-exemplar.md` and `__benchmarks__/existing-dir.md`).
It sits in Agent Workflows. The repository describes itself as: The operating layer for Claude Code + OpenAI Codex: persistent project memory, intent routing, safety hooks, cost telemetry, and parallel agent fleets. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e41ff1d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scaffold loads about 2.1k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,016 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from SethGammon/Citadel at commit e41ff1d, republished under its MIT licence (© SethGammon). 1,016 words, ~2,111 tokens.
.claude/skills/scaffold/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use when: Creating a new component, module, service, route, hook, domain, or utility with existing examples in the project.
Do NOT use when: The file has no precedent (use /marshal for unconstrained generation), you're modifying existing files (use /refactor), or the project has no conventions yet.
Needs: target type, name, and optional description.
Parse the user's request into:
If the type is ambiguous, ask ONE clarifying question. Do not ask more than one.
Search the codebase for 2-3 existing files of the same type.
Search strategy by type:
| Type | Search Pattern | What to Look For |
|---|---|---|
| component | **/*.tsx in the same directory or sibling directories | Functional components with similar complexity |
| module | Same directory as where new module will live | Registration pattern, exports, config shape |
| service | **/services/**, **/lib/** | Class vs function, singleton vs factory, error handling |
| route | Router config files, **/routes.*, **/pages/** | Route definition format, lazy loading, guards |
| hook | **/hooks/**, **/use*.ts | Naming, parameter patterns, return types, cleanup |
| domain | Top-level domain/feature directories | Manifest structure, entry point, internal layout |
| utility | **/utils/**, **/helpers/** | Pure function style, type signatures, JSDoc |
For each exemplar, extract:
hooks/ dir?).test.ts next to file? __tests__/ directory? separate tests/ tree?).types.ts? shared types file?)Output a brief analysis (3-5 lines) summarizing the conventions you found.
Based on the exemplars, determine which files to generate. Not every project needs every file. Only generate what the project's conventions call for.
Decision matrix:
| File | Generate IF... |
|---|---|
| Main file | Always |
Types file (.types.ts) | Project separates types into their own files (check exemplars) |
Test file (.test.ts) | Project has co-located tests for this type of file |
| Barrel/index file | Project uses barrel exports AND this file's directory doesn't already have one |
| Barrel update | Project uses barrel exports AND the directory already has an index file |
Style file (.module.css, .styled.ts) | Project uses co-located styles for this type |
Storybook file (.stories.tsx) | Project has stories for this type of file |
Do NOT generate:
describe('...', () => { it.todo('...') })For each file in the set, generate content by adapting the closest exemplar.
Rules:
// TODO: implement, // Add logic here)Match the exemplar's props pattern, state management, utility imports, async patterns, and error handling exactly.
Find every registration point the exemplars use and add the new file there.
Common wiring points (check which ones the project uses):
| Wiring Point | How to Find It | What to Add |
|---|---|---|
| Barrel exports | index.ts in the same or parent directory | export { NewThing } from './NewThing' |
| Route registration | Router config file (search for exemplar's route) | New route entry matching the pattern |
| Module registry | Bootstrap/registration file | New registration call |
| Navigation/sidebar | Nav config array | New nav entry if appropriate |
| Lazy loading map | Dynamic import map | New lazy import entry |
| Type unions | Discriminated unions that list all variants | New variant if this is a new "type" of thing |
Rules:
Run typecheck — every generated file must pass. Fix failures before exiting. If typecheck is unavailable, do a manual read-through for syntax and import correctness.
{path} already exists. Overwrite it?" and wait for confirmation.Reversibility: Amber — creates new files and modifies registration points; git checkout to undo.
Cost: No cost actions — file generation only; no agents spawned, no confirmation needed.
Trust: No gates — safe at all trust levels; overwrite confirmation is in Fringe Cases.
All of these must be true before the skill exits:
Output a summary in this format:
SCAFFOLD COMPLETE
Created:
- path/to/MainFile.tsx (component)
- path/to/MainFile.test.tsx (test)
- path/to/MainFile.types.ts (types)
Wired into:
- path/to/index.ts (barrel export)
- path/to/routes.ts (route registration)
Conventions matched from:
- path/to/ExemplarA.tsx
- path/to/ExemplarB.tsx
Typecheck: PASS---HANDOFF---
- Scaffolded: {name} ({type})
- Created: {N} files, wired into {N} registration points
- Conventions matched from: {exemplar names}
- Reversibility: green -- new files only, delete to undo
---© SethGammon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/scaffold of SethGammon/Citadel.
Open the folder on GitHubat commit e41ff1d
Scaffold next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scaffold this skillSethGammon/Citadel | 922 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Orca CLIstablyai/orca | 87k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| OpenSpec Guided OnboardingFission-AI/OpenSpec | 71k | 1 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Claude Code Plugin Structureanthropics/claude-plugins-official | 38k | 10 repos | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Fission-AI/OpenSpec
Walks you through a complete OpenSpec workflow cycle with narration while doing real work in your codebase.
anthropics/claude-plugins-official
Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
uditgoenka/autoresearch
Runs an autonomous modify, verify, keep-or-discard loop against any metric, with subcommands for planning, debugging, fixing, security audits, shipping and more.
SethGammon/Citadel
Creates new skills from the user's repeating patterns. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
Bounded foreground repetition for the current session. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
GitHub issue and PR investigator. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills.
SethGammon/Citadel
Autonomous multi-session campaign agent. An agent skill from SethGammon/Citadel.
Categories
Project-aware file generation. An agent skill from SethGammon/Citadel. Scaffold is an agent skill from SethGammon/Citadel. Project-aware file generation.
Scaffold fits situations like: agent Workflows work in your project.
Run `npx skills add SethGammon/Citadel --skill scaffold -a claude-code`. Or copy the skill folder (skills/scaffold in SethGammon/Citadel) into .claude/skills/scaffold in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SethGammon/Citadel --skill scaffold -a codex`. Or copy the skill folder (skills/scaffold in SethGammon/Citadel) into .agents/skills/scaffold in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SethGammon/Citadel --skill scaffold -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scaffold, .gemini/skills/scaffold, .github/skills/scaffold and .opencode/skills/scaffold in your project.
Going by SKILL.md and its folder, Scaffold needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Scaffold is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Scaffold: Orca CLI (stablyai/orca, 87k stars), OpenSpec Guided Onboarding (Fission-AI/OpenSpec, 71k stars), Claude Code Plugin Structure (anthropics/claude-plugins-official, 38k stars) and Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SethGammon (a GitHub user) maintains it in SethGammon/Citadel, which has 922 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 1, 2026.
Source: SethGammon/Citadel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.