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

@agent-web-portal/aws-cli

v0.2.0

Published

CLI tools for Agent Web Portal AWS deployment

Readme

@agent-web-portal/aws-cli

Agent Web Portal AWS 部署 CLI 工具。

概述

@agent-web-portal/aws-cli 提供:

  • Skills 上传 - 将 SKILL.md 文件打包上传到 S3
  • Frontmatter 解析 - 解析和验证 SKILL.md 文件
  • 环境检查 - 验证 AWS 配置

安装

bun add -D @agent-web-portal/aws-cli

CLI 使用

上传 Skills

# 上传整个 skills 文件夹
bunx awp upload --folder ./skills --bucket my-skills-bucket

# 指定前缀
bunx awp upload --folder ./skills --bucket my-bucket --prefix skills/v1/

检查环境

bunx awp check-env

编程使用

发现和上传 Skills

import { discoverSkills, uploadSkills } from "@agent-web-portal/aws-cli";

// 发现本地 Skills
const skills = discoverSkills("./skills");
console.log(skills);
// [
//   { name: "my-skill", path: "./skills/my-skill", frontmatter: { ... } },
// ]

// 上传到 S3
await uploadSkills({
  folder: "./skills",
  bucket: "my-bucket",
  prefix: "skills/",
});

解析 SKILL.md

import { parseSkillFile, validateFrontmatter } from "@agent-web-portal/aws-cli";

const { frontmatter, markdown } = parseSkillFile("./skills/my-skill/SKILL.md");

const validation = validateFrontmatter(frontmatter, "my-skill");
if (!validation.valid) {
  console.error("Errors:", validation.errors);
}

检查环境

import { checkEnv, printCheckEnvResult } from "@agent-web-portal/aws-cli";

const result = await checkEnv();
printCheckEnvResult(result);

if (!result.success) {
  process.exit(1);
}

SKILL.md 格式

---
name: My Skill
description: A skill that does something
version: 1.0.0
allowed-tools:
  - tool_a
  - tool_b
  - external_mcp:tool_c
mcp-servers:
  external_mcp: https://external.example.com/mcp
---

# My Skill

Skill content in markdown...

文件结构

Skills 应该按以下结构组织:

skills/
├── skill-a/
│   └── SKILL.md
├── skill-b/
│   └── SKILL.md
└── skill-c/
    └── SKILL.md

每个 Skill 目录包含一个 SKILL.md 文件。

上传输出

上传后会生成 skills.yaml 配置文件:

skills:
  - name: skill-a
    s3_key: skills/skill-a.zip
    frontmatter:
      name: Skill A
      allowed-tools:
        - tool_a
  - name: skill-b
    s3_key: skills/skill-b.zip
    frontmatter:
      name: Skill B
      allowed-tools:
        - tool_b

API

discoverSkills(folderPath)

发现指定目录下的所有 Skills。

uploadSkills(options)

上传 Skills 到 S3。

interface UploadOptions {
  folder: string;       // Skills 目录
  bucket: string;       // S3 bucket
  prefix?: string;      // S3 key 前缀
  region?: string;      // AWS 区域
}

parseSkillFile(filePath)

解析单个 SKILL.md 文件。

parseFrontmatter(content)

从 Markdown 内容解析 Frontmatter。

validateFrontmatter(frontmatter, skillName)

验证 Frontmatter 格式。

checkEnv()

检查 AWS 环境配置。

类型导出

  • SkillMetadata - Skill 元数据
  • UploadOptions - 上传选项
  • SkillsYaml - skills.yaml 结构
  • CheckEnvResult - 环境检查结果

环境变量

| 变量 | 说明 | |------|------| | AWS_REGION | AWS 区域 | | AWS_ACCESS_KEY_ID | AWS Access Key | | AWS_SECRET_ACCESS_KEY | AWS Secret Key |

License

MIT