Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问clear审计异常

snapassnapas 命令行

Agent Skill

snapas 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

539

周安装

22

GitHub Stars

31

下载量

174
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:snapas(snapas 命令行)
来源仓库:https://github.com/rawveg/skillsforge-marketplace
仓库路径:skills/snapas
安装命令:
npx skills add https://github.com/rawveg/skillsforge-marketplace --skill snapas
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/rawveg/skillsforge-marketplace --skill snapas

简介

snapas 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装并使用该技能。
  • 安装前建议确认权限范围和维护状态,避免触发联网或文件读写操作。
  • snapas 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Snap.as Skill

Comprehensive assistance with Snap.as API development, enabling photo upload and management through the Write.as suite.

When to Use This Skill

This skill should be triggered when:

  • Building applications that upload photos to Snap.as
  • Implementing Snap.as photo management features
  • Working with Write.as authentication for photo services
  • Debugging Snap.as API requests and responses
  • Developing photo gallery features using Snap.as
  • Managing organizational photo uploads
  • Integrating photo sharing into Write.as applications

Quick Reference

Authentication

All Snap.as API requests require a Write.as user access token in the Authorization header:

Authorization: Token 00000000-0000-0000-0000-000000000000

Upload Photo to Personal Account

curl https://snap.as/api/photos/upload \
  -H "Authorization: Token YOUR_ACCESS_TOKEN" \
  -F "file=@/path/to/photo.jpg"

Response (201 Created):

{
  "code": 201,
  "data": {
    "id": "abc123",
    "filename": "photo.jpg",
    "size": 245760,
    "url": "https://i.snap.as/abc123.jpg"
  }
}

Retrieve User Photos

curl -X POST https://snap.as/api/me/photos \
  -H "Authorization: Token YOUR_ACCESS_TOKEN"

Response (200 OK):

{
  "code": 200,
  "data": [
    {
      "id": "abc123",
      "filename": "photo.jpg",
      "size": 245760,
      "url": "https://i.snap.as/abc123.jpg"
    }
  ]
}

Delete Photo

curl -X POST https://snap.as/api/photos/abc123 \
  -H "Authorization: Token YOUR_ACCESS_TOKEN"

Response (200 OK):

{
  "code": 200,
  "data": {}
}

Upload Photo to Organization

curl https://snap.as/api/organizations/myorg/photos/upload \
  -H "Authorization: Token YOUR_ACCESS_TOKEN" \
  -F "file=@/path/to/photo.jpg"

Response (201 Created):

{
  "code": 201,
  "data": {
    "id": "xyz789",
    "filename": "photo.jpg",
    "size": 245760,
    "url": "https://i.snap.as/xyz789.jpg"
  }
}

Error Response Format

{
  "code": 401,
  "error_msg": "Invalid access token"
}

Go Client Library Usage

import "github.com/snapas/go-snapas"

// Initialize client
client := snapas.NewClient("YOUR_ACCESS_TOKEN")

// Upload photo
photo, err := client.UploadPhoto("/path/to/photo.jpg")
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Photo URL: %s\n", photo.URL)

Key Concepts

Authentication

Snap.as uses Write.as user access tokens for authentication. These tokens must be obtained by logging into Write.as and retrieving the user's access credentials. Include the token in the Authorization header of every API request.

Base URL

All API requests are made to https://snap.as with specific endpoint paths appended.

Photo Objects

Photo objects returned by the API contain:

  • id: Unique identifier for the photo
  • filename: Original filename of the uploaded photo
  • size: File size in bytes
  • url: Public URL where the photo can be accessed

Response Format

All successful API responses follow a consistent structure:

{
  "code": <HTTP_STATUS_CODE>,
  "data": <RESPONSE_DATA>
}

Failed requests return:

{
  "code": <HTTP_STATUS_CODE>,
  "error_msg": "<ERROR_MESSAGE>"
}

HTTP Status Codes

  • 200 OK: Request succeeded
  • 201 Created: Resource created successfully
  • 400 Bad Request: Invalid request parameters
  • 401 Unauthorized: Invalid or missing access token
  • 403 Forbidden: Access denied to resource
  • 404 Not Found: Resource does not exist
  • 429 Too Many Requests: Rate limit exceeded

