[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C330CQ2SSCNTDD068R0HP9":3,"skill-same:01M6C330CQ2SSCNTDD068R0HP9":93},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6C330CQ2SSCNTDD068R0HP9","python-engineer",null,"Build production Python applications — FastAPI\u002FFlask backends, async processing, data engineering with pandas, scripting automation, CLI tools with Typer, testing with pytest, type hints, virtual environments, and package management. Use when building Python backends, data pipelines, scripts, or CLI tools.","RaheesAhmed\u002FSajiCode","RaheesAhmed","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48914925?v=4","01M6C31VY6EJ4N8QS30J585H9H","Rahees Ahmed","01M6C31W21ET706B6XTWHS52VC",68,"MIT","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Fpython-engineer\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"python engineer","python","Production","use","fastapi","management","virtual","package management","applications","Tools","scripting","testing","data","engineering","pandas","package","data pipelines","data engineering","automation","cli","2026-11-10 10:12:30",false,"---\nname: python-engineer\ndescription: Build production Python applications — FastAPI\u002FFlask backends, async processing, data engineering with pandas, scripting automation, CLI tools with Typer, testing with pytest, type hints, virtual environments, and package management. Use when building Python backends, data pipelines, scripts, or CLI tools.\n---\n\n# Python Engineering\n\n## Project Setup\n```bash\npython -m venv .venv\nsource .venv\u002Fbin\u002Factivate  # Unix\n.venv\\Scripts\\activate     # Windows\npip install fastapi uvicorn pydantic sqlalchemy alembic pytest httpx\n```\n\n### Project Structure\n```\nproject\u002F\n├── app\u002F\n│   ├── __init__.py\n│   ├── main.py              # FastAPI app + lifespan\n│   ├── config.py             # Settings from env vars\n│   ├── models\u002F               # SQLAlchemy models\n│   │   ├── __init__.py\n│   │   └── user.py\n│   ├── schemas\u002F               # Pydantic schemas\n│   │   └── user.py\n│   ├── routes\u002F                # API route handlers\n│   │   └── users.py\n│   ├── services\u002F              # Business logic\n│   │   └── user_service.py\n│   ├── repositories\u002F          # Database queries\n│   │   └── user_repo.py\n│   └── utils\u002F                 # Helpers\n│       └── auth.py\n├── tests\u002F\n│   ├── conftest.py\n│   └── test_users.py\n├── alembic\u002F\n├── alembic.ini\n├── pyproject.toml\n├── requirements.txt\n└── Dockerfile\n```\n\n## FastAPI Patterns\n\n### Application Setup\n```python\nfrom contextlib import asynccontextmanager\nfrom fastapi import FastAPI\nfrom fastapi.middleware.cors import CORSMiddleware\n\n@asynccontextmanager\nasync def lifespan(app: FastAPI):\n    await database.connect()\n    yield\n    await database.disconnect()\n\napp = FastAPI(title=\"My API\", version=\"1.0.0\", lifespan=lifespan)\n\napp.add_middleware(\n    CORSMiddleware,\n    allow_origins=[\"http:\u002F\u002Flocalhost:3000\"],\n    allow_credentials=True,\n    allow_methods=[\"*\"],\n    allow_headers=[\"*\"],\n)\n```\n\n### Route Handler\n```python\nfrom fastapi import APIRouter, HTTPException, Depends, status\nfrom pydantic import BaseModel, EmailStr, Field\n\nrouter = APIRouter(prefix=\"\u002Fapi\u002Fusers\", tags=[\"users\"])\n\nclass CreateUserRequest(BaseModel):\n    email: EmailStr\n    name: str = Field(min_length=1, max_length=100)\n    password: str = Field(min_length=8, max_length=128)\n\nclass UserResponse(BaseModel):\n    id: str\n    email: str\n    name: str\n\n    model_config = {\"from_attributes\": True}\n\n@router.post(\"\u002F\", response_model=UserResponse, status_code=status.HTTP_201_CREATED)\nasync def create_user(data: CreateUserRequest, db: Session = Depends(get_db)):\n    existing = await user_service.get_by_email(db, data.email)\n    if existing:\n        raise HTTPException(status_code=409, detail=\"Email already registered\")\n    user = await user_service.create(db, data)\n    return user\n\n@router.get(\"\u002F{user_id}\", response_model=UserResponse)\nasync def get_user(user_id: str, db: Session = Depends(get_db)):\n    user = await user_service.get_by_id(db, user_id)\n    if not user:\n        raise HTTPException(status_code=404, detail=\"User not found\")\n    return user\n```\n\n### Dependency Injection\n```python\nfrom functools import lru_cache\nfrom pydantic_settings import BaseSettings\n\nclass Settings(BaseSettings):\n    database_url: str\n    jwt_secret: str\n    debug: bool = False\n\n    model_config = {\"env_file\": \".env\"}\n\n@lru_cache\ndef get_settings() -> Settings:\n    return Settings()\n\nasync def get_db():\n    async with AsyncSession(engine) as session:\n        try:\n            yield session\n            await session.commit()\n        except Exception:\n            await session.rollback()\n            raise\n```\n\n## Testing with pytest\n\n```python\nimport pytest\nfrom httpx import AsyncClient, ASGITransport\nfrom app.main import app\n\n@pytest.fixture\nasync def client():\n    transport = ASGITransport(app=app)\n    async with AsyncClient(transport=transport, base_url=\"http:\u002F\u002Ftest\") as ac:\n        yield ac\n\n@pytest.mark.anyio\nasync def test_create_user(client: AsyncClient):\n    response = await client.post(\"\u002Fapi\u002Fusers\u002F\", json={\n        \"email\": \"test@example.com\",\n        \"name\": \"Test User\",\n        \"password\": \"SecurePass123\",\n    })\n    assert response.status_code == 201\n    data = response.json()\n    assert data[\"email\"] == \"test@example.com\"\n\n@pytest.mark.anyio\nasync def test_duplicate_email_returns_409(client: AsyncClient):\n    payload = {\"email\": \"dup@test.com\", \"name\": \"User\", \"password\": \"SecurePass123\"}\n    await client.post(\"\u002Fapi\u002Fusers\u002F\", json=payload)\n    response = await client.post(\"\u002Fapi\u002Fusers\u002F\", json=payload)\n    assert response.status_code == 409\n```\n\n## CLI Tools (Typer)\n```python\nimport typer\nfrom rich.console import Console\nfrom rich.table import Table\n\napp = typer.Typer(help=\"My CLI tool\")\nconsole = Console()\n\n@app.command()\ndef greet(name: str, count: int = typer.Option(1, help=\"Number of greetings\")):\n    for _ in range(count):\n        console.print(f\"Hello, [bold magenta]{name}[\u002Fbold magenta]!\")\n\n@app.command()\ndef list_users():\n    table = Table(title=\"Users\")\n    table.add_column(\"ID\", style=\"dim\")\n    table.add_column(\"Name\", style=\"bold\")\n    table.add_column(\"Email\")\n    for user in get_users():\n        table.add_row(user.id, user.name, user.email)\n    console.print(table)\n\nif __name__ == \"__main__\":\n    app()\n```\n\n## Data Processing (pandas)\n```python\nimport pandas as pd\n\ndef process_csv(input_path: str, output_path: str) -> None:\n    df = pd.read_csv(input_path)\n    df.columns = df.columns.str.strip().str.lower().str.replace(\" \", \"_\")\n    df = df.dropna(subset=[\"email\"])\n    df[\"email\"] = df[\"email\"].str.lower().str.strip()\n    df = df.drop_duplicates(subset=[\"email\"], keep=\"last\")\n    df.to_csv(output_path, index=False)\n```\n\n## Best Practices\n- Type hints on ALL function signatures\n- Use `pydantic` for data validation — never validate manually\n- Use `async` for I\u002FO-bound operations\n- Use `ruff` for linting and formatting\n- Use `pyproject.toml` over `setup.py`\n- Never use bare `except:` — always catch specific exceptions\n- Use `pathlib.Path` over `os.path`\n- Use `f-strings` — never `%` formatting or `.format()`\n","# Python Engineering\n\n## Project Setup\n```bash\npython -m venv .venv\nsource .venv\u002Fbin\u002Factivate  # Unix\n.venv\\Scripts\\activate     # Windows\npip install fastapi uvicorn pydantic sqlalchemy alembic pytest httpx\n```\n\n### Project Structure\n```\nproject\u002F\n├── app\u002F\n│   ├── __init__.py\n│   ├── main.py              # FastAPI app + lifespan\n│   ├── config.py             # Settings from env vars\n│   ├── models\u002F               # SQLAlchemy models\n│   │   ├── __init__.py\n│   │   └── user.py\n│   ├── schemas\u002F               # Pydantic schemas\n│   │   └── user.py\n│   ├── routes\u002F                # API route handlers\n│   │   └── users.py\n│   ├── services\u002F              # Business logic\n│   │   └── user_service.py\n│   ├── repositories\u002F          # Database queries\n│   │   └── user_repo.py\n│   └── utils\u002F                 # Helpers\n│       └── auth.py\n├── tests\u002F\n│   ├── conftest.py\n│   └── test_users.py\n├── alembic\u002F\n├── alembic.ini\n├── pyproject.toml\n├── requirements.txt\n└── Dockerfile\n```\n\n## FastAPI Patterns\n\n### Application Setup\n```python\nfrom contextlib import asynccontextmanager\nfrom fastapi import FastAPI\nfrom fastapi.middleware.cors import CORSMiddleware\n\n@asynccontextmanager\nasync def lifespan(app: FastAPI):\n    await database.connect()\n    yield\n    await database.disconnect()\n\napp = FastAPI(title=\"My API\", version=\"1.0.0\", lifespan=lifespan)\n\napp.add_middleware(\n    CORSMiddleware,\n    allow_origins=[\"http:\u002F\u002Flocalhost:3000\"],\n    allow_credentials=True,\n    allow_methods=[\"*\"],\n    allow_headers=[\"*\"],\n)\n```\n\n### Route Handler\n```python\nfrom fastapi import APIRouter, HTTPException, Depends, status\nfrom pydantic import BaseModel, EmailStr, Field\n\nrouter = APIRouter(prefix=\"\u002Fapi\u002Fusers\", tags=[\"users\"])\n\nclass CreateUserRequest(BaseModel):\n    email: EmailStr\n    name: str = Field(min_length=1, max_length=100)\n    password: str = Field(min_length=8, max_length=128)\n\nclass UserResponse(BaseModel):\n    id: str\n    email: str\n    name: str\n\n    model_config = {\"from_attributes\": True}\n\n@router.post(\"\u002F\", response_model=UserResponse, status_code=status.HTTP_201_CREATED)\nasync def create_user(data: CreateUserRequest, db: Session = Depends(get_db)):\n    existing = await user_service.get_by_email(db, data.email)\n    if existing:\n        raise HTTPException(status_code=409, detail=\"Email already registered\")\n    user = await user_service.create(db, data)\n    return user\n\n@router.get(\"\u002F{user_id}\", response_model=UserResponse)\nasync def get_user(user_id: str, db: Session = Depends(get_db)):\n    user = await user_service.get_by_id(db, user_id)\n    if not user:\n        raise HTTPException(status_code=404, detail=\"User not found\")\n    return user\n```\n\n### Dependency Injection\n```python\nfrom functools import lru_cache\nfrom pydantic_settings import BaseSettings\n\nclass Settings(BaseSettings):\n    database_url: str\n    jwt_secret: str\n    debug: bool = False\n\n    model_config = {\"env_file\": \".env\"}\n\n@lru_cache\ndef get_settings() -> Settings:\n    return Settings()\n\nasync def get_db():\n    async with AsyncSession(engine) as session:\n        try:\n            yield session\n            await session.commit()\n        except Exception:\n            await session.rollback()\n            raise\n```\n\n## Testing with pytest\n\n```python\nimport pytest\nfrom httpx import AsyncClient, ASGITransport\nfrom app.main import app\n\n@pytest.fixture\nasync def client():\n    transport = ASGITransport(app=app)\n    async with AsyncClient(transport=transport, base_url=\"http:\u002F\u002Ftest\") as ac:\n        yield ac\n\n@pytest.mark.anyio\nasync def test_create_user(client: AsyncClient):\n    response = await client.post(\"\u002Fapi\u002Fusers\u002F\", json={\n        \"email\": \"test@example.com\",\n        \"name\": \"Test User\",\n        \"password\": \"SecurePass123\",\n    })\n    assert response.status_code == 201\n    data = response.json()\n    assert data[\"email\"] == \"test@example.com\"\n\n@pytest.mark.anyio\nasync def test_duplicate_email_returns_409(client: AsyncClient):\n    payload = {\"email\": \"dup@test.com\", \"name\": \"User\", \"password\": \"SecurePass123\"}\n    await client.post(\"\u002Fapi\u002Fusers\u002F\", json=payload)\n    response = await client.post(\"\u002Fapi\u002Fusers\u002F\", json=payload)\n    assert response.status_code == 409\n```\n\n## CLI Tools (Typer)\n```python\nimport typer\nfrom rich.console import Console\nfrom rich.table import Table\n\napp = typer.Typer(help=\"My CLI tool\")\nconsole = Console()\n\n@app.command()\ndef greet(name: str, count: int = typer.Option(1, help=\"Number of greetings\")):\n    for _ in range(count):\n        console.print(f\"Hello, [bold magenta]{name}[\u002Fbold magenta]!\")\n\n@app.command()\ndef list_users():\n    table = Table(title=\"Users\")\n    table.add_column(\"ID\", style=\"dim\")\n    table.add_column(\"Name\", style=\"bold\")\n    table.add_column(\"Email\")\n    for user in get_users():\n        table.add_row(user.id, user.name, user.email)\n    console.print(table)\n\nif __name__ == \"__main__\":\n    app()\n```\n\n## Data Processing (pandas)\n```python\nimport pandas as pd\n\ndef process_csv(input_path: str, output_path: str) -> None:\n    df = pd.read_csv(input_path)\n    df.columns = df.columns.str.strip().str.lower().str.replace(\" \", \"_\")\n    df = df.dropna(subset=[\"email\"])\n    df[\"email\"] = df[\"email\"].str.lower().str.strip()\n    df = df.drop_duplicates(subset=[\"email\"], keep=\"last\")\n    df.to_csv(output_path, index=False)\n```\n\n## Best Practices\n- Type hints on ALL function signatures\n- Use `pydantic` for data validation — never validate manually\n- Use `async` for I\u002FO-bound operations\n- Use `ruff` for linting and formatting\n- Use `pyproject.toml` over `setup.py`\n- Never use bare `except:` — always catch specific exceptions\n- Use `pathlib.Path` over `os.path`\n- Use `f-strings` — never `%` formatting or `.format()`\n",{"name":5,"description":7},"main","791249e54ef4db28bf9af93993479d2e0c6a8a9d","skills\u002Fpython-engineer",15,"https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode","https:\u002F\u002Fgithub.com\u002FRaheesAhmed","https:\u002F\u002Fraheesahmed.vercel.app\u002F","Forward Deployed AI Engineer | AI Agents, MCP Servers & Business Automation","2026-09-14 17:21:11",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add RaheesAhmed\u002FSajiCode --skill python-engineer",{"tool":67,"command":68},"bunx","bunx skills add RaheesAhmed\u002FSajiCode --skill python-engineer",{"tool":70,"command":71},"pnpm","pnpm dlx skills add RaheesAhmed\u002FSajiCode --skill python-engineer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Fpython-engineer\u002FSKILL.md",true,[75,81,85,89],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fdirectory-structure.md","REFERENCE","参考文档",2060,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fskill-databases\u002Fwindsurf\u002Fskills\u002Fwindsurf-usage-analytics\u002Freferences\u002Fdirectory-structure.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Ferrors.md",500,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fskill-databases\u002Fwindsurf\u002Fskills\u002Fwindsurf-usage-analytics\u002Freferences\u002Ferrors.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fexamples.md",530,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fskill-databases\u002Fwindsurf\u002Fskills\u002Fwindsurf-usage-analytics\u002Freferences\u002Fexamples.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fimplementation.md",645,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fskill-databases\u002Fwindsurf\u002Fskills\u002Fwindsurf-usage-analytics\u002Freferences\u002Fimplementation.md",[94,107,119,141,164,185],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":103,"publishedAt":47},"01M6C33MP48R5GWR13P2VFHWB0","demo-skill","Demo plugin skill for tests.","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fdemo-plugin\u002Fskills\u002Fdemo-skill\u002FSKILL.md",[100],{"categoryNo":101,"categoryName":102,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[104,105,106],"demo skill","demo","plugin",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":114,"publishedAt":47},"01M6C33JV7RMPM5AVS7SCCGDR8","write-a-skill","Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-a-skill\u002FSKILL.MD",[113],{"categoryNo":101,"categoryName":102,"taxonomyType":21,"taxonomyTypeDesc":22},[115,116,117,118,30],"write","write a skill","create","user",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":128,"publishedAt":47},"01M6C33G0SX1683HER40XB8047","web-research","Deep web research and data extraction skill. Systematically research ANY topic by fetching URLs, reading documentation, crawling API docs, evaluating npm\u002Fpypi packages, comparing technologies, and synthesizing findings into actionable recommendations. Use when researching libraries, frameworks, APIs, solutions, or any topic requiring web investigation.","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Fweb-research\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[129,130,131,132,133,134,135,136,137,138,39,139,140,30],"research","web","web research","docs","documentation","libraries","packages","npm","extraction","pypi","investigation","api",{"skillNo":142,"name":38,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":47},"01M6C33CRE3D30CHTTV1ZVR1ZM","Design and implement comprehensive test suites. Covers unit testing, integration testing, E2E testing with Playwright, API testing, mocking strategies, test data factories, TDD workflow, snapshot testing, coverage targets, and CI integration. Use when writing tests, designing test architecture, or debugging test failures.","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Ftesting\u002FSKILL.md",[146],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[38,148,30,149,150,151,140,152,39,153,154,155,156,157,158,159,160,161,162,163],"ci","playwright","snapshot","coverage","e2e","tdd","integration","test","architecture","writing tests","debugging","workflow","implement","writing","design","e2e testing",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":47},"01M6C33AER10BH236SAP89GJP6","superpowers","Core engineering workflow that activates on EVERY task. Enforces systematic plan-before-code methodology, multi-file refactoring safety, dependency-aware changes, pre-flight verification, and zero-placeholder quality standards. Use PROACTIVELY on all coding tasks.","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Fsuperpowers\u002FSKILL.md",[],[166,171,172,173,159,174,175,176,30,177,178,179,180,181,182,40,183,184],"core","tasks","placeholder","code","coding","dependency","quality","refactoring","plan","Safety","methodology","ZeRO","file","verification",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":194,"publishedAt":47},"01M6C3380VVQHM6CCC843MH5S3","styling","Implement production styling systems with Tailwind CSS, vanilla CSS, or CSS-in-JS. Covers CSS architecture (BEM, utility-first, modules), design tokens, responsive patterns, animation systems, dark mode, container queries, print styles, and performance optimization. Use when implementing designs or building CSS architectures.","https:\u002F\u002Fgithub.com\u002FRaheesAhmed\u002FSajiCode\u002Fblob\u002Fmain\u002Fskills\u002Fstyling\u002FSKILL.md",[191],{"categoryNo":192,"categoryName":193,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[187,195,196,30,197,198,199,200,29,201,156,160,202,203,162],"Tailwind","container","performance optimization","js","Animation","first","Optimization","performance","css"]