Automated summary
Imports an existing project with no `.curaye/` history into Curaye by mining session context, ingesting specification files, and running deterministic code inference through the CLI.
Strengths
- Combines conversation context mining, existing planning-document ingestion, and deterministic code inference.
- Includes pre-flight checks and stops clearly when a `.curaye/` folder already exists.
- Offers a fallback to `/curaye-bootstrap` when product documentation is absent or too thin.
- Accepts an optional project path, otherwise defaults to the current working directory.
Limitations
- Requires the `curaye` CLI and is designed specifically for Claude Code.
- Cannot import projects that already contain `.curaye/`, even if that history is incomplete.
- The provided SKILL.md is truncated mid-Step 3, so later workflow steps are not documented here.
Use it to bring an existing codebase into Curaye when the project has never been tracked and may already contain specs or planning files.
Do not use it when `.curaye/` already exists, when there is no product documentation at all, or when the `curaye` CLI is unavailable.
Security analysis
CautionThe skill is a well-structured orchestration prompt that drives an external CLI and writes documentation files into the user's project. Nothing destructive or exfiltrating is present, but it implicitly needs Bash and a third-party binary (`curaye`) plus writes to the project tree, so it warrants 'caution' rather than 'safe'.
- •Skill requires shell execution of an external, unverified `curaye` CLI (`curaye import`, `curaye link`) but declares no `allowed-tools`, so the agent may invoke Bash without an explicit capability declaration.
- •Writes and rewrites files inside the target project (creating `.curaye/` documents, converting user spec files), including overwriting a CLI-generated `prd.md` seed — mutation of user files, though scoped and reversible.
- •Reads broadly across the project (README, manifests, docs/specs/notes directories, entry-point source files) and also instructs mining of prior conversation context; content could include sensitive planning material, which is then written into new files.
- •Depends on sibling skills (`/curaye-bootstrap`, `/curaye-brief`, `/curaye-build`) that are not included in this catalog, so behavior outside this file is unverified.
- •No destructive commands, no network calls, no secret/credential transmission, no obfuscated payloads, and no attempts to override the agent's role or safety rules were found.
- •Instructs the agent to execute local `curaye` CLI commands (`curaye import`, `curaye link`) that write to `.curaye/` and modify project metadata; safety depends on trusting the installed CLI.
- •Reads a broad set of project files and active-session context, which could cause sensitive material to be copied into generated planning documents if present in the workspace.
- •Accepts an arbitrary project path through `$ARGUMENTS`; the user must ensure the target path is intended and not a sensitive or unrelated directory.
- •No destructive commands, credential exfiltration, network transfer, obfuscated payloads, or attempts to disable safety controls were found.
Examples
Run /curaye-import for /Users/alex/code/legacy-billing. The project has no .curaye/ history; use the docs/specs files and what we discussed in this session, then infer the code layer.Use /curaye-import on the current project. I have a spec-feature-auth.md and plan.md in docs/, and no .curaye/ folder yet. Convert those into planned/ docs before running inference.We have a small internal tool with code but almost no README or specs. Run /curaye-import; if there isn't enough product context, tell me whether to run /curaye-bootstrap first.name: curaye-import description: Import an existing project with no .curaye/ history into the Curaye system. Use when a project has code and possibly existing spec or planning files but has never been tracked under Curaye. Mines the active session context and ingests any existing markdown spec files before running deterministic CLI inference. If no product documentation is found, offers to hand off to /curaye-bootstrap instead. Optionally pass the project path as an argument. compatibility: Designed for Claude Code. Requires the curaye CLI installed. metadata: version: "0.2"
Import an existing project that has no .curaye/ history into the Curaye system. Mines session context, ingests existing spec files, runs deterministic code inference via the CLI, then uses LLM comprehension to write meaningful current/ documents and surface decision candidates.
Project path (optional): $ARGUMENTS
If a path is provided, use it. Otherwise use the current working directory.
Step 1 — Pre-flight checks
Confirm .curaye/ does not exist at the target path. If it does, stop:
"This project already has a .curaye/ folder. If it's incomplete, edit the documents directly or run /curaye-brief to review what's there."
Do a quick read to orient yourself:
README.md(if exists)package.json/Cargo.toml/pyproject.toml(if exists)- Top-level directory structure (one level deep)
Report what you found: "I can see this is a [type] project built with [stack]. Found [N] top-level source directories."
Step 2 — Mine the session context and ingest existing spec files
Session mining: Before reading any files, extract everything already established in this conversation about this project — the same extraction as /curaye-bootstrap Step 2:
- Project identity, target user, app type, stack
- Features already designed or discussed
- Decisions made or tradeoffs weighed
- Scope exclusions and non-goals
Spec file ingestion: Scan the project for human-written planning documents — look in the project root and in docs/, specs/, notes/, planning/, .plan/ folders. Files to collect:
- Any
.mdfile that looks like a spec, feature description, or planning doc (not README, not CHANGELOG, not license) - Any file with a name suggesting planning intent:
spec-*.md,feature-*.md,*.spec.md,plan.md,roadmap.md, brainstorm files
For each spec-like file found, read it and extract:
- What feature or capability it describes
- Any acceptance criteria, goals, or non-goals stated
- Status signals (draft, wip, done, etc.)
Assessment: After mining session and files, report:
From the session and existing files I found:
Project: <name or "not established">
Stack: <stack or "will infer from code">
Existing spec files found: <N>
- <filename> → "<what it describes>"
- ...
From our conversation:
- <features or decisions discussed>
- ...
Product documentation: <"found" / "thin" / "none">
Bootstrap offer: If product documentation is effectively absent — no README or a stub README under ~10 lines, no spec files, and nothing about the project's purpose in the session — stop and ask:
I can't find enough product context to write meaningful prd.md or planned/ docs.
Curaye import works best when there's something to go from.
Options:
1. Run /curaye-bootstrap first — answer a few questions, define what this project
is and what you want to build, then come back to import the code layer.
2. Tell me now — what is this project and what should it do? (I'll proceed with
your answer as the product context.)
Which would you prefer?
If they choose option 1, stop. If they give context inline, record it and continue.
Step 3 — Convert existing spec files to planned/ docs
For each spec-like file identified in Step 2:
- Read it in full.
- Map it to a Curaye
planned/document: write proper frontmatter (id,title,status,effort,created,updated) and normalise the body to the standard structure (Problem, Goal, Non-goals, Acceptance criteria). - Infer
statusfrom any signals in the file:- Mentions of "done", "shipped", "v1 complete" → consider
status: done(note for user review) - Mentions of "wip", "in progress" →
status: building - Everything else →
status: draft
- Mentions of "done", "shipped", "v1 complete" → consider
- Mark each with
confidence: inferredif the mapping required interpretation; omit if the file was already well-structured. - Write to
.curaye/planned/<numeric-prefix>-<id>.md.
If session context described additional features not covered by any file, draft planned/ specs for those too — these come from the conversation, so no confidence: inferred needed.
Present the converted specs to the user before writing:
I'll create these planned/ docs from your existing files and session context:
01-<id> <title> [from: spec-auth.md] status: draft
02-<id> <title> [from: session] status: draft
03-<id> <title> [from: roadmap.md, status: done — review before shipping]
Write these? [y/n/edit]
Wait for confirmation.
Step 4 — Deterministic inference via CLI
Run the CLI import in deterministic-only mode:
curaye import <path> --deterministic-only
This produces:
stack.mdfrom package manifests (high confidence)prd.mdseed from README (medium confidence — will be overwritten with session context if richer)current/domain stubs from directory structure (medium confidence)shipped/skeleton from git tags (medium confidence)
All generated files are marked confidence: inferred. Do not modify them yet — read them first.
If the CLI produced a prd.md seed but session context has a richer product description, replace the CLI seed with the session-derived version.
Step 5 — Enhance current/ with LLM comprehension
The CLI stubs current/ from directory names — it knows files exist, not what they do.
For each current/ document with confidence: inferred:
- Identify the source directory or files this domain corresponds to.
- Read the most relevant source files (entry points, key modules, main components — not every file).
- Rewrite the document to describe what the feature does, not what files exist. Present tense. Observable behaviour.
- Keep
confidence: inferred.
Example:
BEFORE: Source files found in src/reader/
AFTER: The reader renders EPUB files via foliate-js inside a sandboxed iframe.
Supports paginated and scrolled flow modes, configurable per-book.
Highlights and notes are created via text selection and stored in SQLite.
Step 6 — Surface decision candidates
Read at the boundary level — package.json, imports in entry files, config files. Look for choices that imply decisions:
- An unusual library choice where popular alternatives exist
- A custom implementation where a library would be expected
- A recurring pattern suggesting a deliberate convention
Cross-reference with any decisions already established from the session (Step 2) — do not duplicate them.
Draft decisions/<id>.md for each candidate (limit 3–5):
---
id: <kebab-id>
title: <What was decided>
status: active
date: <today>
confidence: inferred
---
## Context
<Why this decision was likely needed>
## Decision
<What was chosen>
## Consequences
<What this makes easier or harder>
Step 7 — Targeted interview (gaps only)
Ask only about what the session, spec files, and code inference did not establish. Skip any question whose answer is already known.
Possible gap questions — ask only the ones that apply:
- "I inferred this north star from the README: [text]. Is that right, or would you describe it differently?" (Revise
prd.md.) - "Are there features in the codebase you consider abandoned, deprecated, or temporary?" (Mark those
current/domains.) - "Any tech choices you'd make differently if starting today?" (Add as
decisions/withstatus: deprecated.) - "Any decisions baked into the code that weren't obvious from reading it?" (Add as confirmed decisions — no
confidence: inferred.)
If session context already answered all of these, skip the interview entirely and say: "No gaps — I have everything I need."
Step 8 — Register the project
curaye link <path>
Step 9 — Report
Import complete.
planned/: <N> docs (<M> from existing files, <K> from session)
current/: <N> docs (all confidence: inferred — review recommended)
decisions/: <N> docs (<M> inferred, <K> confirmed from session)
shipped/: <N> skeleton entries from git tags
Review inferred documents with `curaye review <path>` or open them in the desktop app.
"Run /curaye-brief for a full re-entry brief, or /curaye-build to start on the first planned spec."
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/curaye-import-mrx3y0e5/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/curaye-import-mrx3y0e5' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/curaye-import-mrx3y0e5/download' --output '.skill-downloads/curaye-import-mrx3y0e5/SKILL.md.part' && mv '.skill-downloads/curaye-import-mrx3y0e5/SKILL.md.part' '.skill-downloads/curaye-import-mrx3y0e5/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Environment declared by the author: Designed for Claude Code. Requires the curaye CLI installed.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/curaye-import-mrx3y0e5/SKILL.md' && test -s '.skill-downloads/curaye-import-mrx3y0e5/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/curaye-import' && cp -R '.skill-downloads/curaye-import-mrx3y0e5' '.claude/skills/curaye-import'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/curaye-import-mrx3y0e5'openskills read 'curaye-import-mrx3y0e5'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/curaye-import-mrx3y0e5/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.