Creates and maintains a project's .develop folder β glossary, investigations, open questions with decisions, Jira-ready tickets and docs on how the system works.
Install through your agent β tell it:
Read https://ufo-tech.space/ai/install.md and install the develop-folder skill from the UFO Tech catalog.
Installation
Claude Code
Into the project β .claude/skills/develop-folder
macOS, Linux, WSL, Git Bash
mkdir -p ".claude/skills/develop-folder" ".claude/skills/develop-folder/scripts" ".claude/skills/develop-folder/templates"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -o ".claude/skills/develop-folder/.gitattributes"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/claude/SKILL.md -o ".claude/skills/develop-folder/SKILL.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -o ".claude/skills/develop-folder/scripts/ensure-develop.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -o ".claude/skills/develop-folder/scripts/ensure-develop.sh"
chmod +x ".claude/skills/develop-folder/scripts/ensure-develop.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -o ".claude/skills/develop-folder/scripts/next-number.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -o ".claude/skills/develop-folder/scripts/next-number.sh"
chmod +x ".claude/skills/develop-folder/scripts/next-number.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.ps1 -o ".claude/skills/develop-folder/scripts/session-check.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.sh -o ".claude/skills/develop-folder/scripts/session-check.sh"
chmod +x ".claude/skills/develop-folder/scripts/session-check.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -o ".claude/skills/develop-folder/templates/README.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -o ".claude/skills/develop-folder/templates/bug.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -o ".claude/skills/develop-folder/templates/feature.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -o ".claude/skills/develop-folder/templates/glossary.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -o ".claude/skills/develop-folder/templates/investigation.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -o ".claude/skills/develop-folder/templates/questions.md"
Windows PowerShell
New-Item -ItemType Directory -Force ".claude\skills\develop-folder" | Out-Null
New-Item -ItemType Directory -Force ".claude\skills\develop-folder\scripts" | Out-Null
New-Item -ItemType Directory -Force ".claude\skills\develop-folder\templates" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -OutFile ".claude\skills\develop-folder\.gitattributes"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/claude/SKILL.md -OutFile ".claude\skills\develop-folder\SKILL.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -OutFile ".claude\skills\develop-folder\scripts\ensure-develop.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -OutFile ".claude\skills\develop-folder\scripts\ensure-develop.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -OutFile ".claude\skills\develop-folder\scripts\next-number.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -OutFile ".claude\skills\develop-folder\scripts\next-number.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.ps1 -OutFile ".claude\skills\develop-folder\scripts\session-check.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.sh -OutFile ".claude\skills\develop-folder\scripts\session-check.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -OutFile ".claude\skills\develop-folder\templates\README.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -OutFile ".claude\skills\develop-folder\templates\bug.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -OutFile ".claude\skills\develop-folder\templates\feature.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -OutFile ".claude\skills\develop-folder\templates\glossary.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -OutFile ".claude\skills\develop-folder\templates\investigation.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -OutFile ".claude\skills\develop-folder\templates\questions.md"
Globally, for all projects β ~/.claude/skills/develop-folder
macOS, Linux, WSL, Git Bash
mkdir -p "$HOME/.claude/skills/develop-folder" "$HOME/.claude/skills/develop-folder/scripts" "$HOME/.claude/skills/develop-folder/templates"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -o "$HOME/.claude/skills/develop-folder/.gitattributes"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/claude/SKILL.md -o "$HOME/.claude/skills/develop-folder/SKILL.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -o "$HOME/.claude/skills/develop-folder/scripts/ensure-develop.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -o "$HOME/.claude/skills/develop-folder/scripts/ensure-develop.sh"
chmod +x "$HOME/.claude/skills/develop-folder/scripts/ensure-develop.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -o "$HOME/.claude/skills/develop-folder/scripts/next-number.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -o "$HOME/.claude/skills/develop-folder/scripts/next-number.sh"
chmod +x "$HOME/.claude/skills/develop-folder/scripts/next-number.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.ps1 -o "$HOME/.claude/skills/develop-folder/scripts/session-check.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.sh -o "$HOME/.claude/skills/develop-folder/scripts/session-check.sh"
chmod +x "$HOME/.claude/skills/develop-folder/scripts/session-check.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -o "$HOME/.claude/skills/develop-folder/templates/README.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -o "$HOME/.claude/skills/develop-folder/templates/bug.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -o "$HOME/.claude/skills/develop-folder/templates/feature.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -o "$HOME/.claude/skills/develop-folder/templates/glossary.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -o "$HOME/.claude/skills/develop-folder/templates/investigation.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -o "$HOME/.claude/skills/develop-folder/templates/questions.md"
Windows PowerShell
New-Item -ItemType Directory -Force "$HOME\.claude\skills\develop-folder" | Out-Null
New-Item -ItemType Directory -Force "$HOME\.claude\skills\develop-folder\scripts" | Out-Null
New-Item -ItemType Directory -Force "$HOME\.claude\skills\develop-folder\templates" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -OutFile "$HOME\.claude\skills\develop-folder\.gitattributes"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/claude/SKILL.md -OutFile "$HOME\.claude\skills\develop-folder\SKILL.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -OutFile "$HOME\.claude\skills\develop-folder\scripts\ensure-develop.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -OutFile "$HOME\.claude\skills\develop-folder\scripts\ensure-develop.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -OutFile "$HOME\.claude\skills\develop-folder\scripts\next-number.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -OutFile "$HOME\.claude\skills\develop-folder\scripts\next-number.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.ps1 -OutFile "$HOME\.claude\skills\develop-folder\scripts\session-check.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/claude/scripts/session-check.sh -OutFile "$HOME\.claude\skills\develop-folder\scripts\session-check.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -OutFile "$HOME\.claude\skills\develop-folder\templates\README.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -OutFile "$HOME\.claude\skills\develop-folder\templates\bug.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -OutFile "$HOME\.claude\skills\develop-folder\templates\feature.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -OutFile "$HOME\.claude\skills\develop-folder\templates\glossary.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -OutFile "$HOME\.claude\skills\develop-folder\templates\investigation.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -OutFile "$HOME\.claude\skills\develop-folder\templates\questions.md"
Codex
Into the project β .agents/skills/develop-folder
macOS, Linux, WSL, Git Bash
mkdir -p ".agents/skills/develop-folder" ".agents/skills/develop-folder/scripts" ".agents/skills/develop-folder/templates"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -o ".agents/skills/develop-folder/.gitattributes"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/codex/SKILL.md -o ".agents/skills/develop-folder/SKILL.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -o ".agents/skills/develop-folder/scripts/ensure-develop.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -o ".agents/skills/develop-folder/scripts/ensure-develop.sh"
chmod +x ".agents/skills/develop-folder/scripts/ensure-develop.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -o ".agents/skills/develop-folder/scripts/next-number.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -o ".agents/skills/develop-folder/scripts/next-number.sh"
chmod +x ".agents/skills/develop-folder/scripts/next-number.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -o ".agents/skills/develop-folder/templates/README.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -o ".agents/skills/develop-folder/templates/bug.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -o ".agents/skills/develop-folder/templates/feature.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -o ".agents/skills/develop-folder/templates/glossary.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -o ".agents/skills/develop-folder/templates/investigation.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -o ".agents/skills/develop-folder/templates/questions.md"
Windows PowerShell
New-Item -ItemType Directory -Force ".agents\skills\develop-folder" | Out-Null
New-Item -ItemType Directory -Force ".agents\skills\develop-folder\scripts" | Out-Null
New-Item -ItemType Directory -Force ".agents\skills\develop-folder\templates" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -OutFile ".agents\skills\develop-folder\.gitattributes"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/codex/SKILL.md -OutFile ".agents\skills\develop-folder\SKILL.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -OutFile ".agents\skills\develop-folder\scripts\ensure-develop.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -OutFile ".agents\skills\develop-folder\scripts\ensure-develop.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -OutFile ".agents\skills\develop-folder\scripts\next-number.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -OutFile ".agents\skills\develop-folder\scripts\next-number.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -OutFile ".agents\skills\develop-folder\templates\README.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -OutFile ".agents\skills\develop-folder\templates\bug.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -OutFile ".agents\skills\develop-folder\templates\feature.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -OutFile ".agents\skills\develop-folder\templates\glossary.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -OutFile ".agents\skills\develop-folder\templates\investigation.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -OutFile ".agents\skills\develop-folder\templates\questions.md"
Globally, for all projects β ~/.agents/skills/develop-folder
macOS, Linux, WSL, Git Bash
mkdir -p "$HOME/.agents/skills/develop-folder" "$HOME/.agents/skills/develop-folder/scripts" "$HOME/.agents/skills/develop-folder/templates"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -o "$HOME/.agents/skills/develop-folder/.gitattributes"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/codex/SKILL.md -o "$HOME/.agents/skills/develop-folder/SKILL.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -o "$HOME/.agents/skills/develop-folder/scripts/ensure-develop.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -o "$HOME/.agents/skills/develop-folder/scripts/ensure-develop.sh"
chmod +x "$HOME/.agents/skills/develop-folder/scripts/ensure-develop.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -o "$HOME/.agents/skills/develop-folder/scripts/next-number.ps1"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -o "$HOME/.agents/skills/develop-folder/scripts/next-number.sh"
chmod +x "$HOME/.agents/skills/develop-folder/scripts/next-number.sh"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -o "$HOME/.agents/skills/develop-folder/templates/README.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -o "$HOME/.agents/skills/develop-folder/templates/bug.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -o "$HOME/.agents/skills/develop-folder/templates/feature.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -o "$HOME/.agents/skills/develop-folder/templates/glossary.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -o "$HOME/.agents/skills/develop-folder/templates/investigation.md"
curl -fsSL https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -o "$HOME/.agents/skills/develop-folder/templates/questions.md"
Windows PowerShell
New-Item -ItemType Directory -Force "$HOME\.agents\skills\develop-folder" | Out-Null
New-Item -ItemType Directory -Force "$HOME\.agents\skills\develop-folder\scripts" | Out-Null
New-Item -ItemType Directory -Force "$HOME\.agents\skills\develop-folder\templates" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/.gitattributes -OutFile "$HOME\.agents\skills\develop-folder\.gitattributes"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/codex/SKILL.md -OutFile "$HOME\.agents\skills\develop-folder\SKILL.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.ps1 -OutFile "$HOME\.agents\skills\develop-folder\scripts\ensure-develop.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/ensure-develop.sh -OutFile "$HOME\.agents\skills\develop-folder\scripts\ensure-develop.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.ps1 -OutFile "$HOME\.agents\skills\develop-folder\scripts\next-number.ps1"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/scripts/next-number.sh -OutFile "$HOME\.agents\skills\develop-folder\scripts\next-number.sh"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/README.md -OutFile "$HOME\.agents\skills\develop-folder\templates\README.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/bug.md -OutFile "$HOME\.agents\skills\develop-folder\templates\bug.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/feature.md -OutFile "$HOME\.agents\skills\develop-folder\templates\feature.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/glossary.md -OutFile "$HOME\.agents\skills\develop-folder\templates\glossary.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/investigation.md -OutFile "$HOME\.agents\skills\develop-folder\templates\investigation.md"
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/develop-folder/shared/templates/questions.md -OutFile "$HOME\.agents\skills\develop-folder\templates\questions.md"
About
Creates and maintains the .develop/ working folder in the project root:
.develop/
βββ README.md # a short cheat sheet with the rules
βββ glossary.md # terms and abbreviations, grouped by topic
βββ investigations/<ΡΠ΅ΠΌΠ°>.md # investigations, one file per topic or request context
βββ questions/
β βββ open/<ΡΠ΅ΠΌΠ°>.md # β οΈ new, βΈοΈ deferred
β βββ accepted/<ΡΠ΅ΠΌΠ°>.md # β
accepted
β βββ rejected/<ΡΠ΅ΠΌΠ°>.md # π rejected
βββ issues/
β βββ features/<ΡΠΊΠΎΠ½ΠΊΠ°>-NNN-<Π½Π°Π·Π²Π°>.md
β βββ bugfix/<ΡΠΊΠΎΠ½ΠΊΠ°>-NNN-<Π½Π°Π·Π²Π°>.md
βββ docs/ # how the functionality works now
- Statuses: β οΈ new / awaiting decision Β· βΈοΈ deferred Β· β accepted Β· π rejected Β· π implemented (issues only). Only a person's decision changes a question's status.
- Questions: numbering runs through the whole
questions/folder. Once decided, a question moves fromopen/<ΡΠ΅ΠΌΠ°>.mdtoaccepted/<ΡΠ΅ΠΌΠ°>.mdorrejected/<ΡΠ΅ΠΌΠ°>.mdtogether with the date and the wording of the decision. - Issues (
issues/) appear when the discussion arrives at planned work. Templates:templates/feature.mdandtemplates/bug.md. The H1 heading is the Jira Summary, and everything before the "ΠΠΎΠΊΠ°Π»ΡΠ½Ρ ΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ" (local links) section is the Description, which can be pasted into Jira as is. - docs/ describes the current state of the system, not plans. Sections are updated when an issue becomes π.
- Git: the folder never gets into git, because the script adds
/.develop/to.git/info/exclude. This is a local file, so the shared../../../.gitignoredoes not change. CLAUDE.md stays separate.
When it is created
-
During
/init: the agent picks up the skill and runsensure-developright afterCLAUDE.md(Claude Code) orAGENTS.md(Codex). -
If
/initran before the skill appeared:- Claude Code β the SessionStart hook sees CLAUDE.md at the start of a session, creates or completes
.develop/and tells Claude about it; - Codex β there is no hook: the agent runs
ensure-developitself when it seesAGENTS.mdwithout a complete.develop/.
If the old layout turns up (
.develop/investigate.md,.develop/qa.md,.features/), the agent offers to migrate. - Claude Code β the SessionStart hook sees CLAUDE.md at the start of a session, creates or completes
Platforms
Every script has two versions that behave the same:
| System | Script version | Requirements |
|---|---|---|
| macOS, Linux, WSL | .sh |
bash (3.2, as on macOS, is fine too), git |
| Windows with Git for Windows (Git Bash) | .sh |
Git for Windows |
| Windows without Git Bash | .ps1 |
the built-in Windows PowerShell 5.1 or PowerShell 7; git β if the projects are in git |
Claude Code on Windows without Git for Windows runs both commands and hooks through PowerShell. That's why such a machine needs the .ps1 versions of the scripts and a separate variant of the hook.
Installation
-
Install the skill globally β the paths in SKILL.md (and the Claude Code hook) expect exactly this location:
~/.claude/skills/develop-folder/for Claude Code,~/.agents/skills/develop-folder/for Codex. The easiest way is to ask the agent: "install the develop-folder skill from the UFO Tech catalog globally"; commands for installing by hand are above on this page.If the skill is kept in git, the
.gitattributesfile in the skill folder keeps the.shscripts with LF line endings. Otherwise, on Windows withcore.autocrlf=true, bash fails on them. -
Claude Code only: add the hook to
~/.claude/settings.json(on Windows it is%USERPROFILE%\.claude\settings.json). Ifhooks.SessionStartis already there, append an element to the existing array instead of replacing it.macOS, Linux, WSL, Windows with Git Bash:
{ "hooks": { "SessionStart": [ { "hooks": [ { "type": "command", "command": "bash \"$HOME/.claude/skills/develop-folder/scripts/session-check.sh\"", "timeout": 10 } ] } ] } }Windows without Git Bash:
{ "hooks": { "SessionStart": [ { "hooks": [ { "type": "command", "shell": "powershell", "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"$HOME\\.claude\\skills\\develop-folder\\scripts\\session-check.ps1\"", "timeout": 15 } ] } ] } }-ExecutionPolicy Bypassapplies to this run only; it does not change the system policy.
Codex doesn't need this step. Without step 2 the skill still works, but the folder is created only during /init or when Claude notices CLAUDE.md without .develop/ on its own.
Contents
The installed skill:
develop-folder/
βββ SKILL.md # rules for the agent (separate ones for Claude Code and Codex)
βββ .gitattributes # LF for .sh, so bash doesn't fail on Windows
βββ scripts/ensure-develop.sh|.ps1 # creates or completes .develop; never overwrites existing files
βββ scripts/next-number.sh|.ps1 # the next free number: questions | features | bugfix
βββ scripts/session-check.sh|.ps1 # SessionStart hook (Claude Code only)
βββ templates/ # README, glossary, investigation, questions, feature, bug
In the catalog the scripts and templates are kept once in shared/; claude/ and codex/ hold only what differs.