docs: salvage USPTO and gget skills

This commit is contained in:
Affaan Mustafa
2026-05-11 11:33:43 -04:00
committed by Affaan Mustafa
parent e70ef4a2ff
commit 579284c9be
11 changed files with 360 additions and 13 deletions

View File

@@ -11,7 +11,7 @@
{
"name": "ecc",
"source": "./",
"description": "The most comprehensive Claude Code plugin — 53 agents, 200 skills, 69 legacy command shims, selective install profiles, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
"description": "The most comprehensive Claude Code plugin — 53 agents, 202 skills, 69 legacy command shims, selective install profiles, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
"version": "2.0.0-rc.1",
"author": {
"name": "Affaan Mustafa",

View File

@@ -1,7 +1,7 @@
{
"name": "ecc",
"version": "2.0.0-rc.1",
"description": "Battle-tested Claude Code plugin for engineering teams — 53 agents, 200 skills, 69 legacy command shims, production-ready hooks, and selective install workflows evolved through continuous real-world use",
"description": "Battle-tested Claude Code plugin for engineering teams — 53 agents, 202 skills, 69 legacy command shims, production-ready hooks, and selective install workflows evolved through continuous real-world use",
"author": {
"name": "Affaan Mustafa",
"url": "https://x.com/affaanmustafa"

View File

@@ -1,6 +1,6 @@
# Everything Claude Code (ECC) — Agent Instructions
This is a **production-ready AI coding plugin** providing 53 specialized agents, 200 skills, 69 commands, and automated hook workflows for software development.
This is a **production-ready AI coding plugin** providing 53 specialized agents, 202 skills, 69 commands, and automated hook workflows for software development.
**Version:** 2.0.0-rc.1
@@ -146,7 +146,7 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
```
agents/ — 53 specialized subagents
skills/ — 200 workflow skills and domain knowledge
skills/ — 202 workflow skills and domain knowledge
commands/ — 69 slash commands
hooks/ — Trigger-based automations
rules/ — Always-follow guidelines (common + per-language)

View File

@@ -351,7 +351,7 @@ If you stacked methods, clean up in this order:
/plugin list ecc@ecc
```
**That's it!** You now have access to 53 agents, 200 skills, and 69 legacy command shims.
**That's it!** You now have access to 53 agents, 202 skills, and 69 legacy command shims.
### Dashboard GUI
@@ -1341,7 +1341,7 @@ The configuration is automatically detected from `.opencode/opencode.json`.
|---------|-------------|----------|--------|
| Agents | PASS: 53 agents | PASS: 12 agents | **Claude Code leads** |
| Commands | PASS: 69 commands | PASS: 31 commands | **Claude Code leads** |
| Skills | PASS: 200 skills | PASS: 37 skills | **Claude Code leads** |
| Skills | PASS: 202 skills | PASS: 37 skills | **Claude Code leads** |
| Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** |
| Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** |
| MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** |
@@ -1446,7 +1446,7 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e
|---------|------------|------------|-----------|----------|
| **Agents** | 53 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 |
| **Commands** | 69 | Shared | Instruction-based | 31 |
| **Skills** | 200 | Shared | 10 (native format) | 37 |
| **Skills** | 202 | Shared | 10 (native format) | 37 |
| **Hook Events** | 8 types | 15 types | None yet | 11 types |
| **Hook Scripts** | 20+ scripts | 16 scripts (DRY adapter) | N/A | Plugin hooks |
| **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions |

View File

@@ -160,7 +160,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
/plugin list ecc@ecc
```
**完成!** 你现在可以使用 53 个代理、200 个技能和 69 个命令。
**完成!** 你现在可以使用 53 个代理、202 个技能和 69 个命令。
### multi-* 命令需要额外配置

View File

@@ -1,6 +1,6 @@
# Everything Claude Code (ECC) — 智能体指令
这是一个**生产就绪的 AI 编码插件**,提供 53 个专业代理、200 项技能、69 条命令以及自动化钩子工作流,用于软件开发。
这是一个**生产就绪的 AI 编码插件**,提供 53 个专业代理、202 项技能、69 条命令以及自动化钩子工作流,用于软件开发。
**版本:** 2.0.0-rc.1
@@ -147,7 +147,7 @@
```
agents/ — 53 个专业子代理
skills/ — 199 个工作流技能和领域知识
skills/ — 202 个工作流技能和领域知识
commands/ — 69 个斜杠命令
hooks/ — 基于触发的自动化
rules/ — 始终遵循的指导方针(通用 + 每种语言)

View File

@@ -224,7 +224,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
/plugin list ecc@ecc
```
**搞定!** 你现在可以使用 53 个智能体、200 项技能和 69 个命令了。
**搞定!** 你现在可以使用 53 个智能体、202 项技能和 69 个命令了。
***
@@ -1134,7 +1134,7 @@ opencode
|---------|-------------|----------|--------|
| 智能体 | PASS: 53 个 | PASS: 12 个 | **Claude Code 领先** |
| 命令 | PASS: 69 个 | PASS: 31 个 | **Claude Code 领先** |
| 技能 | PASS: 200 项 | PASS: 37 项 | **Claude Code 领先** |
| 技能 | PASS: 202 项 | PASS: 37 项 | **Claude Code 领先** |
| 钩子 | PASS: 8 种事件类型 | PASS: 11 种事件 | **OpenCode 更多!** |
| 规则 | PASS: 29 条 | PASS: 13 条指令 | **Claude Code 领先** |
| MCP 服务器 | PASS: 14 个 | PASS: 完整 | **完全对等** |
@@ -1242,7 +1242,7 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以
|---------|------------|------------|-----------|----------|
| **智能体** | 53 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 |
| **命令** | 69 | 共享 | 基于指令 | 31 |
| **技能** | 200 | 共享 | 10 (原生格式) | 37 |
| **技能** | 202 | 共享 | 10 (原生格式) | 37 |
| **钩子事件** | 8 种类型 | 15 种类型 | 暂无 | 11 种类型 |
| **钩子脚本** | 20+ 个脚本 | 16 个脚本 (DRY 适配器) | N/A | 插件钩子 |
| **规则** | 34 (通用 + 语言) | 34 (YAML 前页) | 基于指令 | 13 条指令 |

View File

@@ -297,6 +297,8 @@
"skills/exa-search",
"skills/research-ops",
"skills/scientific-db-pubmed-database",
"skills/scientific-db-uspto-database",
"skills/scientific-pkg-gget",
"skills/scientific-thinking-literature-review",
"skills/scientific-thinking-scholar-evaluation"
],

View File

@@ -214,6 +214,8 @@
"skills/remotion-video-creation/",
"skills/research-ops/",
"skills/scientific-db-pubmed-database/",
"skills/scientific-db-uspto-database/",
"skills/scientific-pkg-gget/",
"skills/scientific-thinking-literature-review/",
"skills/scientific-thinking-scholar-evaluation/",
"skills/returns-reverse-logistics/",

View File

@@ -0,0 +1,177 @@
---
name: uspto-database
description: USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.
origin: community
---
# USPTO Database
Use this skill when a task needs official United States patent or trademark
records from USPTO systems.
## When to Use
- Searching granted patents or pre-grant publications.
- Checking patent application status, file-wrapper data, assignments, or
public prosecution history.
- Looking up trademark status, documents, or assignment history.
- Building reproducible prior-art, portfolio, or IP landscape research logs.
- Comparing USPTO records with secondary tools such as Google Patents,
Lens.org, Semantic Scholar, or company patent pages.
Do not use this skill to give legal advice. Treat it as a data-gathering and
record-verification workflow.
## Source Selection
Prefer official USPTO or USPTO-supported surfaces first:
- Open Data Portal (ODP): current home for migrated USPTO datasets and APIs.
- Patent File Wrapper: public patent application bibliographic data and file
wrapper records.
- PatentSearch API: PatentsView search API for granted patents and pre-grant
publication datasets.
- TSDR Data API: trademark status and document retrieval.
- Patent and Trademark Assignment Search: ownership transfer records.
- PTAB data in ODP: Patent Trial and Appeal Board proceedings.
Use secondary sources only as convenience indexes. When the answer matters,
cross-check the official record.
## Authentication and Secrets
Many USPTO API flows require an API key. Store keys in environment variables or
a secret manager, never in committed files or pasted transcripts.
Common environment names:
```bash
export USPTO_API_KEY="..."
export PATENTSVIEW_API_KEY="..."
```
For PatentSearch, send the key with the `X-Api-Key` header. For TSDR, follow
the current USPTO API Manager instructions and rate-limit guidance.
## PatentSearch Workflow
Use PatentSearch for broad patent and pre-grant publication search when the
question is about trends, inventors, assignees, classifications, dates, or
portfolio slices.
Workflow:
1. Identify the endpoint from the current PatentSearch reference or Swagger UI.
2. Build a JSON query with explicit filters.
3. Request only the fields needed for the analysis.
4. Sort and paginate deterministically.
5. Record the endpoint, query body, date, data currency note, and result count.
Python request skeleton:
```python
import os
import requests
API_KEY = os.environ["PATENTSVIEW_API_KEY"]
BASE = "https://search.patentsview.org/api/v1"
payload = {
"q": {
"_and": [
{"patent_date": {"_gte": "2024-01-01"}},
{"assignees.assignee_organization": {"_text_any": ["Google", "Alphabet"]}},
]
},
"f": ["patent_id", "patent_title", "patent_date"],
"s": [{"patent_date": "desc"}],
"o": {"per_page": 100, "page": 1},
}
response = requests.post(
f"{BASE}/patent/",
headers={"X-Api-Key": API_KEY, "Content-Type": "application/json"},
json=payload,
timeout=30,
)
response.raise_for_status()
print(response.json())
```
Before reusing a query, verify current endpoint names, field paths, request
parameters, and API-key availability in the live PatentSearch docs.
## Trademark/TSDR Workflow
Use TSDR when the task needs trademark case status, documents, images, owner
history, or prosecution events.
Workflow:
1. Normalize the serial number or registration number.
2. Check the current TSDR API instructions and required API-key header.
3. Fetch status first, then documents only if needed.
4. Respect the lower rate limit for PDF, ZIP, and multi-case downloads.
5. Capture retrieval date and serial/registration identifier in the output.
For large trademark pulls, prefer documented bulk-data flows rather than
screen-scraping public pages.
## File Wrapper and Prosecution History
For application status, transaction history, and prosecution documents:
- Start with ODP Patent File Wrapper search.
- Use exact identifiers when available: application number, publication number,
patent number, or party name.
- Record whether the record is a granted patent, pre-grant publication, or
pending application.
- Cross-check document dates and status against the record detail page before
citing them.
## Assignment Workflow
For patent or trademark ownership:
1. Search official assignment data by patent/application/registration number,
assignor, assignee, or reel/frame when available.
2. Record conveyance text, execution date, recordation date, and parties.
3. Distinguish assignment records from current legal ownership conclusions.
4. If ownership is material, flag the result for attorney or subject-matter
review.
## Reproducible Output
Every USPTO research pass should include a log table:
```markdown
| Source | Date searched | Identifier/query | Filters | Results | Notes |
| --- | --- | --- | --- | ---: | --- |
| PatentSearch | 2026-05-11 | `assignee=Alphabet AND date>=2024` | patent endpoint | 118 | API docs checked before run |
| TSDR | 2026-05-11 | `serial=90000000` | status only | 1 | API-key flow, no document bulk pull |
```
For final writeups, separate:
- official record facts
- inferred analysis
- secondary-source convenience matches
- unresolved gaps or records that require legal review
## Review Checklist
- Did you use an official USPTO or USPTO-supported source first?
- Did you verify current endpoint and field names before running code?
- Are API keys kept out of files, shell history, and output logs?
- Does the query log include the date searched and exact request shape?
- Are rate limits respected?
- Are legal conclusions avoided or explicitly escalated?
- Are secondary sources labeled as secondary?
## References
- [USPTO APIs catalog](https://developer.uspto.gov/api-catalog)
- [USPTO Open Data Portal](https://data.uspto.gov/)
- [PatentSearch API reference](https://search.patentsview.org/docs/docs/Search%20API/SearchAPIReference/)
- [PatentSearch API updates](https://search.patentsview.org/docs/)
- [TSDR API bulk download FAQ](https://developer.uspto.gov/faq/tsdr-api-bulk-download)

View File

@@ -0,0 +1,166 @@
---
name: gget
description: gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.
origin: community
---
# gget
Use this skill when a task needs quick bioinformatics lookup across genomic
reference databases with the `gget` CLI or Python package.
## When to Use
- Finding Ensembl IDs, gene metadata, transcript details, or sequences.
- Running quick BLAST or BLAT lookups without building a full local pipeline.
- Fetching reference genome links and annotations from Ensembl.
- Querying protein structure, pathway, cancer, expression, or disease-association
modules through a single interface.
- Creating a reproducible first-pass evidence log before moving to heavier
tools such as Biopython, Snakemake, Nextflow, BLAST+, or database-specific
clients.
Use a dedicated workflow instead of `gget` when the task requires regulated
clinical interpretation, high-throughput production pipelines, or fine-grained
control over database versions and local indexes.
## Installation
Use a clean Python environment.
```bash
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --upgrade gget
gget --help
```
If `uv` is available:
```bash
uv venv
. .venv/bin/activate
uv pip install gget
```
Before relying on an older environment, upgrade `gget` and re-check the module
docs. The upstream databases queried by `gget` change over time.
## Basic Patterns
CLI shape:
```bash
gget <module> [arguments] [options]
```
Python shape:
```python
import gget
result = gget.search(["BRCA1"], species="human")
print(result)
```
Common workflow:
1. Identify the species, assembly, gene ID type, and database needed.
2. Check the current module documentation for arguments.
3. Run a small query first.
4. Save output with an explicit filename and date.
5. Record module name, version, arguments, and database assumptions.
## Common Modules
Use current upstream docs for exact arguments. These modules are common first
choices:
- `gget search`: find Ensembl IDs from search terms.
- `gget info`: retrieve metadata for Ensembl, UniProt, or related IDs.
- `gget seq`: fetch nucleotide or amino-acid sequences.
- `gget ref`: retrieve reference genome download links.
- `gget blast`: run a quick BLAST query.
- `gget blat`: locate a sequence against supported genome assemblies.
- `gget muscle`: run multiple sequence alignment.
- `gget diamond`: run local sequence alignment against reference sequences.
- `gget alphafold` and `gget pdb`: inspect protein-structure references.
- `gget enrichr`, `gget opentargets`, `gget archs4`, `gget bgee`, `gget cbio`,
and `gget cosmic`: explore enrichment, target, expression, cancer, and disease
association data.
Do not assume every module supports every Python version or dependency set.
Some optional scientific dependencies have narrower version support than the
core package.
## Quick Examples
Find genes:
```bash
gget search -s human brca1 dna repair -o brca1-search.json
```
Fetch gene metadata:
```bash
gget info ENSG00000012048 -o brca1-info.json
```
Fetch a sequence:
```bash
gget seq ENSG00000012048 -o brca1-seq.fa
```
Run a small BLAST query:
```bash
gget blast "MEEPQSDPSVEPPLSQETFSDLWKLLPEN" -l 10 -o blast-results.json
```
Python example:
```python
import gget
genes = gget.search(["BRCA1", "DNA repair"], species="human")
info = gget.info(["ENSG00000012048"])
sequence = gget.seq("ENSG00000012048")
```
## Reproducibility Log
For scientific outputs, include enough metadata to replay the query.
```markdown
| Date | gget version | Module | Query | Species/assembly | Output | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| 2026-05-11 | `gget --version` | search | `BRCA1 DNA repair` | human | `brca1-search.json` | Docs checked before run |
```
Also record:
- Python version and environment manager.
- Any optional dependency installed through `gget setup`.
- Database-specific identifiers returned by the query.
- Whether output is JSON, CSV, FASTA, or a DataFrame export.
- Any failures that were resolved by upgrading `gget`.
## Review Checklist
- Did you upgrade or verify the installed `gget` version?
- Did you check the current upstream module docs before using arguments?
- Is the species or assembly explicit?
- Are identifiers preserved exactly, including Ensembl/UniProt prefixes?
- Is the result labeled as database output rather than clinical interpretation?
- Is the query reproducible from the saved command or Python snippet?
- Are optional dependencies installed in an isolated environment?
## References
- [gget documentation](https://pachterlab.github.io/gget/)
- [gget updates](https://pachterlab.github.io/gget/en/updates.html)
- [gget GitHub repository](https://github.com/pachterlab/gget)
- [gget Bioinformatics paper](https://doi.org/10.1093/bioinformatics/btac836)