.agents/skills/oat-idea-new/SKILL.md
Use when starting ideation for a new concept or problem. Creates an idea directory for lightweight capture and handoff to ongoing ideation.
npx skillsauth add tkstang/open-agent-toolkit oat-idea-newInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new idea directory, scaffold a discovery document, verify setup, and hand off to oat-idea-ideate for brainstorming.
Print a phase banner once at start using horizontal separators, e.g.:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OAT ▸ NEW IDEA [project] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Replace [project] with [global] when operating at user level.
Before multi-step work, print step indicators, e.g.:
[1/4] Validating idea name…[2/4] Scaffolding idea directory…[3/4] Updating backlog + scratchpad…[4/4] Handing off to ideation…Determine whether to operate at project level or user (global) level.
Resolution order:
$ARGUMENTS contains --global → use user level.oat/config.local.json has activeIdea pointing to a valid directory → use project level~/.oat/config.json has activeIdea pointing to a valid directory → use user level.oat/ideas/ AND ~/.oat/ideas/ exist →
ask: "Ideas exist at both project and user level. Where should this idea go?"
options: "Project (.oat/ideas/)" / "Global (~/.oat/ideas/)".oat/ideas/ exists → use project level~/.oat/ideas/ exists → use user levelSet variables:
| Variable | Project Level | User Level |
| ---------------- | ---------------------- | ------------------------ |
| IDEAS_ROOT | .oat/ideas | ~/.oat/ideas |
| TEMPLATES_ROOT | .oat/templates/ideas | ~/.oat/templates/ideas |
If not provided in $ARGUMENTS, ask the user for an idea name.
Validation: Slug format only — alphanumeric, dashes, and underscores. No spaces or special characters.
test -d "{IDEAS_ROOT}/$IDEA_NAME"
If exists: Tell the user this idea already exists and suggest: "Run the oat-idea-ideate skill to resume brainstorming on it." Stop here unless they want a different name.
Create the ideas directory structure if it doesn't exist:
mkdir -p "{IDEAS_ROOT}/$IDEA_NAME"
If {IDEAS_ROOT}/backlog.md doesn't exist, copy from template:
{TEMPLATES_ROOT}/ideas-backlog.md{IDEAS_ROOT}/backlog.mdIf {IDEAS_ROOT}/scratchpad.md doesn't exist, copy from template:
{TEMPLATES_ROOT}/ideas-scratchpad.md{IDEAS_ROOT}/scratchpad.mdCopy template and apply replacements:
{TEMPLATES_ROOT}/idea-discovery.md{IDEAS_ROOT}/$IDEA_NAME/discovery.mdReplacements:
{Idea Name} → actual idea name (title case from slug)YYYY-MM-DD → today's date (ISO format)Add an entry to {IDEAS_ROOT}/backlog.md under the Active Brainstorming section:
- **{idea-name}** — {placeholder: to be filled during brainstorming} _(Created: YYYY-MM-DD)_
Read {IDEAS_ROOT}/scratchpad.md and look for an unchecked entry matching the idea name.
If found, check it off and append a note. Preserve any nested bullet notes beneath the entry:
- [x] **{idea-name}** - {original note} _(YYYY-MM-DD)_ → started (`{IDEAS_ROOT}/{idea-name}/`)
- {preserved quick note 1}
- {preserved quick note 2}
Write the active idea path to config:
oat config set activeIdea "{IDEAS_ROOT}/{idea-name}"
Verify all success criteria are met, then tell the user:
Idea "{Idea Name}" created successfully.
Level: {project | global}
Directory: {IDEAS_ROOT}/{idea-name}/
Backlog: {IDEAS_ROOT}/backlog.md (entry added)
Active: config activeIdea (set)
Starting brainstorming...
Then immediately invoke the oat-idea-ideate skill (located at .agents/skills/oat-idea-ideate/SKILL.md) to begin the first brainstorming session. Read that skill file and follow its process from Step 1. The ideate skill owns all conversational brainstorming behavior — do not duplicate it here.
{IDEAS_ROOT}/{idea-name}/ directory existsdiscovery.md scaffolded with correct name and date{IDEAS_ROOT}/backlog.md exists and includes the new idea{IDEAS_ROOT}/scratchpad.md exists (initialized if first idea)activeIdea config value points to the new ideaoat-idea-ideate skill invoked and brainstorming starteddocumentation
Use when OAT implementation changes and repository reference docs must be synchronized. Updates .oat/repo/reference to match current behavior.
business
Merge multiple analysis artifacts into a single coherent report with provenance tracking. Reads existing artifacts from /deep-research, /analyze, and /compare.
testing
Use when the user questions or suspects an agent claim is wrong. Adversarially gathers evidence to verify or refute the claim using the best sources available in the current environment.
tools
Use when prioritizing backlog work or evaluating a roadmap. Produces value-effort ratings, dependency mapping, and execution recommendations.