Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
125d55f
Add Crypto Market Rank skill from binance
markusha77 Mar 4, 2026
ea475c2
fix: standardize fileds order
markusha77 Mar 4, 2026
171b26d
add Meme Rush skill from binance
markusha77 Mar 4, 2026
3160caf
add Query Address Info Skill from binance
markusha77 Mar 4, 2026
6ce35a7
add Query Token Audit Skill from binance
markusha77 Mar 4, 2026
d14c4e5
add Query Token Info Skill from binance
markusha77 Mar 4, 2026
60e93df
add Trading Signal Skill from binance
markusha77 Mar 4, 2026
196f289
add Binance Spot Skill from Binance
markusha77 Mar 5, 2026
5484abf
fix: remove duplicated data
markusha77 Mar 5, 2026
69b880c
fix: remove unsupported logic
markusha77 Mar 5, 2026
5afc550
Update Research skills - Part 1: Add first 5 skills
SixiangH Mar 10, 2026
e3a2f6c
Remove 5 obsolete research folders: camera, goplaces, reflow, tools, …
SixiangH Mar 16, 2026
cac185d
feat: update research skills part 2 (20 folders)
SixiangH Mar 16, 2026
8123048
feat: update research skills part 3 (20 folders)
SixiangH Mar 16, 2026
2e7eb21
feat: update research skills part 4 (20 folders)
SixiangH Mar 16, 2026
4fd3b82
feat: update research skills part 5 (20 folders)
SixiangH Mar 16, 2026
b6d2aff
feat: update research skills part 6 (20 folders)
SixiangH Mar 16, 2026
5a5f122
feat: update research skills part 7 (20 folders)
SixiangH Mar 16, 2026
ec9cf1c
feat: update research skills part 8 (20 folders)
SixiangH Mar 16, 2026
0359f75
feat: update research skills part 9 (16 folders)
SixiangH Mar 16, 2026
66c79db
Merge pull request #61 from markusha77/main
markusha77 Mar 17, 2026
6547439
Merge pull request #51 from sixiang-svg/fix/delete-obsolete-folders
markusha77 Mar 17, 2026
e8ee22f
chore: rebuild skills index
github-actions[bot] Mar 17, 2026
2c953df
fix: updated first 20 folders with corrected skill IDs
SixiangH Mar 17, 2026
d99dcf5
Apply suggestion from @greptile-apps[bot]
markusha77 Mar 21, 2026
391259c
Apply suggestion from @greptile-apps[bot]
markusha77 Mar 21, 2026
484a746
Apply suggestion from @greptile-apps[bot]
markusha77 Mar 21, 2026
a451d72
Enhance SKILL.md with citation management details
sixiang-svg Mar 21, 2026
d49b395
Enhance SKILL.md with ClinPGx Database details
sixiang-svg Mar 21, 2026
76fb056
Clean up SKILL.md by removing bash code
sixiang-svg Mar 21, 2026
414d65f
Eliminate redundant integration suggestion in SKILL.md
sixiang-svg Mar 21, 2026
76e36c1
Update SKILL.md
sixiang-svg Mar 21, 2026
d748ca4
Refine SKILL.md content for clarity and conciseness
sixiang-svg Mar 21, 2026
a494c9a
Remove typical workflows from SKILL.md
sixiang-svg Mar 21, 2026
734ac23
Refactor SKILL.md to streamline PR comments section
sixiang-svg Mar 21, 2026
2c9be75
Fix typo in exoplanet workflows description
sixiang-svg Mar 21, 2026
5c5fe2c
rename esm to adaptyv
sixiang-svg Mar 21, 2026
fb8931a
delete duplicate skill: adaptyv(original: esm)
sixiang-svg Mar 21, 2026
239143b
Streamline SKILL.md by removing redundant sections
sixiang-svg Mar 21, 2026
95714c4
Delete: body mismatch head
sixiang-svg Mar 21, 2026
a6ea55c
Enhance output section with additional reports and metrics
sixiang-svg Mar 21, 2026
36fbf5f
Revise output section in SKILL.md
sixiang-svg Mar 21, 2026
d5e534a
Update SKILL.md
sixiang-svg Mar 21, 2026
a1a79a9
Clarify wording in Step 2 of integration guide
sixiang-svg Mar 21, 2026
2ccc724
Update external audit preparation guidance in SKILL.md
sixiang-svg Mar 21, 2026
8aeafe7
Remove redundant safety implementation sections
sixiang-svg Mar 21, 2026
89e4267
Fix typo in Föhn wind patterns description
sixiang-svg Mar 21, 2026
78e5d5f
Fix typo in performance-optimized code snippet
sixiang-svg Mar 21, 2026
64f9e7f
remove skill: body dismatches frontmatter(bisoservices duplicate)
sixiang-svg Mar 21, 2026
cea9bb2
Merge pull request #43 from sixiang-svg/update-research-skills
markusha77 Mar 25, 2026
2be3584
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
f0d4048
Merge pull request #59 from sixiang-svg/update-research-part-2
markusha77 Mar 25, 2026
4eef9d6
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
8d1ace7
Merge pull request #60 from sixiang-svg/update-research-part-3
markusha77 Mar 25, 2026
c858688
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
37204cf
Merge pull request #56 from sixiang-svg/update-research-part-4
markusha77 Mar 25, 2026
43430c9
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
bbd8b94
Merge pull request #57 from sixiang-svg/update-research-part-5
markusha77 Mar 25, 2026
e191eeb
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
7b39b68
Merge pull request #58 from sixiang-svg/update-research-part-6
markusha77 Mar 25, 2026
8d8a43b
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
5091cdc
Merge pull request #53 from sixiang-svg/update-research-part-7
markusha77 Mar 25, 2026
005c9b0
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
eea3e4d
Merge pull request #54 from sixiang-svg/update-research-part-8
markusha77 Mar 25, 2026
166d094
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
c5d2074
Merge pull request #55 from sixiang-svg/update-research-part-9
markusha77 Mar 25, 2026
ec489d1
chore: rebuild skills index
github-actions[bot] Mar 25, 2026
8f4bc71
Fix formatting issues in SKILL.md for clarity
sixiang-svg Mar 25, 2026
c6a1944
Merge branch 'main' into update-research-part-1
sixiang-svg Mar 26, 2026
54f6c70
Merge pull request #52 from sixiang-svg/update-research-part-1
markusha77 Mar 26, 2026
2697986
chore: rebuild skills index
github-actions[bot] Mar 26, 2026
da510b8
fix: comprehensive lifestyle category cleanup and improvement
markusha77 Mar 29, 2026
0910241
fix: database skills cleanup
markusha77 Mar 29, 2026
4a4dd73
Merge pull request #62 from markusha77/lifestyle-cleanup
markusha77 Mar 29, 2026
d63c7d6
Merge remote-tracking branch 'upstream/main' into database-cleanup
markusha77 Mar 29, 2026
9ce063f
Merge pull request #63 from markusha77/database-cleanup
markusha77 Mar 29, 2026
52fb5d7
fix: Testing & Security skills cleanup
markusha77 Mar 29, 2026
bfefac6
Merge pull request #65 from markusha77/testingSecurity-cleanup
markusha77 Mar 29, 2026
2b3314c
chore: rebuild skills index
github-actions[bot] Mar 29, 2026
cca1430
fix: "tools" skills cleanup
markusha77 Mar 30, 2026
8606a95
Merge pull request #66 from markusha77/tools-cleanup
markusha77 Mar 30, 2026
4e7c7ab
chore: rebuild skills index
github-actions[bot] Mar 30, 2026
bd8060f
fix: documentation category cleanup
markusha77 Mar 30, 2026
4670c47
Merge pull request #67 from markusha77/documentation-cleanup
markusha77 Mar 30, 2026
ec016a8
chore: rebuild skills index
github-actions[bot] Mar 30, 2026
a2942a5
Merge pull request #5 from markusha77/crypto-market-rank
markusha77 Apr 10, 2026
329089c
Merge pull request #6 from markusha77/meme-rush
markusha77 Apr 10, 2026
25286a6
Merge pull request #7 from markusha77/query-address-info
markusha77 Apr 10, 2026
2dc7c09
Merge pull request #8 from markusha77/query-token-audit
markusha77 Apr 10, 2026
3e04526
Merge pull request #9 from markusha77/query-token-info
markusha77 Apr 10, 2026
c50dff2
Merge pull request #10 from markusha77/spot
markusha77 Apr 10, 2026
9497835
Merge pull request #11 from markusha77/trading-signal
markusha77 Apr 10, 2026
19989a3
chore: move bap-578 and binance skills
markusha77 Apr 15, 2026
8b5cf02
chore: rebuild skills index
markusha77 Apr 15, 2026
2a94a68
chore: normalize bap578 skills description
markusha77 Apr 15, 2026
c9c2a52
blockchain cleanup
markusha77 May 11, 2026
5833217
Business cleanup
markusha77 May 11, 2026
048c408
data&ai cleaning
markusha77 May 11, 2026
bbf8487
database category cleaning
markusha77 May 11, 2026
5ed861f
development category cleaning
markusha77 May 11, 2026
986d351
devOps cleaning
markusha77 May 12, 2026
bbc7711
documentation cleaning v2
markusha77 May 12, 2026
3664b1b
Lifestyle cleaning v2
markusha77 May 12, 2026
da32de8
cleaning across multiple categories
markusha77 May 12, 2026
a8bd695
fix: new index.json structure
markusha77 May 12, 2026
d1e3a92
fix: restructure
markusha77 May 12, 2026
2ff7c15
fix: rework descriptions
markusha77 May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
192 changes: 94 additions & 98 deletions .github/workflows/build-index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,117 +33,113 @@ jobs:
process.exit(0);
}

