ibuildwith-ai/cody-product-builder/cody-product-builder
Claude Code and agent skill by ibuildwith-ai/cody-product-builder
- community
Checking that the SKILL.md file is still in the repository.
Guides knowledge workers and domain experts from idea to finished product through a structured two-phase workflow (Plan and Build). Use this skill whenever the user wants to plan, design, build, or ship a product, app, tool, or feature; add a new version or patch to an existing project; prototype or test an idea quickly; capture a product idea; or types any :cody command. Trigger it even when the user does not say "Cody" but describes wanting to build something, start a project, scope features, write a PRD, or organize product development.
Install
npx vskill@latest install ibuildwith-ai/cody-product-builder/cody-product-builderSKILL.md
Cody Product Builder
Agent Instructions
- Read this entire document (
SKILL.md) and commit it to memory. - Make sure you check this document often if you need to understand how to process any Cody Product Builder commands.
- Anything that has [AGENT TODO: to do item] means you need to take action.
- When you see AGENT ANNOUNCE, anything in between the ``
[message]`` (tick marks), you will display to the user exactly as stated. - After every phase, make sure you re-read this document.
- {{cfPlaceholders}} used in commands are defined in this document, under the "Template Placeholder Values" section. When you see a placeholder, you will replace it with its appropriate value.
- The roles are as follows:
- USER Is the human guiding you in the building process.
- AGENT That's you! The AI Development AGENT.
- For detailed phase descriptions, document references, and version naming conventions, see
{{cfReferences}}/phases.md.
Template Placeholder Values
These placeholders are a pointer to actual values. They are created here and used throughout various commands. When you encounter a placeholder, you will replace it with its value and consider that as the literal (e.g. {{cfCommands}}/help.md translates to commands/help.md).
The skill-file placeholders ({{cfRoot}}, {{cfAssets}}, {{cfCommands}}, {{cfReferences}}) are paths relative to this skill's own folder.
| Placeholder | Maps to | Description | |
|---|---|---|---|
| {{cfRoot}} | . | This skill's root folder. | |
| {{cfAssets}} | assets | Cody assets folder (templates and other static resources). | |
| {{cfCommands}} | commands | Cody commands to be executed. | |
| {{cfReferences}} | references | Shared reference content loaded on demand by commands. | |
| {{cfProject}} | Dynamic -- resolved from `cody.json` | Project output folder. Read from cody.json > cody-product-builder > projectPath. Default: cody-projects/product-builder. Resolved on activation and cached for the session. Re-resolved on :cody refresh. | |
| {{cfPlanPhase}} | `{{cfProject}}/plan` | Plan phase folder. | |
| {{cfWorkPhase}} | `{{cfProject}}/build` | Build phase folder. | |
| {{cfReleaseNotes}} | Dynamic -- resolved from `cody.json` | Release notes folder. Read from cody.json > cody-product-builder > releaseNotesPath. If "{{projectPath}}": resolves to {{cfWorkPhase}}. If "{{projectRoot}}": resolves to project root. Otherwise: resolves to the custom path. Resolved on activation and cached for the session. Re-resolved on :cody refresh. | |
| {{cfPrototypes}} | `{{cfProject}}/prototypes` | Prototype output folder. Holds throwaway, self-contained prototype subfolders, each with its own prototype.md and code. Sits outside the Plan and Build phases. | |
| {{cfBestPractices}} | `{{cfProject}}/best-practices` | Project best-practices folder. Holds project-best-practices.md, the project's living record of build learnings. A project-level folder alongside the Plan and Build phases. |
File System Checks
- Always use the placeholder paths (e.g.,
{{cfPlanPhase}},{{cfProject}}) when checking for files or folders. Never construct paths manually or use relative paths like./cody-projects/.... - Before concluding that a folder is empty or files don't exist, always verify with at least two different methods (e.g., a glob search AND a directory listing). Never make decisions based on a single failed search. This prevents false negatives caused by path resolution issues.
Executing Commands
- If the USER types any of the commands listed below, read and execute the corresponding command file.
- Only read command files when they are invoked. Do not pre-load all commands.
###:cody help
[AGENT TODO: Read and execute {{cfCommands}}/help.md]
###:cody plan
[AGENT TODO: Read and execute {{cfCommands}}/plan.md]
###:cody build
[AGENT TODO: Read and execute {{cfCommands}}/build.md]
###:cody idea
[AGENT TODO: Read and execute {{cfCommands}}/idea.md]
###:cody prototype
[AGENT TODO: Read and execute {{cfCommands}}/prototype.md]
###:cody refresh
[AGENT TODO: Read and execute {{cfCommands}}/refresh.md]
Activation
When this skill is activated, AGENT, please execute the following exactly:
- Resolve the project configuration. Resolving placeholder paths from
cody.jsonis deterministic work, so the skill ships a script to do it reliably and cheaply.
Run the resolver script. From the project root, run {{cfRoot}}/scripts/resolve-config.py. It reads cody.json and prints a JSON object: the resolved placeholder paths under resolved (cfProject, cfPlanPhase, cfWorkPhase, cfReleaseNotes, cfPrototypes, cfBestPractices), plus the flags cody_json_exists, has_section, release_notes_path_present, and legacy_project_json_exists. Cache the six resolved values for the rest of the session.
Fallback -- only if the script cannot run (no Python runtime, or code execution unavailable). Resolve the values by hand:
- If
cody.jsonexists with acody-product-buildersection:{{cfProject}}=projectPath;{{cfPlanPhase}}={{cfProject}}/plan;{{cfWorkPhase}}={{cfProject}}/build;{{cfPrototypes}}={{cfProject}}/prototypes;{{cfBestPractices}}={{cfProject}}/best-practices;{{cfReleaseNotes}}fromreleaseNotesPath("{{projectPath}}"resolves to{{cfWorkPhase}},"{{projectRoot}}"to the project root, any other value to that path). - If
cody.jsondoes not exist: use defaults --{{cfProject}}=cody-projects/product-builder, with/plan,/build,/prototypes, and/best-practicesbeneath it, and{{cfReleaseNotes}}={{cfWorkPhase}}. - Cache the resolved values for the rest of the session.
One-time migration -- missing `releaseNotesPath`. If cody.json exists with a cody-product-builder section but no releaseNotesPath field (script flag has_section is true and release_notes_path_present is false), handle it here -- the script leaves this to the skill because it needs the USER:
- Tell the USER where
release-notes.mdcurrently lives (check{{cfWorkPhase}}/release-notes.md). - Ask: "Would you like to keep release notes there, or move them?" with options:
- Keep current location
- Project root
- Custom path
- STOP and wait for the USER.
- If they keep the current location, set
releaseNotesPathto"{{projectPath}}"incody.json. - If project root, set
releaseNotesPathto"{{projectRoot}}"incody.json. - If custom, ask for the path and set
releaseNotesPathto that value incody.json. - If they chose a different location and
release-notes.mdexists at the current location, move it to the new location. - Re-resolve
{{cfReleaseNotes}}(re-run the script) and cache it.
- Show the USER the following banner (replace {version} with the
metadata.versionvalue from this file's frontmatter):
Cody Product Builder is an AI agent skill for domain experts and knowledge workers that takes you from idea to finished product. It provides a structured, repeatable process so your projects are scalable, maintainable, and built right from the start, whether you're starting fresh, improving existing work, or making quick updates in any AI coding environment.
- Show the USER a contextual prompt based on their current phase:
- Check if
cody.jsonexists and has acody-product-buildersection. - If it exists and phase is
"plan": show"Ready to get started? Type :cody plan to begin, :cody prototype to test an idea first, or :cody help to see all available commands." - If it exists and phase is
"build": show"What would you like to work on? Type :cody build to continue building, :cody prototype to test an idea, :cody idea to capture a quick thought, :cody refresh to refresh project memory, or :cody help to see all available commands." - If it does NOT exist, check if the legacy file
cody-projects/product-builder/project.jsonexists. - If the legacy file exists:
- Tell the USER: "This version of Cody Product Builder uses a new project settings format. Let me migrate your settings."
- [AGENT TODO: Read and execute {{cfReferences}}/project-settings-check.md]
- After migration is complete, re-resolve
{{cfProject}},{{cfPlanPhase}},{{cfWorkPhase}}, and{{cfReleaseNotes}}from the newly createdcody.jsonand cache them for the session. - Show the contextual prompt based on the phase from
cody.json. - If neither file exists: show
"What would you like to work on? Type :cody help to see all available commands."
- Stop here and wait for the USER.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsource/cody-product-builder/SKILL.md
Popularity
- Repository stars
- 67
- Repository forks
- 9
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ibuildwith-ai/cody-product-builder/cody-product-builder)