npx claudepluginhub ivintik/private-claude-marketplace --plugin famdeck-atlasThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Set up atlas for first-time use: create directories, register the session hook, discover and register projects.
Parse $ARGUMENTS:
--scan <path>: directory to scan for projects (default: cwd)mkdir -p ~/.claude/atlas/cache/projects/
If ~/.claude/atlas/registry.yaml does not exist, create it:
# Atlas project registry — maps project slugs to filesystem paths.
# Managed by atlas:project-manager. See knowledge/schema.md for format.
projects:
Leave existing registry untouched.
Plugin SessionStart hooks don't surface output due to bug #16538. Register directly in ~/.claude/settings.local.json as a workaround.
.claude-plugin/plugin.json). The hook script is at <plugin-root>/hooks/scripts/session-start.py.~/.claude/settings.local.json (create {} if missing).jq --arg script "python3 <ABSOLUTE_PATH>/hooks/scripts/session-start.py" '
.hooks //= {} |
.hooks.SessionStart //= [] |
if (.hooks.SessionStart | map(select(.hooks[]?.command == $script)) | length) > 0
then .
else .hooks.SessionStart += [{
"matcher": "*",
"hooks": [{"type": "command", "command": $script, "timeout": 5}]
}]
end
' ~/.claude/settings.local.json > /tmp/atlas-settings.json \
&& mv /tmp/atlas-settings.json ~/.claude/settings.local.json
Scan the target directory for git repos up to 3 levels deep:
find <scan-path> -maxdepth 3 -name ".git" -type d 2>/dev/null
For each repo found, collect:
.git/.git/config<path>/.claude/atlas.yaml existsPresent as a table, then ask the user (via AskUserQuestion): Register all (default) / Let me choose / Skip.
For each project to register, append to ~/.claude/atlas/registry.yaml:
<slug>:
path: <path>
repo: <repo-url>
Handle the project config:
.claude/atlas.yaml exists — cache to ~/.claude/atlas/cache/projects/<slug>.yaml (prepend _cache_meta). Warn if summary is missing.name from package.json/Cargo.toml/build.gradle/directory name, ask for summary (<100 chars), auto-detect tags from language files, guess CI link from repo URL. Write it and cache.Atlas initialized!
Registry: ~/.claude/atlas/registry.yaml
Projects registered: N
Hook registered: yes (in ~/.claude/settings.local.json)
Next steps:
- Start a new Claude session to activate the session hook
- Use atlas:project-manager to add more projects
- Use atlas:project-manager edit <slug> to customize configs