const categoryDirs = fs.readdirSync(skillsDir, { withFileTypes: true })
.filter(d => d.isDirectory());

for (const categoryDir of categoryDirs) {
const categoryPath = path.join(skillsDir, categoryDir.name);
const skillDirs = fs.readdirSync(categoryPath, { withFileTypes: true })
.filter(d => d.isDirectory());

for (const skillDir of skillDirs) {
const skillFile = path.join(categoryPath, skillDir.name, 'SKILL.md');
if (!fs.existsSync(skillFile)) continue;

const content = fs.readFileSync(skillFile, 'utf8');
const fmMatch = content.match(/^---\s*([\s\S]*?)\s*---\s*/);
if (!fmMatch) continue;

const fm = {};
let currentKey = null;
for (const line of fmMatch[1].split(/\r?\n/)) {
if (!line.trim()) continue;
const arrMatch = line.match(/^\s*-\s+(.*)$/);
if (arrMatch && currentKey) {
if (!Array.isArray(fm[currentKey])) fm[currentKey] = [];
fm[currentKey].push(arrMatch[1].trim());
continue;
}
const kvMatch = line.match(/^([A-Za-z0-9_-]+):\s*(.*)$/);
if (!kvMatch) continue;
const key = kvMatch[1];
const val = kvMatch[2];
if (val === '') {
fm[key] = [];
currentKey = key;
} else {
const trimmed = val.trim();
const isInlineArray =
(key === 'requires' || key === 'examples') &&
trimmed.startsWith('[') &&
trimmed.endsWith(']');

if (isInlineArray) {
let arr = null;
try {
const parsed = JSON.parse(trimmed);
if (Array.isArray(parsed)) {
arr = parsed.map((x) => String(x));
}
} catch (_) {}

if (!arr) {
const inner = trimmed.slice(1, -1).trim();
if (!inner) {
arr = [];
} else {
const parts = [];
let buf = '';
let quote = null;
for (let i = 0; i < inner.length; i++) {
const ch = inner[i];
if (quote) {
if (ch === quote && inner[i - 1] !== '\\') {
quote = null;
}
buf += ch;
continue;
}

if (ch === '"' || ch === "'") {
quote = ch;
buf += ch;
continue;
}

if (ch === ',') {
parts.push(buf.trim());
buf = '';
continue;
const skillDirs = fs.readdirSync(skillsDir, { withFileTypes: true })
.filter(d => d.isDirectory())
.sort((a, b) => a.name.localeCompare(b.name));

for (const skillDir of skillDirs) {
const skillFile = path.join(skillsDir, skillDir.name, 'SKILL.md');
if (!fs.existsSync(skillFile)) continue;

const content = fs.readFileSync(skillFile, 'utf8');
const fmMatch = content.match(/^---\s*([\s\S]*?)\s*---\s*/);
if (!fmMatch) continue;

const fm = {};
let currentKey = null;
for (const line of fmMatch[1].split(/\r?\n/)) {
if (!line.trim()) continue;
const arrMatch = line.match(/^\s*-\s+(.*)$/);
if (arrMatch && currentKey) {
if (!Array.isArray(fm[currentKey])) fm[currentKey] = [];
fm[currentKey].push(arrMatch[1].trim());
continue;
}
const kvMatch = line.match(/^([A-Za-z0-9_-]+):\s*(.*)$/);
if (!kvMatch) continue;
const key = kvMatch[1];
const val = kvMatch[2];
if (val === '') {
fm[key] = [];
currentKey = key;
} else {
const trimmed = val.trim();
const isInlineArray =
(key === 'requires' || key === 'examples') &&
trimmed.startsWith('[') &&
trimmed.endsWith(']');

if (isInlineArray) {
let arr = null;
try {
const parsed = JSON.parse(trimmed);
if (Array.isArray(parsed)) {
arr = parsed.map((x) => String(x));
}
} catch (_) {}

if (!arr) {
const inner = trimmed.slice(1, -1).trim();
if (!inner) {
arr = [];
} else {
const parts = [];
let buf = '';
let quote = null;
for (let i = 0; i < inner.length; i++) {
const ch = inner[i];
if (quote) {
if (ch === quote && inner[i - 1] !== '\\') {
quote = null;
}
buf += ch;
continue;
}

if (ch === '"' || ch === "'") {
quote = ch;
buf += ch;
continue;
}

if (ch === ',') {
parts.push(buf.trim());
buf = '';
continue;
}
if (buf.trim()) parts.push(buf.trim());

arr = parts
.map((s) => s.replace(/^['\"]|['\"]$/g, '').trim())
.filter(Boolean);
buf += ch;
}
if (buf.trim()) parts.push(buf.trim());

arr = parts
.map((s) => s.replace(/^['\"]|['\"]$/g, '').trim())
.filter(Boolean);
}
}

fm[key] = arr;
fm[key] = arr;
} else {
let scalar = trimmed;
if (trimmed.startsWith('"') && trimmed.endsWith('"')) {
try {
scalar = JSON.parse(trimmed);
} catch (_) {
scalar = trimmed.replace(/^['\"]|['\"]$/g, '');
}
} else {
fm[key] = val.replace(/^['\"]|['\"]$/g, '');
scalar = trimmed.replace(/^['\"]|['\"]$/g, '');
}
currentKey = null;
fm[key] = scalar;
}
currentKey = null;
}

const body = content.slice(fmMatch[0].length).trim();

skills.push({
skillId: fm.id || skillDir.name,
name: fm.name || skillDir.name,
description: fm.description || '',
instructions: body,
author: fm.author || 'community',
version: fm.version || '1.0.0',
category: fm.category || 'other',
requires: Array.isArray(fm.requires) ? fm.requires : [],
examples: Array.isArray(fm.examples) ? fm.examples : [],
});
}

skills.push({
name: fm.name || skillDir.name,
description: fm.description || '',
});
}

skills.sort((a, b) => a.name.localeCompare(b.name));
Expand Down
30 changes: 20 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,18 @@ A skill is a set of natural language instructions that guide an AI agent's behav

## Skill File Format

Each skill lives in its own directory: `skills/{skill-id}/SKILL.md`
Each skill lives in its own directory directly under `skills/`, with a `SKILL.md` entrypoint. Support folders such as `scripts/`, `references/`, and `assets/` belong to that skill and are not indexed separately:

- `skills/{skill-id}/SKILL.md`
- `skills/{skill-id}/references/{supporting-file}`
- `skills/{skill-id}/scripts/{supporting-script}`

```markdown
---
id: your-skill-id
name: Your Skill Name
description: A concise description of what this skill does (shown to the LLM).
category: productivity
category: Development
author: your-github-username
version: 1.0.0
requires: []
Expand All @@ -41,10 +45,10 @@ Include any specific formatting, steps, or constraints.

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Unique identifier (lowercase, hyphens). Must match the directory name. |
| `id` | string | Unique identifier (lowercase, hyphens). Must match the skill directory name. |
| `name` | string | Human-readable display name |
| `description` | string | What the skill does (max 200 chars). This is shown to the LLM as the tool description. |
| `category` | string | One of: `productivity`, `development`, `communication`, `writing`, `research`, `other` |
| `category` | string | One of the supported Skills Store categories listed below. |

### Optional Frontmatter Fields

Expand All @@ -57,12 +61,18 @@ Include any specific formatting, steps, or constraints.

### Categories

- **productivity** -- Task management, planning, organization
- **development** -- Coding, debugging, code review, DevOps
- **communication** -- Email drafting, messaging, social media
- **writing** -- Content creation, editing, summarization
- **research** -- Data analysis, fact-checking, literature review
- **other** -- Everything else
- **Lifestyle**
- **Blockchain**
- **Databases**
- **Research**
- **Content & Media**
- **Documentation**
- **Testing & Security**
- **DevOps**
- **Data & AI**
- **Business**
- **Development**
- **Tools**

## Guidelines

Expand Down
24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,31 +38,33 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions on how to creat
skills/
prep-meeting/
SKILL.md
contract-review/
SKILL.md
draft-reply/
scripts/
references/
react-performance/
SKILL.md
assets/
...
index.json # Auto-generated manifest (do not edit manually)
```

Each skill directory lives directly under `skills/`. Support folders such as `scripts/`, `references/`, and `assets/` belong to that skill and are not indexed separately.

## Categories

Each skill declares a `category` in its frontmatter. Categories help users browse the Skills Store and should reflect the user-facing purpose of the skill.

Common categories you’ll see:
- Productivity
- Communication
- Business
- Lifestyle
- Content & Media
- Development
- Data & AI
- Blockchain
- Databases
- Research
- Content & Media
- Documentation
- Design
- DevOps
- Testing & Security
- DevOps
- Data & AI
- Business
- Development
- Tools

Use the most specific, user-friendly category that matches the skill’s primary intent. If a skill spans multiple domains, pick the category users would most likely search.
Loading
Loading