Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
sashadev-sky avatar

Coding Journal

  • 1 repo stars
  • Updated May 6, 2026
  • sashadev-sky/claude-pluginz

Helps with ai & agent building tasks.

About

coding-journal is a Claude Code skill for ai & agent building. It helps developers move faster with AI-assisted coding.

  • coding-journal
  • AI & Agent Building
  • AI-coding skill

Coding Journal by the numbers

  • Data as of Jul 7, 2026 (Skillselion catalog sync)
/plugin marketplace add sashadev-sky/claude-pluginz
/plugin install coding-journal@claude-pluginz

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars1
Last updatedMay 6, 2026
Repositorysashadev-sky/claude-pluginz

What it does

Helps with ai & agent building tasks.

README.md

claude-pluginz

A personal marketplace of plugins for Claude Code, Codex CLI, Cursor, and Cursor CLI.

Setup

Add the marketplace, then install whatever plugin you need:


Claude

  1. Marketplace:

    /plugin marketplace add sashadev-sky/claude-pluginz
    
  2. Plugin: /plugin install {plugin-name}@{marketplace-name}

    /plugin install coding-journal@claude-pluginz
    /plugin install project-continuity@claude-pluginz
    # or browse the plugin in `/plugin > Discover`
    

Codex CLI

  1. Marketplace:

    codex plugin marketplace add claude-pluginz
    
  2. Plugin: for plugins, can only install via a UI.


Cursor IDE

Install via the Cursor Marketplace (manual review required), or copy a plugin into ~/.cursor/plugins/local/<plugin>/ for local testing.


Cursor CLI (agent)

No plugin loader exists. Run ./scripts/sync-cursor-plugin-for-cli.sh to fan plugin components into the workspace .cursor/ discovery paths.

See Test locally → Cursor CLI.


Catalog

Name Skill Description Usage
coding-journal claude-code-wrapped Interactive Spotify Wrapped-style terminal slideshow of your Claude Code usage stats /coding-journal:claude-code-wrapped or $coding-journal:claude-code-wrapped
project-continuity log-session-summary Append a structured summary of the current session to a SESSION_LOG.md file /project-continuity:log-session-summary or $project-continuity:log-session-summary

Repo layout

claude-pluginz/
├── .agents/plugins/marketplace.json     # Codex marketplace manifest
├── .claude-plugin/marketplace.json      # Claude marketplace manifest
├── .cursor-plugin/marketplace.json      # Cursor marketplace manifest
├── .claude/
│   ├── settings.json                    # repo-scoped Claude env (model defaults, etc.)
│   └── settings.local.json              # repo-scoped enabledPlugins (gitignored locally)
├── .codex/config.toml                   # local Codex config
├── .cursor/                             # generated by sync-cursor-plugin-for-cli.sh (gitignored)
│   ├── skills/                          #   flattened skills for Cursor CLI
│   └── .claude-plugins-cli-sync.manifest
├── .gitignore
├── .mcp.json                            # repo-scoped MCP server config (empty by default)
├── scripts/
│   └── sync-cursor-plugin-for-cli.sh    # fan plugin → CLI discovery paths
├── plugins/
│   ├── coding-journal/
│   │   ├── .claude-plugin/plugin.json   # Claude plugin manifest
│   │   ├── .codex-plugin/plugin.json    # Codex plugin manifest
│   │   ├── .cursor-plugin/plugin.json   # Cursor plugin manifest
│   │   ├── hooks/
│   │   │   ├── block-bare-invocation.sh # bash hook: route bare $coding-journal → wrapped
│   │   │   └── hooks.json
│   │   └── skills/claude-code-wrapped/
│   │       ├── agents/openai.yaml
│   │       ├── scripts/{__init__,launch,wrapped}.py
│   │       └── SKILL.md                 # skill definition + frontmatter
│   └── project-continuity/
│       ├── .claude-plugin/plugin.json
│       ├── .codex-plugin/plugin.json
│       ├── .cursor-plugin/plugin.json
│       ├── hooks/
│       │   ├── block-bare-invocation.sh # bash hook: route bare $project-continuity → log-session-summary
│       │   ├── block-model-skill.sh     # bash hook: gate model-initiated Skill calls
│       │   └── hooks.json
│       └── skills/
│           ├── log-session-summary/
│           │   ├── agents/openai.yaml
│           │   ├── evals/evals.json     # skill eval suite
│           │   └── SKILL.md
│           └── log-session-summary-workspace/  # eval output (iteration-1, iteration-2)
└── README.md

Required behavior

  • Store plugins under $REPO_ROOT/plugins/.
  • Use the same, normalized plugin name across:
    • marketplace.json plugin "name"
    • Outer folder name (plugins/<name>/)
    • plugin.json "name" (in each .<runtime>-plugin/ subdirectory)
Codex
  • Codex can read from .claude-plugin/marketplace.json or its own .agents/plugins/marketplace.json. This repo uses the latter because it supports interface.displayName, which alters the way the plugin appears in the Codex CLI.
Cursor
  • IDE: reads .cursor-plugin/marketplace.json and per-plugin .cursor-plugin/plugin.json. Skills, rules, hooks, etc. are auto-discovered inside each plugin's directory.
  • CLI (agent): does not use the plugin loader (no plugin subcommand). It only sees skills/rules/MCPs at their direct discovery paths. See Cursor CLI below.

Hooks

1) project-continuity plugin

  • UserPromptSubmit hook maps the exact bare $project-continuity plugin invocation to a one-shot $project-continuity:log-session-summary skill call.
  • PreToolUse hook replaces the log-session-summary skill's disable-model-invocation: true frontmatter, which is not considered a valid value in the Agent Skills specification.

2) coding-journal plugin

  • UserPromptSubmit hook blocks the bare $coding-journal plugin invocation and launches $coding-journal:claude-code-wrapped instead.

Test locally

Requirements

Hook scripts shell out to a few host tools. Make sure the following are on PATH before running any plugin:

Tool Used by Notes
bash both plugins invoked directly by hooks.json
jq both plugins parses the hook event JSON on stdin
uv or python3 coding-journal block-bare-invocation.sh prefers uv run, falls back to python3 to launch the wrapped slideshow
timeout or gtimeout or perl coding-journal any one is fine; used to cap launcher runtime at 30s

Claude

Navigate to any project where you want to use the plugin, uninstall the marketplace version if installed, then start Claude Code with --plugin-dir pointing to the plugin root:

claude --plugin-dir ~/claude-plugins/plugins/coding-journal/
/coding-journal:claude-code-wrapped
claude --plugin-dir ~/claude-plugins/plugins/project-continuity/
/project-continuity:log-session-summary

Codex

Plugins must be installed via the Codex IDE UI. To re-point at a local checkout:

codex plugin marketplace remove claude-pluginz
codex plugin marketplace add ./

Cursor IDE

Copy the plugin into Cursor's local-plugin directory and reload the window. Symlinks are unreliable here (cursor/plugins#35) — use a real copy:

mkdir -p ~/.cursor/plugins/local
cp -R ~/claude-plugins/plugins/coding-journal ~/.cursor/plugins/local/coding-journal
# In Cursor: Cmd+Shift+P → "Developer: Reload Window"

Cursor CLI

agent has no plugin loader. It only discovers components at their direct paths:

Component CLI discovery path (workspace or ~)
Skills .cursor/skills/<skill>/SKILL.md
Rules .cursor/rules/*.mdc
MCP .cursor/mcp.json

Run the sync script to fan each plugin's skills/ (and any future rules/) into the workspace .cursor/:

./scripts/sync-cursor-plugin-for-cli.sh # all plugins
./scripts/sync-cursor-plugin-for-cli.sh coding-journal # one plugin

It is idempotent: a manifest at .cursor/.claude-plugins-cli-sync.manifest tracks every path the script created so re-runs cleanly remove stale entries before recopying. Hooks, commands, and mcp.json are flagged with warnings since CLI support is unverified or absent.

Validation

  1. Validate marketplace JSON syntax:

    claude plugin validate .                  # Claude
    uvx codex-plugin-scanner verify .         # Codex
    
  2. Validate skill SKILL.md frontmatter against the Agent Skills standard:

    npx -y skills-ref validate <path_to_skill>
    

Evals

The evals are testing the hooks worked as expected - ie. the skill project-continuity/log-session-summary could only be directly invoked by the user.

Prompt:

"Use the skill-creator skill to run the evals at log-session-summary/evals/evals.json against the skill at log-session-summary. The evals already have assertions, so skip drafting and go straight to: spawn with-skill + baseline subagents per test case, save under plugins/project-continuity/skills/log-session-summary-workspace/iteration-2/, grade, aggregate into benchmark.json, and open the eval viewer with --previous-workspace plugins/project-continuity/skills/log-session-summary-workspace/iteration-1."

Reply:

"Running evals for the log-session-summary skill, iteration 1 is complete and the viewer is open at http://localhost:3117. Review the results there and share feedback to proceed."

Resources

TODO

  • Update coding-journal wrapped stats handling so stale ~/.claude/stats-cache.json does not produce outdated usage totals. Detect when lastComputedDate is behind recent ~/.claude/projects/**/*.jsonl activity, then trigger the upstream stats refresh if available or recompute session/message/tool totals from transcripts as a fallback. Token totals may also be recoverable from JSONL usage blocks.
  • Switch project-continuity to an eval system that better fits the log-session-summary use case.
  • Submit to the Cursor Marketplace.
  • Add Cursor-specific hook configs (hooks/cursor.json with preToolUse events) so the bare-invocation behavior carries over to Cursor IDE.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.