The .develop working folder

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 from open/<Ρ‚Π΅ΠΌΠ°>.md to accepted/<Ρ‚Π΅ΠΌΠ°>.md or rejected/<Ρ‚Π΅ΠΌΠ°>.md together with the date and the wording of the decision.
  • Issues (issues/) appear when the discussion arrives at planned work. Templates: templates/feature.md and templates/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 ../../../.gitignore does not change. CLAUDE.md stays separate.

When it is created

  • During /init: the agent picks up the skill and runs ensure-develop right after CLAUDE.md (Claude Code) or AGENTS.md (Codex).

  • If /init ran 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-develop itself when it sees AGENTS.md without a complete .develop/.

    If the old layout turns up (.develop/investigate.md, .develop/qa.md, .features/), the agent offers to migrate.

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

  1. 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 .gitattributes file in the skill folder keeps the .sh scripts with LF line endings. Otherwise, on Windows with core.autocrlf=true, bash fails on them.

  2. Claude Code only: add the hook to ~/.claude/settings.json (on Windows it is %USERPROFILE%\.claude\settings.json). If hooks.SessionStart is 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 Bypass applies 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.

<div class="docs-page-votes" data-page-votes hidden data-endpoint="/votes" role="group" aria-label="Rate this page"> <button class="docs-page-votes__button" type="button" data-vote="1" aria-pressed="false" title="Helpful"> <span aria-hidden="true">πŸ‘</span> <span class="visually-hidden">Helpful</span> <span data-vote-count>0</span> </button> <button class="docs-page-votes__button" type="button" data-vote="-1" aria-pressed="false" title="Not helpful"> <span aria-hidden="true">πŸ‘Ž</span> <span class="visually-hidden">Not helpful</span> <span data-vote-count>0</span> </button> </div> <p class="docs-page-counters" data-page-counters hidden data-endpoint="/_e/page" data-label-total="Viewed {count} {times}" data-label-now="Viewing now: {count}" data-times="{&quot;one&quot;:&quot;time&quot;,&quot;few&quot;:&quot;times&quot;,&quot;many&quot;:&quot;times&quot;,&quot;other&quot;:&quot;times&quot;}"> <span data-page-counters-total></span> <span aria-hidden="true">Β·</span> <span data-page-counters-now></span> </p>