conventions
Discover project conventions and configure .pk.json by analyzing the codebase
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Discover project conventions and configure .pk.json by analyzing the codebase
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Emit the init commands for a new plankit-tooled project — GitHub repo, pk setup --baseline, v0.0.0 tag, develop branch, .pk.json release config
Ship a release: changelog, tag, merge, and push in one pass
Ship a release: changelog, tag, merge, and push in one pass
Discover project conventions and configure .pk.json by analyzing the codebase
Deep-analyze the project's rule set (.claude/rules + CLAUDE.md) for coherence, redundancy, tensions, gaps, and actionable fixes
Preserve the most recently approved plan to docs/plans/
| name | conventions |
| description | Discover project conventions and configure .pk.json by analyzing the codebase |
| disable-model-invocation | true |
| pk_sha256 | f5075409af69d244ed868f3ddd7147f7b9d9ad2a9fe35cefb6571d7df3488382 |
Analyze this project and generate or refresh the Project Conventions section in CLAUDE.md.
Run this after pk setup to add project-specific conventions, or re-run anytime as the project evolves.
# CLAUDE.md
IMPORTANT: Follow these rules at all times.
## Critical Rules
- NEVER take shortcuts without asking. STOP, ASK, WAIT for approval.
- NEVER force push. Make a new commit to fix mistakes.
- NEVER commit secrets to version control.
- Only do what was asked. No scope creep.
- Understand existing code before changing it.
- If you don't know, say so. Never guess.
- Test before and after every change.
- Surface errors clearly. No silent fallbacks.
## Project Conventions section already exists, read it carefully — this is a refresh, not a blank slate. Preserve conventions that are still accurate, update what has changed, and add anything new..github/workflows/) — whether GitHub Actions are pinned to commit SHAs or use mutable tags, and whether Dependabot is configured for GitHub Actions updatesgit branch --list, git branch -r, and git tag --list 'v*' --sort=-v:refname; when the default branch has an upstream, also run git log origin/<branch>..<branch> --oneline. Summarize the findings in a sentence (e.g. "main only, 2 unpushed commits, no version tags") so the next step's questions read as a transition from this setup, not a quiz.main, develop)main, production)main).pk.json based on step 5 answers. If the user specified no protected branches, no release branch, and no custom changelog types, skip this step — do not create an empty .pk.json. Otherwise include only the opted-in keys: {"guard": {"branches": [...]}}, {"release": {"branch": "..."}}, {"changelog": {"types": [...]}}. If .pk.json already exists, merge the keys — do not overwrite existing config. Field-merge the guard object: pk setup writes guard.mode and guard.push (and preserve.mode) into .pk.json, so when you add guard.branches merge it into the existing guard object and keep those mode fields — never replace the whole object. Sort top-level keys alphabetically.main but step 4 found only main). If the branching point is ambiguous because the default branch is ahead of its origin, show the git log origin/<branch>..<branch> --oneline output and ask:
<branch> or from origin/<branch>?
Then preview the exact commands and run them only after the user confirms:git branch develop <start-ref>
git switch develop
git push -u origin develop
## Project Conventions section with the discovered conventions. Each convention should be a concise bullet point. Group technical conventions and business/domain rules under separate subheadings. Only include a "never commit directly to X" convention if the user specified protected branches in step 5.pk status: its Readiness section confirms the new setup or lists exactly what is still missing (baseline tag, branches on origin).## Project Conventions section already exists, replace it with the updated version — do not duplicate it.<!-- pk:sha256:... -->, remove it. Once customized, the file is user-owned and the marker is stale..pk.json with configured commit types, include them in the conventions.pk release to trunk flow.git branch develop <branch> carries the unpushed commits onto the new working branch; git branch develop origin/<branch> leaves them on the default branch until the user pushes. Never pick one silently; when local and origin match, the local branch is the start ref and no question is needed.guard.branches, release branch configures release.branch, custom changelog types configures changelog.types. Default commit types: build, chore, ci, deprecate, docs, feat, fix, perf, plan (hidden), refactor, revert, security, style, test.@v4), report this to the user as a security finding — mutable tags are vulnerable to supply chain attacks. If .github/dependabot.yml is missing or does not cover GitHub Actions, mention it as a way to keep pinned SHAs current. Include relevant conventions in the draft if the project has workflow files.