Personal vs. Organization Photos

  • Personal photos: Uploaded to the user's account using /api/photos/upload
  • Organization photos: Uploaded to a specific organization using /api/organizations/{alias}/photos/upload

Reference Files

This skill includes comprehensive documentation in references/:

  • api.md - Complete API reference with all endpoints, authentication details, request/response formats, and error handling

Use view to read the API reference file when detailed information is needed about specific endpoints or response formats.

Working with This Skill

For Beginners

Start by understanding the authentication mechanism. You'll need a Write.as user access token before making any API requests. Test with simple photo uploads to your personal account before working with organizational features.

For Integration Developers

Focus on the personal photo upload and retrieval endpoints first. Implement proper error handling for common scenarios like authentication failures (401), rate limiting (429), and invalid requests (400).

For Organization Features

Once comfortable with personal uploads, explore organizational photo management. Organizations require the organization alias in the endpoint URL and appropriate access permissions.

For Go Developers

Use the official go-snapas client library available at github.com/snapas/go-snapas for a more convenient development experience with built-in error handling and type safety.

Common Patterns

Photo Upload Flow

  1. Obtain Write.as access token
  2. Prepare photo file for upload
  3. Make POST request to /api/photos/upload with multipart form data
  4. Handle response (201 Created on success)
  5. Store photo ID and URL from response

Photo Gallery Implementation

  1. Authenticate with Write.as token
  2. Retrieve all user photos via /api/me/photos
  3. Display photos using the URLs from response data
  4. Implement delete functionality using photo IDs

Error Handling Best Practices

async function uploadPhoto(file, accessToken) {
  const formData = new FormData();
  formData.append('file', file);

  try {
    const response = await fetch('https://snap.as/api/photos/upload', {
      method: 'POST',
      headers: {
        'Authorization': `Token ${accessToken}`
      },
      body: formData
    });

    const data = await response.json();

    if (!response.ok) {
      throw new Error(data.error_msg || 'Upload failed');
    }

    return data.data;
  } catch (error) {
    console.error('Photo upload error:', error);
    throw error;
  }
}

Resources

Official Library

  • Go client: github.com/snapas/go-snapas

API Endpoints

  • Base URL: https://snap.as
  • Personal uploads: /api/photos/upload
  • User photos: /api/me/photos
  • Delete photo: /api/photos/{PHOTO_ID}
  • Organization uploads: /api/organizations/{alias}/photos/upload

Write.as Integration

Since Snap.as is part of the Write.as suite, authentication happens through Write.as user accounts. Ensure users have valid Write.as credentials before attempting to use Snap.as features.

Notes

  • All API requests require authentication via Write.as access token
  • Photo uploads use multipart/form-data encoding
  • Response format is consistent across all endpoints
  • Rate limiting may apply (429 status code)
  • Organization features require appropriate access permissions
  • Photos are publicly accessible via returned URLs
  • This skill was generated from official Snap.as API documentation

Troubleshooting

401 Unauthorized

  • Verify your Write.as access token is valid
  • Check that the Authorization header is properly formatted
  • Ensure the token hasn't expired

403 Forbidden

  • Verify you have permission to upload to the specified organization
  • Check that the organization alias is correct

429 Rate Limited

  • Implement exponential backoff in your retry logic
  • Reduce request frequency
  • Cache photo URLs instead of repeatedly fetching

Upload Failures

  • Verify file format is supported (JPG, PNG, GIF)
  • Check file size limits
  • Ensure proper multipart/form-data encoding
  • Confirm network connectivity to snap.as

Updating

To refresh this skill with updated documentation:

  1. Check https://developers.snap.as/docs/api/ for API changes
  2. Update the reference files with new endpoint information
  3. Add new code examples for any new features
  4. Test all examples to ensure they still work

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.86%
按下载量换算48

Antigravity

23.59%
按下载量换算41

windsurf

17.49%
按下载量换算30

trae

12.57%
按下载量换算22

Codex

7.16%
按下载量换算12

OpenCode

3.61%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills