npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pi-amplike

v1.3.1

Published

Pi skills and extensions that provide Amp Code-like workflows (handoff, permissions, mode selector, web access).

Readme

pi-amplike

Pi skills and extensions that give Pi similar capabilities to Amp Code out of the box.

Features

Session Management

  • Handoff - Create a new focused session with AI-generated context transfer:
    • /handoff <goal> command - Manually create a handoff session (potentially with -mode <name> / -model <name> parameter to switch models for the new session)
    • handoff tool - The agent can invoke this (with optional mode/model parameters) when you explicitly request a handoff
  • session_query tool - The agent in handed-off sessions automatically gets the ability to query the parent session for context, decisions, or code changes; analysis uses the queried session's own model
  • Use /resume to switch between and navigate handed-off sessions

Subagents and BTW

  • subagent tool - The agent can create one or multiple parallel task-focused, non-interactive subagents to save context and speed up work
  • /btw <prompt> command - Same semantics as in Claude Code, basically a user-triggered subagent running and finishing asynchronously and independently on the main agent

Permissions

  • /permissions command toggles bash command allow/deny permissions, directly read from AmpCode's configuration files.

Prompt Modes

  • /mode command with interactive mode selector/configuration UI (a mode is a model + thinking + color preset, active mode is shown in prompt editor border)
  • Shortcuts:
    • Ctrl+Shift+S - mode selector
    • Ctrl+Space - cycle modes

Web Access

  • web-search - Search the web via Jina Search API
  • visit-webpage - Extract webpage content as markdown (using Jina API), or download images

Amp Skill Compatibility

  • Auto-loads Amp skill directories when present:
    • ~/.config/agents/skills
    • ~/.config/amp/skills
    • .agents/skills (project-local)

Installation

Option A: Install from npm (recommended)

pi install npm:pi-amplike

Option B: Install from git

pi install https://github.com/pasky/pi-amplike

Option C: Local development

git clone https://github.com/pasky/pi-amplike ~/.pi/packages/pi-amplike
cd ~/.pi/packages/pi-amplike
npm install

Then add "packages/pi-amplike" to the "packages" array in ~/.pi/agent/settings.json.

Setup

Get a Jina API key for web skills (optional, works with rate limits without it):

export JINA_API_KEY="your-key"  # Add to ~/.profile or ~/.zprofile

Get an API key at jina.ai. Even if you charge only the minimum credit, it's going to last approximately forever.

Usage

Session Handoff

When your conversation gets long or you want to branch off to a focused task, you can use handoff in two ways:

Manual handoff via command:

/handoff now implement this for teams as well
/handoff -mode rush execute phase one of the plan
/handoff -model anthropic/claude-haiku-4-5 check other places that need this fix

Optional flags (can be combined):

  • -mode <name> — start the new session in a named mode (e.g. rush, smart, deep)
  • -model <provider/id> — start the new session with a specific model (e.g. anthropic/claude-haiku-4-5)

The handoff summary is always generated with the current session's model before switching.

Agent-invoked handoff: The agent can also initiate a handoff when you explicitly ask for it:

"Please hand this off to a new session to implement the fix"
"Create a handoff session to execute phase one"

The handoff tool also accepts optional mode and model parameters.

Both methods create a new session with:

  • AI-generated summary of relevant context from the current conversation
  • List of relevant files that were discussed or modified
  • Clear task description based on your goal
  • Reference to parent session (accessible via session_query tool)

Session Navigation

Use Pi's built-in /resume command to switch between sessions, including handed-off sessions. The handoff creates sessions with descriptive names that make them easy to find.

Querying Past Sessions

The session_query tool lets the model look up information from previous sessions. It's automatically used when a handoff includes parent session reference, but can also be invoked directly. The analysis call uses the queried session's own model (falling back to the current model if unavailable):

session_query("/path/to/session.jsonl", "What files were modified?")
session_query("/path/to/session.jsonl", "What approach was chosen?")

Subagents

Ask your agent to "use subagents to ..." whenever you know you have a context-hungry task ahead that you would like to run isolated from the main context window.

When your agent is working on something and you suddenly got a question, use /btw to ask it. Of course, you can even ask multiple questions in parallel. The /btw subagent is ephemeral like tool subagents, but unlike tool subagents it sees the full contxt of your session (besides the fact that it can also use tools to read files).

Permissions

The permissions extension enforces Amp-style bash command permissions automatically. Use the /permissions command to toggle modes:

/permissions    # toggles between enabled and yolo
  • enabled (default): Amp permission rules from ~/.config/amp/settings.json are enforced
  • yolo: All bash commands are allowed without any checks; YOLO mode shown in status bar

The selected mode is persisted in ~/.pi/agent/amplike.json and restored on the next pi invocation.

Prompt Modes

/mode              # mode picker
/mode configure    # open mode configuration UI
/mode <name>       # switch directly
/mode store <name> # store current model+thinking into a mode

Notes:

  • The extension bootstraps with default modes are rush, smart, and deep; they somewhat mirror Amp defaults.
  • Modes config is loaded from .pi/modes.json (project), falling back to ~/.pi/agent/modes.json (global).
  • Deleting all modes or setting "modes": {} in your modes file disables mode overlay behavior (shortcuts + editor mode border), while keeping /mode config UI available.

Web Search

~/.pi/packages/pi-amplike/skills/web-search/search.py "python async tutorial"

Visit Webpage

~/.pi/packages/pi-amplike/skills/visit-webpage/visit.py https://docs.example.com/api

Components

| Component | Type | Description | |-----------|------|-------------| | amp-skills | Extension | Adds Amp-compatible skill discovery paths (~/.config/agents/skills, ~/.config/amp/skills, .agents/skills) | | permissions | Extension | Reads amp.commands.allowlist and amp.permissions from ~/.config/amp/settings.json (and .agents/settings.json) and intercepts bash tool calls accordingly; /permissions toggles between enabled and yolo (all commands allowed, status bar indicator, persisted in ~/.pi/agent/amplike.json) | | handoff | Extension | /handoff [-mode <name>] [-model <provider/id>] <goal> command + handoff tool (with mode/model params) for AI-powered context transfer | | modes | Extension | Prompt mode manager with model/thinking/color presets, editor border overlay, and shortcuts | | session-query | Extension | session_query tool for querying parent sessions; uses the queried session's own model for analysis | | session-query | Skill | Instructions for using the session_query tool | | web-search | Skill | Web search via Jina API | | visit-webpage | Skill | Webpage content extraction |

Why "AmpCode-like"?

Amp Code has excellent session management built-in - you can branch conversations, reference parent context, and navigate session history. This package brings similar workflows to Pi:

  • Context handoff → Amp's conversation branching
  • Session querying → Amp's ability to reference parent context

Web Skills Origin

The web-search and visit-webpage skills were extracted from pasky/muaddib. The original implementations have additional features (rate limiting, multiple backends, async execution) that aren't needed for Pi's skill system.

License

MIT