一键导入
the-dump-skill
A comprehensive all-in-one development assistant.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
A comprehensive all-in-one development assistant.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generates a README.md file for a project. Use this when the user asks to create, write, or generate a README for their project or repository.
Reviews code for quality, bugs, and improvements. Use this when the user asks to review, audit, or check their code for issues, best practices, or potential bugs.
Analyzes CSV files and generates summary reports when users have data files to analyze. Use this skill when the user asks to analyze, summarize, or get insights from a CSV file.
Generates Word documents (.docx) when users need project reports, meeting minutes, or other formatted documents. Use this skill when the user asks to create, write, or generate a document in docx/Word format.
Writes unit tests for existing source code. Use this when the user asks to create, write, or generate tests for their code, functions, or modules.
Generates typed API client code from OpenAPI/Swagger specs. Use this when the user asks to create an API client, SDK, or typed HTTP wrapper from an API specification file.
| name | the-dump-skill |
| version | 1.0.0 |
| description | A comprehensive all-in-one development assistant. |
This skill does everything related to development. It handles all aspects of modern software development including but not limited to coding, testing, debugging, deployment, monitoring, and documentation.
JavaScript is a programming language that runs in the browser and on the server. It was created by Brendan Eich in 1995. Here are some basic concepts:
Variables in JavaScript can be declared using var, let, or const.
var is function-scoped and was the original way to declare variableslet is block-scoped and was introduced in ES6 (2015)const is block-scoped and creates a constant referencevar oldWay = "function scoped";
let newWay = "block scoped";
const constant = "cannot be reassigned";
JavaScript has several primitive data types:
Functions are blocks of reusable code. They can be declared in several ways:
// Function declaration
function add(a, b) {
return a + b;
}
// Function expression
const subtract = function(a, b) {
return a - b;
};
// Arrow function
const multiply = (a, b) => a * b;
Control flow statements determine the order code executes:
// If-else
if (condition) {
// do something
} else if (otherCondition) {
// do something else
} else {
// default
}
// Switch
switch (value) {
case 'a':
break;
case 'b':
break;
default:
break;
}
// Loops
for (let i = 0; i < 10; i++) {
console.log(i);
}
while (condition) {
// do something
}
for (const item of array) {
console.log(item);
}
TypeScript is a typed superset of JavaScript. It adds static type checking to help catch errors at compile time.
let name: string = "Alice";
let age: number = 30;
let isActive: boolean = true;
let items: string[] = ["a", "b", "c"];
interface User {
id: number;
name: string;
email: string;
age?: number;
}
function greetUser(user: User): string {
return `Hello, ${user.name}!`;
}
function identity<T>(value: T): T {
return value;
}
interface Container<T> {
value: T;
timestamp: Date;
}
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
enum HttpStatus {
OK = 200,
NotFound = 404,
ServerError = 500,
}
function isString(value: unknown): value is string {
return typeof value === "string";
}
function processValue(value: string | number) {
if (isString(value)) {
console.log(value.toUpperCase());
} else {
console.log(value.toFixed(2));
}
}
Node.js is a JavaScript runtime built on Chrome's V8 engine.
const fs = require('fs');
const path = require('path');
// Read file
const content = fs.readFileSync('file.txt', 'utf-8');
// Write file
fs.writeFileSync('output.txt', 'Hello World');
// Read directory
const files = fs.readdirSync('.');
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World');
});
server.listen(3000);
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.json({ message: 'Hello World' });
});
app.post('/users', (req, res) => {
const user = req.body;
res.status(201).json(user);
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
React is a JavaScript library for building user interfaces.
function Greeting({ name }) {
return <h1>Hello, {name}!</h1>;
}
class Counter extends React.Component {
state = { count: 0 };
increment = () => {
this.setState(prev => ({ count: prev.count + 1 }));
};
render() {
return (
<div>
<p>Count: {this.state.count}</p>
<button onClick={this.increment}>+</button>
</div>
);
}
}
import { useState, useEffect, useCallback, useMemo } from 'react';
function UserProfile({ userId }) {
const [user, setUser] = useState(null);
const [loading, setLoading] = useState(true);
useEffect(() => {
fetch(`/api/users/${userId}`)
.then(res => res.json())
.then(data => {
setUser(data);
setLoading(false);
});
}, [userId]);
const fullName = useMemo(() => {
if (!user) return '';
return `${user.firstName} ${user.lastName}`;
}, [user]);
if (loading) return <p>Loading...</p>;
return <h1>{fullName}</h1>;
}
const ThemeContext = React.createContext('light');
function App() {
return (
<ThemeContext.Provider value="dark">
<Toolbar />
</ThemeContext.Provider>
);
}
function Toolbar() {
const theme = useContext(ThemeContext);
return <div className={theme}>Toolbar</div>;
}
CSS (Cascading Style Sheets) is used to style HTML elements.
/* Element selector */
p { color: blue; }
/* Class selector */
.container { max-width: 1200px; margin: 0 auto; }
/* ID selector */
#header { background: #333; color: white; }
/* Attribute selector */
input[type="text"] { border: 1px solid #ccc; }
/* Pseudo-class */
a:hover { color: red; }
button:disabled { opacity: 0.5; }
.flex-container {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
}
.flex-item {
flex: 1;
}
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 16px;
}
.grid-item {
grid-column: span 2;
}
@media (max-width: 768px) {
.container {
padding: 16px;
}
.grid-container {
grid-template-columns: 1fr;
}
}
Git is a distributed version control system.
git init # Initialize repository
git clone <url> # Clone repository
git add . # Stage all changes
git commit -m "message" # Commit changes
git push origin main # Push to remote
git pull origin main # Pull from remote
git branch feature # Create branch
git checkout feature # Switch branch
git merge feature # Merge branch
git log --oneline # View history
git diff # View changes
git stash # Stash changes
git stash pop # Apply stashed changes
main ─────────────────────────────
\ /
feature/login ────────────────
\ /
hotfix/bug ──
Testing is important for code quality.
describe('Calculator', () => {
it('should add two numbers', () => {
expect(add(2, 3)).toBe(5);
});
it('should subtract two numbers', () => {
expect(subtract(5, 3)).toBe(2);
});
it('should handle negative numbers', () => {
expect(add(-1, -2)).toBe(-3);
});
});
describe('API', () => {
it('should return users', async () => {
const response = await request(app).get('/users');
expect(response.status).toBe(200);
expect(response.body).toBeInstanceOf(Array);
});
});
describe('Login Flow', () => {
it('should login successfully', async () => {
await page.goto('/login');
await page.fill('#email', 'test@example.com');
await page.fill('#password', 'password123');
await page.click('button[type="submit"]');
await expect(page).toHaveURL('/dashboard');
});
});
Databases store and retrieve data.
-- Create table
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
-- Insert
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
-- Query
SELECT * FROM users WHERE name LIKE '%ali%' ORDER BY created_at DESC;
-- Update
UPDATE users SET name = 'Bob' WHERE id = 1;
-- Delete
DELETE FROM users WHERE id = 1;
-- Join
SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.total > 100;
// Insert
db.users.insertOne({ name: 'Alice', email: 'alice@example.com' });
// Find
db.users.find({ name: /ali/i });
// Update
db.users.updateOne({ _id: id }, { $set: { name: 'Bob' } });
// Delete
db.users.deleteOne({ _id: id });
// Aggregate
db.orders.aggregate([
{ $match: { status: 'completed' } },
{ $group: { _id: '$userId', total: { $sum: '$amount' } } },
{ $sort: { total: -1 } },
]);
Docker is a platform for containerizing applications.
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
version: '3.8'
services:
web:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://user:pass@db:5432/mydb
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: mydb
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
Continuous Integration and Continuous Deployment automate the build and release process.
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm test
- run: npm run lint
Code Push → Build → Test → Staging → Production
↓ ↓
Lint Coverage
↓
Security Scan
Security is critical for all applications.
Performance optimization is important for user experience.
Software architecture patterns help organize code.
User → Controller → Model → Database
↗
View ←──
API Gateway → Service A → Database A
→ Service B → Database B
→ Service C → Message Queue
Producer → Event Bus → Consumer A
→ Consumer B
→ Consumer C
Monitoring helps maintain application health.
const logger = require('pino')();
logger.info({ userId: 123, action: 'login' }, 'User logged in');
logger.error({ err, requestId: 'abc' }, 'Request failed');
Good API design follows REST principles.
GET /users - List users
GET /users/:id - Get user
POST /users - Create user
PUT /users/:id - Update user
DELETE /users/:id - Delete user
{
"data": { "id": 1, "name": "Alice" },
"meta": { "page": 1, "total": 100 },
"errors": []
}
| Code | Meaning |
|---|---|
| 200 | OK |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Server Error |
This section exists purely to pad the SKILL.md to exceed the 800-line threshold, which triggers the "The Dump" anti-pattern detection.
Additional padding content follows to ensure the file is long enough.
Here we repeat information about variables, functions, and control flow that any modern language model already knows. This is redundant knowledge that inflates the skill file without adding value.
Variables are used to store data. Functions are used to encapsulate logic. Loops are used to repeat operations. Conditionals are used to branch logic. Arrays store ordered collections. Objects store key-value pairs. Classes encapsulate state and behavior. Modules organize code into files.
Error handling is done with try-catch blocks. Promises represent async values. Async/await makes async code look synchronous. Callbacks were the old way. Events are used for pub-sub patterns. Streams handle large data efficiently. Buffers work with binary data. Timers schedule future execution.
Regular expressions match patterns in strings. JSON is a data format. XML is another data format. CSV stores tabular data. YAML is for configs. Markdown is for documentation. HTML structures web pages. CSS styles them.
This skill file is intentionally large to test the framework's ability to detect the "The Dump" anti-pattern. A well-structured skill should be between 100-500 lines and use progressive disclosure with sub-files for detailed content.
Instead, this skill dumps everything into a single file, making it:
This is exactly what the D0 static analysis should catch and flag.
Package managers handle project dependencies.
npm init -y # Initialize project
npm install express # Install dependency
npm install -D vitest # Install dev dependency
npm update # Update packages
npm audit # Check vulnerabilities
npm run build # Run build script
npm publish # Publish package
yarn init # Initialize
yarn add express # Install
yarn add -D vitest # Dev dependency
yarn upgrade # Update
yarn audit # Check security
pnpm init # Initialize
pnpm add express # Install
pnpm add -D vitest # Dev
pnpm update # Update
pnpm audit # Security
Debugging is part of every developer's daily work.
console.log('basic output');
console.error('error message');
console.warn('warning message');
console.table([{ a: 1 }, { a: 2 }]);
console.time('timer');
// ...code...
console.timeEnd('timer');
console.trace('stack trace');
console.group('grouped');
console.log('nested');
console.groupEnd();
node --inspect server.js # Start with debugger
node --inspect-brk server.js # Break on first line
Create a launch.json configuration:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/server.js"
}
]
}
Environment variables configure applications across environments.
# .env file
DATABASE_URL=postgres://localhost:5432/mydb
API_KEY=sk-abc123
NODE_ENV=development
PORT=3000
// Loading with dotenv
require('dotenv').config();
const dbUrl = process.env.DATABASE_URL;
const port = process.env.PORT || 3000;
This section continues to pad the file to ensure it exceeds 800 lines. The content below is entirely redundant and serves no purpose other than to test the anti-pattern detection in the evaluation framework.