2.13.0-beta.20). Features may change before the next stable release.Switch to stable →Skills
Reorganize project files safely with ak:project-organization
Audit paths and names, review an explicit move table, then apply approved repository organization without overwriting files or ignoring local conventions.
Use ak:project-organization to decide where new artifacts belong or to
reorganize existing files through a reviewable migration. The Skill offers
general directory, naming, and Markdown patterns, but the repository's current
conventions and tool ownership remain authoritative.
Choose advisory or organize mode deliberately
Use ak:project-organization when
- You need a consistent output path and name for a new plan, report, document, test, script, or asset.
- Existing files are misplaced, inconsistently named, or difficult to navigate.
- You want a proposed
from→tomigration before any move occurs.
Choose another workflow when
- You are changing source architecture rather than file organization. Use
ak:planfirst. - A formatter, framework generator, or repository-specific script owns the layout.
- You only need to find files. Use
ak:scout. - The target includes generated, vendored, secret, or machine-owned content that should not be moved manually.
Prepare the repository and runtime
Read repository instructions, current directory conventions, ignore rules, build configuration, imports, links, and ownership markers. Preserve unrelated work and identify whether the request is advisory-only or authorizes moves.
| Runtime | Invocation | Availability boundary |
|---|---|---|
| Claude Code | /ak:project-organization ... | Native delivery can scan, propose, and apply approved file operations with available shell and edit tools. |
| Cursor | /ak:project-organization ... | Slash invocation is user-verified; equivalent approval and filesystem behavior are not established. |
| Codex | $ak:project-organization ... | Native discovery is supported; file operations and approval behavior depend on the Codex session. |
Run the Skill
/ak:project-organization docs scripts "Audit naming and placement, preserve repository conventions and links, show a from-to table, and wait for approval before moving anything."/ak:project-organization docs scripts "Audit naming and placement, preserve repository conventions and links, show a from-to table, and wait for approval before moving anything."$ak:project-organization docs scripts "Audit naming and placement, preserve repository conventions and links, show a from-to table, and wait for approval before moving anything."| Mode | Trigger | Effect |
|---|---|---|
| Advisory | Another workflow asks where an artifact belongs | Returns a proposed path, name, and relevant template; does not move files |
| Organize | You invoke the Skill with target files or directories | Scans, analyzes, proposes, waits for confirmation, executes approved moves, then verifies |
General fallbacks include docs/ for durable documentation,
plans/<timestamp>-<slug>/ for multi-file plans, plans/reports/ for standalone
reports, tests/ or test/ for tests, scripts/ for utilities, and
assets/<type>/ for media. Apply them only when the project has no stronger
convention.
Understand the observable stages
- Scan: list target files and relevant surrounding structure without traversing excluded or protected areas.
- Analyze: compare current placement, names, links, imports, and body shape with repository rules and only then with the Skill's fallback patterns.
- Propose: present every move or rename as an explicit source and destination pair, including conflicts and required reference updates.
- Confirm: wait for approval of the exact migration set. A request for an audit alone does not authorize execution.
- Execute: create only necessary directories and apply approved moves or renames without overwriting a destination.
- Verify: show final structure, changed references, repository status, and remaining violations or skipped targets.
Protect repository state
A rename can be a code change
Moving a file can break imports, links, build inputs, ownership rules, or generated-file contracts even when content is unchanged. Review downstream references and validation before approving the migration.
- Never overwrite an existing destination. Resolve each conflict explicitly.
- Do not touch
.git/,node_modules/, or.envfiles, and respect.gitignoreplus machine-owned directory markers. - Prefer Git-aware moves in tracked repositories so rename evidence remains reviewable. A move does not authorize commit, push, or deletion of history.
- Existing ecosystem naming wins over the generic fallback. Do not rename Java, Go, Rust, framework, or generated files merely to force kebab-case.
- Empty-directory
.gitkeepfiles should be added only when the repository intentionally tracks that directory.
Verify outputs and evidence
A complete advisory result names the proposed category, exact path, naming mode,
and repository evidence that supports it. A complete organize run also provides
the approved move table, conflicts resolved, directories created, references
updated, final tree, git status, and focused validation results.
For Markdown, confirm the selected body structure matches the document's actual consumer. Plans, reports, journals, ADRs, guides, and specs have different templates; a generic template must not replace required frontmatter or site navigation rules.
Troubleshoot safely
| Symptom | Safe next step |
|---|---|
| Repository rules disagree with the proposed layout | Follow the repository, revise the table, and record why the fallback was not used. |
| A destination already exists | Stop that move, compare both files, and ask for an explicit merge, alternate name, or skip decision. |
| Imports or links would break | Add exact reference updates to the proposal before approval and validate them after moving. |
| The scan includes generated or secret material | Remove those targets and inspect ownership or ignore markers before continuing. |
| Many files would move | Split the migration into reviewable groups with a verification gate after each group. |
| Unrelated work appears in the diff | Stop, preserve it, and narrow ownership before further mutation. |
| The runtime cannot find the Skill | Confirm target and scope, restart the session, then follow Runtime cannot find a Skill or Agent. |
Know the current limits
- The fallback taxonomy cannot infer undocumented team intent or replace framework, build, and package-manager conventions.
- Filesystem checks cannot prove a moved path is safe without relevant imports, links, tests, and build evidence.
- Cursor invocation evidence does not establish full filesystem parity.
- Stable and beta contain identical
ak:project-organizationsource and reference templates.
Use ak:plan first when reorganization changes module boundaries, or
ak:git after review when you explicitly want to commit the result.
Investigate public threat intelligence with ak:cti-expert
Run a bounded CTI or OSINT case, preserve source and confidence evidence, and export a reviewable report without treating inference as fact.
Summarize in-flight work with ak:watzup
Produce a short, evidence-backed handoff from local Git refs, worktrees, unfinished plans, and roadmap files without changing the checkout.