opencode-skills-collection 3.0.44 → 3.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +15 -1
- package/bundled-skills/agent-squad/SKILL.md +190 -0
- package/bundled-skills/agent-squad/alex/SKILL.md +129 -0
- package/bundled-skills/agent-squad/aria/SKILL.md +140 -0
- package/bundled-skills/agent-squad/dep/SKILL.md +146 -0
- package/bundled-skills/agent-squad/luna/SKILL.md +139 -0
- package/bundled-skills/agent-squad/mason/SKILL.md +124 -0
- package/bundled-skills/agent-squad/max/SKILL.md +118 -0
- package/bundled-skills/agent-squad/quinn/SKILL.md +143 -0
- package/bundled-skills/agent-squad/rex/SKILL.md +121 -0
- package/bundled-skills/atlas-contract/SKILL.md +650 -0
- package/bundled-skills/atlas-ledger/SKILL.md +248 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +4 -4
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/fsi-compliance-checker/SKILL.md +125 -0
- package/bundled-skills/fsi-compliance-checker/mas-trm.md +99 -0
- package/bundled-skills/fsi-compliance-checker/pci-dss.md +89 -0
- package/bundled-skills/not-a-vibe-coder/SKILL.md +147 -0
- package/bundled-skills/papers-skill/SKILL.md +194 -0
- package/bundled-skills/papers-skill/scripts/papers.py +271 -0
- package/bundled-skills/polis-protocol/SKILL.md +13 -9
- package/bundled-skills/zipai-optimizer/SKILL.md +40 -68
- package/package.json +1 -1
- package/skills_index.json +309 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# MAS Technology Risk Management (TRM) Guidelines — Engineering Control Reference
|
|
2
|
+
|
|
3
|
+
Engineering-relevant expectations from the Monetary Authority of Singapore's TRM Guidelines (January 2021), organized for change triage. Section numbers follow the official guidelines. The TRM Guidelines apply to all MAS-regulated financial institutions; they are principles-based guidelines (not prescriptive rules), so findings should be framed as "expectation gaps", and the institution's own TRM-aligned policies take precedence where stricter.
|
|
4
|
+
|
|
5
|
+
Related instruments to flag when relevant (not summarized here): MAS Notices on Cyber Hygiene (legally binding baseline), Outsourcing Guidelines, and the MAS AI model risk management information paper for AI/ML systems.
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
|
|
9
|
+
1. [Software development & DevOps (§6)](#1-software-development--devops-6)
|
|
10
|
+
2. [IT resilience & availability (§8)](#2-it-resilience--availability-8)
|
|
11
|
+
3. [Access control (§9)](#3-access-control-9)
|
|
12
|
+
4. [Cryptography (§10)](#4-cryptography-10)
|
|
13
|
+
5. [Data & infrastructure security (§11)](#5-data--infrastructure-security-11)
|
|
14
|
+
6. [Cyber operations & monitoring (§12-13)](#6-cyber-operations--monitoring-12-13)
|
|
15
|
+
7. [Online financial services (§14)](#7-online-financial-services-14)
|
|
16
|
+
8. [Quick triage table](#8-quick-triage-table)
|
|
17
|
+
|
|
18
|
+
## 1. Software Development & DevOps (§6)
|
|
19
|
+
|
|
20
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
21
|
+
|-----|----------------------|-------------------|
|
|
22
|
+
| 6.1 | Secure-by-design SDLC: security requirements defined at the start, not bolted on | Security stories/threat model exist for the feature |
|
|
23
|
+
| 6.2 | Secure coding standards; code review (peer or automated) before deployment | Review gates; standards documented and enforced |
|
|
24
|
+
| 6.3 | Source code security: access to repositories controlled; code integrity protected | Repo permissions, branch protection, signed commits where applicable |
|
|
25
|
+
| 6.4 | Security testing: vulnerability assessment before production launch and after major changes; penetration testing for internet-facing systems | SAST/DAST in pipeline; pen-test cadence for public systems |
|
|
26
|
+
| 6.5 | Separate environments for development, testing, production; production data not used in non-production without protection | Environment isolation; data masking for test data |
|
|
27
|
+
| 6.6 | Change management: assessed, tested, approved before production; emergency change procedures with retrospective approval | CI/CD approval gates, change records, rollback plans |
|
|
28
|
+
| 6.7 | End-of-life/unsupported software identified and risk-managed | Dependency and runtime version currency |
|
|
29
|
+
| — | DevOps note: §6 expectations apply to pipeline automation itself — the pipeline is a production system (access control, audit, segregation of duties in deployment approval) | Who can approve+deploy; pipeline credentials |
|
|
30
|
+
|
|
31
|
+
## 2. IT Resilience & Availability (§8)
|
|
32
|
+
|
|
33
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
34
|
+
|-----|----------------------|-------------------|
|
|
35
|
+
| 8.2 | Availability targets defined; critical systems' RTO ≤ 4 hours and RPO defined per MAS Notice expectations | Architecture supports the institution's stated RTO/RPO |
|
|
36
|
+
| 8.3 | Single points of failure identified and addressed for critical systems | Redundancy in new components; multi-AZ/multi-site where critical |
|
|
37
|
+
| 8.4 | DR plans tested at least annually; recovery procedures current | New components included in DR runbooks |
|
|
38
|
+
| 8.5 | Capacity management: monitor and plan for demand | Load assumptions documented for new services |
|
|
39
|
+
|
|
40
|
+
## 3. Access Control (§9)
|
|
41
|
+
|
|
42
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
43
|
+
|-----|----------------------|-------------------|
|
|
44
|
+
| 9.1 | Least privilege and need-to-have for all access; access reviewed periodically | New roles/permissions minimal; review process covers them |
|
|
45
|
+
| 9.2 | Strong authentication for privileged access; MFA expected for critical system administration | Admin paths MFA-protected |
|
|
46
|
+
| 9.3 | Privileged access managed: just-in-time where possible, activities logged and reviewed | Break-glass procedures, session recording/audit for admin ops |
|
|
47
|
+
| 9.4 | Segregation of duties: no single person develops, approves, and deploys to production unchecked | Pipeline approval separation |
|
|
48
|
+
| 9.5 | Remote access secured (MFA, encrypted channels, device posture) | VPN/zero-trust requirements for any new remote path |
|
|
49
|
+
|
|
50
|
+
## 4. Cryptography (§10)
|
|
51
|
+
|
|
52
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
53
|
+
|-----|----------------------|-------------------|
|
|
54
|
+
| 10.1 | Strong, industry-accepted algorithms and key lengths; no deprecated crypto | No MD5/SHA-1 for security, no TLS <1.2, AES-128+ |
|
|
55
|
+
| 10.2 | Key lifecycle management: generation, distribution, storage, rotation, revocation, destruction | KMS/HSM usage; no keys in code, config files, or tickets |
|
|
56
|
+
| 10.3 | Cryptographic key compromise procedures | Key rotation runbook covers new keys |
|
|
57
|
+
|
|
58
|
+
## 5. Data & Infrastructure Security (§11)
|
|
59
|
+
|
|
60
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
61
|
+
|-----|----------------------|-------------------|
|
|
62
|
+
| 11.1 | Data security throughout lifecycle: at rest, in transit, in use; data loss prevention strategy | Encryption defaults on new stores; egress paths controlled |
|
|
63
|
+
| 11.2 | Network security: segmentation, defense in depth; critical systems in secured zones | New services placed in correct zones; no flattening of segmentation |
|
|
64
|
+
| 11.3 | Endpoint and server hardening per standards | Base images hardened; IaC matches hardening baselines |
|
|
65
|
+
| 11.4 | Virtualization/container security: hypervisor and orchestration hardening | K8s RBAC, pod security, image provenance |
|
|
66
|
+
| 11.5 | Cloud: institution remains responsible; due diligence, data residency, exit strategy, and MAS Outsourcing Guidelines apply | New cloud services assessed; data residency for Singapore customer data confirmed |
|
|
67
|
+
|
|
68
|
+
## 6. Cyber Operations & Monitoring (§12-13)
|
|
69
|
+
|
|
70
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
71
|
+
|-----|----------------------|-------------------|
|
|
72
|
+
| 12.1 | Security event logging across systems; logs protected and retained per policy | New components emit security events to central SIEM |
|
|
73
|
+
| 12.2 | Continuous monitoring and correlation; anomaly detection for critical systems | Alert rules accompany new security-relevant functionality |
|
|
74
|
+
| 13.1 | Cyber incident response plan; roles defined; MAS notification obligations for relevant incidents (as required by notices — commonly understood as within 1 hour for severe incidents) | New failure modes mapped to incident severity matrix |
|
|
75
|
+
| 13.2 | Post-incident review and remediation tracking | Incident learnings feed backlog |
|
|
76
|
+
|
|
77
|
+
## 7. Online Financial Services (§14)
|
|
78
|
+
|
|
79
|
+
| Ref | Expectation (summary) | Engineering check |
|
|
80
|
+
|-----|----------------------|-------------------|
|
|
81
|
+
| 14.1 | Strong customer authentication: MFA for login to online financial services and for high-risk transactions | Customer auth flows; step-up auth for transfers/payee changes |
|
|
82
|
+
| 14.2 | Transaction signing/confirmation for high-risk transactions; out-of-band notification to customers | Transaction flows notify customers of significant actions |
|
|
83
|
+
| 14.3 | Session management: timeout, re-authentication for sensitive actions, protection against hijacking | Session config on customer-facing changes |
|
|
84
|
+
| 14.4 | Fraud monitoring and customer education surfaces | New transaction types covered by fraud rules |
|
|
85
|
+
| — | Anti-scam expectations (post-2022 MAS/ABS measures): kill switch, cooling-off for new payees/devices, transaction limits | Payment feature changes checked against these measures |
|
|
86
|
+
|
|
87
|
+
## 8. Quick Triage Table
|
|
88
|
+
|
|
89
|
+
| Change type | Check first |
|
|
90
|
+
|-------------|-------------|
|
|
91
|
+
| New feature touching customer money | §14.1-14.2, §6.1, threat model |
|
|
92
|
+
| Auth/session change | §9.x, §14.1, §14.3 |
|
|
93
|
+
| New data store / data flow | §11.1, §11.5 (residency), §10.1 |
|
|
94
|
+
| New cloud service | §11.5 + Outsourcing Guidelines flag |
|
|
95
|
+
| CI/CD or repo change | §6.3, §6.6, §9.4 |
|
|
96
|
+
| Infra/network change | §11.2, §8.3 |
|
|
97
|
+
| New logging/monitoring | §12.1-12.2 |
|
|
98
|
+
| Incident-relevant failure mode | §13.1 severity mapping |
|
|
99
|
+
| AI/ML model in decisioning | Flag MAS AI information paper review |
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# PCI-DSS v4.0 — Engineering Control Reference
|
|
2
|
+
|
|
3
|
+
Engineering-relevant controls from PCI-DSS v4.0, organized by what a code/architecture change typically touches. Control numbers follow the official standard (PCI Security Standards Council). This is a working summary for triage, not the standard itself — for formal scoping consult the full standard and a QSA.
|
|
4
|
+
|
|
5
|
+
**Key v4.0 dates:** v4.0 became mandatory March 2024; the ~50 future-dated requirements (marked FD below) became mandatory **31 March 2025** — they are now in force.
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
|
|
9
|
+
1. [Cardholder data handling (Req 3, 4)](#1-cardholder-data-handling)
|
|
10
|
+
2. [Authentication & access (Req 7, 8)](#2-authentication--access)
|
|
11
|
+
3. [Secure development (Req 6)](#3-secure-development)
|
|
12
|
+
4. [Logging & monitoring (Req 10)](#4-logging--monitoring)
|
|
13
|
+
5. [Network & segmentation (Req 1)](#5-network--segmentation)
|
|
14
|
+
6. [Payment page / client-side (Req 6.4.3, 11.6.1)](#6-payment-page--client-side)
|
|
15
|
+
7. [Quick triage table](#7-quick-triage-table)
|
|
16
|
+
|
|
17
|
+
## 1. Cardholder Data Handling
|
|
18
|
+
|
|
19
|
+
| Control | Requirement (summary) | Engineering check |
|
|
20
|
+
|---------|----------------------|-------------------|
|
|
21
|
+
| 3.2.1 | Account data storage kept to minimum: retention/disposal policies covering all storage locations | New stores/caches must update the data-flow inventory; retention defined |
|
|
22
|
+
| 3.3.1 | Don't store sensitive authentication data (CVV/CVC, full track, PIN) after authorization — ever, even encrypted | grep for CVV/CVC fields in models, logs, caches, analytics events |
|
|
23
|
+
| 3.4.1 | Mask PAN when displayed (BIN + last 4 max visible) | UI components, receipts, admin screens, support tooling |
|
|
24
|
+
| 3.5.1 | Render PAN unreadable anywhere stored (strong crypto, truncation, tokens) | DB columns, backups, object storage, message queues, data lakes |
|
|
25
|
+
| 3.6 / 3.7 | Key management: documented procedures, key rotation, split knowledge for manual operations | KMS usage, key rotation schedules, no keys in code/config |
|
|
26
|
+
| 4.2.1 | Strong cryptography for PAN over open/public networks; no fallback to insecure versions | TLS 1.2+ enforced, cert validation not disabled, no PAN over email/chat |
|
|
27
|
+
|
|
28
|
+
## 2. Authentication & Access
|
|
29
|
+
|
|
30
|
+
| Control | Requirement (summary) | Engineering check |
|
|
31
|
+
|---------|----------------------|-------------------|
|
|
32
|
+
| 7.2.1 | Access by least privilege, need-to-know, defined roles | New endpoints/services declare required roles; no wildcard IAM |
|
|
33
|
+
| 8.3.6 (FD) | Passwords minimum 12 characters with complexity | Password validators, policy configs |
|
|
34
|
+
| 8.3.9 | Password change every 90 days OR dynamic risk analysis OR MFA-always | Session/auth design |
|
|
35
|
+
| 8.4.2 (FD) | MFA for ALL access into the CDE (not just admins) | Auth flows for any CDE-touching application access |
|
|
36
|
+
| 8.6.1-8.6.3 (FD) | Interactive use of system/service accounts restricted; their passwords managed and rotated | Service account credentials in pipelines, cron jobs |
|
|
37
|
+
| 8.2.2 | No shared/group accounts except documented exceptional circumstances | Service design, break-glass procedures |
|
|
38
|
+
|
|
39
|
+
## 3. Secure Development
|
|
40
|
+
|
|
41
|
+
| Control | Requirement (summary) | Engineering check |
|
|
42
|
+
|---------|----------------------|-------------------|
|
|
43
|
+
| 6.2.1 | Software developed per secure SDLC, security throughout | Threat modeling, security stories, review gates exist |
|
|
44
|
+
| 6.2.4 | Engineering techniques preventing common attack classes (injection, XSS, etc.) | Parameterized queries, output encoding, input validation at boundaries |
|
|
45
|
+
| 6.3.1 | Security vulnerabilities identified and ranked (CVSS or equivalent) | Scanner integration, triage workflow |
|
|
46
|
+
| 6.3.2 (FD) | Inventory of bespoke and custom software, and third-party components (SBOM-like) | Dependency manifests current; new deps recorded |
|
|
47
|
+
| 6.3.3 | Critical/high patches within one month | Dependency update cadence |
|
|
48
|
+
| 6.4.1/6.4.2 | Public-facing web apps protected (WAF in blocking mode per 6.4.2 FD) | New public endpoints behind WAF |
|
|
49
|
+
| 6.5.1-6.5.6 | Change management: documented, tested, approved; separation of dev/test from prod; no prod data in test; no test accounts/data left in prod before release | CI/CD gates, seed data hygiene, environment separation |
|
|
50
|
+
|
|
51
|
+
## 4. Logging & Monitoring
|
|
52
|
+
|
|
53
|
+
| Control | Requirement (summary) | Engineering check |
|
|
54
|
+
|---------|----------------------|-------------------|
|
|
55
|
+
| 10.2.1 | Audit logs capture: individual user access to cardholder data, admin actions, auth attempts (success/failure), log access, security event types | Audit events emitted for these actions with user identity |
|
|
56
|
+
| 10.2.1.2 | All actions by accounts with admin access logged | Admin tooling, support backdoors |
|
|
57
|
+
| 10.3.1-10.3.4 | Logs protected from modification, access limited, integrity monitored | Append-only/immutable log storage, restricted access |
|
|
58
|
+
| 10.4.1 (FD: automated) | Daily review of security events — automated mechanisms required in v4.0 | Alerting rules exist for new security-relevant events |
|
|
59
|
+
| — | **Never log:** full PAN, CVV, passwords, full track data | grep logging statements in payment/auth paths |
|
|
60
|
+
|
|
61
|
+
## 5. Network & Segmentation
|
|
62
|
+
|
|
63
|
+
| Control | Requirement (summary) | Engineering check |
|
|
64
|
+
|---------|----------------------|-------------------|
|
|
65
|
+
| 1.2.5 / 1.2.6 | All services/ports/protocols identified, approved, with security features defined | New listeners/ports documented and justified |
|
|
66
|
+
| 1.3.1 / 1.3.2 | Inbound and outbound CDE traffic restricted to necessary only | Security group / firewall changes reviewed against data flows |
|
|
67
|
+
| 1.4.4 | Stored cardholder data not directly accessible from untrusted networks | No DB with card data reachable from public subnets |
|
|
68
|
+
|
|
69
|
+
## 6. Payment Page / Client-Side
|
|
70
|
+
|
|
71
|
+
The two controls that catch most modern e-commerce teams (both FD, mandatory since 31 Mar 2025):
|
|
72
|
+
|
|
73
|
+
| Control | Requirement (summary) | Engineering check |
|
|
74
|
+
|---------|----------------------|-------------------|
|
|
75
|
+
| 6.4.3 | All payment-page scripts: inventoried, authorized, integrity-assured (e.g. SRI/CSP) | Script inventory for checkout pages; CSP headers; no unvetted tags |
|
|
76
|
+
| 11.6.1 | Change/tamper detection on payment pages, alerting on unauthorized modification | Monitoring on checkout page headers and script changes |
|
|
77
|
+
|
|
78
|
+
## 7. Quick Triage Table
|
|
79
|
+
|
|
80
|
+
| Change type | Check first |
|
|
81
|
+
|-------------|-------------|
|
|
82
|
+
| New logging | 3.3.1, never-log list (§4) |
|
|
83
|
+
| New data store/cache | 3.5.1, 3.2.1, 1.4.4 |
|
|
84
|
+
| Auth/session change | 8.3.x, 8.4.2, 10.2.1 |
|
|
85
|
+
| New dependency | 6.3.2, 6.3.3 |
|
|
86
|
+
| New public endpoint | 6.4.1/6.4.2, 1.2.x |
|
|
87
|
+
| Checkout/payment UI | 6.4.3, 11.6.1, 3.4.1 |
|
|
88
|
+
| CI/CD change | 6.5.1-6.5.6, 8.6.x |
|
|
89
|
+
| Infra/network change | 1.2.x, 1.3.x |
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: not-a-vibe-coder
|
|
3
|
+
description: Turns vague prompts into 8 structured planning files for brand new projects. DO NOT use on existing codebases.
|
|
4
|
+
risk: critical
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Not-a-Vibe-Coder
|
|
8
|
+
|
|
9
|
+
A skill that turns any project idea — no matter how vague — into 8 living planning
|
|
10
|
+
documents that act as the project's persistent memory across a long context window.
|
|
11
|
+
The documents are the source of truth for "what we agreed on"; the user's live
|
|
12
|
+
instructions are always the final authority and can override the docs at any time.
|
|
13
|
+
|
|
14
|
+
## Core Principles (never violate these)
|
|
15
|
+
|
|
16
|
+
1. **User command > files > AI assumptions.** If the user says something that
|
|
17
|
+
contradicts a file, the user wins — and the relevant file(s) should then be
|
|
18
|
+
updated to reflect the new instruction.
|
|
19
|
+
2. **No silent additions.** Never add features, tech choices, pages, tables, or
|
|
20
|
+
rules the user did not ask for or approve. If something seems missing, ask —
|
|
21
|
+
don't assume. Exception: when the user explicitly says "fill it in",
|
|
22
|
+
"brainstorm the rest", "you decide", etc. — see Phase 3.
|
|
23
|
+
3. **Design.md is special.** NEVER fill Design.md with your own taste. Always ask
|
|
24
|
+
the user for style direction (e.g. minimal, playful, corporate, dark mode,
|
|
25
|
+
neumorphic, etc.) and a color palette (or offer 2-3 palette options to pick
|
|
26
|
+
from) before writing anything into it.
|
|
27
|
+
4. **One file at a time, in order**, during initial planning — don't dump all 8
|
|
28
|
+
files at once unless the user explicitly asks for that.
|
|
29
|
+
5. **Tracker.md is append-only progress tracking** — update it whenever work is
|
|
30
|
+
completed, never rewrite history, just check items off and add new ones as
|
|
31
|
+
they emerge.
|
|
32
|
+
6. **Mid-project changes ripple.** If the user requests a change mid-build that
|
|
33
|
+
affects earlier decisions (e.g. "actually let's use Postgres instead of
|
|
34
|
+
Firebase", "add a booking feature"), update ALL affected files yourself,
|
|
35
|
+
without being asked file-by-file. Then summarize what changed.
|
|
36
|
+
7. **Read before you write.** At the start of any session, if these files
|
|
37
|
+
already exist in the project, read all 8 before doing anything else — they
|
|
38
|
+
are your memory.
|
|
39
|
+
|
|
40
|
+
## The 8 Files
|
|
41
|
+
|
|
42
|
+
| File | Purpose |
|
|
43
|
+
|---|---|
|
|
44
|
+
| PRD.md | What the app does, features, goals, user requirements |
|
|
45
|
+
| TechSpec.md | Architecture, tech stack, APIs, database choices |
|
|
46
|
+
| AppFlow.md | User flows and navigation |
|
|
47
|
+
| Design.md | UI/UX guidelines, layout, style, color palette |
|
|
48
|
+
| Schema.md | Database tables, relationships, data models |
|
|
49
|
+
| ImplementationPlan.md | Step-by-step development roadmap |
|
|
50
|
+
| Tracker.md | Completed work, pending tasks, progress |
|
|
51
|
+
| Rules.md | Coding standards, constraints, project rules |
|
|
52
|
+
|
|
53
|
+
## Workflow
|
|
54
|
+
|
|
55
|
+
### Phase 0 — Detect intent
|
|
56
|
+
|
|
57
|
+
- ONLY for brand new projects. If project has existing code files, ABORT and do not use this skill.
|
|
58
|
+
- If the user gives a one-liner idea ("build me a restaurant ordering app") for a new project,
|
|
59
|
+
this is the trigger to start Phase 1.
|
|
60
|
+
- If the user gives a fully detailed spec already, you can still create the
|
|
61
|
+
files but populate them directly from what they said — skip redundant
|
|
62
|
+
questions.
|
|
63
|
+
|
|
64
|
+
### Phase 1 — PRD.md first
|
|
65
|
+
|
|
66
|
+
This is the foundation. Everything else depends on it.
|
|
67
|
+
|
|
68
|
+
- Take whatever the user gave you (even just "restaurant app") and ask a small
|
|
69
|
+
number of clarifying questions to flesh out the PRD — target audience, core
|
|
70
|
+
features, platforms (web/mobile/both), must-haves vs nice-to-haves, monetization
|
|
71
|
+
if any, etc. Use `ask_user_input_v0` for quick multiple-choice clarifications
|
|
72
|
+
where natural.
|
|
73
|
+
- The user can also choose to skip Q&A and just write directly into PRD.md
|
|
74
|
+
themselves — if they say "I'll fill it in", create a skeleton PRD.md with
|
|
75
|
+
section headers and placeholders, and wait for them.
|
|
76
|
+
- Do not invent features. If the user's answer is vague, ask again or offer
|
|
77
|
+
options — don't fill gaps with assumptions.
|
|
78
|
+
- Once the PRD feels solid, write PRD.md, show it to the user, and get
|
|
79
|
+
confirmation before moving to the next file.
|
|
80
|
+
|
|
81
|
+
### Phase 2 — Remaining files, one by one (except Design.md)
|
|
82
|
+
|
|
83
|
+
In this order: TechSpec.md → AppFlow.md → Schema.md → ImplementationPlan.md →
|
|
84
|
+
Rules.md → Tracker.md → Design.md (last, see Phase 2.5).
|
|
85
|
+
|
|
86
|
+
For each file:
|
|
87
|
+
- Propose a draft based on the PRD and any prior files, OR ask the user
|
|
88
|
+
questions if there's a real decision to make (e.g. "Should this use
|
|
89
|
+
PostgreSQL or a simpler option like SQLite/Firebase?").
|
|
90
|
+
- Show the draft, ask for confirmation or edits.
|
|
91
|
+
- Only move to the next file after the user is satisfied with the current one.
|
|
92
|
+
|
|
93
|
+
If the user says "just fill out the rest yourself, no assumptions, brainstorm
|
|
94
|
+
properly" — this means: make reasonable, justifiable choices consistent with
|
|
95
|
+
the PRD and any constraints already stated (not random/lazy defaults), but
|
|
96
|
+
still present everything to the user afterward for review before building
|
|
97
|
+
starts. "No assumptions" here means "don't contradict or extend the PRD's
|
|
98
|
+
intent" — not "ask about every detail."
|
|
99
|
+
|
|
100
|
+
### Phase 2.5 — Design.md (always interactive)
|
|
101
|
+
|
|
102
|
+
Never write Design.md without asking the user:
|
|
103
|
+
- Overall style direction (e.g. minimal / modern / playful / corporate / retro /
|
|
104
|
+
brutalist / glassmorphism / dark-first) — offer `ask_user_input_v0` choices
|
|
105
|
+
if helpful.
|
|
106
|
+
- Color palette — either ask for specific colors/hex codes, or offer 2-3
|
|
107
|
+
palette options matching their chosen style and let them pick.
|
|
108
|
+
- Typography preferences, spacing density, any reference sites/apps they like.
|
|
109
|
+
|
|
110
|
+
Only after this input is gathered do you write Design.md.
|
|
111
|
+
|
|
112
|
+
### Phase 3 — Final review
|
|
113
|
+
|
|
114
|
+
- Once all 8 files are drafted, present a short summary of the whole plan and
|
|
115
|
+
ask the user to review everything (especially Rules.md — ask if they want to
|
|
116
|
+
add any constraints, e.g. "no external libraries", "TypeScript only",
|
|
117
|
+
"must work offline", etc.).
|
|
118
|
+
- Explicitly ask: "Anything to change before I start building?"
|
|
119
|
+
|
|
120
|
+
### Phase 4 — Build
|
|
121
|
+
|
|
122
|
+
- Once the user confirms, begin implementation following ImplementationPlan.md
|
|
123
|
+
step by step.
|
|
124
|
+
- As each step/task is completed, mark it done in Tracker.md (check it off,
|
|
125
|
+
add a short note/date if useful).
|
|
126
|
+
- Never deviate from ImplementationPlan.md, Rules.md, TechSpec.md, or Schema.md
|
|
127
|
+
without explicit user instruction.
|
|
128
|
+
- If the user gives a new instruction mid-build that isn't in the files:
|
|
129
|
+
follow it immediately (user command is final), AND update the relevant
|
|
130
|
+
file(s) afterward so the docs stay in sync. Briefly tell the user which
|
|
131
|
+
files you updated and why.
|
|
132
|
+
|
|
133
|
+
## Quick Reference: Decision Rules
|
|
134
|
+
|
|
135
|
+
- Ambiguous feature request → ask, don't assume.
|
|
136
|
+
- User explicitly says "you decide" / "brainstorm it" → make a reasoned,
|
|
137
|
+
PRD-consistent choice, document it, present for review — don't silently bake
|
|
138
|
+
it in.
|
|
139
|
+
- Conflict between user's current message and a file → user wins; then sync
|
|
140
|
+
the file.
|
|
141
|
+
- Design.md → always ask style + colors first, no exceptions.
|
|
142
|
+
- Any completed task → update Tracker.md immediately.
|
|
143
|
+
- Mid-project pivot → update all affected files proactively, summarize changes.
|
|
144
|
+
|
|
145
|
+
## Limitations
|
|
146
|
+
- Only works for new projects. Will fail if run on existing codebases.
|
|
147
|
+
- Relies heavily on accurate user input during the initial PRD generation.
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: papers-skill
|
|
3
|
+
description: "Skill for academic research workflows: search Semantic Scholar (200M+ papers), inspect citations, download arXiv PDFs, and extract PDF text. Bundles a self-contained Python CLI."
|
|
4
|
+
category: research
|
|
5
|
+
risk: safe
|
|
6
|
+
source: community
|
|
7
|
+
source_repo: xwmxcz/papers-skill
|
|
8
|
+
source_type: community
|
|
9
|
+
date_added: "2026-06-11"
|
|
10
|
+
author: xwmxcz
|
|
11
|
+
tags: [research, academic, papers, citations, arxiv, semantic-scholar, pdf]
|
|
12
|
+
tools: [claude-code, antigravity, cursor, gemini-cli, codex-cli, opencode]
|
|
13
|
+
license: "MIT"
|
|
14
|
+
license_source: "https://github.com/xwmxcz/papers-skill/blob/main/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Papers Skill
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Papers Skill turns a coding agent into a literature-research assistant. It
|
|
22
|
+
orchestrates a bundled Python CLI (`scripts/papers.py`) that hits the free
|
|
23
|
+
Semantic Scholar and arXiv APIs, downloads arXiv PDFs, and extracts text with
|
|
24
|
+
PyMuPDF. The agent decides which subcommand to invoke and how to combine
|
|
25
|
+
results into a literature scan, a deep read of one paper, an impact analysis,
|
|
26
|
+
or a reading list.
|
|
27
|
+
|
|
28
|
+
This skill is the Skill-mode port of the
|
|
29
|
+
[papers-mcp](https://github.com/xwmxcz/papers-mcp) MCP server by the same
|
|
30
|
+
author. Both projects share the same feature set; this one ships as a
|
|
31
|
+
Claude Code plugin so it can be installed with a single command and needs no
|
|
32
|
+
long-running MCP process.
|
|
33
|
+
|
|
34
|
+
## When to Use This Skill
|
|
35
|
+
|
|
36
|
+
- Use when the user asks to search academic papers by topic, author, or venue.
|
|
37
|
+
- Use when the user names a specific paper (by DOI, arXiv ID, or title) and
|
|
38
|
+
wants metadata, the abstract, the TL;DR, or its reference list.
|
|
39
|
+
- Use when the user wants to find work that **cites** a known paper (impact
|
|
40
|
+
analysis, follow-up tracking).
|
|
41
|
+
- Use when the user wants to download an arXiv PDF and have it summarized.
|
|
42
|
+
- Use when the user asks to build a reading list around a topic.
|
|
43
|
+
|
|
44
|
+
## Do Not Use This Skill When
|
|
45
|
+
|
|
46
|
+
- The user wants paywalled non-arXiv full text. This skill cannot bypass
|
|
47
|
+
publisher paywalls; it can only fetch arXiv PDFs and metadata everywhere.
|
|
48
|
+
- The user wants OCR over scanned PDFs. PyMuPDF extracts embedded text only;
|
|
49
|
+
scanned image-PDFs return the fallback message and need a separate OCR step.
|
|
50
|
+
- The user wants real-time citation alerts or RSS-style watching. This skill
|
|
51
|
+
is request-driven.
|
|
52
|
+
|
|
53
|
+
## How It Works
|
|
54
|
+
|
|
55
|
+
### Step 1: Verify dependencies
|
|
56
|
+
|
|
57
|
+
Three Python packages are required. The skill should check once per session,
|
|
58
|
+
using the **same interpreter** to import-check and install so the dependency
|
|
59
|
+
check and install target stay in sync:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
python -c "import httpx, arxiv, fitz" 2>&1 || python -m pip install httpx arxiv PyMuPDF
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If `python` is not on PATH, fall back to `py` (Windows launcher) or the
|
|
66
|
+
absolute interpreter path — and remember to invoke pip via the same
|
|
67
|
+
interpreter, e.g. `py -m pip install httpx arxiv PyMuPDF`.
|
|
68
|
+
|
|
69
|
+
### Step 2: Invoke the bundled CLI
|
|
70
|
+
|
|
71
|
+
The script lives at `${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py`
|
|
72
|
+
and is bundled with this skill (no separate install needed). Always quote the
|
|
73
|
+
path so it survives spaces.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" <subcommand> [args]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 3: Pick the right subcommand
|
|
80
|
+
|
|
81
|
+
| Subcommand | Purpose | Example |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `search <query> [--limit N]` | Semantic Scholar search, max 20 | `search "diffusion models" --limit 5` |
|
|
84
|
+
| `detail <paper_id>` | Full metadata, TL;DR, top references | `detail 10.48550/arXiv.2310.06825` |
|
|
85
|
+
| `citations <paper_id> [--limit N]` | Papers citing this one, max 20 | `citations <id> --limit 15` |
|
|
86
|
+
| `arxiv <query> [--max-results N]` | arXiv preprint search, max 10 | `arxiv "RLHF" --max-results 5` |
|
|
87
|
+
| `download <arxiv_id> [--save-dir D]` | Save PDF locally | `download 2310.06825 --save-dir ./pdfs` |
|
|
88
|
+
| `read <pdf_path> [--max-pages N]` | Extract PDF text via PyMuPDF | `read ./pdfs/foo.pdf --max-pages 20` |
|
|
89
|
+
|
|
90
|
+
`detail` and `citations` auto-detect the ID type: DOIs starting with `10.`
|
|
91
|
+
are used as-is, bare numeric IDs of 10+ digits are treated as arXiv IDs, and
|
|
92
|
+
long hex strings are treated as Semantic Scholar `paperId`s.
|
|
93
|
+
|
|
94
|
+
## Examples
|
|
95
|
+
|
|
96
|
+
### Example 1: Literature scan on a topic
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" search "retrieval augmented generation" --limit 10
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Present results as a ranked table with **# | Title | Year | Citations | ID**,
|
|
103
|
+
then ask the user which papers to dig into.
|
|
104
|
+
|
|
105
|
+
### Example 2: Deep-read one paper
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# 1. Confirm match
|
|
109
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" detail 2005.11401
|
|
110
|
+
# 2. Download
|
|
111
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" download 2005.11401 --save-dir ./pdfs
|
|
112
|
+
# 3. Extract abstract + intro + conclusion
|
|
113
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" read ./pdfs/2005.11401v4.RAG.pdf --max-pages 10
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Summarize as: **problem · method · key result · limitations**.
|
|
117
|
+
|
|
118
|
+
### Example 3: Impact analysis on an anchor paper
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" detail 10.48550/arXiv.2005.11401
|
|
122
|
+
python "${CLAUDE_PLUGIN_ROOT}/skills/papers-skill/scripts/papers.py" citations 10.48550/arXiv.2005.11401 --limit 20
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Cluster the citing papers by year/theme and highlight the most-cited
|
|
126
|
+
follow-ups.
|
|
127
|
+
|
|
128
|
+
## Best Practices
|
|
129
|
+
|
|
130
|
+
- ✅ Always call `detail` before `download` to confirm the paper matches user
|
|
131
|
+
intent. Skipping this leads to wrong PDFs being fetched.
|
|
132
|
+
- ✅ Include the paper ID alongside every title in your output so the user
|
|
133
|
+
can re-query precisely.
|
|
134
|
+
- ✅ Cite as `[FirstAuthor et al., Year] *Title* (cites: N)`.
|
|
135
|
+
- ✅ For PDFs you download, always report the absolute save path.
|
|
136
|
+
- ❌ Don't crawl. The script auto-retries 429s with exponential backoff;
|
|
137
|
+
don't pile on parallel queries.
|
|
138
|
+
- ❌ Don't raise `--max-pages` to 100+ without warning the user — it can
|
|
139
|
+
consume a large amount of context.
|
|
140
|
+
|
|
141
|
+
## Limitations
|
|
142
|
+
|
|
143
|
+
- The skill cannot fetch full text from paywalled publishers (Elsevier,
|
|
144
|
+
Springer, Wiley, etc.). It can only read open arXiv PDFs.
|
|
145
|
+
- PyMuPDF extracts embedded text only. Scanned image-PDFs return the
|
|
146
|
+
fallback message `PDF无法提取文本(可能是扫描件)`; offer the user an
|
|
147
|
+
alternative version or note that OCR is required.
|
|
148
|
+
- Semantic Scholar's anonymous tier rate-limits aggressively. The script
|
|
149
|
+
retries 3× with exponential backoff; persistent 429s during heavy use
|
|
150
|
+
surface as `搜索失败: rate limit, retries exhausted`.
|
|
151
|
+
- This skill does not replace environment-specific validation, testing, or
|
|
152
|
+
expert review. Stop and ask for clarification if required inputs are
|
|
153
|
+
missing.
|
|
154
|
+
|
|
155
|
+
## Security & Safety Notes
|
|
156
|
+
|
|
157
|
+
- The CLI performs **outbound HTTPS only** to `api.semanticscholar.org` and
|
|
158
|
+
`arxiv.org` (and the arXiv-listed mirror for the bundled `arxiv` package).
|
|
159
|
+
No authentication tokens are sent.
|
|
160
|
+
- `download` writes a PDF to the directory the user specifies (default: the
|
|
161
|
+
current working directory). Confirm the save path with the user before
|
|
162
|
+
downloading to an unexpected location.
|
|
163
|
+
- `read` opens a local PDF file with PyMuPDF — make sure the path the user
|
|
164
|
+
supplies is one they trust.
|
|
165
|
+
- No credentials or API keys are needed or stored anywhere.
|
|
166
|
+
|
|
167
|
+
## Common Pitfalls
|
|
168
|
+
|
|
169
|
+
- **Problem:** `需要安装 arxiv: pip install arxiv` or `需要安装 PyMuPDF: pip install PyMuPDF`.
|
|
170
|
+
**Solution:** The script returns this friendly message instead of crashing
|
|
171
|
+
when an optional dependency is missing. Offer to run the install command.
|
|
172
|
+
|
|
173
|
+
- **Problem:** `搜索失败: rate limit, retries exhausted` from `search` or
|
|
174
|
+
`detail` or `citations`.
|
|
175
|
+
**Solution:** Semantic Scholar is rate-limiting. Wait ~10 seconds and
|
|
176
|
+
retry once. For repeated runs, fall back to `arxiv` for arXiv-indexed work.
|
|
177
|
+
|
|
178
|
+
- **Problem:** `download` fails with `找不到 arXiv ID: …`.
|
|
179
|
+
**Solution:** The user gave a non-arXiv ID (likely a DOI for a non-arXiv
|
|
180
|
+
paper). Use `detail` to inspect; only papers with an `externalIds.ArXiv`
|
|
181
|
+
field can be downloaded.
|
|
182
|
+
|
|
183
|
+
- **Problem:** Garbled Chinese output on Windows.
|
|
184
|
+
**Solution:** The script already forces UTF-8 stdout. If the host
|
|
185
|
+
terminal is still misconfigured, set `PYTHONIOENCODING=utf-8` in the
|
|
186
|
+
shell environment.
|
|
187
|
+
|
|
188
|
+
## Additional Resources
|
|
189
|
+
|
|
190
|
+
- Skill home (this plugin): https://github.com/xwmxcz/papers-skill
|
|
191
|
+
- Upstream MCP server: https://github.com/xwmxcz/papers-mcp
|
|
192
|
+
- Semantic Scholar API docs: https://api.semanticscholar.org/
|
|
193
|
+
- arXiv API docs: https://info.arxiv.org/help/api/
|
|
194
|
+
- PyMuPDF docs: https://pymupdf.readthedocs.io/
|